Branch data 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 : 45 : pattern3 (rtx x1)
57 : : {
58 : 45 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 45 : rtx x2, x3;
60 : 45 : int res ATTRIBUTE_UNUSED;
61 : 45 : x2 = XEXP (x1, 1);
62 : 45 : x3 = XEXP (x2, 1);
63 : 45 : operands[3] = x3;
64 : 45 : if (!const_int_operand (operands[3], E_QImode))
65 : : return -1;
66 : 45 : return pattern2 (x1); /* [-1, 1] */
67 : : }
68 : :
69 : : int
70 : 162880 : pattern10 (rtx x1, int *pnum_clobbers)
71 : : {
72 : 162880 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
73 : 162880 : rtx x2, x3, x4, x5;
74 : 162880 : int res ATTRIBUTE_UNUSED;
75 : 162880 : x2 = XEXP (x1, 0);
76 : 162880 : operands[0] = x2;
77 : 162880 : x3 = XEXP (x1, 1);
78 : 162880 : x4 = XEXP (x3, 0);
79 : 162880 : operands[1] = x4;
80 : 162880 : x5 = XEXP (x3, 1);
81 : 162880 : operands[2] = x5;
82 : 162880 : switch (GET_MODE (operands[0]))
83 : : {
84 : 8 : case E_TImode:
85 : 8 : if (pnum_clobbers == NULL
86 : 8 : || pattern6 (x3,
87 : : E_TImode) != 0)
88 : 0 : return -1;
89 : : return 0;
90 : :
91 : 2049 : case E_QImode:
92 : 2049 : if (pnum_clobbers == NULL
93 : 2049 : || pattern6 (x3,
94 : : E_QImode) != 0)
95 : 877 : return -1;
96 : : return 1;
97 : :
98 : 376 : case E_HImode:
99 : 376 : if (pnum_clobbers == NULL
100 : 376 : || pattern6 (x3,
101 : : E_HImode) != 0)
102 : 225 : return -1;
103 : : return 2;
104 : :
105 : 283 : case E_V4HImode:
106 : 283 : if (pattern7 (x3,
107 : : E_V4HImode) != 0)
108 : : return -1;
109 : : return 3;
110 : :
111 : 0 : case E_V2SImode:
112 : 0 : if (pattern7 (x3,
113 : : E_V2SImode) != 0)
114 : : return -1;
115 : : return 4;
116 : :
117 : 316 : case E_V8QImode:
118 : 316 : if (pattern8 (x3,
119 : : E_V8QImode) != 0)
120 : : return -1;
121 : : return 5;
122 : :
123 : 213 : case E_V4QImode:
124 : 213 : if (pattern7 (x3,
125 : : E_V4QImode) != 0)
126 : : return -1;
127 : : return 6;
128 : :
129 : 64 : case E_V2QImode:
130 : 64 : if (pattern7 (x3,
131 : : E_V2QImode) != 0)
132 : : return -1;
133 : : return 7;
134 : :
135 : 44 : case E_V2HImode:
136 : 44 : if (pattern7 (x3,
137 : : E_V2HImode) != 0)
138 : : return -1;
139 : : return 8;
140 : :
141 : : default:
142 : : return -1;
143 : : }
144 : : }
145 : :
146 : : int
147 : 566 : pattern31 (rtx x1, machine_mode i1)
148 : : {
149 : 566 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
150 : 566 : int res ATTRIBUTE_UNUSED;
151 : 566 : if (!register_operand (operands[0], i1)
152 : 492 : || GET_MODE (x1) != i1
153 : 492 : || !nonimmediate_operand (operands[1], i1)
154 : 1054 : || !const_0_to_255_operand (operands[2], E_SImode))
155 : 78 : return -1;
156 : : return 0;
157 : : }
158 : :
159 : : int
160 : 832570 : pattern34 (rtx x1)
161 : : {
162 : 832570 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
163 : 832570 : rtx x2, x3, x4, x5;
164 : 832570 : int res ATTRIBUTE_UNUSED;
165 : 832570 : x2 = XEXP (x1, 0);
166 : 832570 : operands[0] = x2;
167 : 832570 : x3 = XEXP (x1, 1);
168 : 832570 : x4 = XEXP (x3, 0);
169 : 832570 : switch (GET_CODE (x4))
170 : : {
171 : 211088 : case REG:
172 : 211088 : case SUBREG:
173 : 211088 : case MEM:
174 : 211088 : operands[1] = x4;
175 : 211088 : switch (GET_MODE (operands[0]))
176 : : {
177 : 4656 : case E_V16HImode:
178 : 4656 : if (!register_operand (operands[0], E_V16HImode)
179 : 4629 : || GET_MODE (x3) != E_V16HImode
180 : 9285 : || !nonimmediate_operand (operands[1], E_V16QImode))
181 : 467 : return -1;
182 : : return 0;
183 : :
184 : 790 : case E_V32HImode:
185 : 790 : if (!register_operand (operands[0], E_V32HImode)
186 : 776 : || GET_MODE (x3) != E_V32HImode
187 : 1566 : || !nonimmediate_operand (operands[1], E_V32QImode))
188 : 14 : return -1;
189 : : return 1;
190 : :
191 : 2136 : case E_V8HImode:
192 : 2136 : if (!register_operand (operands[0], E_V8HImode)
193 : 2134 : || GET_MODE (x3) != E_V8HImode
194 : 4270 : || !memory_operand (operands[1], E_V8QImode))
195 : 594 : return -1;
196 : : return 2;
197 : :
198 : 754 : case E_V16SImode:
199 : 754 : if (!register_operand (operands[0], E_V16SImode)
200 : 754 : || GET_MODE (x3) != E_V16SImode)
201 : : return -1;
202 : 684 : switch (GET_MODE (operands[1]))
203 : : {
204 : 161 : case E_V16QImode:
205 : 161 : if (!nonimmediate_operand (operands[1], E_V16QImode))
206 : : return -1;
207 : : return 3;
208 : :
209 : 523 : case E_V16HImode:
210 : 523 : if (!nonimmediate_operand (operands[1], E_V16HImode))
211 : : return -1;
212 : : return 4;
213 : :
214 : : default:
215 : : return -1;
216 : : }
217 : :
218 : 4508 : case E_V8SImode:
219 : 4508 : if (!register_operand (operands[0], E_V8SImode)
220 : 4508 : || GET_MODE (x3) != E_V8SImode)
221 : : return -1;
222 : 4421 : switch (GET_MODE (operands[1]))
223 : : {
224 : 31 : case E_V8QImode:
225 : 31 : if (!memory_operand (operands[1], E_V8QImode))
226 : : return -1;
227 : : return 5;
228 : :
229 : 4390 : case E_V8HImode:
230 : 4390 : if (!nonimmediate_operand (operands[1], E_V8HImode))
231 : : return -1;
232 : : return 6;
233 : :
234 : : default:
235 : : return -1;
236 : : }
237 : :
238 : 202 : case E_V4SImode:
239 : 202 : if (!register_operand (operands[0], E_V4SImode)
240 : 202 : || GET_MODE (x3) != E_V4SImode)
241 : : return -1;
242 : 198 : switch (GET_MODE (operands[1]))
243 : : {
244 : 66 : case E_V4QImode:
245 : 66 : if (!memory_operand (operands[1], E_V4QImode))
246 : : return -1;
247 : : return 7;
248 : :
249 : 132 : case E_V4HImode:
250 : 132 : if (!memory_operand (operands[1], E_V4HImode))
251 : : return -1;
252 : : return 8;
253 : :
254 : : default:
255 : : return -1;
256 : : }
257 : :
258 : 1813 : case E_V8DImode:
259 : 1813 : if (!register_operand (operands[0], E_V8DImode)
260 : 1813 : || GET_MODE (x3) != E_V8DImode)
261 : : return -1;
262 : 1512 : switch (GET_MODE (operands[1]))
263 : : {
264 : 20 : case E_V8QImode:
265 : 20 : if (!memory_operand (operands[1], E_V8QImode))
266 : : return -1;
267 : : return 9;
268 : :
269 : 152 : case E_V8HImode:
270 : 152 : if (!nonimmediate_operand (operands[1], E_V8HImode))
271 : : return -1;
272 : : return 10;
273 : :
274 : 1340 : case E_V8SImode:
275 : 1340 : if (!nonimmediate_operand (operands[1], E_V8SImode))
276 : : return -1;
277 : : return 11;
278 : :
279 : : default:
280 : : return -1;
281 : : }
282 : :
283 : 4387 : case E_V4DImode:
284 : 4387 : if (!register_operand (operands[0], E_V4DImode)
285 : 4387 : || GET_MODE (x3) != E_V4DImode)
286 : : return -1;
287 : 3824 : switch (GET_MODE (operands[1]))
288 : : {
289 : 20 : case E_V4QImode:
290 : 20 : if (!memory_operand (operands[1], E_V4QImode))
291 : : return -1;
292 : : return 12;
293 : :
294 : 50 : case E_V4HImode:
295 : 50 : if (!memory_operand (operands[1], E_V4HImode))
296 : : return -1;
297 : : return 13;
298 : :
299 : 3754 : case E_V4SImode:
300 : 3754 : if (!nonimmediate_operand (operands[1], E_V4SImode))
301 : : return -1;
302 : : return 14;
303 : :
304 : : default:
305 : : return -1;
306 : : }
307 : :
308 : 101 : case E_V2DImode:
309 : 101 : if (!register_operand (operands[0], E_V2DImode)
310 : 101 : || GET_MODE (x3) != E_V2DImode)
311 : : return -1;
312 : 91 : switch (GET_MODE (operands[1]))
313 : : {
314 : 24 : case E_V2QImode:
315 : 24 : if (!memory_operand (operands[1], E_V2QImode))
316 : : return -1;
317 : : return 15;
318 : :
319 : 20 : case E_V2HImode:
320 : 20 : if (!memory_operand (operands[1], E_V2HImode))
321 : : return -1;
322 : : return 16;
323 : :
324 : 47 : case E_V2SImode:
325 : 47 : if (!memory_operand (operands[1], E_V2SImode))
326 : : return -1;
327 : : return 17;
328 : :
329 : : default:
330 : : return -1;
331 : : }
332 : :
333 : : default:
334 : : return -1;
335 : : }
336 : :
337 : 80947 : case VEC_SELECT:
338 : 80947 : x5 = XEXP (x4, 1);
339 : 80947 : if (GET_CODE (x5) != PARALLEL)
340 : : return -1;
341 : : return 18;
342 : :
343 : : default:
344 : : return -1;
345 : : }
346 : : }
347 : :
348 : : int
349 : 10539 : pattern86 (rtx x1, int *pnum_clobbers)
350 : : {
351 : 10539 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
352 : 10539 : rtx x2, x3, x4, x5, x6, x7;
353 : 10539 : int res ATTRIBUTE_UNUSED;
354 : 10539 : if (pnum_clobbers == NULL)
355 : : return -1;
356 : 10539 : x2 = XEXP (x1, 1);
357 : 10539 : x3 = XEXP (x2, 0);
358 : 10539 : operands[2] = x3;
359 : 10539 : x4 = XEXP (x3, 0);
360 : 10539 : if (GET_CODE (x4) != REG
361 : 10539 : || REGNO (x4) != 17)
362 : : return -1;
363 : 6397 : x5 = XEXP (x3, 1);
364 : 6397 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
365 : : return -1;
366 : 6397 : x6 = XEXP (x1, 0);
367 : 6397 : operands[0] = x6;
368 : 6397 : x7 = XEXP (x2, 1);
369 : 6397 : operands[1] = x7;
370 : 6397 : switch (GET_MODE (operands[0]))
371 : : {
372 : : case E_QImode:
373 : : return 0;
374 : :
375 : 15 : case E_HImode:
376 : 15 : return 1;
377 : :
378 : : default:
379 : : return -1;
380 : : }
381 : : }
382 : :
383 : : int
384 : 0 : pattern93 (rtx x1)
385 : : {
386 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
387 : 0 : rtx x2, x3, x4, x5;
388 : 0 : int res ATTRIBUTE_UNUSED;
389 : 0 : x2 = XEXP (x1, 1);
390 : 0 : if (GET_MODE (x2) != E_CCCmode)
391 : : return -1;
392 : 0 : x3 = XEXP (x1, 0);
393 : 0 : if (GET_CODE (x3) != REG
394 : 0 : || REGNO (x3) != 17
395 : 0 : || GET_MODE (x3) != E_CCCmode)
396 : : return -1;
397 : 0 : x4 = XVECEXP (x2, 0, 0);
398 : 0 : operands[0] = x4;
399 : 0 : if (!register_operand (operands[0], E_SImode))
400 : : return -1;
401 : 0 : x5 = XVECEXP (x2, 0, 1);
402 : 0 : operands[1] = x5;
403 : 0 : if (!register_operand (operands[1], E_DImode))
404 : : return -1;
405 : : return 0;
406 : : }
407 : :
408 : : int
409 : 35400 : pattern101 (rtx x1, int *pnum_clobbers)
410 : : {
411 : 35400 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
412 : 35400 : rtx x2, x3, x4, x5;
413 : 35400 : int res ATTRIBUTE_UNUSED;
414 : 35400 : if (pnum_clobbers == NULL)
415 : : return -1;
416 : 35400 : x2 = XEXP (x1, 0);
417 : 35400 : if (GET_MODE (x2) != E_DImode)
418 : : return -1;
419 : 5012 : x3 = XEXP (x2, 0);
420 : 5012 : if (GET_CODE (x3) != ASHIFT
421 : 5012 : || GET_MODE (x3) != E_DImode)
422 : : return -1;
423 : 280 : x4 = XEXP (x3, 0);
424 : 280 : if (GET_CODE (x4) != ZERO_EXTEND
425 : 280 : || GET_MODE (x4) != E_DImode)
426 : : return -1;
427 : 30 : x5 = XEXP (x2, 1);
428 : 30 : if (GET_CODE (x5) != ZERO_EXTEND
429 : 30 : || GET_MODE (x5) != E_DImode)
430 : : return -1;
431 : 16 : return pattern84 (x1,
432 : : E_DImode,
433 : 16 : E_SImode); /* [-1, 1] */
434 : : }
435 : :
436 : : int
437 : 80430 : pattern110 (rtx x1)
438 : : {
439 : 80430 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
440 : 80430 : rtx x2, x3, x4;
441 : 80430 : int res ATTRIBUTE_UNUSED;
442 : 80430 : x2 = XEXP (x1, 0);
443 : 80430 : if (maybe_ne (SUBREG_BYTE (x2), 0)
444 : 80430 : || GET_MODE (x2) != E_HImode)
445 : : return -1;
446 : 12018 : x3 = XEXP (x2, 0);
447 : 12018 : if (GET_CODE (x3) != UNSPEC
448 : 6 : || XVECLEN (x3, 0) != 1
449 : 6 : || XINT (x3, 1) != 49
450 : 6 : || GET_MODE (x3) != E_SImode
451 : 6 : || !register_operand (operands[0], E_SImode)
452 : 12024 : || GET_MODE (x1) != E_SImode)
453 : 12012 : return -1;
454 : 6 : x4 = XVECEXP (x3, 0, 0);
455 : 6 : operands[1] = x4;
456 : 6 : if (!register_operand (operands[1], E_V16QImode))
457 : : return -1;
458 : : return 0;
459 : : }
460 : :
461 : : int
462 : 1326584 : pattern117 (rtx x1, int *pnum_clobbers)
463 : : {
464 : 1326584 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
465 : 1326584 : rtx x2, x3;
466 : 1326584 : int res ATTRIBUTE_UNUSED;
467 : 1326584 : x2 = XEXP (x1, 0);
468 : 1326584 : operands[1] = x2;
469 : 1326584 : x3 = XEXP (x1, 1);
470 : 1326584 : switch (GET_CODE (x3))
471 : : {
472 : : case CONST_INT:
473 : : case CONST_WIDE_INT:
474 : : case CONST_POLY_INT:
475 : : case CONST_FIXED:
476 : : case CONST_DOUBLE:
477 : : case CONST_VECTOR:
478 : : case CONST:
479 : : case REG:
480 : : case SUBREG:
481 : : case LABEL_REF:
482 : : case SYMBOL_REF:
483 : : case HIGH:
484 : : return 0;
485 : :
486 : 2472 : case AND:
487 : 2472 : if (pnum_clobbers == NULL
488 : 2472 : || GET_MODE (x3) != E_QImode)
489 : : return -1;
490 : 2243 : res = pattern115 (x1);
491 : 2243 : if (res >= 0)
492 : 1183 : return res + 1; /* [1, 2] */
493 : : return -1;
494 : :
495 : 11147 : case PLUS:
496 : 11147 : res = pattern19 (x1, pnum_clobbers);
497 : 11147 : if (res >= 0)
498 : 9357 : return res + 3; /* [3, 4] */
499 : : return -1;
500 : :
501 : 8361 : case MINUS:
502 : 8361 : if (pnum_clobbers == NULL
503 : 8313 : || GET_MODE (x3) != E_QImode)
504 : : return -1;
505 : 8279 : res = pattern116 (x1);
506 : 8279 : if (res >= 0)
507 : 1141 : return res + 5; /* [5, 6] */
508 : : return -1;
509 : :
510 : : default:
511 : : return -1;
512 : : }
513 : : }
514 : :
515 : : int
516 : 6861 : pattern133 (rtx x1)
517 : : {
518 : 6861 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
519 : 6861 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
520 : 6861 : int res ATTRIBUTE_UNUSED;
521 : 6861 : x2 = XEXP (x1, 1);
522 : 6861 : operands[2] = x2;
523 : 6861 : x3 = XEXP (x1, 2);
524 : 6861 : operands[3] = x3;
525 : 6861 : x4 = XEXP (x1, 0);
526 : 6861 : x5 = XEXP (x4, 0);
527 : 6861 : switch (GET_CODE (x5))
528 : : {
529 : 6432 : case REG:
530 : 6432 : case SUBREG:
531 : 6432 : case MEM:
532 : 6432 : operands[1] = x5;
533 : 6432 : switch (GET_MODE (operands[0]))
534 : : {
535 : : case E_V8HFmode:
536 : : return 0;
537 : :
538 : 782 : case E_V16HFmode:
539 : 782 : return 1;
540 : :
541 : 246 : case E_V32HFmode:
542 : 246 : return 2;
543 : :
544 : 218 : case E_V16SFmode:
545 : 218 : return 3;
546 : :
547 : 738 : case E_V8SFmode:
548 : 738 : return 4;
549 : :
550 : 889 : case E_V4SFmode:
551 : 889 : return 5;
552 : :
553 : 750 : case E_V8DFmode:
554 : 750 : return 6;
555 : :
556 : 1043 : case E_V4DFmode:
557 : 1043 : return 7;
558 : :
559 : 466 : case E_V2DFmode:
560 : 466 : return 8;
561 : :
562 : : default:
563 : : return -1;
564 : : }
565 : :
566 : 413 : case VEC_SELECT:
567 : 413 : if (GET_MODE (x5) != E_V2SImode)
568 : : return -1;
569 : 412 : x6 = XEXP (x5, 1);
570 : 412 : if (GET_CODE (x6) != PARALLEL
571 : 412 : || XVECLEN (x6, 0) != 2)
572 : : return -1;
573 : 412 : x7 = XVECEXP (x6, 0, 0);
574 : 412 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
575 : : return -1;
576 : 412 : x8 = XVECEXP (x6, 0, 1);
577 : 412 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
578 : 412 : || !register_operand (operands[0], E_V2DFmode)
579 : 400 : || GET_MODE (x1) != E_V2DFmode
580 : 812 : || GET_MODE (x4) != E_V2DFmode)
581 : 12 : return -1;
582 : 400 : x9 = XEXP (x5, 0);
583 : 400 : operands[1] = x9;
584 : 400 : if (!nonimmediate_operand (operands[1], E_V4SImode)
585 : 400 : || !nonimm_or_0_operand (operands[2], E_V2DFmode)
586 : 798 : || !register_operand (operands[3], E_QImode))
587 : 8 : return -1;
588 : : return 9;
589 : :
590 : : default:
591 : : return -1;
592 : : }
593 : : }
594 : :
595 : : int
596 : 102048 : pattern149 (rtx x1, machine_mode i1)
597 : : {
598 : 102048 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
599 : 102048 : int res ATTRIBUTE_UNUSED;
600 : 102048 : if (!register_operand (operands[0], i1)
601 : 101415 : || GET_MODE (x1) != i1
602 : 101415 : || !register_operand (operands[1], i1)
603 : 179504 : || !vector_operand (operands[2], i1))
604 : 27205 : return -1;
605 : : return 0;
606 : : }
607 : :
608 : : int
609 : 619 : pattern152 (rtx x1)
610 : : {
611 : 619 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
612 : 619 : rtx x2, x3, x4, x5;
613 : 619 : int res ATTRIBUTE_UNUSED;
614 : 619 : x2 = XEXP (x1, 0);
615 : 619 : operands[0] = x2;
616 : 619 : x3 = XEXP (x1, 1);
617 : 619 : x4 = XVECEXP (x3, 0, 0);
618 : 619 : operands[1] = x4;
619 : 619 : x5 = XVECEXP (x3, 0, 1);
620 : 619 : operands[2] = x5;
621 : 619 : switch (GET_MODE (operands[0]))
622 : : {
623 : 153 : case E_V32HFmode:
624 : 153 : return pattern151 (x3,
625 : 153 : E_V32HFmode); /* [-1, 0] */
626 : :
627 : 222 : case E_V16HFmode:
628 : 222 : if (pattern151 (x3,
629 : : E_V16HFmode) != 0)
630 : : return -1;
631 : : return 1;
632 : :
633 : 244 : case E_V8HFmode:
634 : 244 : if (pattern151 (x3,
635 : : E_V8HFmode) != 0)
636 : : return -1;
637 : : return 2;
638 : :
639 : : default:
640 : : return -1;
641 : : }
642 : : }
643 : :
644 : : int
645 : 7310 : pattern157 (rtx x1, machine_mode i1)
646 : : {
647 : 7310 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
648 : 7310 : rtx x2, x3, x4, x5;
649 : 7310 : int res ATTRIBUTE_UNUSED;
650 : 7310 : x2 = XEXP (x1, 1);
651 : 7310 : if (GET_MODE (x2) != i1)
652 : : return -1;
653 : 7310 : x3 = XEXP (x1, 0);
654 : 7310 : operands[0] = x3;
655 : 7310 : if (!register_operand (operands[0], i1))
656 : : return -1;
657 : 6984 : x4 = XVECEXP (x2, 0, 0);
658 : 6984 : operands[1] = x4;
659 : 6984 : if (!register_operand (operands[1], i1))
660 : : return -1;
661 : 5416 : x5 = XVECEXP (x2, 0, 1);
662 : 5416 : operands[2] = x5;
663 : 5416 : if (!vector_operand (operands[2], i1))
664 : : return -1;
665 : : return 0;
666 : : }
667 : :
668 : : int
669 : 477 : pattern164 (rtx x1)
670 : : {
671 : 477 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
672 : 477 : rtx x2, x3, x4, x5;
673 : 477 : int res ATTRIBUTE_UNUSED;
674 : 477 : x2 = XEXP (x1, 0);
675 : 477 : operands[0] = x2;
676 : 477 : x3 = XEXP (x1, 1);
677 : 477 : x4 = XVECEXP (x3, 0, 0);
678 : 477 : operands[1] = x4;
679 : 477 : x5 = XVECEXP (x3, 0, 1);
680 : 477 : operands[2] = x5;
681 : 477 : if (!const_0_to_255_operand (operands[2], E_SImode))
682 : : return -1;
683 : 477 : switch (GET_MODE (operands[0]))
684 : : {
685 : 159 : case E_V32BFmode:
686 : 159 : if (!register_operand (operands[0], E_V32BFmode)
687 : 144 : || GET_MODE (x3) != E_V32BFmode
688 : 303 : || !nonimmediate_operand (operands[1], E_V32BFmode))
689 : 18 : return -1;
690 : : return 0;
691 : :
692 : 159 : case E_V16BFmode:
693 : 159 : if (!register_operand (operands[0], E_V16BFmode)
694 : 144 : || GET_MODE (x3) != E_V16BFmode
695 : 303 : || !nonimmediate_operand (operands[1], E_V16BFmode))
696 : 18 : return -1;
697 : : return 1;
698 : :
699 : 159 : case E_V8BFmode:
700 : 159 : if (!register_operand (operands[0], E_V8BFmode)
701 : 144 : || GET_MODE (x3) != E_V8BFmode
702 : 303 : || !nonimmediate_operand (operands[1], E_V8BFmode))
703 : 18 : return -1;
704 : : return 2;
705 : :
706 : : default:
707 : : return -1;
708 : : }
709 : : }
710 : :
711 : : int
712 : 2356540 : pattern179 (rtx x1, machine_mode i1)
713 : : {
714 : 2356540 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
715 : 2356540 : int res ATTRIBUTE_UNUSED;
716 : 2356540 : if (!register_operand (operands[0], i1)
717 : 2262756 : || GET_MODE (x1) != i1
718 : 2262756 : || !bcst_vector_operand (operands[1], i1)
719 : 4457707 : || !bcst_vector_operand (operands[2], i1))
720 : 359922 : return -1;
721 : : return 0;
722 : : }
723 : :
724 : : int
725 : 584 : pattern184 (rtx x1, machine_mode i1, machine_mode i2)
726 : : {
727 : 584 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
728 : 584 : rtx x2, x3, x4, x5;
729 : 584 : int res ATTRIBUTE_UNUSED;
730 : 584 : if (!register_operand (operands[0], i2)
731 : 584 : || GET_MODE (x1) != i2)
732 : : return -1;
733 : 565 : x2 = XEXP (x1, 0);
734 : 565 : if (GET_MODE (x2) != i2)
735 : : return -1;
736 : 565 : x3 = XEXP (x2, 0);
737 : 565 : if (GET_MODE (x3) != i1
738 : 565 : || !register_operand (operands[1], i2)
739 : 1114 : || !nonimmediate_operand (operands[2], i2))
740 : 16 : return -1;
741 : 549 : x4 = XEXP (x1, 1);
742 : 549 : if (GET_MODE (x4) != i2)
743 : : return -1;
744 : 549 : x5 = XEXP (x4, 0);
745 : 549 : if (GET_MODE (x5) != i1)
746 : : return -1;
747 : : return 0;
748 : : }
749 : :
750 : : int
751 : 16189 : pattern190 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
752 : : {
753 : 16189 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
754 : 16189 : rtx x2, x3, x4, x5;
755 : 16189 : int res ATTRIBUTE_UNUSED;
756 : 16189 : if (!register_operand (operands[0], i3)
757 : 16189 : || GET_MODE (x1) != i3)
758 : : return -1;
759 : 16147 : x2 = XEXP (x1, 0);
760 : 16147 : if (GET_MODE (x2) != i3)
761 : : return -1;
762 : 16147 : x3 = XEXP (x2, 0);
763 : 16147 : if (GET_MODE (x3) != i2
764 : 16147 : || !nonimmediate_operand (operands[1], i1))
765 : 2266 : return -1;
766 : 13881 : x4 = XEXP (x1, 1);
767 : 13881 : if (GET_MODE (x4) != i3)
768 : : return -1;
769 : 13881 : x5 = XEXP (x4, 0);
770 : 13881 : if (GET_MODE (x5) != i2
771 : 13881 : || !nonimmediate_operand (operands[2], i1))
772 : 329 : return -1;
773 : : return 0;
774 : : }
775 : :
776 : : int
777 : 5750 : pattern194 (rtx x1)
778 : : {
779 : 5750 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
780 : 5750 : rtx x2, x3, x4, x5, x6;
781 : 5750 : int res ATTRIBUTE_UNUSED;
782 : 5750 : x2 = XEXP (x1, 0);
783 : 5750 : operands[0] = x2;
784 : 5750 : x3 = XEXP (x1, 1);
785 : 5750 : x4 = XEXP (x3, 1);
786 : 5750 : x5 = XEXP (x4, 0);
787 : 5750 : operands[2] = x5;
788 : 5750 : if (!register_operand (operands[2], E_QImode))
789 : : return -1;
790 : 4654 : x6 = XEXP (x4, 1);
791 : 4654 : operands[3] = x6;
792 : 4654 : if (!const_int_operand (operands[3], E_QImode))
793 : : return -1;
794 : 4654 : switch (GET_MODE (operands[0]))
795 : : {
796 : 3506 : case E_DImode:
797 : 3506 : if (GET_MODE (x3) != E_DImode)
798 : : return -1;
799 : : return 0;
800 : :
801 : 6 : case E_TImode:
802 : 6 : if (!register_operand (operands[0], E_TImode)
803 : 6 : || GET_MODE (x3) != E_TImode
804 : 12 : || !register_operand (operands[1], E_TImode))
805 : 0 : return -1;
806 : : return 1;
807 : :
808 : 1012 : case E_SImode:
809 : 1012 : if (!nonimmediate_operand (operands[0], E_SImode)
810 : 1012 : || GET_MODE (x3) != E_SImode
811 : 2024 : || !nonimmediate_operand (operands[1], E_SImode))
812 : 263 : return -1;
813 : : return 2;
814 : :
815 : : default:
816 : : return -1;
817 : : }
818 : : }
819 : :
820 : : int
821 : 44472 : pattern195 (rtx x1)
822 : : {
823 : 44472 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
824 : 44472 : int res ATTRIBUTE_UNUSED;
825 : 44472 : switch (GET_MODE (operands[0]))
826 : : {
827 : 24240 : case E_SImode:
828 : 24240 : if (!nonimmediate_operand (operands[0], E_SImode)
829 : 24240 : || GET_MODE (x1) != E_SImode
830 : 48480 : || !nonimmediate_operand (operands[1], E_SImode))
831 : 1826 : return -1;
832 : : return 0;
833 : :
834 : 18933 : case E_DImode:
835 : 18933 : if (!nonimmediate_operand (operands[0], E_DImode)
836 : 18933 : || GET_MODE (x1) != E_DImode
837 : 37866 : || !nonimmediate_operand (operands[1], E_DImode))
838 : 3186 : return -1;
839 : : return 1;
840 : :
841 : : default:
842 : : return -1;
843 : : }
844 : : }
845 : :
846 : : int
847 : 3774684 : pattern199 (rtx x1)
848 : : {
849 : 3774684 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
850 : 3774684 : rtx x2, x3, x4;
851 : 3774684 : int res ATTRIBUTE_UNUSED;
852 : 3774684 : x2 = XEXP (x1, 1);
853 : 3774684 : x3 = XEXP (x2, 0);
854 : 3774684 : operands[1] = x3;
855 : 3774684 : x4 = XEXP (x2, 1);
856 : 3774684 : switch (GET_CODE (x4))
857 : : {
858 : : case CONST_INT:
859 : : case CONST_WIDE_INT:
860 : : case CONST_POLY_INT:
861 : : case CONST_FIXED:
862 : : case CONST_DOUBLE:
863 : : case CONST_VECTOR:
864 : : case CONST:
865 : : case REG:
866 : : case SUBREG:
867 : : case LABEL_REF:
868 : : case SYMBOL_REF:
869 : : case HIGH:
870 : : return 0;
871 : :
872 : 1245 : case AND:
873 : 1245 : if (GET_MODE (x4) != E_QImode)
874 : : return -1;
875 : 1245 : res = pattern194 (x1);
876 : 1245 : if (res >= 0)
877 : 782 : return res + 1; /* [1, 3] */
878 : : return -1;
879 : :
880 : 2525 : case PLUS:
881 : 2525 : if (GET_MODE (x4) != E_QImode)
882 : : return -1;
883 : 2525 : res = pattern196 (x1);
884 : 2525 : if (res >= 0)
885 : 1138 : return res + 4; /* [4, 5] */
886 : : return -1;
887 : :
888 : 2522 : case MINUS:
889 : 2522 : if (GET_MODE (x4) != E_QImode)
890 : : return -1;
891 : 2522 : res = pattern197 (x1);
892 : 2522 : if (res >= 0)
893 : 1423 : return res + 6; /* [6, 7] */
894 : : return -1;
895 : :
896 : : default:
897 : : return -1;
898 : : }
899 : : }
900 : :
901 : : int
902 : 906130 : pattern208 (rtx x1, machine_mode i1)
903 : : {
904 : 906130 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
905 : 906130 : int res ATTRIBUTE_UNUSED;
906 : 906130 : if (!register_operand (operands[0], i1)
907 : 900957 : || GET_MODE (x1) != i1
908 : 900957 : || !register_operand (operands[1], i1)
909 : 1613254 : || !general_operand (operands[2], i1))
910 : 199309 : return -1;
911 : : return 0;
912 : : }
913 : :
914 : : int
915 : 475033 : pattern211 (rtx x1)
916 : : {
917 : 475033 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
918 : 475033 : rtx x2, x3, x4, x5, x6, x7, x8;
919 : 475033 : int res ATTRIBUTE_UNUSED;
920 : 475033 : x2 = XVECEXP (x1, 0, 0);
921 : 475033 : x3 = XEXP (x2, 0);
922 : 475033 : operands[0] = x3;
923 : 475033 : x4 = XEXP (x2, 1);
924 : 475033 : x5 = XEXP (x4, 0);
925 : 475033 : operands[1] = x5;
926 : 475033 : x6 = XEXP (x4, 1);
927 : 475033 : operands[2] = x6;
928 : 475033 : x7 = XVECEXP (x1, 0, 1);
929 : 475033 : switch (GET_CODE (x7))
930 : : {
931 : 439987 : case CLOBBER:
932 : 439987 : x8 = XEXP (x7, 0);
933 : 439987 : if (GET_CODE (x8) != REG
934 : 439987 : || REGNO (x8) != 17
935 : 879974 : || GET_MODE (x8) != E_CCmode)
936 : : return -1;
937 : 439987 : switch (GET_MODE (operands[0]))
938 : : {
939 : 298705 : case E_DImode:
940 : 298705 : return pattern208 (x4,
941 : 298705 : E_DImode); /* [-1, 0] */
942 : :
943 : 767 : case E_TImode:
944 : 767 : if (pattern208 (x4,
945 : : E_TImode) != 0)
946 : : return -1;
947 : : return 1;
948 : :
949 : 910 : case E_QImode:
950 : 910 : if (pattern208 (x4,
951 : : E_QImode) != 0)
952 : : return -1;
953 : : return 2;
954 : :
955 : 1347 : case E_HImode:
956 : 1347 : if (pattern208 (x4,
957 : : E_HImode) != 0)
958 : : return -1;
959 : : return 3;
960 : :
961 : 138258 : case E_SImode:
962 : 138258 : if (pattern208 (x4,
963 : : E_SImode) != 0)
964 : : return -1;
965 : : return 4;
966 : :
967 : : default:
968 : : return -1;
969 : : }
970 : :
971 : 0 : case UNSPEC:
972 : 0 : if (pattern210 (x1) != 0)
973 : : return -1;
974 : : return 5;
975 : :
976 : : default:
977 : : return -1;
978 : : }
979 : : }
980 : :
981 : : int
982 : 117238 : pattern228 (rtx x1)
983 : : {
984 : 117238 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
985 : 117238 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
986 : 117238 : rtx x10, x11, x12, x13, x14, x15;
987 : 117238 : int res ATTRIBUTE_UNUSED;
988 : 117238 : x2 = XVECEXP (x1, 0, 0);
989 : 117238 : x3 = XEXP (x2, 1);
990 : 117238 : if (GET_MODE (x3) != E_CCmode)
991 : : return -1;
992 : 117217 : x4 = XEXP (x3, 0);
993 : 117217 : if (GET_CODE (x4) != NE)
994 : : return -1;
995 : 114390 : x5 = XEXP (x4, 1);
996 : 114390 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
997 : : return -1;
998 : 114358 : x6 = XEXP (x3, 1);
999 : 114358 : if (GET_CODE (x6) != COMPARE
1000 : 114358 : || GET_MODE (x6) != E_CCmode)
1001 : : return -1;
1002 : 114358 : x7 = XEXP (x6, 0);
1003 : 114358 : if (GET_CODE (x7) != MEM
1004 : 114358 : || GET_MODE (x7) != E_BLKmode)
1005 : : return -1;
1006 : 114358 : x8 = XEXP (x6, 1);
1007 : 114358 : if (GET_CODE (x8) != MEM
1008 : 114358 : || GET_MODE (x8) != E_BLKmode)
1009 : : return -1;
1010 : 114358 : x9 = XEXP (x3, 2);
1011 : 114358 : if (GET_CODE (x9) != REG
1012 : 81958 : || REGNO (x9) != 17
1013 : 196316 : || GET_MODE (x9) != E_CCmode)
1014 : : return -1;
1015 : 81958 : x10 = XEXP (x2, 0);
1016 : 81958 : if (GET_CODE (x10) != REG
1017 : 81958 : || REGNO (x10) != 17
1018 : 163916 : || GET_MODE (x10) != E_CCmode)
1019 : : return -1;
1020 : 81958 : x11 = XVECEXP (x1, 0, 1);
1021 : 81958 : if (GET_CODE (x11) != USE)
1022 : : return -1;
1023 : 81958 : x12 = XVECEXP (x1, 0, 2);
1024 : 81958 : if (GET_CODE (x12) != CLOBBER)
1025 : : return -1;
1026 : 81958 : x13 = XVECEXP (x1, 0, 3);
1027 : 81958 : if (GET_CODE (x13) != CLOBBER)
1028 : : return -1;
1029 : 81958 : x14 = XVECEXP (x1, 0, 4);
1030 : 81958 : if (GET_CODE (x14) != CLOBBER)
1031 : : return -1;
1032 : 81958 : x15 = XEXP (x4, 0);
1033 : 81958 : operands[6] = x15;
1034 : 81958 : return 0;
1035 : : }
1036 : :
1037 : : int
1038 : 2474 : pattern249 (rtx x1)
1039 : : {
1040 : 2474 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1041 : 2474 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1042 : 2474 : rtx x10, x11, x12;
1043 : 2474 : int res ATTRIBUTE_UNUSED;
1044 : 2474 : x2 = XEXP (x1, 1);
1045 : 2474 : x3 = XEXP (x2, 0);
1046 : 2474 : if (GET_MODE (x3) != E_QImode)
1047 : : return -1;
1048 : 591 : x4 = XEXP (x3, 0);
1049 : 591 : if (GET_CODE (x4) != SUBREG
1050 : 9 : || maybe_ne (SUBREG_BYTE (x4), 0)
1051 : 600 : || GET_MODE (x4) != E_QImode)
1052 : : return -1;
1053 : 9 : x5 = XEXP (x4, 0);
1054 : 9 : switch (GET_CODE (x5))
1055 : : {
1056 : 9 : case SIGN_EXTRACT:
1057 : 9 : case ZERO_EXTRACT:
1058 : 9 : operands[2] = x5;
1059 : 9 : x6 = XEXP (x5, 1);
1060 : 9 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1061 : : return -1;
1062 : 9 : x7 = XEXP (x5, 2);
1063 : 9 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1064 : : return -1;
1065 : 9 : x8 = XEXP (x1, 0);
1066 : 9 : if (GET_CODE (x8) != ZERO_EXTRACT)
1067 : : return -1;
1068 : 9 : x9 = XEXP (x8, 1);
1069 : 9 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1070 : : return -1;
1071 : 9 : x10 = XEXP (x8, 2);
1072 : 9 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1073 : : return -1;
1074 : 9 : x11 = XEXP (x8, 0);
1075 : 9 : operands[0] = x11;
1076 : 9 : if (!int248_register_operand (operands[0], E_VOIDmode))
1077 : : return -1;
1078 : 9 : x12 = XEXP (x5, 0);
1079 : 9 : operands[1] = x12;
1080 : 9 : if (!int248_register_operand (operands[1], E_VOIDmode))
1081 : : return -1;
1082 : 9 : switch (GET_MODE (x8))
1083 : : {
1084 : 0 : case E_HImode:
1085 : 0 : if (GET_MODE (x2) != E_HImode
1086 : 0 : || !extract_operator (operands[2], E_HImode))
1087 : 0 : return -1;
1088 : : return 0;
1089 : :
1090 : 9 : case E_SImode:
1091 : 9 : if (GET_MODE (x2) != E_SImode
1092 : 9 : || !extract_operator (operands[2], E_SImode))
1093 : 0 : return -1;
1094 : : return 1;
1095 : :
1096 : 0 : case E_DImode:
1097 : 0 : if (GET_MODE (x2) != E_DImode
1098 : 0 : || !extract_operator (operands[2], E_DImode))
1099 : 0 : return -1;
1100 : : return 2;
1101 : :
1102 : : default:
1103 : : return -1;
1104 : : }
1105 : :
1106 : : default:
1107 : : return -1;
1108 : : }
1109 : : }
1110 : :
1111 : : int
1112 : 1730 : pattern279 (rtx x1, int *pnum_clobbers)
1113 : : {
1114 : 1730 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1115 : 1730 : rtx x2;
1116 : 1730 : int res ATTRIBUTE_UNUSED;
1117 : 1730 : switch (GET_MODE (operands[0]))
1118 : : {
1119 : 716 : case E_SImode:
1120 : 716 : return pattern278 (x1); /* [-1, 1] */
1121 : :
1122 : 732 : case E_DImode:
1123 : 732 : if (!register_operand (operands[0], E_DImode)
1124 : 732 : || GET_MODE (x1) != E_DImode)
1125 : : return -1;
1126 : 726 : x2 = XEXP (x1, 0);
1127 : 726 : switch (GET_MODE (x2))
1128 : : {
1129 : 40 : case E_QImode:
1130 : 40 : if (!nonimmediate_operand (operands[1], E_QImode))
1131 : : return -1;
1132 : : return 2;
1133 : :
1134 : 70 : case E_HImode:
1135 : 70 : if (!nonimmediate_operand (operands[1], E_HImode))
1136 : : return -1;
1137 : : return 3;
1138 : :
1139 : 616 : case E_SImode:
1140 : 616 : if (pnum_clobbers == NULL
1141 : 616 : || !nonimmediate_operand (operands[1], E_SImode))
1142 : 88 : return -1;
1143 : : return 4;
1144 : :
1145 : : default:
1146 : : return -1;
1147 : : }
1148 : :
1149 : : default:
1150 : : return -1;
1151 : : }
1152 : : }
1153 : :
1154 : : int
1155 : 2 : pattern293 (rtx x1)
1156 : : {
1157 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1158 : 2 : rtx x2;
1159 : 2 : int res ATTRIBUTE_UNUSED;
1160 : 2 : if (!memory_operand (operands[0], E_SImode)
1161 : 2 : || GET_MODE (x1) != E_SImode)
1162 : : return -1;
1163 : 0 : x2 = XEXP (x1, 0);
1164 : 0 : switch (GET_MODE (x2))
1165 : : {
1166 : 0 : case E_V4QImode:
1167 : 0 : switch (GET_MODE (operands[1]))
1168 : : {
1169 : 0 : case E_V4SImode:
1170 : 0 : if (!register_operand (operands[1], E_V4SImode))
1171 : : return -1;
1172 : : return 0;
1173 : :
1174 : 0 : case E_V4DImode:
1175 : 0 : if (!register_operand (operands[1], E_V4DImode))
1176 : : return -1;
1177 : : return 1;
1178 : :
1179 : : default:
1180 : : return -1;
1181 : : }
1182 : :
1183 : 0 : case E_V2HImode:
1184 : 0 : if (!register_operand (operands[1], E_V2DImode))
1185 : : return -1;
1186 : : return 2;
1187 : :
1188 : : default:
1189 : : return -1;
1190 : : }
1191 : : }
1192 : :
1193 : : int
1194 : 1242 : pattern303 (rtx x1, machine_mode i1)
1195 : : {
1196 : 1242 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1197 : 1242 : rtx x2, x3;
1198 : 1242 : int res ATTRIBUTE_UNUSED;
1199 : 1242 : if (!register_operand (operands[0], i1)
1200 : 1242 : || GET_MODE (x1) != i1)
1201 : : return -1;
1202 : 1180 : x2 = XEXP (x1, 0);
1203 : 1180 : if (GET_MODE (x2) != i1)
1204 : : return -1;
1205 : 1180 : x3 = XEXP (x2, 0);
1206 : 1180 : if (GET_MODE (x3) != i1
1207 : 1180 : || !register_operand (operands[1], i1)
1208 : 1176 : || !nonimmediate_operand (operands[2], i1)
1209 : 2356 : || !nonimm_or_0_operand (operands[3], i1))
1210 : 16 : return -1;
1211 : : return 0;
1212 : : }
1213 : :
1214 : : int
1215 : 91 : pattern308 (rtx x1, machine_mode i1)
1216 : : {
1217 : 91 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1218 : 91 : rtx x2, x3;
1219 : 91 : int res ATTRIBUTE_UNUSED;
1220 : 91 : if (!register_operand (operands[0], i1)
1221 : 91 : || GET_MODE (x1) != i1)
1222 : : return -1;
1223 : 91 : x2 = XEXP (x1, 0);
1224 : 91 : if (GET_MODE (x2) != i1)
1225 : : return -1;
1226 : 91 : x3 = XEXP (x2, 0);
1227 : 91 : if (GET_MODE (x3) != E_SImode
1228 : 91 : || !nonimmediate_operand (operands[1], E_HImode)
1229 : 100 : || !const0_operand (operands[2], i1))
1230 : 82 : return -1;
1231 : : return 0;
1232 : : }
1233 : :
1234 : : int
1235 : 541 : pattern316 (rtx x1, machine_mode i1)
1236 : : {
1237 : 541 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1238 : 541 : int res ATTRIBUTE_UNUSED;
1239 : 541 : if (!register_operand (operands[0], i1)
1240 : 514 : || GET_MODE (x1) != i1
1241 : 514 : || !float_vector_all_ones_operand (operands[1], i1)
1242 : 48 : || !const0_operand (operands[2], i1)
1243 : 48 : || !register_operand (operands[3], i1)
1244 : 589 : || !nonimmediate_operand (operands[4], i1))
1245 : 517 : return -1;
1246 : : return 0;
1247 : : }
1248 : :
1249 : : int
1250 : 788 : pattern320 (rtx x1)
1251 : : {
1252 : 788 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1253 : 788 : rtx x2;
1254 : 788 : int res ATTRIBUTE_UNUSED;
1255 : 788 : x2 = XVECEXP (x1, 0, 0);
1256 : 788 : operands[1] = x2;
1257 : 788 : switch (GET_MODE (operands[0]))
1258 : : {
1259 : 132 : case E_V16SFmode:
1260 : 132 : if (!register_operand (operands[0], E_V16SFmode)
1261 : 117 : || GET_MODE (x1) != E_V16SFmode
1262 : 249 : || !nonimmediate_operand (operands[1], E_V16SFmode))
1263 : 19 : return -1;
1264 : : return 0;
1265 : :
1266 : 132 : case E_V8SFmode:
1267 : 132 : if (!register_operand (operands[0], E_V8SFmode)
1268 : 117 : || GET_MODE (x1) != E_V8SFmode
1269 : 249 : || !nonimmediate_operand (operands[1], E_V8SFmode))
1270 : 19 : return -1;
1271 : : return 1;
1272 : :
1273 : 127 : case E_V4SFmode:
1274 : 127 : if (!register_operand (operands[0], E_V4SFmode)
1275 : 115 : || GET_MODE (x1) != E_V4SFmode
1276 : 242 : || !nonimmediate_operand (operands[1], E_V4SFmode))
1277 : 15 : return -1;
1278 : : return 2;
1279 : :
1280 : 135 : case E_V8DFmode:
1281 : 135 : if (!register_operand (operands[0], E_V8DFmode)
1282 : 120 : || GET_MODE (x1) != E_V8DFmode
1283 : 255 : || !nonimmediate_operand (operands[1], E_V8DFmode))
1284 : 20 : return -1;
1285 : : return 3;
1286 : :
1287 : 132 : case E_V4DFmode:
1288 : 132 : if (!register_operand (operands[0], E_V4DFmode)
1289 : 117 : || GET_MODE (x1) != E_V4DFmode
1290 : 249 : || !nonimmediate_operand (operands[1], E_V4DFmode))
1291 : 19 : return -1;
1292 : : return 4;
1293 : :
1294 : 130 : case E_V2DFmode:
1295 : 130 : if (!register_operand (operands[0], E_V2DFmode)
1296 : 118 : || GET_MODE (x1) != E_V2DFmode
1297 : 248 : || !nonimmediate_operand (operands[1], E_V2DFmode))
1298 : 16 : return -1;
1299 : : return 5;
1300 : :
1301 : : default:
1302 : : return -1;
1303 : : }
1304 : : }
1305 : :
1306 : : int
1307 : 398 : pattern331 (rtx x1, machine_mode i1, machine_mode i2)
1308 : : {
1309 : 398 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1310 : 398 : rtx x2, x3, x4, x5;
1311 : 398 : int res ATTRIBUTE_UNUSED;
1312 : 398 : if (GET_MODE (x1) != i2)
1313 : : return -1;
1314 : 398 : x2 = XEXP (x1, 0);
1315 : 398 : if (GET_MODE (x2) != i2)
1316 : : return -1;
1317 : 398 : x3 = XEXP (x2, 0);
1318 : 398 : if (GET_MODE (x3) != i1)
1319 : : return -1;
1320 : 398 : x4 = XEXP (x1, 1);
1321 : 398 : if (GET_MODE (x4) != i2)
1322 : : return -1;
1323 : 398 : x5 = XEXP (x4, 0);
1324 : 398 : if (GET_MODE (x5) != i1)
1325 : 0 : return -1;
1326 : : return 0;
1327 : : }
1328 : :
1329 : : int
1330 : 35 : pattern334 (rtx x1, machine_mode i1)
1331 : : {
1332 : 35 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1333 : 35 : rtx x2, x3;
1334 : 35 : int res ATTRIBUTE_UNUSED;
1335 : 35 : if (!register_operand (operands[0], i1)
1336 : 35 : || GET_MODE (x1) != i1)
1337 : : return -1;
1338 : 35 : x2 = XEXP (x1, 0);
1339 : 35 : if (GET_MODE (x2) != i1
1340 : 35 : || !bcst_vector_operand (operands[1], i1))
1341 : 5 : return -1;
1342 : 30 : x3 = XEXP (x1, 1);
1343 : 30 : if (GET_MODE (x3) != i1
1344 : 30 : || !bcst_vector_operand (operands[2], i1))
1345 : 4 : return -1;
1346 : : return 0;
1347 : : }
1348 : :
1349 : : int
1350 : 27249188 : pattern338 (rtx x1)
1351 : : {
1352 : 27249188 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1353 : 27249188 : rtx x2, x3, x4, x5;
1354 : 27249188 : int res ATTRIBUTE_UNUSED;
1355 : 27249188 : x2 = XVECEXP (x1, 0, 1);
1356 : 27249188 : if (GET_CODE (x2) != CLOBBER)
1357 : : return -1;
1358 : 26382040 : x3 = XEXP (x2, 0);
1359 : 26382040 : if (GET_CODE (x3) != REG
1360 : 26382040 : || REGNO (x3) != 17
1361 : 50349059 : || GET_MODE (x3) != E_CCmode)
1362 : : return -1;
1363 : 23945567 : x4 = XVECEXP (x1, 0, 0);
1364 : 23945567 : x5 = XEXP (x4, 0);
1365 : 23945567 : operands[0] = x5;
1366 : 23945567 : return 0;
1367 : : }
1368 : :
1369 : : int
1370 : 673 : pattern340 (rtx x1, int *pnum_clobbers, rtx_code i1)
1371 : : {
1372 : 673 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1373 : 673 : rtx x2, x3, x4, x5, x6, x7;
1374 : 673 : int res ATTRIBUTE_UNUSED;
1375 : 673 : if (pnum_clobbers == NULL)
1376 : : return -1;
1377 : 672 : x2 = XVECEXP (x1, 0, 0);
1378 : 672 : x3 = XEXP (x2, 1);
1379 : 672 : x4 = XEXP (x3, 0);
1380 : 672 : if (GET_MODE (x4) != E_SImode)
1381 : : return -1;
1382 : 366 : x5 = XVECEXP (x1, 0, 1);
1383 : 366 : if (GET_CODE (x5) != SET)
1384 : : return -1;
1385 : 366 : x6 = XEXP (x5, 1);
1386 : 366 : if (GET_CODE (x6) != i1
1387 : 366 : || GET_MODE (x6) != E_SImode)
1388 : : return -1;
1389 : 366 : x7 = XEXP (x2, 0);
1390 : 366 : operands[0] = x7;
1391 : 366 : if (!register_operand (operands[0], E_DImode)
1392 : 366 : || GET_MODE (x3) != E_DImode)
1393 : : return -1;
1394 : : return 0;
1395 : : }
1396 : :
1397 : : int
1398 : 36143 : pattern345 (rtx x1)
1399 : : {
1400 : 36143 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1401 : 36143 : rtx x2, x3, x4, x5, x6, x7, x8;
1402 : 36143 : int res ATTRIBUTE_UNUSED;
1403 : 36143 : x2 = XVECEXP (x1, 0, 1);
1404 : 36143 : if (GET_CODE (x2) != CLOBBER)
1405 : : return -1;
1406 : 28652 : x3 = XEXP (x2, 0);
1407 : 28652 : if (GET_CODE (x3) != REG
1408 : 28652 : || REGNO (x3) != 17
1409 : 57304 : || GET_MODE (x3) != E_CCmode)
1410 : : return -1;
1411 : 28652 : x4 = XVECEXP (x1, 0, 0);
1412 : 28652 : x5 = XEXP (x4, 0);
1413 : 28652 : operands[0] = x5;
1414 : 28652 : x6 = XEXP (x4, 1);
1415 : 28652 : x7 = XEXP (x6, 0);
1416 : 28652 : x8 = XEXP (x7, 0);
1417 : 28652 : operands[1] = x8;
1418 : 28652 : return 0;
1419 : : }
1420 : :
1421 : : int
1422 : 720629 : pattern351 (rtx x1)
1423 : : {
1424 : 720629 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1425 : 720629 : rtx x2;
1426 : 720629 : int res ATTRIBUTE_UNUSED;
1427 : 720629 : if (GET_CODE (x1) != CLOBBER)
1428 : : return -1;
1429 : 614825 : x2 = XEXP (x1, 0);
1430 : 614825 : if (GET_CODE (x2) != REG
1431 : 614824 : || REGNO (x2) != 17
1432 : 1181809 : || GET_MODE (x2) != E_CCmode)
1433 : 47841 : return -1;
1434 : : return 0;
1435 : : }
1436 : :
1437 : : int
1438 : 39 : pattern353 (rtx x1, machine_mode i1, machine_mode i2)
1439 : : {
1440 : 39 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1441 : 39 : rtx x2, x3, x4, x5, x6;
1442 : 39 : int res ATTRIBUTE_UNUSED;
1443 : 39 : if (!register_operand (operands[0], i2)
1444 : 39 : || GET_MODE (x1) != i2)
1445 : : return -1;
1446 : 36 : x2 = XEXP (x1, 0);
1447 : 36 : if (GET_MODE (x2) != i2)
1448 : : return -1;
1449 : 36 : x3 = XEXP (x2, 0);
1450 : 36 : if (GET_MODE (x3) != i2)
1451 : : return -1;
1452 : 36 : x4 = XEXP (x3, 0);
1453 : 36 : if (GET_MODE (x4) != i2
1454 : 36 : || !nonimmediate_operand (operands[2], i1))
1455 : 0 : return -1;
1456 : 36 : x5 = XEXP (x2, 1);
1457 : 36 : if (GET_MODE (x5) != i2
1458 : 36 : || !nonimmediate_operand (operands[4], i1))
1459 : 0 : return -1;
1460 : 36 : x6 = XEXP (x1, 1);
1461 : 36 : if (GET_MODE (x6) != i2
1462 : 36 : || !nonimmediate_operand (operands[1], i1))
1463 : 10 : return -1;
1464 : : return 0;
1465 : : }
1466 : :
1467 : : int
1468 : 63 : pattern357 (rtx x1, machine_mode i1)
1469 : : {
1470 : 63 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1471 : 63 : rtx x2;
1472 : 63 : int res ATTRIBUTE_UNUSED;
1473 : 63 : if (!nonimmediate_operand (operands[0], i1)
1474 : 63 : || GET_MODE (x1) != i1)
1475 : : return -1;
1476 : 63 : x2 = XEXP (x1, 0);
1477 : 63 : if (GET_MODE (x2) != i1
1478 : 63 : || !general_operand (operands[1], i1))
1479 : 0 : return -1;
1480 : : return 0;
1481 : : }
1482 : :
1483 : : int
1484 : 18489 : pattern362 (rtx x1, machine_mode i1)
1485 : : {
1486 : 18489 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1487 : 18489 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1488 : 18489 : rtx x10, x11, x12, x13;
1489 : 18489 : int res ATTRIBUTE_UNUSED;
1490 : 18489 : x2 = XVECEXP (x1, 0, 0);
1491 : 18489 : x3 = XEXP (x2, 1);
1492 : 18489 : if (GET_MODE (x3) != i1)
1493 : : return -1;
1494 : 18489 : x4 = XEXP (x3, 0);
1495 : 18489 : x5 = XEXP (x4, 0);
1496 : 18489 : x6 = XVECEXP (x5, 0, 0);
1497 : 18489 : operands[0] = x6;
1498 : 18489 : x7 = XVECEXP (x5, 0, 1);
1499 : 18489 : operands[2] = x7;
1500 : 18489 : if (!const_int_operand (operands[2], E_SImode))
1501 : : return -1;
1502 : 18489 : x8 = XEXP (x4, 1);
1503 : 18489 : operands[1] = x8;
1504 : 18489 : x9 = XVECEXP (x1, 0, 1);
1505 : 18489 : x10 = XEXP (x9, 1);
1506 : 18489 : x11 = XEXP (x10, 0);
1507 : 18489 : if (!rtx_equal_p (x11, operands[0]))
1508 : : return -1;
1509 : 18489 : x12 = XEXP (x10, 1);
1510 : 18489 : if (!rtx_equal_p (x12, operands[1]))
1511 : : return -1;
1512 : 18489 : x13 = XEXP (x9, 0);
1513 : 18489 : if (!rtx_equal_p (x13, operands[0]))
1514 : : return -1;
1515 : 18489 : switch (GET_MODE (x4))
1516 : : {
1517 : 2928 : case E_QImode:
1518 : 2928 : return pattern361 (x1,
1519 : 2928 : E_QImode); /* [-1, 0] */
1520 : :
1521 : 2628 : case E_HImode:
1522 : 2628 : if (pattern361 (x1,
1523 : : E_HImode) != 0)
1524 : : return -1;
1525 : : return 1;
1526 : :
1527 : 9361 : case E_SImode:
1528 : 9361 : if (pattern361 (x1,
1529 : : E_SImode) != 0)
1530 : : return -1;
1531 : : return 2;
1532 : :
1533 : 3572 : case E_DImode:
1534 : 3572 : if (pattern361 (x1,
1535 : : E_DImode) != 0)
1536 : : return -1;
1537 : : return 3;
1538 : :
1539 : : default:
1540 : : return -1;
1541 : : }
1542 : : }
1543 : :
1544 : : int
1545 : 206 : pattern375 (rtx x1, machine_mode i1)
1546 : : {
1547 : 206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1548 : 206 : rtx x2;
1549 : 206 : int res ATTRIBUTE_UNUSED;
1550 : 206 : if (!register_operand (operands[0], i1)
1551 : 206 : || GET_MODE (x1) != i1)
1552 : : return -1;
1553 : 206 : x2 = XEXP (x1, 0);
1554 : 206 : if (GET_MODE (x2) != i1
1555 : 206 : || !general_operand (operands[1], i1))
1556 : 10 : return -1;
1557 : : return 0;
1558 : : }
1559 : :
1560 : : int
1561 : 42130 : pattern380 (rtx x1, int i1, int i2)
1562 : : {
1563 : 42130 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1564 : 42130 : rtx x2;
1565 : 42130 : int res ATTRIBUTE_UNUSED;
1566 : 42130 : if (GET_CODE (x1) != UNSPEC
1567 : 18335 : || XVECLEN (x1, 0) != 1
1568 : 18335 : || XINT (x1, 1) != i1)
1569 : : return -1;
1570 : 18335 : x2 = XVECEXP (x1, 0, 0);
1571 : 18335 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
1572 : 0 : return -1;
1573 : : return 0;
1574 : : }
1575 : :
1576 : : int
1577 : 0 : pattern384 (rtx x1)
1578 : : {
1579 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1580 : 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1581 : 0 : rtx x10, x11;
1582 : 0 : int res ATTRIBUTE_UNUSED;
1583 : 0 : x2 = XVECEXP (x1, 0, 0);
1584 : 0 : x3 = XEXP (x2, 1);
1585 : 0 : if (GET_MODE (x3) != E_SImode)
1586 : : return -1;
1587 : 0 : x4 = XVECEXP (x1, 0, 1);
1588 : 0 : if (GET_CODE (x4) != USE)
1589 : : return -1;
1590 : 0 : x5 = XVECEXP (x1, 0, 2);
1591 : 0 : if (GET_CODE (x5) != CLOBBER)
1592 : : return -1;
1593 : 0 : x6 = XEXP (x2, 0);
1594 : 0 : operands[0] = x6;
1595 : 0 : if (!register_operand (operands[0], E_SImode))
1596 : : return -1;
1597 : 0 : x7 = XEXP (x3, 0);
1598 : 0 : operands[3] = x7;
1599 : 0 : x8 = XEXP (x4, 0);
1600 : 0 : operands[4] = x8;
1601 : 0 : x9 = XEXP (x5, 0);
1602 : 0 : operands[1] = x9;
1603 : 0 : x10 = XVECEXP (x1, 0, 3);
1604 : 0 : x11 = XEXP (x10, 0);
1605 : 0 : operands[2] = x11;
1606 : 0 : switch (GET_MODE (operands[3]))
1607 : : {
1608 : 0 : case E_SFmode:
1609 : 0 : return pattern383 (
1610 : : E_V4SFmode,
1611 : 0 : E_SFmode); /* [-1, 0] */
1612 : :
1613 : 0 : case E_DFmode:
1614 : 0 : if (pattern383 (
1615 : : E_V2DFmode,
1616 : : E_DFmode) != 0)
1617 : : return -1;
1618 : : return 1;
1619 : :
1620 : : default:
1621 : : return -1;
1622 : : }
1623 : : }
1624 : :
1625 : : int
1626 : 1583 : pattern400 (rtx x1, machine_mode i1, machine_mode i2)
1627 : : {
1628 : 1583 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1629 : 1583 : rtx x2;
1630 : 1583 : int res ATTRIBUTE_UNUSED;
1631 : 1583 : if (!nonimmediate_operand (operands[0], i1)
1632 : 1583 : || GET_MODE (x1) != i1)
1633 : : return -1;
1634 : 1577 : x2 = XEXP (x1, 0);
1635 : 1577 : if (GET_MODE (x2) != i1
1636 : 1577 : || !nonimmediate_operand (operands[1], i2)
1637 : 2774 : || !const_scalar_int_operand (operands[2], i1))
1638 : 380 : return -1;
1639 : : return 0;
1640 : : }
1641 : :
1642 : : int
1643 : 6188 : pattern407 (rtx x1)
1644 : : {
1645 : 6188 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1646 : 6188 : rtx x2, x3, x4;
1647 : 6188 : int res ATTRIBUTE_UNUSED;
1648 : 6188 : x2 = XEXP (x1, 0);
1649 : 6188 : x3 = XEXP (x2, 1);
1650 : 6188 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1651 : : return -1;
1652 : 5513 : x4 = XEXP (x2, 0);
1653 : 5513 : operands[1] = x4;
1654 : 5513 : if (!int_nonimmediate_operand (operands[1], E_VOIDmode))
1655 : : return -1;
1656 : 4057 : switch (GET_MODE (operands[0]))
1657 : : {
1658 : 204 : case E_QImode:
1659 : 204 : if (!register_operand (operands[0], E_QImode)
1660 : 200 : || GET_MODE (x1) != E_QImode
1661 : 404 : || GET_MODE (x2) != E_QImode)
1662 : : return -1;
1663 : : return 0;
1664 : :
1665 : 97 : case E_HImode:
1666 : 97 : if (!register_operand (operands[0], E_HImode)
1667 : 92 : || GET_MODE (x1) != E_HImode
1668 : 189 : || GET_MODE (x2) != E_HImode)
1669 : : return -1;
1670 : : return 1;
1671 : :
1672 : 3363 : case E_SImode:
1673 : 3363 : if (!register_operand (operands[0], E_SImode)
1674 : 2208 : || GET_MODE (x1) != E_SImode
1675 : 5571 : || GET_MODE (x2) != E_SImode)
1676 : : return -1;
1677 : : return 2;
1678 : :
1679 : 393 : case E_DImode:
1680 : 393 : if (!register_operand (operands[0], E_DImode)
1681 : 383 : || GET_MODE (x1) != E_DImode
1682 : 776 : || GET_MODE (x2) != E_DImode)
1683 : : return -1;
1684 : : return 3;
1685 : :
1686 : : default:
1687 : : return -1;
1688 : : }
1689 : : }
1690 : :
1691 : : int
1692 : 132 : pattern419 (rtx x1)
1693 : : {
1694 : 132 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1695 : 132 : rtx x2, x3, x4, x5, x6;
1696 : 132 : int res ATTRIBUTE_UNUSED;
1697 : 132 : x2 = XVECEXP (x1, 0, 0);
1698 : 132 : x3 = XEXP (x2, 0);
1699 : 132 : operands[1] = x3;
1700 : 132 : x4 = XEXP (x2, 1);
1701 : 132 : operands[2] = x4;
1702 : 132 : x5 = XVECEXP (x1, 0, 1);
1703 : 132 : operands[3] = x5;
1704 : 132 : x6 = XVECEXP (x1, 0, 2);
1705 : 132 : operands[4] = x6;
1706 : 132 : if (!const_0_to_7_operand (operands[4], E_SImode))
1707 : : return -1;
1708 : 132 : switch (GET_MODE (operands[0]))
1709 : : {
1710 : 44 : case E_HImode:
1711 : 44 : return pattern417 (x1); /* [-1, 1] */
1712 : :
1713 : 22 : case E_QImode:
1714 : 22 : if (pattern418 (x1,
1715 : : E_V8HImode,
1716 : : E_QImode) != 0)
1717 : : return -1;
1718 : : return 2;
1719 : :
1720 : : default:
1721 : : return -1;
1722 : : }
1723 : : }
1724 : :
1725 : : int
1726 : 162903 : pattern430 (rtx x1)
1727 : : {
1728 : 162903 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1729 : 162903 : rtx x2, x3, x4, x5;
1730 : 162903 : int res ATTRIBUTE_UNUSED;
1731 : 162903 : x2 = XEXP (x1, 0);
1732 : 162903 : x3 = XEXP (x2, 0);
1733 : 162903 : x4 = XEXP (x3, 0);
1734 : 162903 : operands[1] = x4;
1735 : 162903 : x5 = XEXP (x3, 1);
1736 : 162903 : operands[2] = x5;
1737 : 162903 : if (!const248_operand (operands[2], E_VOIDmode))
1738 : : return -1;
1739 : 21503 : return pattern429 (x1); /* [-1, 1] */
1740 : : }
1741 : :
1742 : : int
1743 : 1402142 : pattern436 (rtx x1, int i1)
1744 : : {
1745 : 1402142 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1746 : 1402142 : rtx x2, x3;
1747 : 1402142 : int res ATTRIBUTE_UNUSED;
1748 : 1402142 : x2 = XEXP (x1, 1);
1749 : 1402142 : if (GET_CODE (x2) != CONST
1750 : 1402142 : || GET_MODE (x2) != E_SImode)
1751 : : return -1;
1752 : 133001 : x3 = XEXP (x2, 0);
1753 : 133001 : if (GET_CODE (x3) != UNSPEC
1754 : 128516 : || XVECLEN (x3, 0) != 1
1755 : 128516 : || XINT (x3, 1) != i1
1756 : 0 : || GET_MODE (x3) != E_SImode
1757 : 0 : || !register_operand (operands[0], E_SImode)
1758 : 133001 : || GET_MODE (x1) != E_SImode)
1759 : 133001 : return -1;
1760 : : return 0;
1761 : : }
1762 : :
1763 : : int
1764 : 6200 : pattern445 (rtx x1, int *pnum_clobbers)
1765 : : {
1766 : 6200 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1767 : 6200 : rtx x2, x3, x4;
1768 : 6200 : int res ATTRIBUTE_UNUSED;
1769 : 6200 : if (pnum_clobbers == NULL)
1770 : : return -1;
1771 : 6200 : x2 = XEXP (x1, 1);
1772 : 6200 : x3 = XEXP (x2, 1);
1773 : 6200 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1774 : : return -1;
1775 : 4762 : x4 = XEXP (x2, 0);
1776 : 4762 : operands[2] = x4;
1777 : 4762 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1778 : : return -1;
1779 : 2456 : switch (GET_MODE (operands[0]))
1780 : : {
1781 : 193 : case E_SImode:
1782 : 193 : return pattern444 (x1,
1783 : 193 : E_SImode); /* [-1, 0] */
1784 : :
1785 : 2116 : case E_DImode:
1786 : 2116 : if (pattern444 (x1,
1787 : : E_DImode) != 0)
1788 : : return -1;
1789 : : return 1;
1790 : :
1791 : : default:
1792 : : return -1;
1793 : : }
1794 : : }
1795 : :
1796 : : int
1797 : 4732 : pattern455 (rtx x1, machine_mode i1, machine_mode i2)
1798 : : {
1799 : 4732 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1800 : 4732 : rtx x2;
1801 : 4732 : int res ATTRIBUTE_UNUSED;
1802 : 4732 : if (!register_operand (operands[0], i1)
1803 : 4732 : || GET_MODE (x1) != i1)
1804 : : return -1;
1805 : 4508 : x2 = XEXP (x1, 0);
1806 : 4508 : if (GET_MODE (x2) != i1
1807 : 4508 : || !register_operand (operands[1], i1)
1808 : 4452 : || !vector_operand (operands[2], i1)
1809 : 4446 : || !nonimm_or_0_operand (operands[3], i1)
1810 : 8872 : || !register_operand (operands[4], i2))
1811 : 332 : return -1;
1812 : : return 0;
1813 : : }
1814 : :
1815 : : int
1816 : 1626 : pattern460 (rtx x1)
1817 : : {
1818 : 1626 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1819 : 1626 : rtx x2, x3, x4, x5, x6, x7;
1820 : 1626 : int res ATTRIBUTE_UNUSED;
1821 : 1626 : x2 = XEXP (x1, 0);
1822 : 1626 : x3 = XVECEXP (x2, 0, 0);
1823 : 1626 : operands[1] = x3;
1824 : 1626 : x4 = XVECEXP (x2, 0, 1);
1825 : 1626 : operands[2] = x4;
1826 : 1626 : x5 = XEXP (x1, 2);
1827 : 1626 : switch (GET_CODE (x5))
1828 : : {
1829 : 1539 : case UNSPEC:
1830 : 1539 : if (XVECLEN (x5, 0) != 1
1831 : 1539 : || XINT (x5, 1) != 223)
1832 : : return -1;
1833 : 1539 : x6 = XEXP (x1, 1);
1834 : 1539 : operands[3] = x6;
1835 : 1539 : x7 = XVECEXP (x5, 0, 0);
1836 : 1539 : operands[4] = x7;
1837 : 1539 : switch (GET_MODE (operands[0]))
1838 : : {
1839 : 312 : case E_V32HFmode:
1840 : 312 : if (!register_operand (operands[0], E_V32HFmode)
1841 : 266 : || GET_MODE (x1) != E_V32HFmode
1842 : 266 : || GET_MODE (x2) != E_V32HFmode
1843 : 266 : || !vector_operand (operands[1], E_V32HFmode)
1844 : 266 : || !vector_operand (operands[2], E_V32HFmode)
1845 : 266 : || !nonimm_or_0_operand (operands[3], E_V32HFmode)
1846 : 262 : || GET_MODE (x5) != E_SImode
1847 : 574 : || !register_operand (operands[4], E_HImode))
1848 : 114 : return -1;
1849 : : return 0;
1850 : :
1851 : 614 : case E_V16HFmode:
1852 : 614 : if (pattern459 (x1,
1853 : : E_HImode,
1854 : : E_V16HFmode) != 0)
1855 : : return -1;
1856 : : return 1;
1857 : :
1858 : 613 : case E_V8HFmode:
1859 : 613 : if (pattern459 (x1,
1860 : : E_QImode,
1861 : : E_V8HFmode) != 0)
1862 : : return -1;
1863 : : return 2;
1864 : :
1865 : : default:
1866 : : return -1;
1867 : : }
1868 : :
1869 : 87 : case CONST_INT:
1870 : 87 : if (XWINT (x5, 0) != 3L
1871 : 87 : || !register_operand (operands[0], E_V8HFmode)
1872 : 67 : || GET_MODE (x1) != E_V8HFmode
1873 : 67 : || GET_MODE (x2) != E_V8HFmode
1874 : 67 : || !nonimmediate_operand (operands[1], E_V8HFmode)
1875 : 149 : || !vector_operand (operands[2], E_V8HFmode))
1876 : 25 : return -1;
1877 : 62 : x6 = XEXP (x1, 1);
1878 : 62 : if (!rtx_equal_p (x6, operands[1]))
1879 : : return -1;
1880 : : return 3;
1881 : :
1882 : : default:
1883 : : return -1;
1884 : : }
1885 : : }
1886 : :
1887 : : int
1888 : 1226 : pattern488 (rtx x1, machine_mode i1)
1889 : : {
1890 : 1226 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1891 : 1226 : rtx x2;
1892 : 1226 : int res ATTRIBUTE_UNUSED;
1893 : 1226 : if (!register_operand (operands[0], i1)
1894 : 1226 : || GET_MODE (x1) != i1)
1895 : : return -1;
1896 : 1147 : x2 = XVECEXP (x1, 0, 0);
1897 : 1147 : if (GET_MODE (x2) != i1
1898 : 1147 : || !register_operand (operands[1], i1)
1899 : 2246 : || !register_operand (operands[2], i1))
1900 : 74 : return -1;
1901 : : return 0;
1902 : : }
1903 : :
1904 : : int
1905 : 0 : pattern490 (rtx x1)
1906 : : {
1907 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1908 : 0 : rtx x2, x3, x4, x5;
1909 : 0 : int res ATTRIBUTE_UNUSED;
1910 : 0 : x2 = XVECEXP (x1, 0, 0);
1911 : 0 : x3 = XEXP (x2, 0);
1912 : 0 : operands[1] = x3;
1913 : 0 : x4 = XEXP (x2, 1);
1914 : 0 : operands[2] = x4;
1915 : 0 : x5 = XVECEXP (x1, 0, 1);
1916 : 0 : operands[3] = x5;
1917 : 0 : if (!const48_operand (operands[3], E_SImode))
1918 : : return -1;
1919 : 0 : switch (GET_MODE (operands[0]))
1920 : : {
1921 : 0 : case E_V32HFmode:
1922 : 0 : return pattern488 (x1,
1923 : 0 : E_V32HFmode); /* [-1, 0] */
1924 : :
1925 : 0 : case E_V16HFmode:
1926 : 0 : if (pattern488 (x1,
1927 : : E_V16HFmode) != 0)
1928 : : return -1;
1929 : : return 1;
1930 : :
1931 : 0 : case E_V16SFmode:
1932 : 0 : if (pattern488 (x1,
1933 : : E_V16SFmode) != 0)
1934 : : return -1;
1935 : : return 2;
1936 : :
1937 : 0 : case E_V8SFmode:
1938 : 0 : if (pattern488 (x1,
1939 : : E_V8SFmode) != 0)
1940 : : return -1;
1941 : : return 3;
1942 : :
1943 : 0 : case E_V8DFmode:
1944 : 0 : if (pattern488 (x1,
1945 : : E_V8DFmode) != 0)
1946 : : return -1;
1947 : : return 4;
1948 : :
1949 : 0 : case E_V4DFmode:
1950 : 0 : if (pattern488 (x1,
1951 : : E_V4DFmode) != 0)
1952 : : return -1;
1953 : : return 5;
1954 : :
1955 : : default:
1956 : : return -1;
1957 : : }
1958 : : }
1959 : :
1960 : : int
1961 : 736 : pattern497 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1962 : : {
1963 : 736 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1964 : 736 : rtx x2, x3, x4;
1965 : 736 : int res ATTRIBUTE_UNUSED;
1966 : 736 : if (!register_operand (operands[0], i2)
1967 : 736 : || GET_MODE (x1) != i2)
1968 : : return -1;
1969 : 718 : x2 = XEXP (x1, 0);
1970 : 718 : if (GET_MODE (x2) != i1)
1971 : : return -1;
1972 : 718 : x3 = XEXP (x2, 0);
1973 : 718 : if (GET_MODE (x3) != i1
1974 : 718 : || !nonimmediate_operand (operands[1], i3))
1975 : 0 : return -1;
1976 : 718 : x4 = XEXP (x2, 1);
1977 : 718 : if (GET_MODE (x4) != i1
1978 : 718 : || !nonimm_or_0_operand (operands[2], i2)
1979 : 1431 : || !const0_operand (operands[4], i1))
1980 : 5 : return -1;
1981 : : return 0;
1982 : : }
1983 : :
1984 : : int
1985 : 0 : pattern503 (rtx x1)
1986 : : {
1987 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1988 : 0 : rtx x2, x3, x4, x5, x6, x7;
1989 : 0 : int res ATTRIBUTE_UNUSED;
1990 : 0 : x2 = XEXP (x1, 0);
1991 : 0 : x3 = XEXP (x2, 0);
1992 : 0 : if (GET_MODE (x3) != E_V2SImode)
1993 : : return -1;
1994 : 0 : x4 = XEXP (x1, 1);
1995 : 0 : if (GET_CODE (x4) != CONST_VECTOR
1996 : 0 : || XVECLEN (x4, 0) != 2
1997 : 0 : || GET_MODE (x4) != E_V2SImode)
1998 : : return -1;
1999 : 0 : x5 = XVECEXP (x4, 0, 0);
2000 : 0 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2001 : : return -1;
2002 : 0 : x6 = XVECEXP (x4, 0, 1);
2003 : 0 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2004 : 0 : || !register_operand (operands[0], E_V4SImode)
2005 : 0 : || GET_MODE (x1) != E_V4SImode
2006 : 0 : || GET_MODE (x2) != E_V2SImode)
2007 : 0 : return -1;
2008 : 0 : x7 = XEXP (x3, 0);
2009 : 0 : operands[1] = x7;
2010 : 0 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
2011 : : return -1;
2012 : 0 : return pattern502 (x2); /* [-1, 1] */
2013 : : }
2014 : :
2015 : : int
2016 : 6371 : pattern509 (rtx x1)
2017 : : {
2018 : 6371 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2019 : 6371 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2020 : 6371 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2021 : 6371 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
2022 : 6371 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
2023 : 6371 : rtx x34, x35, x36, x37, x38, x39;
2024 : 6371 : int res ATTRIBUTE_UNUSED;
2025 : 6371 : x2 = XEXP (x1, 1);
2026 : 6371 : if (GET_CODE (x2) != CONST_VECTOR)
2027 : : return -1;
2028 : 6371 : x3 = XEXP (x1, 0);
2029 : 6371 : x4 = XEXP (x3, 0);
2030 : 6371 : x5 = XEXP (x4, 0);
2031 : 6371 : operands[1] = x5;
2032 : 6371 : x6 = XEXP (x3, 1);
2033 : 6371 : switch (GET_CODE (x6))
2034 : : {
2035 : 4310 : case VEC_SELECT:
2036 : 4310 : x7 = XEXP (x6, 1);
2037 : 4310 : if (GET_CODE (x7) != PARALLEL)
2038 : : return -1;
2039 : 4310 : x8 = XEXP (x6, 0);
2040 : 4310 : operands[2] = x8;
2041 : 4310 : x9 = XEXP (x3, 2);
2042 : 4310 : operands[3] = x9;
2043 : 4310 : switch (XVECLEN (x7, 0))
2044 : : {
2045 : 1290 : case 2:
2046 : 1290 : x10 = XVECEXP (x7, 0, 0);
2047 : 1290 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2048 : : return -1;
2049 : 1290 : x11 = XVECEXP (x7, 0, 1);
2050 : 1290 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2051 : 1290 : || !register_operand (operands[1], E_V2DImode))
2052 : 0 : return -1;
2053 : 1290 : switch (XVECLEN (x2, 0))
2054 : : {
2055 : 435 : case 14:
2056 : 435 : if (GET_MODE (x2) != E_V14QImode)
2057 : : return -1;
2058 : 435 : x12 = XVECEXP (x2, 0, 0);
2059 : 435 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2060 : : return -1;
2061 : 435 : x13 = XVECEXP (x2, 0, 1);
2062 : 435 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2063 : : return -1;
2064 : 435 : x14 = XVECEXP (x2, 0, 2);
2065 : 435 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2066 : : return -1;
2067 : 435 : x15 = XVECEXP (x2, 0, 3);
2068 : 435 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2069 : : return -1;
2070 : 435 : x16 = XVECEXP (x2, 0, 4);
2071 : 435 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2072 : : return -1;
2073 : 435 : x17 = XVECEXP (x2, 0, 5);
2074 : 435 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2075 : : return -1;
2076 : 435 : x18 = XVECEXP (x2, 0, 6);
2077 : 435 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2078 : : return -1;
2079 : 435 : x19 = XVECEXP (x2, 0, 7);
2080 : 435 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2081 : : return -1;
2082 : 435 : x20 = XVECEXP (x2, 0, 8);
2083 : 435 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2084 : : return -1;
2085 : 435 : x21 = XVECEXP (x2, 0, 9);
2086 : 435 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2087 : : return -1;
2088 : 435 : x22 = XVECEXP (x2, 0, 10);
2089 : 435 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2090 : : return -1;
2091 : 435 : x23 = XVECEXP (x2, 0, 11);
2092 : 435 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2093 : : return -1;
2094 : 435 : x24 = XVECEXP (x2, 0, 12);
2095 : 435 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2096 : : return -1;
2097 : 435 : x25 = XVECEXP (x2, 0, 13);
2098 : 435 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2099 : 435 : || pattern504 (x1,
2100 : : E_V16QImode,
2101 : : E_V2QImode) != 0)
2102 : 11 : return -1;
2103 : : return 0;
2104 : :
2105 : 438 : case 6:
2106 : 438 : if (GET_MODE (x2) != E_V6HImode)
2107 : : return -1;
2108 : 438 : x12 = XVECEXP (x2, 0, 0);
2109 : 438 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2110 : : return -1;
2111 : 438 : x13 = XVECEXP (x2, 0, 1);
2112 : 438 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2113 : : return -1;
2114 : 438 : x14 = XVECEXP (x2, 0, 2);
2115 : 438 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2116 : : return -1;
2117 : 438 : x15 = XVECEXP (x2, 0, 3);
2118 : 438 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2119 : : return -1;
2120 : 438 : x16 = XVECEXP (x2, 0, 4);
2121 : 438 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2122 : : return -1;
2123 : 438 : x17 = XVECEXP (x2, 0, 5);
2124 : 438 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2125 : 438 : || pattern504 (x1,
2126 : : E_V8HImode,
2127 : : E_V2HImode) != 0)
2128 : 21 : return -1;
2129 : : return 1;
2130 : :
2131 : 417 : case 2:
2132 : 417 : if (GET_MODE (x2) != E_V2SImode)
2133 : : return -1;
2134 : 417 : x12 = XVECEXP (x2, 0, 0);
2135 : 417 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2136 : : return -1;
2137 : 417 : x13 = XVECEXP (x2, 0, 1);
2138 : 417 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2139 : 417 : || pattern504 (x1,
2140 : : E_V4SImode,
2141 : : E_V2SImode) != 0)
2142 : 3 : return -1;
2143 : : return 2;
2144 : :
2145 : : default:
2146 : : return -1;
2147 : : }
2148 : :
2149 : 1732 : case 4:
2150 : 1732 : x10 = XVECEXP (x7, 0, 0);
2151 : 1732 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2152 : : return -1;
2153 : 1732 : x11 = XVECEXP (x7, 0, 1);
2154 : 1732 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2155 : : return -1;
2156 : 1732 : x26 = XVECEXP (x7, 0, 2);
2157 : 1732 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2158 : : return -1;
2159 : 1732 : x27 = XVECEXP (x7, 0, 3);
2160 : 1732 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2161 : : return -1;
2162 : 1732 : switch (XVECLEN (x2, 0))
2163 : : {
2164 : 868 : case 12:
2165 : 868 : if (GET_MODE (x2) != E_V12QImode)
2166 : : return -1;
2167 : 868 : x12 = XVECEXP (x2, 0, 0);
2168 : 868 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2169 : : return -1;
2170 : 868 : x13 = XVECEXP (x2, 0, 1);
2171 : 868 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2172 : : return -1;
2173 : 868 : x14 = XVECEXP (x2, 0, 2);
2174 : 868 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2175 : : return -1;
2176 : 868 : x15 = XVECEXP (x2, 0, 3);
2177 : 868 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2178 : : return -1;
2179 : 868 : x16 = XVECEXP (x2, 0, 4);
2180 : 868 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2181 : : return -1;
2182 : 868 : x17 = XVECEXP (x2, 0, 5);
2183 : 868 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2184 : : return -1;
2185 : 868 : x18 = XVECEXP (x2, 0, 6);
2186 : 868 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2187 : : return -1;
2188 : 868 : x19 = XVECEXP (x2, 0, 7);
2189 : 868 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2190 : : return -1;
2191 : 868 : x20 = XVECEXP (x2, 0, 8);
2192 : 868 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2193 : : return -1;
2194 : 868 : x21 = XVECEXP (x2, 0, 9);
2195 : 868 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2196 : : return -1;
2197 : 868 : x22 = XVECEXP (x2, 0, 10);
2198 : 868 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2199 : : return -1;
2200 : 868 : x23 = XVECEXP (x2, 0, 11);
2201 : 868 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2202 : : return -1;
2203 : 868 : res = pattern505 (x1,
2204 : : E_V16QImode,
2205 : : E_V4QImode);
2206 : 868 : if (res >= 0)
2207 : 845 : return res + 3; /* [3, 4] */
2208 : : return -1;
2209 : :
2210 : 864 : case 4:
2211 : 864 : if (GET_MODE (x2) != E_V4HImode)
2212 : : return -1;
2213 : 864 : x12 = XVECEXP (x2, 0, 0);
2214 : 864 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2215 : : return -1;
2216 : 864 : x13 = XVECEXP (x2, 0, 1);
2217 : 864 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2218 : : return -1;
2219 : 864 : x14 = XVECEXP (x2, 0, 2);
2220 : 864 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2221 : : return -1;
2222 : 864 : x15 = XVECEXP (x2, 0, 3);
2223 : 864 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2224 : : return -1;
2225 : 864 : res = pattern505 (x1,
2226 : : E_V8HImode,
2227 : : E_V4HImode);
2228 : 864 : if (res >= 0)
2229 : 853 : return res + 5; /* [5, 6] */
2230 : : return -1;
2231 : :
2232 : : default:
2233 : : return -1;
2234 : : }
2235 : :
2236 : 1288 : case 8:
2237 : 1288 : x10 = XVECEXP (x7, 0, 0);
2238 : 1288 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2239 : : return -1;
2240 : 1288 : x11 = XVECEXP (x7, 0, 1);
2241 : 1288 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2242 : : return -1;
2243 : 1288 : x26 = XVECEXP (x7, 0, 2);
2244 : 1288 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2245 : : return -1;
2246 : 1288 : x27 = XVECEXP (x7, 0, 3);
2247 : 1288 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2248 : : return -1;
2249 : 1288 : x28 = XVECEXP (x7, 0, 4);
2250 : 1288 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2251 : : return -1;
2252 : 1288 : x29 = XVECEXP (x7, 0, 5);
2253 : 1288 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2254 : : return -1;
2255 : 1288 : x30 = XVECEXP (x7, 0, 6);
2256 : 1288 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2257 : : return -1;
2258 : 1288 : x31 = XVECEXP (x7, 0, 7);
2259 : 1288 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2260 : 1288 : || XVECLEN (x2, 0) != 8
2261 : 1288 : || GET_MODE (x2) != E_V8QImode)
2262 : : return -1;
2263 : 1288 : x12 = XVECEXP (x2, 0, 0);
2264 : 1288 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2265 : : return -1;
2266 : 1288 : x13 = XVECEXP (x2, 0, 1);
2267 : 1288 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2268 : : return -1;
2269 : 1288 : x14 = XVECEXP (x2, 0, 2);
2270 : 1288 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2271 : : return -1;
2272 : 1288 : x15 = XVECEXP (x2, 0, 3);
2273 : 1288 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2274 : : return -1;
2275 : 1288 : x16 = XVECEXP (x2, 0, 4);
2276 : 1288 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2277 : : return -1;
2278 : 1288 : x17 = XVECEXP (x2, 0, 5);
2279 : 1288 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2280 : : return -1;
2281 : 1288 : x18 = XVECEXP (x2, 0, 6);
2282 : 1288 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2283 : : return -1;
2284 : 1288 : x19 = XVECEXP (x2, 0, 7);
2285 : 1288 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2286 : 1288 : || !register_operand (operands[0], E_V16QImode)
2287 : 1270 : || GET_MODE (x1) != E_V16QImode
2288 : 1270 : || GET_MODE (x3) != E_V8QImode
2289 : 1270 : || GET_MODE (x4) != E_V8QImode
2290 : 1270 : || GET_MODE (x6) != E_V8QImode
2291 : 2558 : || !nonimm_or_0_operand (operands[2], E_V16QImode))
2292 : 18 : return -1;
2293 : 1270 : res = pattern506 ();
2294 : 1270 : if (res >= 0)
2295 : 1270 : return res + 7; /* [7, 9] */
2296 : : return -1;
2297 : :
2298 : : default:
2299 : : return -1;
2300 : : }
2301 : :
2302 : 2061 : case CONST_VECTOR:
2303 : 2061 : x9 = XEXP (x3, 2);
2304 : 2061 : operands[2] = x9;
2305 : 2061 : switch (XVECLEN (x6, 0))
2306 : : {
2307 : 627 : case 2:
2308 : 627 : x32 = XVECEXP (x6, 0, 0);
2309 : 627 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2310 : : return -1;
2311 : 612 : x33 = XVECEXP (x6, 0, 1);
2312 : 612 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2313 : 612 : || !register_operand (operands[1], E_V2DImode))
2314 : 0 : return -1;
2315 : 612 : switch (XVECLEN (x2, 0))
2316 : : {
2317 : 204 : case 14:
2318 : 204 : if (GET_MODE (x2) != E_V14QImode)
2319 : : return -1;
2320 : 204 : x12 = XVECEXP (x2, 0, 0);
2321 : 204 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2322 : : return -1;
2323 : 204 : x13 = XVECEXP (x2, 0, 1);
2324 : 204 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2325 : : return -1;
2326 : 204 : x14 = XVECEXP (x2, 0, 2);
2327 : 204 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2328 : : return -1;
2329 : 204 : x15 = XVECEXP (x2, 0, 3);
2330 : 204 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2331 : : return -1;
2332 : 204 : x16 = XVECEXP (x2, 0, 4);
2333 : 204 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2334 : : return -1;
2335 : 204 : x17 = XVECEXP (x2, 0, 5);
2336 : 204 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2337 : : return -1;
2338 : 204 : x18 = XVECEXP (x2, 0, 6);
2339 : 204 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2340 : : return -1;
2341 : 204 : x19 = XVECEXP (x2, 0, 7);
2342 : 204 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2343 : : return -1;
2344 : 204 : x20 = XVECEXP (x2, 0, 8);
2345 : 204 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2346 : : return -1;
2347 : 204 : x21 = XVECEXP (x2, 0, 9);
2348 : 204 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2349 : : return -1;
2350 : 204 : x22 = XVECEXP (x2, 0, 10);
2351 : 204 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2352 : : return -1;
2353 : 204 : x23 = XVECEXP (x2, 0, 11);
2354 : 204 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2355 : : return -1;
2356 : 204 : x24 = XVECEXP (x2, 0, 12);
2357 : 204 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2358 : : return -1;
2359 : 204 : x25 = XVECEXP (x2, 0, 13);
2360 : 204 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2361 : 204 : || pattern507 (x1,
2362 : : E_V2QImode,
2363 : : E_V16QImode) != 0)
2364 : 0 : return -1;
2365 : : return 10;
2366 : :
2367 : 204 : case 6:
2368 : 204 : if (GET_MODE (x2) != E_V6HImode)
2369 : : return -1;
2370 : 204 : x12 = XVECEXP (x2, 0, 0);
2371 : 204 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2372 : : return -1;
2373 : 204 : x13 = XVECEXP (x2, 0, 1);
2374 : 204 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2375 : : return -1;
2376 : 204 : x14 = XVECEXP (x2, 0, 2);
2377 : 204 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2378 : : return -1;
2379 : 204 : x15 = XVECEXP (x2, 0, 3);
2380 : 204 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2381 : : return -1;
2382 : 204 : x16 = XVECEXP (x2, 0, 4);
2383 : 204 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2384 : : return -1;
2385 : 204 : x17 = XVECEXP (x2, 0, 5);
2386 : 204 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2387 : 204 : || pattern507 (x1,
2388 : : E_V2HImode,
2389 : : E_V8HImode) != 0)
2390 : 0 : return -1;
2391 : : return 11;
2392 : :
2393 : 204 : case 2:
2394 : 204 : if (GET_MODE (x2) != E_V2SImode)
2395 : : return -1;
2396 : 204 : x12 = XVECEXP (x2, 0, 0);
2397 : 204 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2398 : : return -1;
2399 : 204 : x13 = XVECEXP (x2, 0, 1);
2400 : 204 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2401 : 204 : || pattern507 (x1,
2402 : : E_V2SImode,
2403 : : E_V4SImode) != 0)
2404 : 0 : return -1;
2405 : : return 12;
2406 : :
2407 : : default:
2408 : : return -1;
2409 : : }
2410 : :
2411 : 822 : case 4:
2412 : 822 : x32 = XVECEXP (x6, 0, 0);
2413 : 822 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2414 : : return -1;
2415 : 816 : x33 = XVECEXP (x6, 0, 1);
2416 : 816 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2417 : : return -1;
2418 : 816 : x34 = XVECEXP (x6, 0, 2);
2419 : 816 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2420 : : return -1;
2421 : 816 : x35 = XVECEXP (x6, 0, 3);
2422 : 816 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2423 : : return -1;
2424 : 816 : switch (XVECLEN (x2, 0))
2425 : : {
2426 : 408 : case 12:
2427 : 408 : if (GET_MODE (x2) != E_V12QImode)
2428 : : return -1;
2429 : 408 : x12 = XVECEXP (x2, 0, 0);
2430 : 408 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2431 : : return -1;
2432 : 408 : x13 = XVECEXP (x2, 0, 1);
2433 : 408 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2434 : : return -1;
2435 : 408 : x14 = XVECEXP (x2, 0, 2);
2436 : 408 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2437 : : return -1;
2438 : 408 : x15 = XVECEXP (x2, 0, 3);
2439 : 408 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2440 : : return -1;
2441 : 408 : x16 = XVECEXP (x2, 0, 4);
2442 : 408 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2443 : : return -1;
2444 : 408 : x17 = XVECEXP (x2, 0, 5);
2445 : 408 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2446 : : return -1;
2447 : 408 : x18 = XVECEXP (x2, 0, 6);
2448 : 408 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2449 : : return -1;
2450 : 408 : x19 = XVECEXP (x2, 0, 7);
2451 : 408 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2452 : : return -1;
2453 : 408 : x20 = XVECEXP (x2, 0, 8);
2454 : 408 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2455 : : return -1;
2456 : 408 : x21 = XVECEXP (x2, 0, 9);
2457 : 408 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2458 : : return -1;
2459 : 408 : x22 = XVECEXP (x2, 0, 10);
2460 : 408 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2461 : : return -1;
2462 : 408 : x23 = XVECEXP (x2, 0, 11);
2463 : 408 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2464 : : return -1;
2465 : 408 : res = pattern508 (x1,
2466 : : E_V4QImode,
2467 : : E_V16QImode);
2468 : 408 : if (res >= 0)
2469 : 408 : return res + 13; /* [13, 14] */
2470 : : return -1;
2471 : :
2472 : 408 : case 4:
2473 : 408 : if (GET_MODE (x2) != E_V4HImode)
2474 : : return -1;
2475 : 408 : x12 = XVECEXP (x2, 0, 0);
2476 : 408 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2477 : : return -1;
2478 : 408 : x13 = XVECEXP (x2, 0, 1);
2479 : 408 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2480 : : return -1;
2481 : 408 : x14 = XVECEXP (x2, 0, 2);
2482 : 408 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2483 : : return -1;
2484 : 408 : x15 = XVECEXP (x2, 0, 3);
2485 : 408 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2486 : : return -1;
2487 : 408 : res = pattern508 (x1,
2488 : : E_V4HImode,
2489 : : E_V8HImode);
2490 : 408 : if (res >= 0)
2491 : 408 : return res + 15; /* [15, 16] */
2492 : : return -1;
2493 : :
2494 : : default:
2495 : : return -1;
2496 : : }
2497 : :
2498 : 612 : case 8:
2499 : 612 : if (GET_MODE (x6) != E_V8QImode)
2500 : : return -1;
2501 : 612 : x32 = XVECEXP (x6, 0, 0);
2502 : 612 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2503 : : return -1;
2504 : 612 : x33 = XVECEXP (x6, 0, 1);
2505 : 612 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2506 : : return -1;
2507 : 612 : x34 = XVECEXP (x6, 0, 2);
2508 : 612 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2509 : : return -1;
2510 : 612 : x35 = XVECEXP (x6, 0, 3);
2511 : 612 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2512 : : return -1;
2513 : 612 : x36 = XVECEXP (x6, 0, 4);
2514 : 612 : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2515 : : return -1;
2516 : 612 : x37 = XVECEXP (x6, 0, 5);
2517 : 612 : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2518 : : return -1;
2519 : 612 : x38 = XVECEXP (x6, 0, 6);
2520 : 612 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2521 : : return -1;
2522 : 612 : x39 = XVECEXP (x6, 0, 7);
2523 : 612 : if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2524 : 612 : || XVECLEN (x2, 0) != 8
2525 : 612 : || GET_MODE (x2) != E_V8QImode)
2526 : : return -1;
2527 : 612 : x12 = XVECEXP (x2, 0, 0);
2528 : 612 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2529 : : return -1;
2530 : 612 : x13 = XVECEXP (x2, 0, 1);
2531 : 612 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2532 : : return -1;
2533 : 612 : x14 = XVECEXP (x2, 0, 2);
2534 : 612 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2535 : : return -1;
2536 : 612 : x15 = XVECEXP (x2, 0, 3);
2537 : 612 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2538 : : return -1;
2539 : 612 : x16 = XVECEXP (x2, 0, 4);
2540 : 612 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2541 : : return -1;
2542 : 612 : x17 = XVECEXP (x2, 0, 5);
2543 : 612 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2544 : : return -1;
2545 : 612 : x18 = XVECEXP (x2, 0, 6);
2546 : 612 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2547 : : return -1;
2548 : 612 : x19 = XVECEXP (x2, 0, 7);
2549 : 612 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2550 : 612 : || !register_operand (operands[0], E_V16QImode)
2551 : 612 : || GET_MODE (x1) != E_V16QImode
2552 : 612 : || GET_MODE (x3) != E_V8QImode
2553 : 1224 : || GET_MODE (x4) != E_V8QImode)
2554 : 0 : return -1;
2555 : 612 : res = pattern506 ();
2556 : 612 : if (res >= 0)
2557 : 612 : return res + 17; /* [17, 19] */
2558 : : return -1;
2559 : :
2560 : : default:
2561 : : return -1;
2562 : : }
2563 : :
2564 : : default:
2565 : : return -1;
2566 : : }
2567 : : }
2568 : :
2569 : : int
2570 : 210930 : pattern728 (rtx x1, machine_mode i1)
2571 : : {
2572 : 210930 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2573 : 210930 : rtx x2, x3, x4, x5, x6;
2574 : 210930 : int res ATTRIBUTE_UNUSED;
2575 : 210930 : if (!register_operand (operands[0], i1)
2576 : 210584 : || GET_CODE (x1) != PARALLEL
2577 : 248435 : || XVECLEN (x1, 0) != 2)
2578 : : return -1;
2579 : 37365 : x2 = XVECEXP (x1, 0, 0);
2580 : 37365 : if (GET_CODE (x2) != SET)
2581 : : return -1;
2582 : 37365 : x3 = XEXP (x2, 1);
2583 : 37365 : if (!plusminuslogic_operator (x3, i1))
2584 : : return -1;
2585 : 7979 : operands[3] = x3;
2586 : 7979 : x4 = XVECEXP (x1, 0, 1);
2587 : 7979 : if (GET_CODE (x4) != CLOBBER)
2588 : : return -1;
2589 : 7979 : x5 = XEXP (x4, 0);
2590 : 7979 : if (GET_CODE (x5) != REG
2591 : 7979 : || REGNO (x5) != 17
2592 : 15958 : || GET_MODE (x5) != E_CCmode)
2593 : : return -1;
2594 : 7979 : x6 = XEXP (x3, 1);
2595 : 7979 : operands[2] = x6;
2596 : 7979 : if (!nonmemory_operand (operands[2], i1)
2597 : 7979 : || pattern727 (x2) != 0)
2598 : 7770 : return -1;
2599 : : return 0;
2600 : : }
2601 : :
2602 : : int
2603 : 274827 : pattern738 (rtx x1, machine_mode i1, machine_mode i2)
2604 : : {
2605 : 274827 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2606 : 274827 : int res ATTRIBUTE_UNUSED;
2607 : 274827 : if (!register_operand (operands[0], i1)
2608 : 255605 : || GET_MODE (x1) != i1
2609 : 255605 : || !register_operand (operands[1], i1)
2610 : 512944 : || !nonmemory_operand (operands[2], i2))
2611 : 36984 : return -1;
2612 : : return 0;
2613 : : }
2614 : :
2615 : : int
2616 : 12620 : pattern744 (machine_mode i1)
2617 : : {
2618 : 12620 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2619 : 12620 : int res ATTRIBUTE_UNUSED;
2620 : 12620 : if (!register_operand (operands[0], i1)
2621 : 12620 : || !sse_comparison_operator (operands[3], i1)
2622 : 11813 : || !register_operand (operands[1], i1)
2623 : 22979 : || !nonimmediate_operand (operands[2], i1))
2624 : 3237 : return -1;
2625 : : return 0;
2626 : : }
2627 : :
2628 : : int
2629 : 6279 : pattern748 (rtx x1, rtx_code i1)
2630 : : {
2631 : 6279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2632 : 6279 : rtx x2, x3, x4, x5, x6, x7;
2633 : 6279 : int res ATTRIBUTE_UNUSED;
2634 : 6279 : x2 = XEXP (x1, 0);
2635 : 6279 : x3 = XEXP (x2, 0);
2636 : 6279 : x4 = XEXP (x3, 1);
2637 : 6279 : if (GET_CODE (x4) != i1)
2638 : : return -1;
2639 : 5887 : x5 = XEXP (x3, 0);
2640 : 5887 : x6 = XEXP (x5, 0);
2641 : 5887 : operands[1] = x6;
2642 : 5887 : x7 = XEXP (x4, 0);
2643 : 5887 : operands[2] = x7;
2644 : 5887 : switch (GET_MODE (operands[0]))
2645 : : {
2646 : 608 : case E_V4HImode:
2647 : 608 : if (!register_operand (operands[0], E_V4HImode)
2648 : 598 : || GET_MODE (x1) != E_V4HImode
2649 : 598 : || GET_MODE (x2) != E_V4SImode
2650 : 598 : || GET_MODE (x3) != E_V4SImode
2651 : 598 : || GET_MODE (x5) != E_V4SImode
2652 : 598 : || !register_mmxmem_operand (operands[1], E_V4HImode)
2653 : 479 : || GET_MODE (x4) != E_V4SImode
2654 : 1087 : || !register_mmxmem_operand (operands[2], E_V4HImode))
2655 : 147 : return -1;
2656 : : return 0;
2657 : :
2658 : 40 : case E_V2HImode:
2659 : 40 : if (!register_operand (operands[0], E_V2HImode)
2660 : 30 : || GET_MODE (x1) != E_V2HImode
2661 : 30 : || GET_MODE (x2) != E_V2SImode
2662 : 30 : || GET_MODE (x3) != E_V2SImode
2663 : 30 : || GET_MODE (x5) != E_V2SImode
2664 : 30 : || !register_operand (operands[1], E_V2HImode)
2665 : 20 : || GET_MODE (x4) != E_V2SImode
2666 : 60 : || !register_operand (operands[2], E_V2HImode))
2667 : 30 : return -1;
2668 : : return 1;
2669 : :
2670 : : default:
2671 : : return -1;
2672 : : }
2673 : : }
2674 : :
2675 : : int
2676 : 91745 : pattern772 (rtx x1, machine_mode i1, machine_mode i2)
2677 : : {
2678 : 91745 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2679 : 91745 : rtx x2, x3;
2680 : 91745 : int res ATTRIBUTE_UNUSED;
2681 : 91745 : if (!register_operand (operands[0], i2)
2682 : 91745 : || GET_MODE (x1) != i2)
2683 : : return -1;
2684 : 91725 : x2 = XEXP (x1, 0);
2685 : 91725 : if (GET_MODE (x2) != i2)
2686 : : return -1;
2687 : 91725 : x3 = XEXP (x2, 0);
2688 : 91725 : if (GET_MODE (x3) != i1)
2689 : 0 : return -1;
2690 : : return 0;
2691 : : }
2692 : :
2693 : : int
2694 : 374 : pattern776 (rtx x1, machine_mode i1)
2695 : : {
2696 : 374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2697 : 374 : int res ATTRIBUTE_UNUSED;
2698 : 374 : if (!register_operand (operands[0], i1)
2699 : 374 : || GET_MODE (x1) != i1)
2700 : : return -1;
2701 : 338 : switch (GET_MODE (operands[1]))
2702 : : {
2703 : 114 : case E_V8HFmode:
2704 : 114 : if (!vector_operand (operands[1], E_V8HFmode))
2705 : : return -1;
2706 : : return 0;
2707 : :
2708 : 112 : case E_V4SFmode:
2709 : 112 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
2710 : : return -1;
2711 : : return 1;
2712 : :
2713 : 112 : case E_V4DFmode:
2714 : 112 : if (!nonimmediate_operand (operands[1], E_V4DFmode))
2715 : : return -1;
2716 : : return 2;
2717 : :
2718 : : default:
2719 : : return -1;
2720 : : }
2721 : : }
2722 : :
2723 : : int
2724 : 801 : pattern784 (rtx x1, machine_mode i1, machine_mode i2)
2725 : : {
2726 : 801 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2727 : 801 : int res ATTRIBUTE_UNUSED;
2728 : 801 : if (!register_operand (operands[0], i2)
2729 : 768 : || GET_MODE (x1) != i2
2730 : 768 : || !nonimmediate_operand (operands[1], i2)
2731 : 1514 : || !register_operand (operands[2], i1))
2732 : 224 : return -1;
2733 : : return 0;
2734 : : }
2735 : :
2736 : : int
2737 : 204 : pattern792 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2738 : : {
2739 : 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2740 : 204 : rtx x2, x3;
2741 : 204 : int res ATTRIBUTE_UNUSED;
2742 : 204 : if (!register_operand (operands[0], i3)
2743 : 204 : || GET_MODE (x1) != i3)
2744 : : return -1;
2745 : 195 : x2 = XEXP (x1, 0);
2746 : 195 : if (GET_MODE (x2) != i2
2747 : 195 : || !nonimmediate_operand (operands[2], i1))
2748 : 0 : return -1;
2749 : 195 : x3 = XEXP (x1, 1);
2750 : 195 : if (GET_MODE (x3) != i2
2751 : 195 : || !register_operand (operands[1], i1))
2752 : 3 : return -1;
2753 : : return 0;
2754 : : }
2755 : :
2756 : : int
2757 : 753 : pattern804 (rtx x1, machine_mode i1, machine_mode i2)
2758 : : {
2759 : 753 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2760 : 753 : rtx x2;
2761 : 753 : int res ATTRIBUTE_UNUSED;
2762 : 753 : if (!register_operand (operands[0], i1)
2763 : 753 : || GET_MODE (x1) != i1)
2764 : : return -1;
2765 : 750 : x2 = XEXP (x1, 0);
2766 : 750 : if (GET_MODE (x2) != i2
2767 : 750 : || !nonimmediate_operand (operands[1], i1)
2768 : 1476 : || !const0_operand (operands[2], i1))
2769 : 231 : return -1;
2770 : : return 0;
2771 : : }
2772 : :
2773 : : int
2774 : 345 : pattern812 (rtx x1, machine_mode i1)
2775 : : {
2776 : 345 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2777 : 345 : int res ATTRIBUTE_UNUSED;
2778 : 345 : if (!register_operand (operands[0], i1)
2779 : 345 : || GET_MODE (x1) != i1
2780 : 345 : || !nonimmediate_operand (operands[3], i1)
2781 : 345 : || !register_operand (operands[1], i1)
2782 : 632 : || !nonimmediate_operand (operands[2], i1))
2783 : 97 : return -1;
2784 : : return 0;
2785 : : }
2786 : :
2787 : : int
2788 : 149941 : pattern817 (rtx x1)
2789 : : {
2790 : 149941 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2791 : 149941 : rtx x2, x3, x4;
2792 : 149941 : int res ATTRIBUTE_UNUSED;
2793 : 149941 : if (maybe_ne (SUBREG_BYTE (x1), 0)
2794 : 149941 : || GET_MODE (x1) != E_QImode)
2795 : : return -1;
2796 : 5902 : x2 = XEXP (x1, 0);
2797 : 5902 : switch (GET_CODE (x2))
2798 : : {
2799 : 144 : case SIGN_EXTRACT:
2800 : 144 : case ZERO_EXTRACT:
2801 : 144 : operands[3] = x2;
2802 : 144 : x3 = XEXP (x2, 1);
2803 : 144 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2804 : : return -1;
2805 : 144 : x4 = XEXP (x2, 2);
2806 : 144 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2807 : : return -1;
2808 : : return 0;
2809 : :
2810 : : default:
2811 : : return -1;
2812 : : }
2813 : : }
2814 : :
2815 : : int
2816 : 57 : pattern822 (rtx x1)
2817 : : {
2818 : 57 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2819 : 57 : rtx x2, x3, x4;
2820 : 57 : int res ATTRIBUTE_UNUSED;
2821 : 57 : x2 = XVECEXP (x1, 0, 1);
2822 : 57 : if (GET_CODE (x2) != UNSPEC
2823 : 55 : || XVECLEN (x2, 0) != 1
2824 : 55 : || XINT (x2, 1) != 38)
2825 : : return -1;
2826 : 55 : x3 = XVECEXP (x1, 0, 2);
2827 : 55 : if (GET_CODE (x3) != CLOBBER)
2828 : : return -1;
2829 : 55 : x4 = XEXP (x3, 0);
2830 : 55 : if (GET_CODE (x4) != REG
2831 : 55 : || REGNO (x4) != 17
2832 : 110 : || GET_MODE (x4) != E_CCmode)
2833 : : return -1;
2834 : 55 : return pattern544 (x1); /* [-1, 1] */
2835 : : }
2836 : :
2837 : : int
2838 : 12 : pattern828 (rtx x1)
2839 : : {
2840 : 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2841 : 12 : rtx x2, x3, x4, x5;
2842 : 12 : int res ATTRIBUTE_UNUSED;
2843 : 12 : x2 = XVECEXP (x1, 0, 2);
2844 : 12 : if (GET_CODE (x2) != CLOBBER)
2845 : : return -1;
2846 : 12 : x3 = XEXP (x2, 0);
2847 : 12 : if (GET_CODE (x3) != REG
2848 : 12 : || REGNO (x3) != 17
2849 : 24 : || GET_MODE (x3) != E_CCmode)
2850 : : return -1;
2851 : 12 : x4 = XVECEXP (x1, 0, 0);
2852 : 12 : x5 = XEXP (x4, 0);
2853 : 12 : operands[0] = x5;
2854 : 12 : return 0;
2855 : : }
2856 : :
2857 : : int
2858 : 61 : pattern832 (rtx x1, rtx_code i1, int i2, machine_mode i3)
2859 : : {
2860 : 61 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2861 : 61 : rtx x2, x3, x4;
2862 : 61 : int res ATTRIBUTE_UNUSED;
2863 : 61 : if (GET_MODE (x1) != i3)
2864 : : return -1;
2865 : 61 : x2 = XEXP (x1, 0);
2866 : 61 : if (GET_CODE (x2) != MINUS
2867 : 61 : || GET_MODE (x2) != E_SImode)
2868 : : return -1;
2869 : 61 : x3 = XEXP (x2, 0);
2870 : 61 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
2871 : : return -1;
2872 : 61 : x4 = XEXP (x2, 1);
2873 : 61 : if (GET_CODE (x4) != i1)
2874 : 0 : return -1;
2875 : : return 0;
2876 : : }
2877 : :
2878 : : int
2879 : 9446 : pattern840 (rtx x1)
2880 : : {
2881 : 9446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2882 : 9446 : rtx x2;
2883 : 9446 : int res ATTRIBUTE_UNUSED;
2884 : 9446 : if (peep2_current_count < 3
2885 : 9410 : || XVECLEN (x1, 0) != 1
2886 : 9407 : || XINT (x1, 1) != 1)
2887 : : return -1;
2888 : 9401 : x2 = XVECEXP (x1, 0, 0);
2889 : 9401 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2890 : 0 : return -1;
2891 : : return 0;
2892 : : }
2893 : :
2894 : : int
2895 : 4182435 : pattern843 (rtx x1, machine_mode i1)
2896 : : {
2897 : 4182435 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2898 : 4182435 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2899 : 4182435 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2900 : 4182435 : rtx x18, x19;
2901 : 4182435 : int res ATTRIBUTE_UNUSED;
2902 : 4182435 : if (peep2_current_count < 4
2903 : 4182435 : || peep2_current_count < 5)
2904 : : return -1;
2905 : 2438794 : x2 = XEXP (x1, 0);
2906 : 2438794 : operands[3] = x2;
2907 : 2438794 : if (!register_operand (operands[3], i1))
2908 : : return -1;
2909 : 1177499 : x3 = XEXP (x1, 1);
2910 : 1177499 : if (!rtx_equal_p (x3, operands[0]))
2911 : : return -1;
2912 : 67589 : x4 = PATTERN (peep2_next_insn (2));
2913 : 67589 : if (GET_CODE (x4) != PARALLEL
2914 : 44314 : || XVECLEN (x4, 0) != 2)
2915 : : return -1;
2916 : 44205 : x5 = XVECEXP (x4, 0, 0);
2917 : 44205 : if (GET_CODE (x5) != SET)
2918 : : return -1;
2919 : 44179 : x6 = XEXP (x5, 1);
2920 : 44179 : if (GET_CODE (x6) != XOR
2921 : 281 : || GET_MODE (x6) != i1)
2922 : : return -1;
2923 : 281 : x7 = XVECEXP (x4, 0, 1);
2924 : 281 : if (GET_CODE (x7) != CLOBBER)
2925 : : return -1;
2926 : 281 : x8 = XEXP (x7, 0);
2927 : 281 : if (GET_CODE (x8) != REG
2928 : 281 : || REGNO (x8) != 17
2929 : 562 : || GET_MODE (x8) != E_CCmode)
2930 : : return -1;
2931 : 281 : x9 = XEXP (x5, 0);
2932 : 281 : operands[4] = x9;
2933 : 281 : if (!register_operand (operands[4], i1))
2934 : : return -1;
2935 : 281 : x10 = XEXP (x6, 1);
2936 : 281 : operands[2] = x10;
2937 : 281 : if (!x86_64_nonmemory_operand (operands[2], i1))
2938 : : return -1;
2939 : 137 : x11 = XEXP (x6, 0);
2940 : 137 : if (!rtx_equal_p (x11, operands[4]))
2941 : : return -1;
2942 : 128 : x12 = PATTERN (peep2_next_insn (3));
2943 : 128 : if (GET_CODE (x12) != SET)
2944 : : return -1;
2945 : 44 : x13 = XEXP (x12, 1);
2946 : 44 : if (!rtx_equal_p (x13, operands[4]))
2947 : : return -1;
2948 : 29 : x14 = XEXP (x12, 0);
2949 : 29 : if (!rtx_equal_p (x14, operands[1]))
2950 : : return -1;
2951 : 15 : x15 = PATTERN (peep2_next_insn (4));
2952 : 15 : if (GET_CODE (x15) != SET)
2953 : : return -1;
2954 : 15 : x16 = XEXP (x15, 1);
2955 : 15 : if (GET_CODE (x16) != COMPARE
2956 : 15 : || GET_MODE (x16) != E_CCZmode)
2957 : : return -1;
2958 : 9 : x17 = XEXP (x15, 0);
2959 : 9 : if (GET_CODE (x17) != REG
2960 : 9 : || REGNO (x17) != 17
2961 : 18 : || GET_MODE (x17) != E_CCZmode)
2962 : : return -1;
2963 : 9 : x18 = XEXP (x16, 0);
2964 : 9 : operands[5] = x18;
2965 : 9 : if (!register_operand (operands[5], i1))
2966 : : return -1;
2967 : 9 : x19 = XEXP (x16, 1);
2968 : 9 : operands[6] = x19;
2969 : 9 : if (!x86_64_nonmemory_operand (operands[6], i1))
2970 : : return -1;
2971 : : return 0;
2972 : : }
2973 : :
2974 : : int
2975 : 20958 : pattern864 (rtx x1, machine_mode i1)
2976 : : {
2977 : 20958 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2978 : 20958 : int res ATTRIBUTE_UNUSED;
2979 : 20958 : if (!register_operand (operands[0], i1)
2980 : 20545 : || GET_MODE (x1) != i1
2981 : 20545 : || !bcst_vector_operand (operands[1], i1)
2982 : 20454 : || !bcst_vector_operand (operands[2], i1)
2983 : 41317 : || !bcst_vector_operand (operands[3], i1))
2984 : 680 : return -1;
2985 : : return 0;
2986 : : }
2987 : :
2988 : : int
2989 : 540 : pattern872 (rtx x1, machine_mode i1, machine_mode i2)
2990 : : {
2991 : 540 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2992 : 540 : rtx x2;
2993 : 540 : int res ATTRIBUTE_UNUSED;
2994 : 540 : if (!register_operand (operands[0], i1)
2995 : 540 : || GET_MODE (x1) != i1)
2996 : : return -1;
2997 : 526 : x2 = XEXP (x1, 0);
2998 : 526 : if (GET_MODE (x2) != i1
2999 : 526 : || !register_operand (operands[1], i2)
3000 : 526 : || !nonimmediate_operand (operands[2], i2)
3001 : 1052 : || !register_operand (operands[3], i1))
3002 : 51 : return -1;
3003 : : return 0;
3004 : : }
3005 : :
3006 : : int
3007 : 1171 : pattern879 (rtx x1)
3008 : : {
3009 : 1171 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3010 : 1171 : rtx x2, x3, x4, x5, x6;
3011 : 1171 : int res ATTRIBUTE_UNUSED;
3012 : 1171 : x2 = XVECEXP (x1, 0, 0);
3013 : 1171 : x3 = XVECEXP (x2, 0, 0);
3014 : 1171 : if (GET_CODE (x3) != VEC_SELECT)
3015 : : return -1;
3016 : 524 : x4 = XEXP (x3, 1);
3017 : 524 : if (GET_CODE (x4) != PARALLEL
3018 : 524 : || XVECLEN (x4, 0) != 1)
3019 : : return -1;
3020 : 524 : x5 = XVECEXP (x4, 0, 0);
3021 : 524 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3022 : : return -1;
3023 : 524 : x6 = XEXP (x3, 0);
3024 : 524 : operands[1] = x6;
3025 : 524 : if (!const48_operand (operands[2], E_SImode))
3026 : : return -1;
3027 : 524 : switch (GET_MODE (operands[0]))
3028 : : {
3029 : 262 : case E_SImode:
3030 : 262 : return pattern878 (x1,
3031 : 262 : E_SImode); /* [-1, 1] */
3032 : :
3033 : 262 : case E_DImode:
3034 : 262 : res = pattern878 (x1,
3035 : : E_DImode);
3036 : 262 : if (res >= 0)
3037 : 242 : return res + 2; /* [2, 3] */
3038 : : return -1;
3039 : :
3040 : : default:
3041 : : return -1;
3042 : : }
3043 : : }
3044 : :
3045 : : int
3046 : 782 : pattern892 (rtx x1)
3047 : : {
3048 : 782 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3049 : 782 : rtx x2;
3050 : 782 : int res ATTRIBUTE_UNUSED;
3051 : 782 : if (!register_operand (operands[0], E_V16HFmode)
3052 : 782 : || GET_MODE (x1) != E_V16HFmode)
3053 : : return -1;
3054 : 736 : x2 = XEXP (x1, 0);
3055 : 736 : if (GET_MODE (x2) != E_V16HFmode
3056 : 736 : || !nonimm_or_0_operand (operands[2], E_V16HFmode)
3057 : 1468 : || !register_operand (operands[3], E_HImode))
3058 : 138 : return -1;
3059 : 598 : switch (GET_MODE (operands[1]))
3060 : : {
3061 : 442 : case E_V16HImode:
3062 : 442 : if (!vector_operand (operands[1], E_V16HImode))
3063 : : return -1;
3064 : : return 0;
3065 : :
3066 : 156 : case E_V16SImode:
3067 : 156 : if (!vector_operand (operands[1], E_V16SImode))
3068 : : return -1;
3069 : : return 1;
3070 : :
3071 : : default:
3072 : : return -1;
3073 : : }
3074 : : }
3075 : :
3076 : : int
3077 : 808 : pattern901 (rtx x1, machine_mode i1)
3078 : : {
3079 : 808 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3080 : 808 : rtx x2, x3, x4;
3081 : 808 : int res ATTRIBUTE_UNUSED;
3082 : 808 : if (!register_operand (operands[0], i1)
3083 : 808 : || GET_MODE (x1) != i1)
3084 : : return -1;
3085 : 515 : x2 = XEXP (x1, 0);
3086 : 515 : if (GET_MODE (x2) != i1
3087 : 515 : || !nonimmediate_operand (operands[1], i1))
3088 : 26 : return -1;
3089 : 489 : x3 = XEXP (x2, 1);
3090 : 489 : x4 = XVECEXP (x3, 0, 0);
3091 : 489 : operands[2] = x4;
3092 : 489 : return pattern900 (x3); /* [-1, 0] */
3093 : : }
3094 : :
3095 : : int
3096 : 3562 : pattern910 (rtx x1, machine_mode i1, machine_mode i2)
3097 : : {
3098 : 3562 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3099 : 3562 : rtx x2, x3;
3100 : 3562 : int res ATTRIBUTE_UNUSED;
3101 : 3562 : if (!register_operand (operands[0], i1)
3102 : 3562 : || GET_MODE (x1) != i1)
3103 : : return -1;
3104 : 3454 : x2 = XVECEXP (x1, 0, 0);
3105 : 3454 : if (GET_MODE (x2) != i1)
3106 : : return -1;
3107 : 3454 : x3 = XEXP (x2, 0);
3108 : 3454 : if (GET_MODE (x3) != i1
3109 : 3454 : || !register_operand (operands[1], i1)
3110 : 3434 : || !register_operand (operands[2], i1)
3111 : 3418 : || !nonimm_or_0_operand (operands[3], i1)
3112 : 6860 : || !register_operand (operands[4], i2))
3113 : 48 : return -1;
3114 : : return 0;
3115 : : }
3116 : :
3117 : : int
3118 : 1806 : pattern914 (rtx x1)
3119 : : {
3120 : 1806 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3121 : 1806 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3122 : 1806 : int res ATTRIBUTE_UNUSED;
3123 : 1806 : x2 = XVECEXP (x1, 0, 0);
3124 : 1806 : x3 = XEXP (x2, 0);
3125 : 1806 : x4 = XVECEXP (x3, 0, 0);
3126 : 1806 : operands[1] = x4;
3127 : 1806 : x5 = XVECEXP (x3, 0, 1);
3128 : 1806 : operands[2] = x5;
3129 : 1806 : x6 = XVECEXP (x1, 0, 1);
3130 : 1806 : if (!const_4_or_8_to_11_operand (x6, E_SImode))
3131 : : return -1;
3132 : 1806 : x7 = XEXP (x2, 2);
3133 : 1806 : switch (GET_CODE (x7))
3134 : : {
3135 : 1452 : case UNSPEC:
3136 : 1452 : if (XVECLEN (x7, 0) != 1
3137 : 1452 : || XINT (x7, 1) != 223)
3138 : : return -1;
3139 : 1452 : x8 = XEXP (x2, 1);
3140 : 1452 : operands[3] = x8;
3141 : 1452 : x9 = XVECEXP (x7, 0, 0);
3142 : 1452 : operands[4] = x9;
3143 : 1452 : operands[5] = x6;
3144 : 1452 : switch (GET_MODE (operands[0]))
3145 : : {
3146 : 988 : case E_V32HFmode:
3147 : 988 : return pattern913 (x1,
3148 : : E_HImode,
3149 : : E_SImode,
3150 : 988 : E_V32HFmode); /* [-1, 0] */
3151 : :
3152 : 464 : case E_V16HFmode:
3153 : 464 : if (pattern913 (x1,
3154 : : E_QImode,
3155 : : E_HImode,
3156 : : E_V16HFmode) != 0)
3157 : : return -1;
3158 : : return 1;
3159 : :
3160 : : default:
3161 : : return -1;
3162 : : }
3163 : :
3164 : 354 : case CONST_INT:
3165 : 354 : if (XWINT (x7, 0) != 3L
3166 : 354 : || !register_operand (operands[0], E_V8HFmode)
3167 : 330 : || GET_MODE (x1) != E_V8HFmode
3168 : 330 : || GET_MODE (x2) != E_V8HFmode
3169 : 330 : || GET_MODE (x3) != E_V8HFmode
3170 : 330 : || !nonimmediate_operand (operands[1], E_V8HFmode)
3171 : 680 : || !register_operand (operands[2], E_V8HFmode))
3172 : 38 : return -1;
3173 : 316 : operands[3] = x6;
3174 : 316 : x8 = XEXP (x2, 1);
3175 : 316 : if (!rtx_equal_p (x8, operands[1]))
3176 : : return -1;
3177 : : return 2;
3178 : :
3179 : : default:
3180 : : return -1;
3181 : : }
3182 : : }
3183 : :
3184 : : int
3185 : 9376 : pattern929 (rtx x1)
3186 : : {
3187 : 9376 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3188 : 9376 : rtx x2, x3, x4, x5, x6, x7;
3189 : 9376 : int res ATTRIBUTE_UNUSED;
3190 : 9376 : x2 = XVECEXP (x1, 0, 2);
3191 : 9376 : if (GET_CODE (x2) != CONST_INT)
3192 : : return -1;
3193 : 9376 : x3 = XVECEXP (x1, 0, 3);
3194 : 9376 : if (GET_CODE (x3) != CONST_INT)
3195 : : return -1;
3196 : 9376 : x4 = XVECEXP (x1, 0, 4);
3197 : 9376 : if (GET_CODE (x4) != CONST_INT)
3198 : : return -1;
3199 : 9376 : x5 = XVECEXP (x1, 0, 5);
3200 : 9376 : if (GET_CODE (x5) != CONST_INT)
3201 : : return -1;
3202 : 9376 : x6 = XVECEXP (x1, 0, 6);
3203 : 9376 : if (GET_CODE (x6) != CONST_INT)
3204 : : return -1;
3205 : 9376 : x7 = XVECEXP (x1, 0, 7);
3206 : 9376 : if (GET_CODE (x7) != CONST_INT)
3207 : 0 : return -1;
3208 : : return 0;
3209 : : }
3210 : :
3211 : : int
3212 : 183 : pattern936 (rtx x1)
3213 : : {
3214 : 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3215 : 183 : rtx x2, x3, x4, x5, x6, x7, x8;
3216 : 183 : int res ATTRIBUTE_UNUSED;
3217 : 183 : if (!register_operand (operands[0], E_V8QImode))
3218 : : return -1;
3219 : 183 : x2 = XVECEXP (x1, 0, 0);
3220 : 183 : x3 = XEXP (x2, 1);
3221 : 183 : x4 = XVECEXP (x3, 0, 0);
3222 : 183 : operands[1] = x4;
3223 : 183 : if (!register_operand (operands[1], E_V8QImode))
3224 : : return -1;
3225 : 146 : x5 = XVECEXP (x3, 0, 1);
3226 : 146 : operands[2] = x5;
3227 : 146 : if (!register_mmxmem_operand (operands[2], E_V8QImode))
3228 : : return -1;
3229 : 135 : x6 = XVECEXP (x3, 0, 2);
3230 : 135 : operands[4] = x6;
3231 : 135 : if (!reg_or_const_vector_operand (operands[4], E_V4SImode))
3232 : : return -1;
3233 : 125 : x7 = XVECEXP (x1, 0, 1);
3234 : 125 : x8 = XEXP (x7, 0);
3235 : 125 : operands[3] = x8;
3236 : 125 : if (!scratch_operand (operands[3], E_V4SImode))
3237 : : return -1;
3238 : : return 0;
3239 : : }
3240 : :
3241 : : int
3242 : 4559 : pattern949 (rtx x1)
3243 : : {
3244 : 4559 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3245 : 4559 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3246 : 4559 : rtx x10;
3247 : 4559 : int res ATTRIBUTE_UNUSED;
3248 : 4559 : x2 = XVECEXP (x1, 0, 0);
3249 : 4559 : x3 = XEXP (x2, 1);
3250 : 4559 : x4 = XEXP (x3, 0);
3251 : 4559 : x5 = XEXP (x4, 0);
3252 : 4559 : x6 = XEXP (x5, 0);
3253 : 4559 : operands[1] = x6;
3254 : 4559 : x7 = XEXP (x4, 1);
3255 : 4559 : if (!rtx_equal_p (x7, operands[1]))
3256 : : return -1;
3257 : 1663 : x8 = XVECEXP (x1, 0, 1);
3258 : 1663 : switch (GET_CODE (x8))
3259 : : {
3260 : 1655 : case SET:
3261 : 1655 : x9 = XEXP (x8, 1);
3262 : 1655 : if (GET_CODE (x9) != AND)
3263 : : return -1;
3264 : : return 0;
3265 : :
3266 : 8 : case CLOBBER:
3267 : 8 : x10 = XEXP (x8, 0);
3268 : 8 : operands[0] = x10;
3269 : 8 : switch (GET_MODE (x4))
3270 : : {
3271 : 6 : case E_SImode:
3272 : 6 : if (GET_MODE (x5) != E_SImode
3273 : 6 : || !nonimmediate_operand (operands[1], E_SImode)
3274 : 12 : || !scratch_operand (operands[0], E_SImode))
3275 : 0 : return -1;
3276 : : return 1;
3277 : :
3278 : 2 : case E_DImode:
3279 : 2 : if (GET_MODE (x5) != E_DImode
3280 : 2 : || !nonimmediate_operand (operands[1], E_DImode)
3281 : 4 : || !scratch_operand (operands[0], E_DImode))
3282 : 0 : return -1;
3283 : : return 2;
3284 : :
3285 : : default:
3286 : : return -1;
3287 : : }
3288 : :
3289 : : default:
3290 : : return -1;
3291 : : }
3292 : : }
3293 : :
3294 : : int
3295 : 544 : pattern966 (rtx x1)
3296 : : {
3297 : 544 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3298 : 544 : rtx x2, x3, x4, x5, x6, x7, x8;
3299 : 544 : int res ATTRIBUTE_UNUSED;
3300 : 544 : x2 = XEXP (x1, 1);
3301 : 544 : x3 = XVECEXP (x2, 0, 1);
3302 : 544 : x4 = XEXP (x3, 1);
3303 : 544 : if (GET_CODE (x4) != PARALLEL
3304 : 544 : || XVECLEN (x4, 0) != 1)
3305 : : return -1;
3306 : 544 : x5 = XVECEXP (x4, 0, 0);
3307 : 544 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3308 : : return -1;
3309 : 544 : x6 = XEXP (x1, 0);
3310 : 544 : if (GET_CODE (x6) != REG
3311 : 544 : || REGNO (x6) != 17
3312 : 1088 : || GET_MODE (x6) != E_CCFPmode)
3313 : : return -1;
3314 : 544 : x7 = XVECEXP (x2, 0, 0);
3315 : 544 : x8 = XEXP (x7, 0);
3316 : 544 : operands[0] = x8;
3317 : 544 : return 0;
3318 : : }
3319 : :
3320 : : int
3321 : 6809 : pattern970 (rtx x1, machine_mode i1)
3322 : : {
3323 : 6809 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3324 : 6809 : int res ATTRIBUTE_UNUSED;
3325 : 6809 : if (!register_operand (operands[0], i1)
3326 : 6466 : || GET_MODE (x1) != i1
3327 : 6466 : || !nonimmediate_operand (operands[2], i1)
3328 : 13260 : || !register_operand (operands[1], i1))
3329 : 750 : return -1;
3330 : : return 0;
3331 : : }
3332 : :
3333 : : int
3334 : 206 : pattern974 (rtx x1)
3335 : : {
3336 : 206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3337 : 206 : rtx x2;
3338 : 206 : int res ATTRIBUTE_UNUSED;
3339 : 206 : if (!register_operand (operands[0], E_QImode)
3340 : 206 : || GET_MODE (x1) != E_QImode)
3341 : : return -1;
3342 : 206 : x2 = XEXP (x1, 0);
3343 : 206 : if (GET_MODE (x2) != E_QImode)
3344 : : return -1;
3345 : 206 : switch (GET_MODE (operands[1]))
3346 : : {
3347 : 3 : case E_V8SImode:
3348 : 3 : if (!register_operand (operands[1], E_V8SImode)
3349 : 3 : || !nonimmediate_operand (operands[2], E_V8SImode)
3350 : 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3351 : 0 : return -1;
3352 : : return 0;
3353 : :
3354 : 3 : case E_V4SImode:
3355 : 3 : if (!register_operand (operands[1], E_V4SImode)
3356 : 3 : || !nonimmediate_operand (operands[2], E_V4SImode)
3357 : 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3358 : 0 : return -1;
3359 : : return 1;
3360 : :
3361 : 33 : case E_V8DImode:
3362 : 33 : if (!register_operand (operands[1], E_V8DImode)
3363 : 33 : || !nonimmediate_operand (operands[2], E_V8DImode)
3364 : 66 : || !const_0_to_7_operand (operands[3], E_SImode))
3365 : 0 : return -1;
3366 : : return 2;
3367 : :
3368 : 3 : case E_V4DImode:
3369 : 3 : if (!register_operand (operands[1], E_V4DImode)
3370 : 3 : || !nonimmediate_operand (operands[2], E_V4DImode)
3371 : 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3372 : 0 : return -1;
3373 : : return 3;
3374 : :
3375 : 3 : case E_V2DImode:
3376 : 3 : if (!register_operand (operands[1], E_V2DImode)
3377 : 3 : || !nonimmediate_operand (operands[2], E_V2DImode)
3378 : 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3379 : 0 : return -1;
3380 : : return 4;
3381 : :
3382 : 0 : case E_V8HFmode:
3383 : 0 : if (!register_operand (operands[1], E_V8HFmode)
3384 : 0 : || !nonimmediate_operand (operands[2], E_V8HFmode)
3385 : 0 : || !const_0_to_31_operand (operands[3], E_SImode))
3386 : 0 : return -1;
3387 : : return 5;
3388 : :
3389 : 3 : case E_V8SFmode:
3390 : 3 : if (!register_operand (operands[1], E_V8SFmode)
3391 : 3 : || !nonimmediate_operand (operands[2], E_V8SFmode)
3392 : 6 : || !const_0_to_31_operand (operands[3], E_SImode))
3393 : 0 : return -1;
3394 : : return 6;
3395 : :
3396 : 33 : case E_V4SFmode:
3397 : 33 : if (!register_operand (operands[1], E_V4SFmode)
3398 : 30 : || !nonimmediate_operand (operands[2], E_V4SFmode)
3399 : 51 : || !const_0_to_31_operand (operands[3], E_SImode))
3400 : 15 : return -1;
3401 : : return 7;
3402 : :
3403 : 57 : case E_V8DFmode:
3404 : 57 : if (!register_operand (operands[1], E_V8DFmode)
3405 : 57 : || !nonimmediate_operand (operands[2], E_V8DFmode)
3406 : 114 : || !const_0_to_31_operand (operands[3], E_SImode))
3407 : 0 : return -1;
3408 : : return 8;
3409 : :
3410 : 28 : case E_V4DFmode:
3411 : 28 : if (!register_operand (operands[1], E_V4DFmode)
3412 : 28 : || !nonimmediate_operand (operands[2], E_V4DFmode)
3413 : 56 : || !const_0_to_31_operand (operands[3], E_SImode))
3414 : 0 : return -1;
3415 : : return 9;
3416 : :
3417 : 37 : case E_V2DFmode:
3418 : 37 : if (!register_operand (operands[1], E_V2DFmode)
3419 : 37 : || !nonimmediate_operand (operands[2], E_V2DFmode)
3420 : 74 : || !const_0_to_31_operand (operands[3], E_SImode))
3421 : 0 : return -1;
3422 : : return 10;
3423 : :
3424 : 3 : case E_V8HImode:
3425 : 3 : if (!register_operand (operands[1], E_V8HImode)
3426 : 3 : || !nonimmediate_operand (operands[2], E_V8HImode)
3427 : 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3428 : 0 : return -1;
3429 : : return 11;
3430 : :
3431 : : default:
3432 : : return -1;
3433 : : }
3434 : : }
3435 : :
3436 : : int
3437 : 170 : pattern1000 (rtx x1, machine_mode i1)
3438 : : {
3439 : 170 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3440 : 170 : rtx x2;
3441 : 170 : int res ATTRIBUTE_UNUSED;
3442 : 170 : if (!register_operand (operands[0], i1)
3443 : 170 : || GET_MODE (x1) != i1)
3444 : : return -1;
3445 : 170 : x2 = XEXP (x1, 0);
3446 : 170 : if (GET_MODE (x2) != i1
3447 : 170 : || !nonimmediate_operand (operands[1], i1)
3448 : 340 : || !const0_operand (operands[2], i1))
3449 : 54 : return -1;
3450 : : return 0;
3451 : : }
3452 : :
3453 : : int
3454 : 266 : pattern1005 (rtx x1)
3455 : : {
3456 : 266 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3457 : 266 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3458 : 266 : int res ATTRIBUTE_UNUSED;
3459 : 266 : x2 = XEXP (x1, 0);
3460 : 266 : x3 = XEXP (x2, 1);
3461 : 266 : switch (GET_CODE (x3))
3462 : : {
3463 : 198 : case REG:
3464 : 198 : case SUBREG:
3465 : 198 : case MEM:
3466 : 198 : x4 = XEXP (x2, 2);
3467 : 198 : operands[4] = x4;
3468 : 198 : switch (GET_MODE (operands[0]))
3469 : : {
3470 : 116 : case E_V8HFmode:
3471 : 116 : return pattern1004 (x1,
3472 : 116 : E_V8HFmode); /* [-1, 0] */
3473 : :
3474 : 41 : case E_V4SFmode:
3475 : 41 : if (pattern1004 (x1,
3476 : : E_V4SFmode) != 0)
3477 : : return -1;
3478 : : return 1;
3479 : :
3480 : 41 : case E_V2DFmode:
3481 : 41 : if (pattern1004 (x1,
3482 : : E_V2DFmode) != 0)
3483 : : return -1;
3484 : : return 2;
3485 : :
3486 : : default:
3487 : : return -1;
3488 : : }
3489 : :
3490 : 68 : case CONST_INT:
3491 : 68 : case CONST_DOUBLE:
3492 : 68 : case CONST_VECTOR:
3493 : 68 : operands[4] = x3;
3494 : 68 : x5 = XEXP (x2, 0);
3495 : 68 : x6 = XEXP (x5, 0);
3496 : 68 : x7 = XEXP (x6, 0);
3497 : 68 : operands[2] = x7;
3498 : 68 : x8 = XEXP (x5, 1);
3499 : 68 : operands[1] = x8;
3500 : 68 : x4 = XEXP (x2, 2);
3501 : 68 : operands[5] = x4;
3502 : 68 : x9 = XEXP (x1, 1);
3503 : 68 : if (!rtx_equal_p (x9, operands[1]))
3504 : : return -1;
3505 : 68 : switch (GET_MODE (operands[0]))
3506 : : {
3507 : : case E_V8HFmode:
3508 : : return 3;
3509 : :
3510 : : case E_V4SFmode:
3511 : : return 4;
3512 : :
3513 : : case E_V2DFmode:
3514 : : return 5;
3515 : :
3516 : : default:
3517 : : return -1;
3518 : : }
3519 : :
3520 : : default:
3521 : : return -1;
3522 : : }
3523 : : }
3524 : :
3525 : : int
3526 : 174 : pattern1030 (rtx x1, machine_mode i1)
3527 : : {
3528 : 174 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3529 : 174 : int res ATTRIBUTE_UNUSED;
3530 : 174 : if (!register_operand (operands[0], i1)
3531 : 162 : || GET_MODE (x1) != i1
3532 : 162 : || !register_operand (operands[1], i1)
3533 : 333 : || !bcst_vector_operand (operands[2], i1))
3534 : 15 : return -1;
3535 : : return 0;
3536 : : }
3537 : :
3538 : : int
3539 : 40456 : pattern1038 (rtx x1)
3540 : : {
3541 : 40456 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3542 : 40456 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3543 : 40456 : rtx x10, x11, x12;
3544 : 40456 : int res ATTRIBUTE_UNUSED;
3545 : 40456 : x2 = XEXP (x1, 1);
3546 : 40456 : x3 = XEXP (x2, 0);
3547 : 40456 : switch (GET_CODE (x3))
3548 : : {
3549 : 522 : case PLUS:
3550 : 522 : return pattern1035 (x1); /* [-1, 0] */
3551 : :
3552 : 107 : case MINUS:
3553 : 107 : if (pattern1035 (x1) != 0)
3554 : : return -1;
3555 : : return 1;
3556 : :
3557 : 7357 : case AND:
3558 : 7357 : if (pattern1035 (x1) != 0)
3559 : : return -1;
3560 : : return 2;
3561 : :
3562 : 12960 : case IOR:
3563 : 12960 : if (pattern1035 (x1) != 0)
3564 : : return -1;
3565 : : return 3;
3566 : :
3567 : 687 : case XOR:
3568 : 687 : if (pattern1035 (x1) != 0)
3569 : : return -1;
3570 : : return 4;
3571 : :
3572 : 9 : case NEG:
3573 : 9 : if (GET_MODE (x3) != E_QImode)
3574 : : return -1;
3575 : 9 : x4 = XEXP (x3, 0);
3576 : 9 : if (GET_CODE (x4) != SUBREG
3577 : 9 : || maybe_ne (SUBREG_BYTE (x4), 0)
3578 : 18 : || GET_MODE (x4) != E_QImode)
3579 : : return -1;
3580 : 9 : x5 = XEXP (x4, 0);
3581 : 9 : switch (GET_CODE (x5))
3582 : : {
3583 : 9 : case SIGN_EXTRACT:
3584 : 9 : case ZERO_EXTRACT:
3585 : 9 : operands[2] = x5;
3586 : 9 : x6 = XEXP (x5, 1);
3587 : 9 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3588 : : return -1;
3589 : 9 : x7 = XEXP (x5, 2);
3590 : 9 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3591 : : return -1;
3592 : 9 : x8 = XEXP (x1, 0);
3593 : 9 : if (GET_CODE (x8) != ZERO_EXTRACT)
3594 : : return -1;
3595 : 9 : x9 = XEXP (x8, 1);
3596 : 9 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3597 : : return -1;
3598 : 9 : x10 = XEXP (x8, 2);
3599 : 9 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3600 : : return -1;
3601 : 9 : x11 = XEXP (x8, 0);
3602 : 9 : operands[0] = x11;
3603 : 9 : if (!int248_register_operand (operands[0], E_VOIDmode))
3604 : : return -1;
3605 : 9 : x12 = XEXP (x5, 0);
3606 : 9 : operands[1] = x12;
3607 : 9 : if (!int248_register_operand (operands[1], E_VOIDmode))
3608 : : return -1;
3609 : 9 : switch (GET_MODE (x8))
3610 : : {
3611 : 3 : case E_HImode:
3612 : 3 : if (GET_MODE (x2) != E_HImode
3613 : 3 : || !extract_operator (operands[2], E_HImode))
3614 : 0 : return -1;
3615 : : return 5;
3616 : :
3617 : 6 : case E_SImode:
3618 : 6 : if (GET_MODE (x2) != E_SImode
3619 : 6 : || !extract_operator (operands[2], E_SImode))
3620 : 0 : return -1;
3621 : : return 6;
3622 : :
3623 : 0 : case E_DImode:
3624 : 0 : if (GET_MODE (x2) != E_DImode
3625 : 0 : || !extract_operator (operands[2], E_DImode))
3626 : 0 : return -1;
3627 : : return 7;
3628 : :
3629 : : default:
3630 : : return -1;
3631 : : }
3632 : :
3633 : : default:
3634 : : return -1;
3635 : : }
3636 : :
3637 : 15 : case ASHIFT:
3638 : 15 : if (GET_MODE (x3) != E_QImode)
3639 : : return -1;
3640 : 9 : res = pattern1037 (x1);
3641 : 9 : if (res >= 0)
3642 : 9 : return res + 8; /* [8, 10] */
3643 : : return -1;
3644 : :
3645 : : case LSHIFTRT:
3646 : : return 11;
3647 : :
3648 : 1626 : case ASHIFTRT:
3649 : 1626 : return 12;
3650 : :
3651 : : default:
3652 : : return -1;
3653 : : }
3654 : : }
3655 : :
3656 : : int
3657 : 2584079 : pattern1064 (rtx x1)
3658 : : {
3659 : 2584079 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3660 : 2584079 : rtx x2, x3, x4, x5, x6;
3661 : 2584079 : int res ATTRIBUTE_UNUSED;
3662 : 2584079 : if (GET_CODE (x1) != SET)
3663 : : return -1;
3664 : 1967290 : x2 = XEXP (x1, 0);
3665 : 1967290 : if (GET_CODE (x2) != ZERO_EXTRACT)
3666 : : return -1;
3667 : 3 : x3 = XEXP (x2, 1);
3668 : 3 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3669 : : return -1;
3670 : 3 : x4 = XEXP (x2, 2);
3671 : 3 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3672 : : return -1;
3673 : 3 : x5 = XEXP (x2, 0);
3674 : 3 : operands[2] = x5;
3675 : 3 : if (!int248_register_operand (operands[2], E_VOIDmode))
3676 : : return -1;
3677 : 3 : x6 = XEXP (x1, 1);
3678 : 3 : operands[3] = x6;
3679 : 3 : switch (GET_MODE (x2))
3680 : : {
3681 : 0 : case E_HImode:
3682 : 0 : if (!const_int_operand (operands[3], E_HImode))
3683 : : return -1;
3684 : : return 0;
3685 : :
3686 : 3 : case E_SImode:
3687 : 3 : if (!const_int_operand (operands[3], E_SImode))
3688 : : return -1;
3689 : : return 1;
3690 : :
3691 : 0 : case E_DImode:
3692 : 0 : if (!const_int_operand (operands[3], E_DImode))
3693 : : return -1;
3694 : : return 2;
3695 : :
3696 : : default:
3697 : : return -1;
3698 : : }
3699 : : }
3700 : :
3701 : : int
3702 : 309 : pattern1077 (rtx x1, int i1, int i2, int i3, int i4)
3703 : : {
3704 : 309 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3705 : 309 : rtx x2, x3, x4, x5;
3706 : 309 : int res ATTRIBUTE_UNUSED;
3707 : 309 : x2 = XVECEXP (x1, 0, 0);
3708 : 309 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
3709 : : return -1;
3710 : 309 : x3 = XVECEXP (x1, 0, 1);
3711 : 309 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
3712 : : return -1;
3713 : 309 : x4 = XVECEXP (x1, 0, 2);
3714 : 309 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
3715 : : return -1;
3716 : 309 : x5 = XVECEXP (x1, 0, 3);
3717 : 309 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
3718 : 0 : return -1;
3719 : : return 0;
3720 : : }
3721 : :
3722 : : int
3723 : 1062 : pattern1090 (rtx x1, machine_mode i1, machine_mode i2)
3724 : : {
3725 : 1062 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3726 : 1062 : rtx x2;
3727 : 1062 : int res ATTRIBUTE_UNUSED;
3728 : 1062 : if (!register_operand (operands[0], i2)
3729 : 1062 : || GET_MODE (x1) != i2)
3730 : : return -1;
3731 : 1036 : x2 = XEXP (x1, 0);
3732 : 1036 : if (GET_MODE (x2) != i2
3733 : 1036 : || !register_operand (operands[1], i1)
3734 : 2072 : || !nonimmediate_operand (operands[2], i1))
3735 : 0 : return -1;
3736 : : return 0;
3737 : : }
3738 : :
3739 : : int
3740 : 162 : pattern1095 (rtx x1, machine_mode i1)
3741 : : {
3742 : 162 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3743 : 162 : rtx x2;
3744 : 162 : int res ATTRIBUTE_UNUSED;
3745 : 162 : if (!register_operand (operands[0], i1)
3746 : 162 : || GET_MODE (x1) != i1)
3747 : : return -1;
3748 : 138 : x2 = XVECEXP (x1, 0, 0);
3749 : 138 : switch (GET_MODE (x2))
3750 : : {
3751 : 22 : case E_HFmode:
3752 : 22 : if (!register_operand (operands[1], E_V8HFmode))
3753 : : return -1;
3754 : : return 0;
3755 : :
3756 : 58 : case E_SFmode:
3757 : 58 : if (!vector_operand (operands[1], E_V4SFmode))
3758 : : return -1;
3759 : : return 1;
3760 : :
3761 : 58 : case E_DFmode:
3762 : 58 : if (!vector_operand (operands[1], E_V2DFmode))
3763 : : return -1;
3764 : : return 2;
3765 : :
3766 : : default:
3767 : : return -1;
3768 : : }
3769 : : }
3770 : :
3771 : : int
3772 : 1676 : pattern1098 (rtx x1, machine_mode i1)
3773 : : {
3774 : 1676 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3775 : 1676 : rtx x2;
3776 : 1676 : int res ATTRIBUTE_UNUSED;
3777 : 1676 : if (!register_operand (operands[0], i1)
3778 : 1676 : || GET_MODE (x1) != i1)
3779 : : return -1;
3780 : 1612 : x2 = XEXP (x1, 0);
3781 : 1612 : if (GET_MODE (x2) != i1
3782 : 1612 : || !nonimm_or_0_operand (operands[2], i1)
3783 : 3194 : || !register_operand (operands[3], E_QImode))
3784 : 196 : return -1;
3785 : 1416 : switch (GET_MODE (operands[1]))
3786 : : {
3787 : 473 : case E_V8HFmode:
3788 : 473 : if (!vector_operand (operands[1], E_V8HFmode))
3789 : : return -1;
3790 : : return 0;
3791 : :
3792 : 471 : case E_V4SFmode:
3793 : 471 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3794 : : return -1;
3795 : : return 1;
3796 : :
3797 : 472 : case E_V4DFmode:
3798 : 472 : if (!nonimmediate_operand (operands[1], E_V4DFmode))
3799 : : return -1;
3800 : : return 2;
3801 : :
3802 : : default:
3803 : : return -1;
3804 : : }
3805 : : }
3806 : :
3807 : : int
3808 : 1572 : pattern1106 (rtx x1)
3809 : : {
3810 : 1572 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3811 : 1572 : rtx x2;
3812 : 1572 : int res ATTRIBUTE_UNUSED;
3813 : 1572 : x2 = XEXP (x1, 1);
3814 : 1572 : if (!rtx_equal_p (x2, operands[1]))
3815 : : return -1;
3816 : 1572 : switch (GET_MODE (operands[0]))
3817 : : {
3818 : 782 : case E_V4SFmode:
3819 : 782 : return pattern456 (x1,
3820 : 782 : E_V4SFmode); /* [-1, 0] */
3821 : :
3822 : 790 : case E_V2DFmode:
3823 : 790 : if (pattern456 (x1,
3824 : : E_V2DFmode) != 0)
3825 : : return -1;
3826 : : return 1;
3827 : :
3828 : : default:
3829 : : return -1;
3830 : : }
3831 : : }
3832 : :
3833 : : int
3834 : 5651 : pattern1114 (rtx x1, machine_mode i1)
3835 : : {
3836 : 5651 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3837 : 5651 : int res ATTRIBUTE_UNUSED;
3838 : 5651 : if (!register_operand (operands[0], i1)
3839 : 4358 : || GET_MODE (x1) != i1
3840 : 4358 : || !vector_operand (operands[2], i1)
3841 : 4210 : || !register_operand (operands[1], i1)
3842 : 8985 : || !const_0_to_15_operand (operands[3], E_SImode))
3843 : 2356 : return -1;
3844 : : return 0;
3845 : : }
3846 : :
3847 : : int
3848 : 864 : pattern1121 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
3849 : : {
3850 : 864 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3851 : 864 : int res ATTRIBUTE_UNUSED;
3852 : 864 : if (GET_MODE (x1) != i4
3853 : 864 : || !register_operand (operands[1], i3)
3854 : 864 : || !nonimm_or_0_operand (operands[3], i2)
3855 : 1722 : || !register_operand (operands[4], i1))
3856 : 12 : return -1;
3857 : : return 0;
3858 : : }
3859 : :
3860 : : int
3861 : 996 : pattern1126 (rtx x1)
3862 : : {
3863 : 996 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3864 : 996 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3865 : 996 : rtx x10, x11, x12;
3866 : 996 : int res ATTRIBUTE_UNUSED;
3867 : 996 : x2 = XVECEXP (x1, 0, 0);
3868 : 996 : x3 = XEXP (x2, 0);
3869 : 996 : x4 = XEXP (x3, 0);
3870 : 996 : if (GET_MODE (x4) != E_V8HFmode)
3871 : : return -1;
3872 : 996 : x5 = XEXP (x3, 2);
3873 : 996 : if (GET_CODE (x5) != UNSPEC
3874 : 996 : || XVECLEN (x5, 0) != 1
3875 : 996 : || XINT (x5, 1) != 223
3876 : 996 : || GET_MODE (x5) != E_QImode)
3877 : : return -1;
3878 : 996 : x6 = XEXP (x2, 2);
3879 : 996 : if (XWINT (x6, 0) != 3L
3880 : 996 : || !register_operand (operands[0], E_V8HFmode)
3881 : 940 : || GET_MODE (x1) != E_V8HFmode
3882 : 940 : || GET_MODE (x2) != E_V8HFmode
3883 : 1936 : || GET_MODE (x3) != E_V8HFmode)
3884 : 56 : return -1;
3885 : 940 : x7 = XVECEXP (x4, 0, 0);
3886 : 940 : operands[1] = x7;
3887 : 940 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
3888 : : return -1;
3889 : 940 : x8 = XVECEXP (x4, 0, 1);
3890 : 940 : operands[2] = x8;
3891 : 940 : if (!register_operand (operands[2], E_V8HFmode))
3892 : : return -1;
3893 : 920 : x9 = XEXP (x3, 1);
3894 : 920 : operands[3] = x9;
3895 : 920 : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
3896 : : return -1;
3897 : 916 : x10 = XVECEXP (x5, 0, 0);
3898 : 916 : operands[4] = x10;
3899 : 916 : if (!register_operand (operands[4], E_QImode))
3900 : : return -1;
3901 : 848 : x11 = XVECEXP (x1, 0, 1);
3902 : 848 : operands[5] = x11;
3903 : 848 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
3904 : : return -1;
3905 : 848 : x12 = XEXP (x2, 1);
3906 : 848 : if (!rtx_equal_p (x12, operands[1]))
3907 : : return -1;
3908 : : return 0;
3909 : : }
3910 : :
3911 : : int
3912 : 403 : pattern1140 (rtx x1, machine_mode i1, machine_mode i2)
3913 : : {
3914 : 403 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3915 : 403 : rtx x2;
3916 : 403 : int res ATTRIBUTE_UNUSED;
3917 : 403 : if (!register_operand (operands[0], i2)
3918 : 403 : || GET_MODE (x1) != i2)
3919 : : return -1;
3920 : 310 : x2 = XEXP (x1, 0);
3921 : 310 : if (GET_MODE (x2) != i1
3922 : 310 : || !nonimmediate_operand (operands[1], i2)
3923 : 588 : || !const0_operand (operands[2], i1))
3924 : 32 : return -1;
3925 : : return 0;
3926 : : }
3927 : :
3928 : : int
3929 : 0 : pattern1149 (rtx x1, machine_mode i1)
3930 : : {
3931 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3932 : 0 : int res ATTRIBUTE_UNUSED;
3933 : 0 : if (!register_operand (operands[0], i1)
3934 : 0 : || GET_MODE (x1) != i1
3935 : 0 : || !register_operand (operands[5], i1)
3936 : 0 : || !immediate_operand (operands[3], i1)
3937 : 0 : || !register_operand (operands[4], i1)
3938 : 0 : || !register_operand (operands[1], i1))
3939 : 0 : return -1;
3940 : : return 0;
3941 : : }
3942 : :
3943 : : int
3944 : 55807 : pattern1155 (rtx x1)
3945 : : {
3946 : 55807 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3947 : 55807 : rtx x2, x3, x4, x5;
3948 : 55807 : int res ATTRIBUTE_UNUSED;
3949 : 55807 : x2 = XEXP (x1, 0);
3950 : 55807 : x3 = XEXP (x2, 0);
3951 : 55807 : x4 = XEXP (x3, 0);
3952 : 55807 : if (GET_CODE (x4) != ZERO_EXTEND)
3953 : : return -1;
3954 : 110 : x5 = XEXP (x2, 1);
3955 : 110 : if (GET_CODE (x5) != ZERO_EXTEND)
3956 : : return -1;
3957 : 67 : return pattern354 (x1); /* [-1, 3] */
3958 : : }
3959 : :
3960 : : int
3961 : 286 : pattern1160 (rtx x1, machine_mode i1)
3962 : : {
3963 : 286 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3964 : 286 : rtx x2, x3;
3965 : 286 : int res ATTRIBUTE_UNUSED;
3966 : 286 : if (!nonimmediate_operand (operands[0], i1)
3967 : 286 : || GET_MODE (x1) != i1)
3968 : : return -1;
3969 : 286 : x2 = XEXP (x1, 0);
3970 : 286 : if (GET_MODE (x2) != i1)
3971 : : return -1;
3972 : 286 : x3 = XEXP (x2, 0);
3973 : 286 : if (GET_MODE (x3) != i1
3974 : 286 : || !nonimmediate_operand (operands[1], i1)
3975 : 464 : || !x86_64_immediate_operand (operands[2], i1))
3976 : 192 : return -1;
3977 : : return 0;
3978 : : }
3979 : :
3980 : : int
3981 : 21935 : pattern1170 (rtx x1)
3982 : : {
3983 : 21935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3984 : 21935 : rtx x2, x3, x4;
3985 : 21935 : int res ATTRIBUTE_UNUSED;
3986 : 21935 : x2 = XEXP (x1, 1);
3987 : 21935 : x3 = XEXP (x2, 1);
3988 : 21935 : if (maybe_ne (SUBREG_BYTE (x3), 0)
3989 : 21935 : || GET_MODE (x3) != E_QImode)
3990 : : return -1;
3991 : 21935 : x4 = XEXP (x1, 0);
3992 : 21935 : operands[0] = x4;
3993 : 21935 : return pattern1169 (x2); /* [-1, 11] */
3994 : : }
3995 : :
3996 : : int
3997 : 17774924 : pattern1177 (rtx x1)
3998 : : {
3999 : 17774924 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4000 : 17774924 : rtx x2, x3, x4;
4001 : 17774924 : int res ATTRIBUTE_UNUSED;
4002 : 17774924 : x2 = XEXP (x1, 1);
4003 : 17774924 : x3 = XEXP (x2, 1);
4004 : 17774924 : operands[2] = x3;
4005 : 17774924 : x4 = XEXP (x1, 0);
4006 : 17774924 : switch (GET_CODE (x4))
4007 : : {
4008 : 17773345 : case REG:
4009 : 17773345 : case SUBREG:
4010 : 17773345 : case MEM:
4011 : 17773345 : operands[0] = x4;
4012 : 17773345 : return 0;
4013 : :
4014 : 1579 : case STRICT_LOW_PART:
4015 : 1579 : res = pattern556 (x1);
4016 : 1579 : if (res >= 0)
4017 : 1477 : return res + 1; /* [1, 2] */
4018 : : return -1;
4019 : :
4020 : : default:
4021 : : return -1;
4022 : : }
4023 : : }
4024 : :
4025 : : int
4026 : 0 : pattern1185 (rtx x1, machine_mode i1)
4027 : : {
4028 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4029 : 0 : rtx x2;
4030 : 0 : int res ATTRIBUTE_UNUSED;
4031 : 0 : if (!register_operand (operands[0], i1)
4032 : 0 : || GET_MODE (x1) != i1
4033 : 0 : || !vector_operand (operands[1], i1)
4034 : 0 : || !register_operand (operands[2], i1))
4035 : 0 : return -1;
4036 : 0 : x2 = XVECEXP (x1, 0, 2);
4037 : 0 : if (GET_MODE (x2) != i1
4038 : 0 : || !register_operand (operands[3], i1))
4039 : 0 : return -1;
4040 : : return 0;
4041 : : }
4042 : :
4043 : : int
4044 : 396 : pattern1191 (rtx x1, machine_mode i1)
4045 : : {
4046 : 396 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4047 : 396 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4048 : 396 : rtx x10, x11, x12;
4049 : 396 : int res ATTRIBUTE_UNUSED;
4050 : 396 : x2 = XVECEXP (x1, 0, 0);
4051 : 396 : x3 = XEXP (x2, 1);
4052 : 396 : x4 = XEXP (x3, 0);
4053 : 396 : if (GET_MODE (x4) != i1)
4054 : : return -1;
4055 : 396 : x5 = XVECEXP (x1, 0, 1);
4056 : 396 : x6 = XEXP (x5, 1);
4057 : 396 : if (GET_CODE (x6) != PLUS)
4058 : : return -1;
4059 : 396 : x7 = XEXP (x2, 0);
4060 : 396 : if (GET_MODE (x7) != E_CCCmode
4061 : 21 : || GET_MODE (x3) != E_CCCmode)
4062 : : return -1;
4063 : 21 : x8 = XEXP (x4, 1);
4064 : 21 : operands[2] = x8;
4065 : 21 : if (!memory_operand (operands[2], i1))
4066 : : return -1;
4067 : 11 : x9 = XEXP (x4, 0);
4068 : 11 : if (!rtx_equal_p (x9, operands[0]))
4069 : : return -1;
4070 : 11 : x10 = XEXP (x3, 1);
4071 : 11 : if (!rtx_equal_p (x10, operands[0]))
4072 : : return -1;
4073 : 11 : x11 = XEXP (x6, 0);
4074 : 11 : if (!rtx_equal_p (x11, operands[0]))
4075 : : return -1;
4076 : 11 : x12 = XEXP (x6, 1);
4077 : 11 : if (!rtx_equal_p (x12, operands[2]))
4078 : : return -1;
4079 : : return 0;
4080 : : }
4081 : :
4082 : : int
4083 : 12 : pattern1200 (rtx x1, int *pnum_clobbers)
4084 : : {
4085 : 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4086 : 12 : rtx x2, x3, x4, x5, x6;
4087 : 12 : int res ATTRIBUTE_UNUSED;
4088 : 12 : if (pnum_clobbers == NULL)
4089 : : return -1;
4090 : 12 : x2 = XEXP (x1, 1);
4091 : 12 : operands[3] = x2;
4092 : 12 : x3 = XEXP (x2, 0);
4093 : 12 : x4 = XEXP (x3, 0);
4094 : 12 : operands[1] = x4;
4095 : 12 : if (!int248_register_operand (operands[1], E_VOIDmode))
4096 : : return -1;
4097 : 12 : x5 = XEXP (x3, 1);
4098 : 12 : operands[2] = x5;
4099 : 12 : if (!int248_register_operand (operands[2], E_VOIDmode))
4100 : : return -1;
4101 : 12 : x6 = XEXP (x1, 0);
4102 : 12 : switch (GET_MODE (x6))
4103 : : {
4104 : 0 : case E_HImode:
4105 : 0 : if (!extract_operator (operands[3], E_HImode))
4106 : : return -1;
4107 : : return 0;
4108 : :
4109 : 0 : case E_SImode:
4110 : 0 : if (!extract_operator (operands[3], E_SImode))
4111 : : return -1;
4112 : : return 1;
4113 : :
4114 : 12 : case E_DImode:
4115 : 12 : if (!extract_operator (operands[3], E_DImode))
4116 : : return -1;
4117 : : return 2;
4118 : :
4119 : : default:
4120 : : return -1;
4121 : : }
4122 : : }
4123 : :
4124 : : int
4125 : 1157 : pattern1213 (rtx x1)
4126 : : {
4127 : 1157 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4128 : 1157 : rtx x2, x3, x4, x5;
4129 : 1157 : int res ATTRIBUTE_UNUSED;
4130 : 1157 : x2 = XEXP (x1, 0);
4131 : 1157 : x3 = XEXP (x2, 1);
4132 : 1157 : switch (GET_CODE (x3))
4133 : : {
4134 : 946 : case REG:
4135 : 946 : case SUBREG:
4136 : 946 : case MEM:
4137 : 946 : x4 = XEXP (x2, 2);
4138 : 946 : operands[4] = x4;
4139 : 946 : switch (GET_MODE (operands[0]))
4140 : : {
4141 : : case E_V8HFmode:
4142 : : return 0;
4143 : :
4144 : : case E_V4SFmode:
4145 : : return 1;
4146 : :
4147 : : case E_V2DFmode:
4148 : : return 2;
4149 : :
4150 : : default:
4151 : : return -1;
4152 : : }
4153 : :
4154 : 211 : case CONST_INT:
4155 : 211 : case CONST_DOUBLE:
4156 : 211 : case CONST_VECTOR:
4157 : 211 : operands[4] = x3;
4158 : 211 : x4 = XEXP (x2, 2);
4159 : 211 : operands[5] = x4;
4160 : 211 : x5 = XEXP (x1, 1);
4161 : 211 : if (!rtx_equal_p (x5, operands[1]))
4162 : : return -1;
4163 : 211 : switch (GET_MODE (operands[0]))
4164 : : {
4165 : : case E_V8HFmode:
4166 : : return 3;
4167 : :
4168 : : case E_V4SFmode:
4169 : : return 4;
4170 : :
4171 : : case E_V2DFmode:
4172 : : return 5;
4173 : :
4174 : : default:
4175 : : return -1;
4176 : : }
4177 : :
4178 : : default:
4179 : : return -1;
4180 : : }
4181 : : }
4182 : :
4183 : : int
4184 : 482 : pattern1227 (rtx x1)
4185 : : {
4186 : 482 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4187 : 482 : rtx x2, x3, x4;
4188 : 482 : int res ATTRIBUTE_UNUSED;
4189 : 482 : x2 = XVECEXP (x1, 0, 2);
4190 : 482 : x3 = XEXP (x2, 0);
4191 : 482 : x4 = XEXP (x3, 1);
4192 : 482 : operands[4] = x4;
4193 : 482 : switch (GET_MODE (operands[0]))
4194 : : {
4195 : 384 : case E_V16QImode:
4196 : 384 : if (!register_operand (operands[0], E_V16QImode)
4197 : 384 : || GET_MODE (x1) != E_V16QImode
4198 : 384 : || !register_operand (operands[1], E_V16QImode)
4199 : 375 : || !vector_operand (operands[2], E_V16QImode)
4200 : 755 : || GET_MODE (x2) != E_V16QImode)
4201 : 13 : return -1;
4202 : 371 : switch (GET_MODE (x3))
4203 : : {
4204 : 284 : case E_V4SImode:
4205 : 284 : if (!register_operand (operands[3], E_V4SImode)
4206 : 284 : || !const0_operand (operands[4], E_V4SImode))
4207 : 203 : return -1;
4208 : : return 0;
4209 : :
4210 : 83 : case E_V2DImode:
4211 : 83 : if (!register_operand (operands[3], E_V2DImode)
4212 : 83 : || !const0_operand (operands[4], E_V2DImode))
4213 : 45 : return -1;
4214 : : return 1;
4215 : :
4216 : : default:
4217 : : return -1;
4218 : : }
4219 : :
4220 : 93 : case E_V32QImode:
4221 : 93 : if (!register_operand (operands[0], E_V32QImode)
4222 : 93 : || GET_MODE (x1) != E_V32QImode
4223 : 93 : || !register_operand (operands[1], E_V32QImode)
4224 : 91 : || !vector_operand (operands[2], E_V32QImode)
4225 : 180 : || GET_MODE (x2) != E_V32QImode)
4226 : 6 : return -1;
4227 : 87 : switch (GET_MODE (x3))
4228 : : {
4229 : 57 : case E_V8SImode:
4230 : 57 : if (!register_operand (operands[3], E_V8SImode)
4231 : 57 : || !const0_operand (operands[4], E_V8SImode))
4232 : 32 : return -1;
4233 : : return 2;
4234 : :
4235 : 27 : case E_V4DImode:
4236 : 27 : if (!register_operand (operands[3], E_V4DImode)
4237 : 27 : || !const0_operand (operands[4], E_V4DImode))
4238 : 1 : return -1;
4239 : : return 3;
4240 : :
4241 : : default:
4242 : : return -1;
4243 : : }
4244 : :
4245 : : default:
4246 : : return -1;
4247 : : }
4248 : : }
4249 : :
4250 : : int
4251 : 499 : pattern1245 (rtx x1, machine_mode i1)
4252 : : {
4253 : 499 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4254 : 499 : rtx x2, x3;
4255 : 499 : int res ATTRIBUTE_UNUSED;
4256 : 499 : if (!register_operand (operands[0], i1)
4257 : 499 : || GET_MODE (x1) != i1)
4258 : : return -1;
4259 : 490 : x2 = XEXP (x1, 0);
4260 : 490 : if (GET_MODE (x2) != i1)
4261 : : return -1;
4262 : 490 : x3 = XEXP (x2, 0);
4263 : 490 : if (GET_MODE (x3) != i1
4264 : 490 : || !nonimmediate_operand (operands[1], i1))
4265 : 2 : return -1;
4266 : : return 0;
4267 : : }
4268 : :
4269 : : int
4270 : 178 : pattern1251 (rtx x1)
4271 : : {
4272 : 178 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4273 : 178 : rtx x2, x3, x4;
4274 : 178 : int res ATTRIBUTE_UNUSED;
4275 : 178 : x2 = XEXP (x1, 0);
4276 : 178 : x3 = XEXP (x2, 0);
4277 : 178 : operands[0] = x3;
4278 : 178 : if (!nonmemory_operand (operands[2], E_QImode))
4279 : : return -1;
4280 : 171 : x4 = XEXP (x1, 1);
4281 : 171 : return pattern373 (x4); /* [-1, 1] */
4282 : : }
4283 : :
4284 : : int
4285 : 1980 : pattern1257 (rtx x1)
4286 : : {
4287 : 1980 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4288 : 1980 : rtx x2, x3;
4289 : 1980 : int res ATTRIBUTE_UNUSED;
4290 : 1980 : if (GET_CODE (x1) != SET)
4291 : : return -1;
4292 : 1955 : x2 = XEXP (x1, 1);
4293 : 1955 : if (GET_CODE (x2) != PLUS
4294 : 1955 : || GET_MODE (x2) != E_SImode)
4295 : : return -1;
4296 : 1955 : x3 = XEXP (x2, 0);
4297 : 1955 : if (GET_CODE (x3) != REG
4298 : 1955 : || REGNO (x3) != 7
4299 : 3910 : || GET_MODE (x3) != E_SImode)
4300 : 0 : return -1;
4301 : : return 0;
4302 : : }
4303 : :
4304 : : int
4305 : 0 : pattern1262 (rtx x1)
4306 : : {
4307 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4308 : 0 : rtx x2, x3, x4, x5, x6, x7;
4309 : 0 : int res ATTRIBUTE_UNUSED;
4310 : 0 : x2 = XEXP (x1, 2);
4311 : 0 : switch (GET_CODE (x2))
4312 : : {
4313 : 0 : case REG:
4314 : 0 : case SUBREG:
4315 : 0 : operands[1] = x2;
4316 : 0 : x3 = XEXP (x1, 0);
4317 : 0 : operands[0] = x3;
4318 : 0 : x4 = XEXP (x1, 1);
4319 : 0 : operands[3] = x4;
4320 : 0 : switch (GET_MODE (x1))
4321 : : {
4322 : 0 : case E_V32QImode:
4323 : 0 : if (!vector_all_ones_operand (operands[0], E_V32QImode)
4324 : 0 : || !const0_operand (operands[3], E_V32QImode)
4325 : 0 : || !register_operand (operands[1], E_SImode))
4326 : 0 : return -1;
4327 : : return 0;
4328 : :
4329 : 0 : case E_V16QImode:
4330 : 0 : if (!vector_all_ones_operand (operands[0], E_V16QImode)
4331 : 0 : || !const0_operand (operands[3], E_V16QImode)
4332 : 0 : || !register_operand (operands[1], E_HImode))
4333 : 0 : return -1;
4334 : : return 1;
4335 : :
4336 : : default:
4337 : : return -1;
4338 : : }
4339 : :
4340 : 0 : case UNSPEC:
4341 : 0 : if (XVECLEN (x2, 0) != 3
4342 : 0 : || XINT (x2, 1) != 59)
4343 : : return -1;
4344 : 0 : x5 = XVECEXP (x2, 0, 2);
4345 : 0 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4346 : : return -1;
4347 : 0 : x3 = XEXP (x1, 0);
4348 : 0 : operands[3] = x3;
4349 : 0 : x4 = XEXP (x1, 1);
4350 : 0 : operands[4] = x4;
4351 : 0 : x6 = XVECEXP (x2, 0, 0);
4352 : 0 : operands[0] = x6;
4353 : 0 : x7 = XVECEXP (x2, 0, 1);
4354 : 0 : operands[1] = x7;
4355 : 0 : switch (GET_MODE (x1))
4356 : : {
4357 : 0 : case E_V32QImode:
4358 : 0 : if (pattern1261 (x2,
4359 : : E_V32QImode,
4360 : : E_SImode) != 0)
4361 : : return -1;
4362 : : return 2;
4363 : :
4364 : 0 : case E_V16QImode:
4365 : 0 : if (pattern1261 (x2,
4366 : : E_V16QImode,
4367 : : E_HImode) != 0)
4368 : : return -1;
4369 : : return 3;
4370 : :
4371 : : default:
4372 : : return -1;
4373 : : }
4374 : :
4375 : : default:
4376 : : return -1;
4377 : : }
4378 : : }
4379 : :
4380 : : int
4381 : 2126 : pattern1292 (rtx x1, machine_mode i1, machine_mode i2)
4382 : : {
4383 : 2126 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4384 : 2126 : rtx x2;
4385 : 2126 : int res ATTRIBUTE_UNUSED;
4386 : 2126 : if (!register_operand (operands[0], i1)
4387 : 2126 : || GET_MODE (x1) != i1)
4388 : : return -1;
4389 : 2012 : x2 = XEXP (x1, 0);
4390 : 2012 : if (GET_MODE (x2) != i1
4391 : 2012 : || !vector_operand (operands[2], i1)
4392 : 4016 : || !register_operand (operands[4], i2))
4393 : 8 : return -1;
4394 : : return 0;
4395 : : }
4396 : :
4397 : : int
4398 : 2010 : pattern1299 (rtx x1, machine_mode i1, machine_mode i2)
4399 : : {
4400 : 2010 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4401 : 2010 : rtx x2, x3, x4;
4402 : 2010 : int res ATTRIBUTE_UNUSED;
4403 : 2010 : if (!register_operand (operands[0], i1)
4404 : 2010 : || GET_MODE (x1) != i1)
4405 : : return -1;
4406 : 1884 : x2 = XEXP (x1, 0);
4407 : 1884 : if (GET_MODE (x2) != i1)
4408 : : return -1;
4409 : 1884 : x3 = XEXP (x2, 0);
4410 : 1884 : if (GET_MODE (x3) != i1
4411 : 1884 : || !vector_operand (operands[2], i1))
4412 : 0 : return -1;
4413 : 1884 : x4 = XEXP (x2, 2);
4414 : 1884 : if (GET_MODE (x4) != i1
4415 : 1884 : || !register_operand (operands[4], i2))
4416 : 0 : return -1;
4417 : : return 0;
4418 : : }
4419 : :
4420 : : int
4421 : 1300 : pattern1308 (rtx x1)
4422 : : {
4423 : 1300 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4424 : 1300 : rtx x2, x3;
4425 : 1300 : int res ATTRIBUTE_UNUSED;
4426 : 1300 : if (!register_operand (operands[0], E_V8SFmode)
4427 : 1300 : || GET_MODE (x1) != E_V8SFmode)
4428 : : return -1;
4429 : 1274 : x2 = XVECEXP (x1, 0, 0);
4430 : 1274 : if (GET_MODE (x2) != E_V8SFmode)
4431 : : return -1;
4432 : 1274 : x3 = XEXP (x2, 0);
4433 : 1274 : if (GET_MODE (x3) != E_V8SFmode
4434 : 1274 : || !nonimm_or_0_operand (operands[2], E_V8SFmode)
4435 : 2544 : || !register_operand (operands[3], E_QImode))
4436 : 8 : return -1;
4437 : 1266 : switch (GET_MODE (operands[1]))
4438 : : {
4439 : : case E_V8SImode:
4440 : : return 0;
4441 : :
4442 : 792 : case E_V8DImode:
4443 : 792 : return 1;
4444 : :
4445 : : default:
4446 : : return -1;
4447 : : }
4448 : : }
4449 : :
4450 : : int
4451 : 712613 : pattern1316 (rtx x1, machine_mode i1, machine_mode i2)
4452 : : {
4453 : 712613 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4454 : 712613 : rtx x2, x3;
4455 : 712613 : int res ATTRIBUTE_UNUSED;
4456 : 712613 : if (!register_operand (operands[0], i1)
4457 : 712613 : || GET_MODE (x1) != i1)
4458 : : return -1;
4459 : 356729 : x2 = XEXP (x1, 0);
4460 : 356729 : if (GET_MODE (x2) != i2
4461 : 356729 : || !register_operand (operands[1], i1))
4462 : 67695 : return -1;
4463 : 289034 : x3 = XEXP (x2, 1);
4464 : 289034 : operands[2] = x3;
4465 : 289034 : if (!vector_operand (operands[2], i1))
4466 : : return -1;
4467 : : return 0;
4468 : : }
4469 : :
4470 : : int
4471 : 18487 : pattern1322 (rtx x1)
4472 : : {
4473 : 18487 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4474 : 18487 : rtx x2, x3, x4, x5, x6, x7, x8;
4475 : 18487 : int res ATTRIBUTE_UNUSED;
4476 : 18487 : x2 = XVECEXP (x1, 0, 1);
4477 : 18487 : x3 = XEXP (x2, 1);
4478 : 18487 : x4 = XEXP (x3, 0);
4479 : 18487 : if (!rtx_equal_p (x4, operands[1]))
4480 : : return -1;
4481 : 18482 : x5 = XEXP (x3, 1);
4482 : 18482 : if (!rtx_equal_p (x5, operands[2]))
4483 : : return -1;
4484 : 18472 : x6 = XVECEXP (x1, 0, 0);
4485 : 18472 : x7 = XEXP (x6, 1);
4486 : 18472 : x8 = XEXP (x7, 0);
4487 : 18472 : switch (GET_MODE (x8))
4488 : : {
4489 : 298 : case E_QImode:
4490 : 298 : return pattern1321 (x3,
4491 : 298 : E_QImode); /* [-1, 0] */
4492 : :
4493 : 114 : case E_HImode:
4494 : 114 : if (pattern1321 (x3,
4495 : : E_HImode) != 0)
4496 : : return -1;
4497 : : return 1;
4498 : :
4499 : 1919 : case E_SImode:
4500 : 1919 : if (pattern1321 (x3,
4501 : : E_SImode) != 0)
4502 : : return -1;
4503 : : return 2;
4504 : :
4505 : 16105 : case E_DImode:
4506 : 16105 : if (!nonimmediate_operand (operands[1], E_DImode)
4507 : 15057 : || !const_1_to_63_operand (operands[2], E_QImode)
4508 : 14583 : || !nonimmediate_operand (operands[0], E_DImode)
4509 : 30688 : || GET_MODE (x3) != E_DImode)
4510 : 1522 : return -1;
4511 : : return 3;
4512 : :
4513 : : default:
4514 : : return -1;
4515 : : }
4516 : : }
4517 : :
4518 : : int
4519 : 16765 : pattern1337 (rtx x1)
4520 : : {
4521 : 16765 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4522 : 16765 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4523 : 16765 : rtx x10, x11, x12;
4524 : 16765 : int res ATTRIBUTE_UNUSED;
4525 : 16765 : x2 = XEXP (x1, 1);
4526 : 16765 : x3 = XEXP (x2, 1);
4527 : 16765 : if (GET_CODE (x3) != LABEL_REF)
4528 : : return -1;
4529 : 15534 : x4 = XEXP (x2, 2);
4530 : 15534 : if (GET_CODE (x4) != PC)
4531 : : return -1;
4532 : 15534 : x5 = XEXP (x1, 0);
4533 : 15534 : if (GET_CODE (x5) != PC)
4534 : : return -1;
4535 : 15534 : x6 = XEXP (x2, 0);
4536 : 15534 : operands[0] = x6;
4537 : 15534 : x7 = XEXP (x6, 0);
4538 : 15534 : x8 = XEXP (x7, 0);
4539 : 15534 : operands[1] = x8;
4540 : 15534 : x9 = XEXP (x7, 2);
4541 : 15534 : switch (GET_CODE (x9))
4542 : : {
4543 : : case CONST_INT:
4544 : : case CONST_WIDE_INT:
4545 : : case CONST_POLY_INT:
4546 : : case CONST_FIXED:
4547 : : case CONST_DOUBLE:
4548 : : case CONST_VECTOR:
4549 : : case CONST:
4550 : : case REG:
4551 : : case SUBREG:
4552 : : case LABEL_REF:
4553 : : case SYMBOL_REF:
4554 : : case HIGH:
4555 : : return 0;
4556 : :
4557 : 106 : case AND:
4558 : 106 : if (GET_MODE (x9) != E_QImode)
4559 : : return -1;
4560 : 106 : x10 = XEXP (x9, 0);
4561 : 106 : operands[2] = x10;
4562 : 106 : if (!register_operand (operands[2], E_QImode))
4563 : : return -1;
4564 : 56 : x11 = XEXP (x9, 1);
4565 : 56 : operands[3] = x11;
4566 : 56 : if (!const_int_operand (operands[3], E_VOIDmode))
4567 : : return -1;
4568 : 56 : x12 = XEXP (x3, 0);
4569 : 56 : operands[4] = x12;
4570 : 56 : switch (GET_MODE (x7))
4571 : : {
4572 : 18 : case E_SImode:
4573 : 18 : if (!register_operand (operands[1], E_SImode))
4574 : : return -1;
4575 : : return 1;
4576 : :
4577 : 38 : case E_DImode:
4578 : 38 : if (!register_operand (operands[1], E_DImode))
4579 : : return -1;
4580 : : return 2;
4581 : :
4582 : : default:
4583 : : return -1;
4584 : : }
4585 : :
4586 : : default:
4587 : : return -1;
4588 : : }
4589 : : }
4590 : :
4591 : : int
4592 : 5440 : pattern1364 ()
4593 : : {
4594 : 5440 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4595 : 5440 : int res ATTRIBUTE_UNUSED;
4596 : 5440 : switch (GET_MODE (operands[4]))
4597 : : {
4598 : 216 : case E_QImode:
4599 : 216 : if (!register_operand (operands[4], E_QImode))
4600 : : return -1;
4601 : : return 0;
4602 : :
4603 : 55 : case E_HImode:
4604 : 55 : if (!register_operand (operands[4], E_HImode))
4605 : : return -1;
4606 : : return 1;
4607 : :
4608 : 1747 : case E_SImode:
4609 : 1747 : if (!register_operand (operands[4], E_SImode))
4610 : : return -1;
4611 : : return 2;
4612 : :
4613 : 3422 : case E_DImode:
4614 : 3422 : if (!register_operand (operands[4], E_DImode))
4615 : : return -1;
4616 : : return 3;
4617 : :
4618 : : default:
4619 : : return -1;
4620 : : }
4621 : : }
4622 : :
4623 : : int
4624 : 303 : pattern1369 (rtx x1, machine_mode i1, machine_mode i2)
4625 : : {
4626 : 303 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4627 : 303 : rtx x2;
4628 : 303 : int res ATTRIBUTE_UNUSED;
4629 : 303 : if (!register_operand (operands[0], i2)
4630 : 303 : || GET_MODE (x1) != i2)
4631 : : return -1;
4632 : 291 : x2 = XEXP (x1, 0);
4633 : 291 : if (GET_MODE (x2) != i2
4634 : 291 : || !register_operand (operands[1], i2)
4635 : 291 : || !register_operand (operands[2], i1)
4636 : 577 : || !nonimmediate_operand (operands[3], i1))
4637 : 5 : return -1;
4638 : : return 0;
4639 : : }
4640 : :
4641 : : int
4642 : 1009 : pattern1379 (rtx x1, machine_mode i1, machine_mode i2)
4643 : : {
4644 : 1009 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4645 : 1009 : rtx x2, x3;
4646 : 1009 : int res ATTRIBUTE_UNUSED;
4647 : 1009 : if (!register_operand (operands[0], i1)
4648 : 1009 : || GET_MODE (x1) != i1)
4649 : : return -1;
4650 : 962 : x2 = XEXP (x1, 0);
4651 : 962 : if (GET_MODE (x2) != i1
4652 : 962 : || !bcst_vector_operand (operands[1], i1))
4653 : 0 : return -1;
4654 : 962 : x3 = XEXP (x2, 2);
4655 : 962 : return pattern1378 (x3,
4656 : : i2,
4657 : 962 : i1); /* [-1, 0] */
4658 : : }
4659 : :
4660 : : int
4661 : 439 : pattern1390 (rtx x1, machine_mode i1, machine_mode i2)
4662 : : {
4663 : 439 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4664 : 439 : rtx x2, x3, x4;
4665 : 439 : int res ATTRIBUTE_UNUSED;
4666 : 439 : if (!register_operand (operands[0], i2)
4667 : 439 : || GET_MODE (x1) != i2)
4668 : : return -1;
4669 : 413 : x2 = XEXP (x1, 0);
4670 : 413 : if (GET_MODE (x2) != i2)
4671 : : return -1;
4672 : 413 : x3 = XEXP (x2, 0);
4673 : 413 : if (GET_MODE (x3) != i2
4674 : 413 : || !bcst_vector_operand (operands[1], i2))
4675 : 0 : return -1;
4676 : 413 : x4 = XEXP (x2, 2);
4677 : 413 : return pattern1378 (x4,
4678 : : i1,
4679 : 413 : i2); /* [-1, 0] */
4680 : : }
4681 : :
4682 : : int
4683 : 1043 : pattern1397 (rtx x1)
4684 : : {
4685 : 1043 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4686 : 1043 : rtx x2, x3;
4687 : 1043 : int res ATTRIBUTE_UNUSED;
4688 : 1043 : x2 = XVECEXP (x1, 0, 0);
4689 : 1043 : x3 = XEXP (x2, 2);
4690 : 1043 : if (XWINT (x3, 0) != 1L
4691 : 1043 : || !const_0_to_255_operand (operands[3], E_SImode))
4692 : 0 : return -1;
4693 : 1043 : return pattern1396 (x1); /* [-1, 2] */
4694 : : }
4695 : :
4696 : : int
4697 : 281 : pattern1402 (rtx x1, machine_mode i1)
4698 : : {
4699 : 281 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4700 : 281 : rtx x2, x3;
4701 : 281 : int res ATTRIBUTE_UNUSED;
4702 : 281 : if (!register_operand (operands[0], i1)
4703 : 281 : || GET_MODE (x1) != i1)
4704 : : return -1;
4705 : 270 : x2 = XVECEXP (x1, 0, 0);
4706 : 270 : if (GET_MODE (x2) != i1)
4707 : : return -1;
4708 : 270 : x3 = XEXP (x2, 0);
4709 : 270 : if (GET_MODE (x3) != i1
4710 : 270 : || !nonimmediate_operand (operands[1], i1)
4711 : 494 : || !register_operand (operands[2], i1))
4712 : 107 : return -1;
4713 : : return 0;
4714 : : }
4715 : :
4716 : : int
4717 : 483 : pattern1409 (rtx x1, machine_mode i1)
4718 : : {
4719 : 483 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4720 : 483 : rtx x2, x3;
4721 : 483 : int res ATTRIBUTE_UNUSED;
4722 : 483 : if (!register_operand (operands[0], i1)
4723 : 483 : || GET_MODE (x1) != i1)
4724 : : return -1;
4725 : 468 : x2 = XVECEXP (x1, 0, 0);
4726 : 468 : if (GET_MODE (x2) != i1
4727 : 468 : || !register_operand (operands[1], i1)
4728 : 936 : || !register_operand (operands[2], i1))
4729 : 5 : return -1;
4730 : 463 : x3 = XEXP (x2, 2);
4731 : 463 : if (GET_MODE (x3) != i1
4732 : 463 : || !register_operand (operands[3], i1))
4733 : 0 : return -1;
4734 : : return 0;
4735 : : }
4736 : :
4737 : : int
4738 : 30 : pattern1417 (rtx x1)
4739 : : {
4740 : 30 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4741 : 30 : rtx x2, x3, x4, x5, x6;
4742 : 30 : int res ATTRIBUTE_UNUSED;
4743 : 30 : x2 = XEXP (x1, 1);
4744 : 30 : x3 = XEXP (x2, 0);
4745 : 30 : x4 = XEXP (x3, 0);
4746 : 30 : operands[1] = x4;
4747 : 30 : if (!int248_register_operand (operands[1], E_VOIDmode))
4748 : : return -1;
4749 : 30 : x5 = XEXP (x3, 1);
4750 : 30 : operands[2] = x5;
4751 : 30 : if (!int248_register_operand (operands[2], E_VOIDmode))
4752 : : return -1;
4753 : 30 : x6 = XEXP (x1, 0);
4754 : 30 : switch (GET_MODE (x6))
4755 : : {
4756 : 0 : case E_HImode:
4757 : 0 : if (!extract_operator (operands[3], E_HImode))
4758 : : return -1;
4759 : : return 0;
4760 : :
4761 : 0 : case E_SImode:
4762 : 0 : if (!extract_operator (operands[3], E_SImode))
4763 : : return -1;
4764 : : return 1;
4765 : :
4766 : 30 : case E_DImode:
4767 : 30 : if (!extract_operator (operands[3], E_DImode))
4768 : : return -1;
4769 : : return 2;
4770 : :
4771 : : default:
4772 : : return -1;
4773 : : }
4774 : : }
4775 : :
4776 : : int
4777 : 45 : pattern1433 (rtx x1)
4778 : : {
4779 : 45 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4780 : 45 : rtx x2, x3, x4, x5, x6, x7;
4781 : 45 : int res ATTRIBUTE_UNUSED;
4782 : 45 : x2 = XEXP (x1, 0);
4783 : 45 : operands[0] = x2;
4784 : 45 : x3 = XEXP (x1, 1);
4785 : 45 : x4 = XEXP (x3, 0);
4786 : 45 : x5 = XEXP (x4, 0);
4787 : 45 : x6 = XEXP (x5, 1);
4788 : 45 : operands[2] = x6;
4789 : 45 : if (!register_operand (operands[2], E_QImode))
4790 : : return -1;
4791 : 34 : x7 = XEXP (x3, 1);
4792 : 34 : operands[1] = x7;
4793 : 34 : switch (GET_MODE (operands[0]))
4794 : : {
4795 : 22 : case E_QImode:
4796 : 22 : return pattern1432 (x3,
4797 : 22 : E_QImode); /* [-1, 0] */
4798 : :
4799 : 12 : case E_HImode:
4800 : 12 : if (pattern1432 (x3,
4801 : : E_HImode) != 0)
4802 : : return -1;
4803 : : return 1;
4804 : :
4805 : : default:
4806 : : return -1;
4807 : : }
4808 : : }
4809 : :
4810 : : int
4811 : 860654 : pattern1444 (rtx x1, int i1, machine_mode i2)
4812 : : {
4813 : 860654 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4814 : 860654 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4815 : 860654 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
4816 : 860654 : rtx x18, x19, x20, x21, x22;
4817 : 860654 : int res ATTRIBUTE_UNUSED;
4818 : 860654 : x2 = XVECEXP (x1, 0, 2);
4819 : 860654 : x3 = XEXP (x2, 1);
4820 : 860654 : switch (GET_CODE (x3))
4821 : : {
4822 : 410948 : case PLUS:
4823 : 410948 : x4 = XEXP (x3, 0);
4824 : 410948 : if (GET_CODE (x4) != ASHIFT)
4825 : : return -1;
4826 : 356255 : x5 = XEXP (x4, 1);
4827 : 356255 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4828 : : return -1;
4829 : 356255 : x6 = XVECEXP (x1, 0, 3);
4830 : 356255 : if (GET_CODE (x6) != SET)
4831 : : return -1;
4832 : 356255 : x7 = XEXP (x6, 1);
4833 : 356255 : if (GET_CODE (x7) != MEM
4834 : 356255 : || GET_MODE (x7) != E_BLKmode)
4835 : : return -1;
4836 : 356255 : x8 = XEXP (x6, 0);
4837 : 356255 : if (GET_CODE (x8) != MEM
4838 : 356255 : || GET_MODE (x8) != E_BLKmode)
4839 : : return -1;
4840 : 356255 : x9 = XVECEXP (x1, 0, 0);
4841 : 356255 : x10 = XEXP (x9, 0);
4842 : 356255 : operands[2] = x10;
4843 : 356255 : x11 = XVECEXP (x1, 0, 1);
4844 : 356255 : x12 = XEXP (x11, 1);
4845 : 356255 : x13 = XEXP (x12, 0);
4846 : 356255 : x14 = XEXP (x13, 0);
4847 : 356255 : operands[5] = x14;
4848 : 356255 : x15 = XEXP (x2, 0);
4849 : 356255 : operands[1] = x15;
4850 : 356255 : x16 = XEXP (x3, 1);
4851 : 356255 : operands[4] = x16;
4852 : 356255 : x17 = XEXP (x4, 0);
4853 : 356255 : if (!rtx_equal_p (x17, operands[5]))
4854 : : return -1;
4855 : 356225 : x18 = XEXP (x7, 0);
4856 : 356225 : if (!rtx_equal_p (x18, operands[4]))
4857 : : return -1;
4858 : 333832 : x19 = XEXP (x8, 0);
4859 : 333832 : if (!rtx_equal_p (x19, operands[3]))
4860 : : return -1;
4861 : 324514 : x20 = XVECEXP (x1, 0, 4);
4862 : 324514 : x21 = XEXP (x20, 0);
4863 : 324514 : if (!rtx_equal_p (x21, operands[5]))
4864 : : return -1;
4865 : 324407 : switch (GET_MODE (operands[2]))
4866 : : {
4867 : 60829 : case E_SImode:
4868 : 60829 : return pattern1442 (x1,
4869 : 60829 : E_SImode); /* [-1, 0] */
4870 : :
4871 : 263578 : case E_DImode:
4872 : 263578 : if (pattern1442 (x1,
4873 : : E_DImode) != 0)
4874 : : return -1;
4875 : : return 1;
4876 : :
4877 : : default:
4878 : : return -1;
4879 : : }
4880 : :
4881 : 436102 : case CONST_INT:
4882 : 436102 : if (XWINT (x3, 0) != 0L)
4883 : : return -1;
4884 : 436100 : x15 = XEXP (x2, 0);
4885 : 436100 : if (GET_CODE (x15) != MEM
4886 : 436100 : || GET_MODE (x15) != E_BLKmode)
4887 : : return -1;
4888 : 436100 : x6 = XVECEXP (x1, 0, 3);
4889 : 436100 : if (GET_CODE (x6) != USE)
4890 : : return -1;
4891 : 436100 : x9 = XVECEXP (x1, 0, 0);
4892 : 436100 : x10 = XEXP (x9, 0);
4893 : 436100 : operands[1] = x10;
4894 : 436100 : x11 = XVECEXP (x1, 0, 1);
4895 : 436100 : x12 = XEXP (x11, 1);
4896 : 436100 : x13 = XEXP (x12, 0);
4897 : 436100 : x14 = XEXP (x13, 0);
4898 : 436100 : operands[4] = x14;
4899 : 436100 : x8 = XEXP (x6, 0);
4900 : 436100 : operands[2] = x8;
4901 : 436100 : if (!register_operand (operands[2], i2))
4902 : : return -1;
4903 : 334125 : x22 = XEXP (x15, 0);
4904 : 334125 : if (!rtx_equal_p (x22, operands[3]))
4905 : : return -1;
4906 : 313356 : x20 = XVECEXP (x1, 0, 4);
4907 : 313356 : x21 = XEXP (x20, 0);
4908 : 313356 : if (!rtx_equal_p (x21, operands[4]))
4909 : : return -1;
4910 : 313120 : switch (GET_MODE (operands[1]))
4911 : : {
4912 : 61894 : case E_SImode:
4913 : 61894 : if (pattern1443 (x12,
4914 : : E_SImode) != 0)
4915 : : return -1;
4916 : : return 2;
4917 : :
4918 : 251226 : case E_DImode:
4919 : 251226 : if (pattern1443 (x12,
4920 : : E_DImode) != 0)
4921 : : return -1;
4922 : : return 3;
4923 : :
4924 : : default:
4925 : : return -1;
4926 : : }
4927 : :
4928 : : default:
4929 : : return -1;
4930 : : }
4931 : : }
4932 : :
4933 : : int
4934 : 86441 : pattern1488 (rtx x1, machine_mode i1, machine_mode i2)
4935 : : {
4936 : 86441 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4937 : 86441 : rtx x2;
4938 : 86441 : int res ATTRIBUTE_UNUSED;
4939 : 86441 : if (!nonimmediate_operand (operands[0], i1)
4940 : 86441 : || GET_MODE (x1) != i1)
4941 : : return -1;
4942 : 86438 : x2 = XEXP (x1, 0);
4943 : 86438 : if (GET_MODE (x2) != i2
4944 : 86438 : || !nonimmediate_operand (operands[1], i1)
4945 : 172856 : || !nonimmediate_operand (operands[2], i1))
4946 : 245 : return -1;
4947 : : return 0;
4948 : : }
4949 : :
4950 : : int
4951 : 58505 : pattern1497 (rtx x1, machine_mode i1)
4952 : : {
4953 : 58505 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4954 : 58505 : rtx x2, x3, x4, x5;
4955 : 58505 : int res ATTRIBUTE_UNUSED;
4956 : 58505 : if (!register_operand (operands[0], i1))
4957 : : return -1;
4958 : 58501 : x2 = XVECEXP (x1, 0, 0);
4959 : 58501 : x3 = XEXP (x2, 1);
4960 : 58501 : if (GET_MODE (x3) != i1
4961 : 58501 : || !register_operand (operands[2], i1)
4962 : 58209 : || !const_int_operand (operands[3], i1)
4963 : 116710 : || !register_operand (operands[1], i1))
4964 : 292 : return -1;
4965 : 58209 : x4 = XVECEXP (x1, 0, 1);
4966 : 58209 : x5 = XEXP (x4, 1);
4967 : 58209 : if (GET_MODE (x5) != i1)
4968 : : return -1;
4969 : : return 0;
4970 : : }
4971 : :
4972 : : int
4973 : 5195 : pattern1507 (rtx x1, machine_mode i1)
4974 : : {
4975 : 5195 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4976 : 5195 : rtx x2;
4977 : 5195 : int res ATTRIBUTE_UNUSED;
4978 : 5195 : if (!mask_reg_operand (operands[0], i1)
4979 : 5195 : || GET_MODE (x1) != i1)
4980 : : return -1;
4981 : 0 : x2 = XEXP (x1, 0);
4982 : 0 : if (GET_MODE (x2) != i1
4983 : 0 : || !mask_reg_operand (operands[1], i1)
4984 : 0 : || !mask_reg_operand (operands[2], i1))
4985 : 0 : return -1;
4986 : : return 0;
4987 : : }
4988 : :
4989 : : int
4990 : 183 : pattern1513 (rtx x1, machine_mode i1, machine_mode i2)
4991 : : {
4992 : 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4993 : 183 : rtx x2, x3;
4994 : 183 : int res ATTRIBUTE_UNUSED;
4995 : 183 : if (!register_operand (operands[0], i2)
4996 : 183 : || GET_MODE (x1) != i2)
4997 : : return -1;
4998 : 173 : x2 = XEXP (x1, 0);
4999 : 173 : if (GET_MODE (x2) != i1)
5000 : : return -1;
5001 : 173 : x3 = XEXP (x2, 0);
5002 : 173 : return pattern1512 (x3,
5003 : 173 : i1); /* [-1, 0] */
5004 : : }
5005 : :
5006 : : int
5007 : 824814 : pattern1522 (rtx x1, machine_mode i1, machine_mode i2)
5008 : : {
5009 : 824814 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5010 : 824814 : rtx x2;
5011 : 824814 : int res ATTRIBUTE_UNUSED;
5012 : 824814 : if (!register_operand (operands[0], i1)
5013 : 824814 : || GET_MODE (x1) != i1)
5014 : : return -1;
5015 : 770418 : x2 = XEXP (x1, 0);
5016 : 770418 : if (GET_MODE (x2) != i2
5017 : 770262 : || !register_operand (operands[1], i1)
5018 : 681490 : || !vector_operand (operands[2], i1)
5019 : 1422484 : || pattern1521 () != 0)
5020 : 357323 : return -1;
5021 : : return 0;
5022 : : }
5023 : :
5024 : : int
5025 : 23 : pattern1531 (rtx x1, rtx_code i1)
5026 : : {
5027 : 23 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5028 : 23 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5029 : 23 : rtx x10, x11, x12;
5030 : 23 : int res ATTRIBUTE_UNUSED;
5031 : 23 : x2 = XVECEXP (x1, 0, 1);
5032 : 23 : x3 = XEXP (x2, 1);
5033 : 23 : if (GET_CODE (x3) != i1)
5034 : : return -1;
5035 : 23 : x4 = XVECEXP (x1, 0, 0);
5036 : 23 : x5 = XEXP (x4, 0);
5037 : 23 : operands[1] = x5;
5038 : 23 : x6 = XEXP (x4, 1);
5039 : 23 : x7 = XEXP (x6, 0);
5040 : 23 : x8 = XEXP (x7, 0);
5041 : 23 : operands[2] = x8;
5042 : 23 : if (!register_operand (operands[2], E_SImode))
5043 : : return -1;
5044 : 23 : x9 = XEXP (x7, 1);
5045 : 23 : operands[3] = x9;
5046 : 23 : if (!nonimmediate_operand (operands[3], E_SImode))
5047 : : return -1;
5048 : 23 : x10 = XEXP (x2, 0);
5049 : 23 : operands[0] = x10;
5050 : 23 : x11 = XEXP (x3, 0);
5051 : 23 : if (!rtx_equal_p (x11, operands[2]))
5052 : : return -1;
5053 : 23 : x12 = XEXP (x3, 1);
5054 : 23 : if (!rtx_equal_p (x12, operands[3]))
5055 : : return -1;
5056 : : return 0;
5057 : : }
5058 : :
5059 : : int
5060 : 187 : pattern1542 (rtx x1, machine_mode i1)
5061 : : {
5062 : 187 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5063 : 187 : rtx x2, x3;
5064 : 187 : int res ATTRIBUTE_UNUSED;
5065 : 187 : if (!register_operand (operands[0], i1)
5066 : 187 : || GET_MODE (x1) != i1)
5067 : : return -1;
5068 : 173 : x2 = XEXP (x1, 0);
5069 : 173 : if (GET_MODE (x2) != i1)
5070 : : return -1;
5071 : 173 : x3 = XEXP (x2, 0);
5072 : 173 : if (GET_MODE (x3) != i1
5073 : 173 : || !nonimmediate_operand (operands[1], i1)
5074 : 173 : || !nonimmediate_operand (operands[2], i1)
5075 : 173 : || !nonimmediate_operand (operands[3], i1)
5076 : 346 : || !const0_operand (operands[4], i1))
5077 : 0 : return -1;
5078 : : return 0;
5079 : : }
5080 : :
5081 : : int
5082 : 1327 : pattern1549 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5083 : : {
5084 : 1327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5085 : 1327 : rtx x2, x3, x4, x5, x6, x7;
5086 : 1327 : int res ATTRIBUTE_UNUSED;
5087 : 1327 : if (!register_operand (operands[0], i2)
5088 : 1327 : || GET_MODE (x1) != i2)
5089 : : return -1;
5090 : 1286 : x2 = XEXP (x1, 0);
5091 : 1286 : if (GET_MODE (x2) != i2)
5092 : : return -1;
5093 : 1286 : x3 = XEXP (x2, 0);
5094 : 1286 : if (GET_MODE (x3) != i3)
5095 : : return -1;
5096 : 1286 : x4 = XEXP (x3, 0);
5097 : 1286 : if (GET_MODE (x4) != i3)
5098 : : return -1;
5099 : 1286 : x5 = XEXP (x4, 0);
5100 : 1286 : if (GET_MODE (x5) != i3)
5101 : : return -1;
5102 : 1286 : x6 = XEXP (x5, 0);
5103 : 1286 : if (GET_MODE (x6) != i3
5104 : 1286 : || !vector_operand (operands[1], i2))
5105 : 0 : return -1;
5106 : 1286 : x7 = XEXP (x5, 1);
5107 : 1286 : if (GET_MODE (x7) != i3
5108 : 1286 : || !vector_operand (operands[2], i2)
5109 : 1286 : || !const1_operand (operands[5], i3)
5110 : 1286 : || !nonimm_or_0_operand (operands[3], i2)
5111 : 2541 : || !register_operand (operands[4], i1))
5112 : 110 : return -1;
5113 : : return 0;
5114 : : }
5115 : :
5116 : : int
5117 : 162323 : pattern1563 (rtx x1)
5118 : : {
5119 : 162323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5120 : 162323 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5121 : 162323 : rtx x10, x11, x12, x13, x14, x15, x16;
5122 : 162323 : int res ATTRIBUTE_UNUSED;
5123 : 162323 : x2 = XVECEXP (x1, 0, 0);
5124 : 162323 : x3 = XEXP (x2, 1);
5125 : 162323 : x4 = XEXP (x3, 0);
5126 : 162323 : x5 = XEXP (x4, 0);
5127 : 162323 : x6 = XEXP (x5, 0);
5128 : 162323 : operands[1] = x6;
5129 : 162323 : x7 = XEXP (x3, 1);
5130 : 162323 : x8 = XEXP (x7, 0);
5131 : 162323 : x9 = XEXP (x8, 0);
5132 : 162323 : if (!rtx_equal_p (x9, operands[1]))
5133 : : return -1;
5134 : 156868 : x10 = XVECEXP (x1, 0, 1);
5135 : 156868 : x11 = XEXP (x10, 1);
5136 : 156868 : x12 = XEXP (x11, 0);
5137 : 156868 : if (!rtx_equal_p (x12, operands[1]))
5138 : : return -1;
5139 : 153323 : x13 = XEXP (x4, 1);
5140 : 153323 : switch (GET_CODE (x13))
5141 : : {
5142 : 90788 : case SIGN_EXTEND:
5143 : 90788 : x14 = XEXP (x13, 0);
5144 : 90788 : operands[2] = x14;
5145 : 90788 : x15 = XEXP (x8, 1);
5146 : 90788 : if (!rtx_equal_p (x15, operands[2]))
5147 : : return -1;
5148 : 90753 : x16 = XEXP (x11, 1);
5149 : 90753 : if (!rtx_equal_p (x16, operands[2]))
5150 : : return -1;
5151 : 90207 : switch (GET_MODE (x4))
5152 : : {
5153 : 5015 : case E_HImode:
5154 : 5015 : return pattern1561 (x1,
5155 : : E_QImode,
5156 : 5015 : E_HImode); /* [-1, 0] */
5157 : :
5158 : 5994 : case E_SImode:
5159 : 5994 : if (pattern1561 (x1,
5160 : : E_HImode,
5161 : : E_SImode) != 0)
5162 : : return -1;
5163 : : return 1;
5164 : :
5165 : 23192 : case E_DImode:
5166 : 23192 : if (GET_MODE (x5) != E_DImode
5167 : 23192 : || !nonimmediate_operand (operands[1], E_SImode)
5168 : 22791 : || GET_MODE (x13) != E_DImode
5169 : 22791 : || !x86_64_sext_operand (operands[2], E_SImode)
5170 : 45674 : || pattern718 (x1,
5171 : : E_SImode,
5172 : : E_DImode) != 0)
5173 : 710 : return -1;
5174 : : return 2;
5175 : :
5176 : 38789 : case E_TImode:
5177 : 38789 : if (GET_MODE (x5) != E_TImode
5178 : 38789 : || !nonimmediate_operand (operands[1], E_DImode)
5179 : 38437 : || GET_MODE (x13) != E_TImode
5180 : 77226 : || pattern718 (x1,
5181 : : E_DImode,
5182 : : E_TImode) != 0)
5183 : 352 : return -1;
5184 : : return 3;
5185 : :
5186 : 17217 : case E_POImode:
5187 : 17217 : if (pattern719 (x1,
5188 : : E_TImode,
5189 : : E_POImode) != 0)
5190 : : return -1;
5191 : : return 4;
5192 : :
5193 : : default:
5194 : : return -1;
5195 : : }
5196 : :
5197 : 61355 : case CONST_INT:
5198 : 61355 : case CONST_WIDE_INT:
5199 : 61355 : operands[3] = x13;
5200 : 61355 : x15 = XEXP (x8, 1);
5201 : 61355 : operands[2] = x15;
5202 : 61355 : x16 = XEXP (x11, 1);
5203 : 61355 : if (!rtx_equal_p (x16, operands[2]))
5204 : : return -1;
5205 : 60989 : switch (GET_MODE (x4))
5206 : : {
5207 : 5899 : case E_HImode:
5208 : 5899 : if (pattern1562 (x1,
5209 : : E_QImode,
5210 : : E_HImode) != 0)
5211 : : return -1;
5212 : : return 5;
5213 : :
5214 : 5922 : case E_SImode:
5215 : 5922 : if (pattern1562 (x1,
5216 : : E_HImode,
5217 : : E_SImode) != 0)
5218 : : return -1;
5219 : : return 6;
5220 : :
5221 : 12242 : case E_DImode:
5222 : 12242 : if (pattern1562 (x1,
5223 : : E_SImode,
5224 : : E_DImode) != 0)
5225 : : return -1;
5226 : : return 7;
5227 : :
5228 : 24276 : case E_TImode:
5229 : 24276 : if (GET_MODE (x5) != E_TImode
5230 : 24276 : || !nonimmediate_operand (operands[1], E_DImode)
5231 : 48552 : || pattern718 (x1,
5232 : : E_DImode,
5233 : : E_TImode) != 0)
5234 : 0 : return -1;
5235 : : return 8;
5236 : :
5237 : 12650 : case E_POImode:
5238 : 12650 : if (pattern720 (x1,
5239 : : E_TImode,
5240 : : E_POImode) != 0)
5241 : : return -1;
5242 : : return 9;
5243 : :
5244 : : default:
5245 : : return -1;
5246 : : }
5247 : :
5248 : : default:
5249 : : return -1;
5250 : : }
5251 : : }
5252 : :
5253 : : int
5254 : 35 : pattern1612 (machine_mode i1)
5255 : : {
5256 : 35 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5257 : 35 : int res ATTRIBUTE_UNUSED;
5258 : 35 : if (!vsib_address_operand (operands[3], i1))
5259 : : return -1;
5260 : 27 : switch (GET_MODE (operands[2]))
5261 : : {
5262 : 4 : case E_V4SImode:
5263 : 4 : if (!register_operand (operands[2], E_V4SImode))
5264 : : return -1;
5265 : : return 0;
5266 : :
5267 : 23 : case E_V4DImode:
5268 : 23 : if (!register_operand (operands[2], E_V4DImode))
5269 : : return -1;
5270 : : return 1;
5271 : :
5272 : : default:
5273 : : return -1;
5274 : : }
5275 : : }
5276 : :
5277 : : int
5278 : 564 : pattern1620 ()
5279 : : {
5280 : 564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5281 : 564 : int res ATTRIBUTE_UNUSED;
5282 : 564 : switch (GET_MODE (operands[3]))
5283 : : {
5284 : 158 : case E_HImode:
5285 : 158 : if (!extract_operator (operands[3], E_HImode))
5286 : : return -1;
5287 : : return 0;
5288 : :
5289 : 296 : case E_SImode:
5290 : 296 : if (!extract_operator (operands[3], E_SImode))
5291 : : return -1;
5292 : : return 1;
5293 : :
5294 : 110 : case E_DImode:
5295 : 110 : if (!extract_operator (operands[3], E_DImode))
5296 : : return -1;
5297 : : return 2;
5298 : :
5299 : : default:
5300 : : return -1;
5301 : : }
5302 : : }
5303 : :
5304 : : int
5305 : 14478 : pattern1629 (rtx x1, machine_mode i1)
5306 : : {
5307 : 14478 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5308 : 14478 : rtx x2, x3, x4, x5;
5309 : 14478 : int res ATTRIBUTE_UNUSED;
5310 : 14478 : if (!register_operand (operands[0], i1))
5311 : : return -1;
5312 : 14478 : x2 = XVECEXP (x1, 0, 0);
5313 : 14478 : x3 = XEXP (x2, 1);
5314 : 14478 : if (GET_MODE (x3) != i1)
5315 : : return -1;
5316 : 14478 : x4 = XVECEXP (x1, 0, 1);
5317 : 14478 : if (GET_MODE (x4) != i1)
5318 : : return -1;
5319 : 14478 : x5 = XVECEXP (x4, 0, 1);
5320 : 14478 : if (GET_MODE (x5) != i1)
5321 : 0 : return -1;
5322 : : return 0;
5323 : : }
5324 : :
5325 : : int
5326 : 489 : pattern1639 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5327 : : {
5328 : 489 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5329 : 489 : rtx x2, x3, x4, x5, x6, x7, x8;
5330 : 489 : int res ATTRIBUTE_UNUSED;
5331 : 489 : if (!register_operand (operands[0], i2)
5332 : 489 : || GET_MODE (x1) != i2)
5333 : : return -1;
5334 : 475 : x2 = XEXP (x1, 0);
5335 : 475 : if (GET_MODE (x2) != i2)
5336 : : return -1;
5337 : 475 : x3 = XEXP (x2, 0);
5338 : 475 : if (GET_MODE (x3) != i3)
5339 : : return -1;
5340 : 475 : x4 = XEXP (x3, 0);
5341 : 475 : if (GET_MODE (x4) != i3)
5342 : : return -1;
5343 : 475 : x5 = XEXP (x4, 0);
5344 : 475 : if (GET_MODE (x5) != i3)
5345 : : return -1;
5346 : 475 : x6 = XEXP (x5, 0);
5347 : 475 : if (GET_MODE (x6) != i3)
5348 : : return -1;
5349 : 475 : x7 = XEXP (x6, 0);
5350 : 475 : if (GET_MODE (x7) != i3
5351 : 475 : || !vector_operand (operands[1], i2))
5352 : 0 : return -1;
5353 : 475 : x8 = XEXP (x6, 1);
5354 : 475 : if (GET_MODE (x8) != i3
5355 : 475 : || !vector_operand (operands[2], i2)
5356 : 475 : || !const1_operand (operands[3], i2)
5357 : 475 : || !nonimm_or_0_operand (operands[4], i2)
5358 : 935 : || !register_operand (operands[5], i1))
5359 : 79 : return -1;
5360 : : return 0;
5361 : : }
5362 : :
5363 : : int
5364 : 411 : pattern1654 (machine_mode i1)
5365 : : {
5366 : 411 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5367 : 411 : int res ATTRIBUTE_UNUSED;
5368 : 411 : if (!vsib_address_operand (operands[4], i1))
5369 : : return -1;
5370 : 411 : switch (GET_MODE (operands[3]))
5371 : : {
5372 : 190 : case E_V4SImode:
5373 : 190 : if (!register_operand (operands[3], E_V4SImode))
5374 : : return -1;
5375 : : return 0;
5376 : :
5377 : 221 : case E_V2DImode:
5378 : 221 : if (!register_operand (operands[3], E_V2DImode))
5379 : : return -1;
5380 : : return 1;
5381 : :
5382 : : default:
5383 : : return -1;
5384 : : }
5385 : : }
5386 : :
5387 : : int
5388 : 0 : pattern1662 (rtx x1, machine_mode i1, machine_mode i2)
5389 : : {
5390 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5391 : 0 : rtx x2, x3;
5392 : 0 : int res ATTRIBUTE_UNUSED;
5393 : 0 : if (!register_operand (operands[0], i1)
5394 : 0 : || !addsub_vs_operator (operands[7], i1)
5395 : 0 : || GET_MODE (x1) != i2)
5396 : 0 : return -1;
5397 : 0 : x2 = XEXP (x1, 0);
5398 : 0 : if (GET_MODE (x2) != i1
5399 : 0 : || !register_operand (operands[1], i1)
5400 : 0 : || !vector_operand (operands[2], i1))
5401 : 0 : return -1;
5402 : 0 : x3 = XEXP (x1, 1);
5403 : 0 : if (GET_MODE (x3) != i1
5404 : 0 : || !vector_operand (operands[3], i1)
5405 : 0 : || !vector_operand (operands[4], i1))
5406 : 0 : return -1;
5407 : : return 0;
5408 : : }
5409 : :
5410 : : int
5411 : 2 : pattern1673 (rtx x1, machine_mode i1)
5412 : : {
5413 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5414 : 2 : rtx x2, x3, x4;
5415 : 2 : int res ATTRIBUTE_UNUSED;
5416 : 2 : if (!register_operand (operands[0], i1)
5417 : 2 : || GET_MODE (x1) != i1)
5418 : : return -1;
5419 : 2 : x2 = XEXP (x1, 0);
5420 : 2 : if (GET_MODE (x2) != i1
5421 : 2 : || !nonimmediate_operand (operands[1], i1))
5422 : 0 : return -1;
5423 : 2 : x3 = XEXP (x1, 1);
5424 : 2 : if (GET_MODE (x3) != i1)
5425 : : return -1;
5426 : 2 : x4 = XEXP (x3, 0);
5427 : 2 : if (GET_MODE (x4) != i1)
5428 : : return -1;
5429 : : return 0;
5430 : : }
5431 : :
5432 : : int
5433 : 627 : pattern1683 (rtx x1, machine_mode i1)
5434 : : {
5435 : 627 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5436 : 627 : int res ATTRIBUTE_UNUSED;
5437 : 627 : if (!register_operand (operands[1], i1))
5438 : : return -1;
5439 : 323 : switch (GET_MODE (x1))
5440 : : {
5441 : 0 : case E_HImode:
5442 : 0 : if (!register_operand (operands[2], E_HImode))
5443 : : return -1;
5444 : : return 0;
5445 : :
5446 : 301 : case E_SImode:
5447 : 301 : if (!register_operand (operands[2], E_SImode))
5448 : : return -1;
5449 : : return 1;
5450 : :
5451 : 22 : case E_DImode:
5452 : 22 : if (!register_operand (operands[2], E_DImode))
5453 : : return -1;
5454 : : return 2;
5455 : :
5456 : : default:
5457 : : return -1;
5458 : : }
5459 : : }
5460 : :
5461 : : int
5462 : 18 : pattern1693 (rtx x1, machine_mode i1)
5463 : : {
5464 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5465 : 18 : rtx x2, x3, x4, x5, x6, x7, x8;
5466 : 18 : int res ATTRIBUTE_UNUSED;
5467 : 18 : x2 = XEXP (x1, 0);
5468 : 18 : x3 = XEXP (x2, 0);
5469 : 18 : x4 = XEXP (x3, 0);
5470 : 18 : x5 = XEXP (x4, 0);
5471 : 18 : operands[2] = x5;
5472 : 18 : x6 = XEXP (x3, 2);
5473 : 18 : if (GET_MODE (x6) != i1
5474 : 18 : || !nonimmediate_operand (operands[3], i1))
5475 : 0 : return -1;
5476 : 18 : x7 = XEXP (x2, 1);
5477 : 18 : if (!rtx_equal_p (x7, operands[3]))
5478 : : return -1;
5479 : 18 : x8 = XEXP (x1, 1);
5480 : 18 : if (!rtx_equal_p (x8, operands[3]))
5481 : : return -1;
5482 : : return 0;
5483 : : }
5484 : :
5485 : : int
5486 : 491 : pattern1703 (rtx x1, machine_mode i1, machine_mode i2)
5487 : : {
5488 : 491 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5489 : 491 : rtx x2, x3;
5490 : 491 : int res ATTRIBUTE_UNUSED;
5491 : 491 : if (!register_operand (operands[0], i2)
5492 : 475 : || GET_MODE (x1) != i2
5493 : 966 : || !vsib_mem_operator (operands[6], i1))
5494 : 16 : return -1;
5495 : 475 : x2 = XVECEXP (x1, 0, 1);
5496 : 475 : x3 = XEXP (x2, 0);
5497 : 475 : switch (GET_MODE (x3))
5498 : : {
5499 : : case E_SImode:
5500 : : return 0;
5501 : :
5502 : 402 : case E_DImode:
5503 : 402 : return 1;
5504 : :
5505 : : default:
5506 : : return -1;
5507 : : }
5508 : : }
5509 : :
5510 : : int
5511 : 1734 : pattern1708 (rtx x1, machine_mode i1)
5512 : : {
5513 : 1734 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5514 : 1734 : rtx x2, x3, x4;
5515 : 1734 : int res ATTRIBUTE_UNUSED;
5516 : 1734 : if (!vsib_mem_operator (operands[5], i1)
5517 : 1734 : || !register_operand (operands[6], E_QImode))
5518 : 400 : return -1;
5519 : 1334 : x2 = XEXP (x1, 1);
5520 : 1334 : if (GET_MODE (x2) != i1
5521 : 1334 : || !register_operand (operands[3], i1)
5522 : 2624 : || !scratch_operand (operands[1], E_QImode))
5523 : 44 : return -1;
5524 : 1290 : x3 = XEXP (x1, 0);
5525 : 1290 : x4 = XEXP (x3, 0);
5526 : 1290 : switch (GET_MODE (x4))
5527 : : {
5528 : 47 : case E_SImode:
5529 : 47 : return pattern1707 (
5530 : 47 : E_SImode); /* [-1, 1] */
5531 : :
5532 : 1243 : case E_DImode:
5533 : 1243 : res = pattern1707 (
5534 : : E_DImode);
5535 : 1243 : if (res >= 0)
5536 : 1121 : return res + 2; /* [2, 3] */
5537 : : return -1;
5538 : :
5539 : : default:
5540 : : return -1;
5541 : : }
5542 : : }
5543 : :
5544 : : int
5545 : 180 : pattern1721 (rtx x1, machine_mode i1, machine_mode i2)
5546 : : {
5547 : 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5548 : 180 : rtx x2, x3;
5549 : 180 : int res ATTRIBUTE_UNUSED;
5550 : 180 : if (!register_operand (operands[0], i2)
5551 : 176 : || GET_MODE (x1) != i2
5552 : 176 : || !register_operand (operands[6], E_QImode)
5553 : 123 : || !vsib_mem_operator (operands[5], i1)
5554 : 303 : || !scratch_operand (operands[1], E_QImode))
5555 : 57 : return -1;
5556 : 123 : x2 = XVECEXP (x1, 0, 2);
5557 : 123 : x3 = XEXP (x2, 0);
5558 : 123 : switch (GET_MODE (x3))
5559 : : {
5560 : 0 : case E_SImode:
5561 : 0 : return pattern1720 (
5562 : 0 : E_SImode); /* [-1, 1] */
5563 : :
5564 : 123 : case E_DImode:
5565 : 123 : res = pattern1720 (
5566 : : E_DImode);
5567 : 123 : if (res >= 0)
5568 : 111 : return res + 2; /* [2, 3] */
5569 : : return -1;
5570 : :
5571 : : default:
5572 : : return -1;
5573 : : }
5574 : : }
5575 : :
5576 : : int
5577 : 356 : pattern1732 (rtx x1, machine_mode i1)
5578 : : {
5579 : 356 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5580 : 356 : rtx x2, x3, x4, x5;
5581 : 356 : int res ATTRIBUTE_UNUSED;
5582 : 356 : if (!register_operand (operands[0], i1)
5583 : 356 : || GET_MODE (x1) != i1)
5584 : : return -1;
5585 : 349 : x2 = XVECEXP (x1, 0, 0);
5586 : 349 : if (GET_MODE (x2) != i1)
5587 : : return -1;
5588 : 349 : x3 = XEXP (x2, 0);
5589 : 349 : if (GET_MODE (x3) != i1)
5590 : : return -1;
5591 : 349 : x4 = XEXP (x3, 0);
5592 : 349 : if (GET_MODE (x4) != i1)
5593 : : return -1;
5594 : 349 : x5 = XEXP (x4, 0);
5595 : 349 : if (GET_MODE (x5) != i1
5596 : 349 : || !register_operand (operands[2], i1)
5597 : 345 : || !nonimmediate_operand (operands[1], i1)
5598 : 345 : || !register_operand (operands[3], i1)
5599 : 693 : || !const0_operand (operands[4], i1))
5600 : 5 : return -1;
5601 : : return 0;
5602 : : }
5603 : :
5604 : : int
5605 : 374 : pattern1739 (rtx x1, machine_mode i1, machine_mode i2)
5606 : : {
5607 : 374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5608 : 374 : rtx x2, x3;
5609 : 374 : int res ATTRIBUTE_UNUSED;
5610 : 374 : if (!register_operand (operands[0], i1)
5611 : 356 : || GET_MODE (x1) != i1
5612 : 356 : || !register_operand (operands[2], i1)
5613 : 356 : || !vsib_mem_operator (operands[7], i2)
5614 : 730 : || !register_operand (operands[5], i1))
5615 : 183 : return -1;
5616 : 191 : x2 = XVECEXP (x1, 0, 1);
5617 : 191 : x3 = XEXP (x2, 0);
5618 : 191 : switch (GET_MODE (x3))
5619 : : {
5620 : 0 : case E_SImode:
5621 : 0 : return pattern1738 (
5622 : 0 : E_SImode); /* [-1, 1] */
5623 : :
5624 : 191 : case E_DImode:
5625 : 191 : res = pattern1738 (
5626 : : E_DImode);
5627 : 191 : if (res >= 0)
5628 : 89 : return res + 2; /* [2, 3] */
5629 : : return -1;
5630 : :
5631 : : default:
5632 : : return -1;
5633 : : }
5634 : : }
5635 : :
5636 : : int
5637 : 10 : pattern1750 (rtx x1)
5638 : : {
5639 : 10 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5640 : 10 : rtx x2, x3, x4, x5, x6;
5641 : 10 : int res ATTRIBUTE_UNUSED;
5642 : 10 : x2 = XEXP (x1, 1);
5643 : 10 : if (GET_CODE (x2) != COMPARE
5644 : 10 : || GET_MODE (x2) != E_CCZmode)
5645 : : return -1;
5646 : 4 : x3 = XEXP (x2, 0);
5647 : 4 : if (GET_CODE (x3) != AND
5648 : 4 : || GET_MODE (x3) != E_QImode)
5649 : : return -1;
5650 : 4 : x4 = XEXP (x3, 1);
5651 : 4 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5652 : : return -1;
5653 : 4 : x5 = XEXP (x2, 1);
5654 : 4 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5655 : : return -1;
5656 : 4 : x6 = XEXP (x1, 0);
5657 : 4 : if (GET_CODE (x6) != REG
5658 : 4 : || REGNO (x6) != 17
5659 : 8 : || GET_MODE (x6) != E_CCZmode)
5660 : 0 : return -1;
5661 : : return 0;
5662 : : }
5663 : :
5664 : : int
5665 : 932 : pattern1761 (rtx x1, machine_mode i1, machine_mode i2)
5666 : : {
5667 : 932 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5668 : 932 : rtx x2, x3, x4, x5;
5669 : 932 : int res ATTRIBUTE_UNUSED;
5670 : 932 : if (!register_operand (operands[0], i1)
5671 : 932 : || GET_MODE (x1) != i1)
5672 : : return -1;
5673 : 916 : x2 = XVECEXP (x1, 0, 0);
5674 : 916 : if (GET_MODE (x2) != i1)
5675 : : return -1;
5676 : 916 : x3 = XEXP (x2, 0);
5677 : 916 : if (GET_MODE (x3) != i1)
5678 : : return -1;
5679 : 916 : x4 = XEXP (x3, 0);
5680 : 916 : if (GET_MODE (x4) != i1)
5681 : : return -1;
5682 : 916 : x5 = XEXP (x4, 0);
5683 : 916 : if (GET_MODE (x5) != i2
5684 : 916 : || !nonimm_or_0_operand (operands[3], i1)
5685 : 1830 : || !register_operand (operands[2], i1))
5686 : 12 : return -1;
5687 : : return 0;
5688 : : }
5689 : :
5690 : : int
5691 : 521 : pattern1771 (machine_mode i1)
5692 : : {
5693 : 521 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5694 : 521 : int res ATTRIBUTE_UNUSED;
5695 : 521 : if (!vsib_address_operand (operands[2], i1))
5696 : : return -1;
5697 : 503 : switch (GET_MODE (operands[3]))
5698 : : {
5699 : 276 : case E_V4SImode:
5700 : 276 : if (!register_operand (operands[3], E_V4SImode))
5701 : : return -1;
5702 : : return 0;
5703 : :
5704 : 227 : case E_V4DImode:
5705 : 227 : if (!register_operand (operands[3], E_V4DImode))
5706 : : return -1;
5707 : : return 1;
5708 : :
5709 : : default:
5710 : : return -1;
5711 : : }
5712 : : }
5713 : :
5714 : : int
5715 : 514 : pattern1778 (rtx x1)
5716 : : {
5717 : 514 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5718 : 514 : rtx x2, x3;
5719 : 514 : int res ATTRIBUTE_UNUSED;
5720 : 514 : if (GET_MODE (x1) != E_SImode
5721 : 514 : || !general_reg_operand (operands[4], E_SImode))
5722 : 0 : return -1;
5723 : 514 : x2 = XEXP (x1, 0);
5724 : 514 : if (!rtx_equal_p (x2, operands[2]))
5725 : : return -1;
5726 : 514 : x3 = XEXP (x1, 1);
5727 : 514 : if (!rtx_equal_p (x3, operands[0]))
5728 : : return -1;
5729 : : return 0;
5730 : : }
5731 : :
5732 : : int
5733 : 1334 : pattern1785 (rtx x1, machine_mode i1, machine_mode i2)
5734 : : {
5735 : 1334 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5736 : 1334 : rtx x2, x3;
5737 : 1334 : int res ATTRIBUTE_UNUSED;
5738 : 1334 : if (!register_operand (operands[0], i1)
5739 : 1334 : || GET_MODE (x1) != i1)
5740 : : return -1;
5741 : 280 : x2 = XEXP (x1, 0);
5742 : 280 : if (GET_MODE (x2) != i2
5743 : 280 : || !nonimmediate_operand (operands[1], i1))
5744 : 2 : return -1;
5745 : 278 : x3 = XEXP (x2, 1);
5746 : 278 : if (!rtx_equal_p (x3, operands[1]))
5747 : : return -1;
5748 : : return 0;
5749 : : }
5750 : :
5751 : : int
5752 : 28547 : pattern1792 (rtx x1, machine_mode i1, machine_mode i2)
5753 : : {
5754 : 28547 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5755 : 28547 : rtx x2, x3, x4, x5, x6;
5756 : 28547 : int res ATTRIBUTE_UNUSED;
5757 : 28547 : x2 = XVECEXP (x1, 0, 0);
5758 : 28547 : x3 = XEXP (x2, 1);
5759 : 28547 : x4 = XEXP (x3, 0);
5760 : 28547 : x5 = XEXP (x4, 0);
5761 : 28547 : if (GET_MODE (x5) != i2
5762 : 28547 : || !nonimmediate_operand (operands[1], i1))
5763 : 150 : return -1;
5764 : 28397 : x6 = XEXP (x4, 1);
5765 : 28397 : if (GET_MODE (x6) != i2
5766 : 28397 : || !x86_64_sext_operand (operands[2], i1)
5767 : 56792 : || pattern1791 (x1,
5768 : : i1,
5769 : : i2) != 0)
5770 : 2 : return -1;
5771 : : return 0;
5772 : : }
5773 : :
5774 : : int
5775 : 536 : pattern1800 (rtx x1, machine_mode i1)
5776 : : {
5777 : 536 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5778 : 536 : rtx x2, x3, x4;
5779 : 536 : int res ATTRIBUTE_UNUSED;
5780 : 536 : operands[4] = x1;
5781 : 536 : if (!register_operand (operands[4], i1))
5782 : : return -1;
5783 : 326 : x2 = PATTERN (peep2_next_insn (3));
5784 : 326 : if (GET_CODE (x2) != SET)
5785 : : return -1;
5786 : 326 : x3 = XEXP (x2, 1);
5787 : 326 : if (!rtx_equal_p (x3, operands[4]))
5788 : : return -1;
5789 : 0 : x4 = XEXP (x2, 0);
5790 : 0 : if (!rtx_equal_p (x4, operands[1]))
5791 : : return -1;
5792 : : return 0;
5793 : : }
5794 : :
5795 : : int
5796 : 244 : pattern1808 (rtx x1, machine_mode i1)
5797 : : {
5798 : 244 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5799 : 244 : rtx x2, x3, x4, x5, x6, x7, x8;
5800 : 244 : int res ATTRIBUTE_UNUSED;
5801 : 244 : x2 = XEXP (x1, 0);
5802 : 244 : x3 = XEXP (x2, 0);
5803 : 244 : x4 = XEXP (x3, 0);
5804 : 244 : x5 = XEXP (x4, 0);
5805 : 244 : operands[1] = x5;
5806 : 244 : if (!nonimmediate_operand (operands[1], i1))
5807 : : return -1;
5808 : 238 : x6 = XEXP (x3, 2);
5809 : 238 : if (GET_MODE (x6) != i1
5810 : 238 : || !register_operand (operands[3], i1))
5811 : 1 : return -1;
5812 : 237 : x7 = XEXP (x2, 1);
5813 : 237 : if (!rtx_equal_p (x7, operands[1]))
5814 : : return -1;
5815 : 78 : x8 = XEXP (x1, 1);
5816 : 78 : if (!rtx_equal_p (x8, operands[1]))
5817 : : return -1;
5818 : : return 0;
5819 : : }
5820 : :
5821 : : int
5822 : 658 : pattern1818 (rtx x1)
5823 : : {
5824 : 658 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5825 : 658 : int res ATTRIBUTE_UNUSED;
5826 : 658 : switch (GET_MODE (operands[0]))
5827 : : {
5828 : 476 : case E_V8SFmode:
5829 : 476 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
5830 : 476 : || pattern1547 (x1,
5831 : : E_V8SFmode,
5832 : : E_V16SFmode) != 0)
5833 : 8 : return -1;
5834 : : return 0;
5835 : :
5836 : 182 : case E_V8SImode:
5837 : 182 : if (!nonimmediate_operand (operands[0], E_V8SImode)
5838 : 182 : || pattern1547 (x1,
5839 : : E_V8SImode,
5840 : : E_V16SImode) != 0)
5841 : 0 : return -1;
5842 : : return 1;
5843 : :
5844 : : default:
5845 : : return -1;
5846 : : }
5847 : : }
5848 : :
5849 : : int
5850 : 481 : pattern1825 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
5851 : : {
5852 : 481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5853 : 481 : rtx x2, x3, x4, x5;
5854 : 481 : int res ATTRIBUTE_UNUSED;
5855 : 481 : if (!register_operand (operands[0], i2)
5856 : 481 : || GET_MODE (x1) != i2)
5857 : : return -1;
5858 : 459 : x2 = XEXP (x1, 0);
5859 : 459 : if (GET_MODE (x2) != i2)
5860 : : return -1;
5861 : 459 : x3 = XEXP (x2, 0);
5862 : 459 : if (GET_MODE (x3) != i2)
5863 : : return -1;
5864 : 459 : x4 = XEXP (x3, 0);
5865 : 459 : if (GET_MODE (x4) != i4
5866 : 459 : || !register_operand (operands[1], i3))
5867 : 0 : return -1;
5868 : 459 : x5 = XEXP (x3, 1);
5869 : 459 : if (GET_MODE (x5) != i4
5870 : 459 : || !vector_operand (operands[2], i3)
5871 : 459 : || !nonimm_or_0_operand (operands[3], i2)
5872 : 902 : || !register_operand (operands[4], i1))
5873 : 51 : return -1;
5874 : : return 0;
5875 : : }
5876 : :
5877 : : int
5878 : 22321 : pattern1832 (rtx x1, machine_mode i1, machine_mode i2)
5879 : : {
5880 : 22321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5881 : 22321 : rtx x2, x3, x4, x5;
5882 : 22321 : int res ATTRIBUTE_UNUSED;
5883 : 22321 : if (!register_operand (operands[0], i1))
5884 : : return -1;
5885 : 22321 : x2 = XVECEXP (x1, 0, 0);
5886 : 22321 : x3 = XEXP (x2, 1);
5887 : 22321 : if (GET_MODE (x3) != i1
5888 : 22321 : || !memory_operand (operands[1], i1)
5889 : 17937 : || !register_operand (operands[2], i1)
5890 : 17916 : || !register_operand (operands[3], i2)
5891 : 40204 : || !register_operand (operands[4], i2))
5892 : 4450 : return -1;
5893 : 17871 : x4 = XVECEXP (x1, 0, 1);
5894 : 17871 : x5 = XEXP (x4, 1);
5895 : 17871 : if (GET_MODE (x5) != i1)
5896 : : return -1;
5897 : : return 0;
5898 : : }
5899 : :
5900 : : int
5901 : 141 : pattern1839 (rtx x1, int i1, int i2, int i3, int i4, int i5)
5902 : : {
5903 : 141 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5904 : 141 : rtx x2, x3, x4, x5, x6;
5905 : 141 : int res ATTRIBUTE_UNUSED;
5906 : 141 : x2 = XVECEXP (x1, 0, 22);
5907 : 141 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
5908 : : return -1;
5909 : 141 : x3 = XVECEXP (x1, 0, 23);
5910 : 141 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5911 : : return -1;
5912 : 141 : x4 = XVECEXP (x1, 0, 24);
5913 : 141 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5914 : : return -1;
5915 : 141 : x5 = XVECEXP (x1, 0, 25);
5916 : 141 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5917 : : return -1;
5918 : 141 : x6 = XVECEXP (x1, 0, 26);
5919 : 141 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5920 : 0 : return -1;
5921 : : return 0;
5922 : : }
5923 : :
5924 : : int
5925 : 431 : pattern1848 (rtx x1)
5926 : : {
5927 : 431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5928 : 431 : rtx x2, x3, x4, x5;
5929 : 431 : int res ATTRIBUTE_UNUSED;
5930 : 431 : x2 = XVECEXP (x1, 0, 8);
5931 : 431 : if (XWINT (x2, 0) != 12L)
5932 : : return -1;
5933 : 431 : x3 = XVECEXP (x1, 0, 9);
5934 : 431 : if (XWINT (x3, 0) != 28L)
5935 : : return -1;
5936 : 431 : x4 = XVECEXP (x1, 0, 10);
5937 : 431 : if (XWINT (x4, 0) != 13L)
5938 : : return -1;
5939 : 431 : x5 = XVECEXP (x1, 0, 11);
5940 : 431 : if (XWINT (x5, 0) != 29L)
5941 : 0 : return -1;
5942 : : return 0;
5943 : : }
5944 : :
5945 : : int
5946 : 57179 : pattern1854 (rtx x1, machine_mode i1, machine_mode i2)
5947 : : {
5948 : 57179 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5949 : 57179 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5950 : 57179 : rtx x10, x11;
5951 : 57179 : int res ATTRIBUTE_UNUSED;
5952 : 57179 : x2 = XVECEXP (x1, 0, 0);
5953 : 57179 : x3 = XEXP (x2, 1);
5954 : 57179 : x4 = XEXP (x3, 0);
5955 : 57179 : x5 = XEXP (x4, 0);
5956 : 57179 : if (GET_MODE (x5) != i1)
5957 : : return -1;
5958 : 57179 : x6 = XEXP (x5, 0);
5959 : 57179 : if (GET_MODE (x6) != i1
5960 : 57179 : || !ix86_carry_flag_operator (operands[5], i1)
5961 : 57179 : || !nonimmediate_operand (operands[1], i1)
5962 : 114138 : || !nonimmediate_operand (operands[2], i1))
5963 : 220 : return -1;
5964 : 56959 : x7 = XEXP (x3, 1);
5965 : 56959 : if (GET_MODE (x7) != i2
5966 : 56959 : || !ix86_carry_flag_operator (operands[4], i2))
5967 : 0 : return -1;
5968 : 56959 : x8 = XEXP (x7, 1);
5969 : 56959 : if (GET_MODE (x8) != i2
5970 : 56959 : || !nonimmediate_operand (operands[0], i1))
5971 : 0 : return -1;
5972 : 56959 : x9 = XVECEXP (x1, 0, 1);
5973 : 56959 : x10 = XEXP (x9, 1);
5974 : 56959 : if (GET_MODE (x10) != i1)
5975 : : return -1;
5976 : 56959 : x11 = XEXP (x10, 0);
5977 : 56959 : if (GET_MODE (x11) != i1)
5978 : : return -1;
5979 : : return 0;
5980 : : }
5981 : :
5982 : : int
5983 : 351 : pattern1861 (rtx x1)
5984 : : {
5985 : 351 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5986 : 351 : rtx x2, x3, x4, x5, x6, x7, x8;
5987 : 351 : int res ATTRIBUTE_UNUSED;
5988 : 351 : x2 = XEXP (x1, 1);
5989 : 351 : x3 = XVECEXP (x2, 0, 12);
5990 : 351 : if (XWINT (x3, 0) != 14L)
5991 : : return -1;
5992 : 351 : x4 = XVECEXP (x2, 0, 13);
5993 : 351 : if (XWINT (x4, 0) != 30L)
5994 : : return -1;
5995 : 351 : x5 = XVECEXP (x2, 0, 14);
5996 : 351 : if (XWINT (x5, 0) != 15L)
5997 : : return -1;
5998 : 351 : x6 = XVECEXP (x2, 0, 15);
5999 : 351 : if (XWINT (x6, 0) != 31L)
6000 : : return -1;
6001 : 351 : x7 = XEXP (x1, 0);
6002 : 351 : x8 = XEXP (x7, 1);
6003 : 351 : operands[2] = x8;
6004 : 351 : return 0;
6005 : : }
6006 : :
6007 : : int
6008 : 711 : pattern1865 (rtx x1)
6009 : : {
6010 : 711 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6011 : 711 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6012 : 711 : rtx x10, x11;
6013 : 711 : int res ATTRIBUTE_UNUSED;
6014 : 711 : x2 = XEXP (x1, 0);
6015 : 711 : x3 = XEXP (x2, 1);
6016 : 711 : x4 = XVECEXP (x3, 0, 12);
6017 : 711 : if (XWINT (x4, 0) != 14L)
6018 : : return -1;
6019 : 711 : x5 = XVECEXP (x3, 0, 13);
6020 : 711 : if (XWINT (x5, 0) != 30L)
6021 : : return -1;
6022 : 711 : x6 = XVECEXP (x3, 0, 14);
6023 : 711 : if (XWINT (x6, 0) != 15L)
6024 : : return -1;
6025 : 711 : x7 = XVECEXP (x3, 0, 15);
6026 : 711 : if (XWINT (x7, 0) != 31L)
6027 : : return -1;
6028 : 711 : x8 = XEXP (x2, 0);
6029 : 711 : x9 = XEXP (x8, 1);
6030 : 711 : operands[2] = x9;
6031 : 711 : x10 = XEXP (x1, 1);
6032 : 711 : operands[3] = x10;
6033 : 711 : x11 = XEXP (x1, 2);
6034 : 711 : operands[4] = x11;
6035 : 711 : return 0;
6036 : : }
6037 : :
6038 : : int
6039 : 0 : pattern1873 (rtx x1, machine_mode i1, machine_mode i2)
6040 : : {
6041 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6042 : 0 : rtx x2, x3, x4, x5, x6, x7;
6043 : 0 : int res ATTRIBUTE_UNUSED;
6044 : 0 : x2 = XVECEXP (x1, 0, 0);
6045 : 0 : x3 = XEXP (x2, 1);
6046 : 0 : x4 = XEXP (x3, 0);
6047 : 0 : x5 = XEXP (x4, 0);
6048 : 0 : if (GET_MODE (x5) != i2)
6049 : : return -1;
6050 : 0 : x6 = XEXP (x5, 0);
6051 : 0 : if (GET_MODE (x6) != i2
6052 : 0 : || !nonimmediate_operand (operands[1], i1)
6053 : 0 : || !ix86_carry_flag_operator (operands[4], i2))
6054 : 0 : return -1;
6055 : 0 : x7 = XEXP (x4, 1);
6056 : 0 : if (GET_MODE (x7) != i2
6057 : 0 : || !sext_operand (operands[2], i1)
6058 : 0 : || pattern1872 (x1,
6059 : : i1,
6060 : : i2) != 0)
6061 : 0 : return -1;
6062 : : return 0;
6063 : : }
6064 : :
6065 : : int
6066 : 1245 : pattern1880 (rtx x1)
6067 : : {
6068 : 1245 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6069 : 1245 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6070 : 1245 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6071 : 1245 : int res ATTRIBUTE_UNUSED;
6072 : 1245 : x2 = XEXP (x1, 0);
6073 : 1245 : x3 = XEXP (x2, 0);
6074 : 1245 : x4 = XEXP (x3, 0);
6075 : 1245 : x5 = XEXP (x4, 0);
6076 : 1245 : x6 = XEXP (x5, 0);
6077 : 1245 : operands[1] = x6;
6078 : 1245 : if (!nonimmediate_operand (operands[1], E_V8HImode))
6079 : : return -1;
6080 : 1079 : x7 = XEXP (x3, 1);
6081 : 1079 : x8 = XEXP (x7, 0);
6082 : 1079 : x9 = XEXP (x8, 0);
6083 : 1079 : operands[2] = x9;
6084 : 1079 : if (!nonimmediate_operand (operands[2], E_V8HImode))
6085 : : return -1;
6086 : 905 : x10 = XEXP (x1, 1);
6087 : 905 : operands[3] = x10;
6088 : 905 : if (!register_operand (operands[3], E_V4SImode))
6089 : : return -1;
6090 : 895 : x11 = XEXP (x2, 1);
6091 : 895 : x12 = XEXP (x11, 0);
6092 : 895 : x13 = XEXP (x12, 0);
6093 : 895 : x14 = XEXP (x13, 0);
6094 : 895 : if (!rtx_equal_p (x14, operands[1]))
6095 : : return -1;
6096 : 895 : x15 = XEXP (x11, 1);
6097 : 895 : x16 = XEXP (x15, 0);
6098 : 895 : x17 = XEXP (x16, 0);
6099 : 895 : if (!rtx_equal_p (x17, operands[2]))
6100 : : return -1;
6101 : : return 0;
6102 : : }
6103 : :
6104 : : int
6105 : 3108431 : recog_5 (rtx x1 ATTRIBUTE_UNUSED,
6106 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6107 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6108 : : {
6109 : 3108431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6110 : 3108431 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6111 : 3108431 : rtx x10, x11, x12;
6112 : 3108431 : int res ATTRIBUTE_UNUSED;
6113 : 3108431 : if (pattern55 (x1,
6114 : : E_CCFPmode) != 0)
6115 : : return -1;
6116 : 3077625 : x2 = XEXP (x1, 1);
6117 : 3077625 : x3 = XVECEXP (x2, 0, 0);
6118 : 3077625 : if (GET_MODE (x3) != E_CCFPmode)
6119 : : return -1;
6120 : 3077625 : switch (GET_CODE (x3))
6121 : : {
6122 : 3077365 : case COMPARE:
6123 : 3077365 : x4 = XEXP (x3, 0);
6124 : 3077365 : switch (GET_CODE (x4))
6125 : : {
6126 : 2749672 : case REG:
6127 : 2749672 : case SUBREG:
6128 : 2749672 : operands[0] = x4;
6129 : 2749672 : x5 = XEXP (x3, 1);
6130 : 2749672 : operands[1] = x5;
6131 : 2749672 : switch (GET_MODE (operands[0]))
6132 : : {
6133 : 638822 : case E_XFmode:
6134 : 638822 : if (!register_operand (operands[0], E_XFmode)
6135 : 638822 : || !register_operand (operands[1], E_XFmode)
6136 : 1167190 : || !
6137 : : #line 2029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6138 : : (TARGET_80387 && TARGET_CMOVE))
6139 : : return -1;
6140 : : return 49; /* *cmpiuxf_i387 */
6141 : :
6142 : : case E_SFmode:
6143 : : if (!register_operand (operands[0], E_SFmode)
6144 : : || !register_ssemem_operand (operands[1], E_SFmode)
6145 : : || !
6146 : : #line 2069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6147 : : ((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
6148 : : || (TARGET_80387 && TARGET_CMOVE)))
6149 : : return -1;
6150 : : return 57; /* *cmpiusf */
6151 : :
6152 : : case E_DFmode:
6153 : : if (!register_operand (operands[0], E_DFmode)
6154 : : || !register_ssemem_operand (operands[1], E_DFmode)
6155 : : || !
6156 : : #line 2069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6157 : : ((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
6158 : : || (TARGET_80387 && TARGET_CMOVE)))
6159 : : return -1;
6160 : : return 59; /* *cmpiudf */
6161 : :
6162 : : case E_HFmode:
6163 : : if (!register_operand (operands[0], E_HFmode)
6164 : : || !nonimmediate_operand (operands[1], E_HFmode)
6165 : : || !
6166 : : #line 2106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6167 : : (TARGET_AVX512FP16))
6168 : : return -1;
6169 : : return 61; /* *cmpiuhf */
6170 : :
6171 : : default:
6172 : : return -1;
6173 : : }
6174 : :
6175 : : case VEC_SELECT:
6176 : : if (pattern602 (x3) != 0)
6177 : : return -1;
6178 : : x6 = XEXP (x4, 0);
6179 : : operands[0] = x6;
6180 : : x5 = XEXP (x3, 1);
6181 : : x7 = XEXP (x5, 0);
6182 : : operands[1] = x7;
6183 : : switch (GET_MODE (x4))
6184 : : {
6185 : : case E_HFmode:
6186 : : if (!register_operand (operands[0], E_V8HFmode)
6187 : : || GET_MODE (x5) != E_HFmode
6188 : : || !nonimmediate_operand (operands[1], E_V8HFmode)
6189 : : || !(
6190 : : #line 4869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6191 : : (SSE_FLOAT_MODE_P (HFmode) || HFmode == E_HFmode) &&
6192 : : #line 1355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6193 : : (TARGET_AVX512FP16)))
6194 : : return -1;
6195 : : return 3678; /* avx512fp16_ucomi */
6196 : :
6197 : : case E_SFmode:
6198 : : if (!register_operand (operands[0], E_V4SFmode)
6199 : : || GET_MODE (x5) != E_SFmode
6200 : : || !nonimmediate_operand (operands[1], E_V4SFmode)
6201 : : || !
6202 : : #line 4869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6203 : : (SSE_FLOAT_MODE_P (SFmode) || SFmode == E_HFmode))
6204 : : return -1;
6205 : : return 3682; /* sse_ucomi */
6206 : :
6207 : : case E_DFmode:
6208 : : if (!register_operand (operands[0], E_V2DFmode)
6209 : : || GET_MODE (x5) != E_DFmode
6210 : : || !nonimmediate_operand (operands[1], E_V2DFmode)
6211 : : || !
6212 : : #line 4869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6213 : : (SSE_FLOAT_MODE_P (DFmode) || DFmode == E_HFmode))
6214 : : return -1;
6215 : : return 3686; /* sse2_ucomi */
6216 : :
6217 : : default:
6218 : : return -1;
6219 : : }
6220 : :
6221 : : default:
6222 : : return -1;
6223 : : }
6224 : :
6225 : : case UNSPEC:
6226 : : switch (XVECLEN (x3, 0))
6227 : : {
6228 : : case 1:
6229 : : if (XINT (x3, 1) != 44)
6230 : : return -1;
6231 : : x8 = XVECEXP (x3, 0, 0);
6232 : : if (GET_CODE (x8) != COMPARE
6233 : : || GET_MODE (x8) != E_CCFPmode)
6234 : : return -1;
6235 : : x9 = XEXP (x8, 0);
6236 : : operands[0] = x9;
6237 : : x10 = XEXP (x8, 1);
6238 : : operands[1] = x10;
6239 : : switch (GET_MODE (operands[0]))
6240 : : {
6241 : : case E_SFmode:
6242 : : if (!register_operand (operands[0], E_SFmode)
6243 : : || !nonimmediate_operand (operands[1], E_SFmode)
6244 : : || !
6245 : : #line 2045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6246 : : (TARGET_AVX10_2_256))
6247 : : return -1;
6248 : : return 51; /* *cmpxusf */
6249 : :
6250 : : case E_DFmode:
6251 : : if (!register_operand (operands[0], E_DFmode)
6252 : : || !nonimmediate_operand (operands[1], E_DFmode)
6253 : : || !
6254 : : #line 2045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6255 : : (TARGET_AVX10_2_256))
6256 : : return -1;
6257 : : return 53; /* *cmpxudf */
6258 : :
6259 : : case E_HFmode:
6260 : : if (!register_operand (operands[0], E_HFmode)
6261 : : || !nonimmediate_operand (operands[1], E_HFmode)
6262 : : || !
6263 : : #line 2058 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6264 : : (TARGET_AVX10_2_256))
6265 : : return -1;
6266 : : return 55; /* *cmpxuhf */
6267 : :
6268 : : default:
6269 : : return -1;
6270 : : }
6271 : :
6272 : : case 2:
6273 : : if (XINT (x3, 1) != 61
6274 : : || pattern846 (x3) != 0)
6275 : : return -1;
6276 : : x8 = XVECEXP (x3, 0, 0);
6277 : : x9 = XEXP (x8, 0);
6278 : : operands[0] = x9;
6279 : : x11 = XVECEXP (x3, 0, 1);
6280 : : x12 = XEXP (x11, 0);
6281 : : operands[1] = x12;
6282 : : switch (GET_MODE (x8))
6283 : : {
6284 : : case E_HFmode:
6285 : : if (!register_operand (operands[0], E_V8HFmode)
6286 : : || GET_MODE (x11) != E_HFmode
6287 : : || !nonimmediate_operand (operands[1], E_V8HFmode)
6288 : : || !(
6289 : : #line 4854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6290 : : (TARGET_AVX10_2_256) &&
6291 : : #line 1355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6292 : : (TARGET_AVX512FP16)))
6293 : : return -1;
6294 : : return 3666; /* avx10_2_ucomxhf */
6295 : :
6296 : : case E_SFmode:
6297 : : if (!register_operand (operands[0], E_V4SFmode)
6298 : : || GET_MODE (x11) != E_SFmode
6299 : : || !nonimmediate_operand (operands[1], E_V4SFmode)
6300 : : || !
6301 : : #line 4854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6302 : : (TARGET_AVX10_2_256))
6303 : : return -1;
6304 : : return 3670; /* avx10_2_ucomxsf */
6305 : :
6306 : : case E_DFmode:
6307 : : if (!register_operand (operands[0], E_V2DFmode)
6308 : : || GET_MODE (x11) != E_DFmode
6309 : : || !nonimmediate_operand (operands[1], E_V2DFmode)
6310 : : || !
6311 : : #line 4854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6312 : : (TARGET_AVX10_2_256))
6313 : : return -1;
6314 : : return 3674; /* avx10_2_ucomxdf */
6315 : :
6316 : : default:
6317 : : return -1;
6318 : : }
6319 : :
6320 : : default:
6321 : : return -1;
6322 : : }
6323 : :
6324 : : default:
6325 : : return -1;
6326 : : }
6327 : : }
6328 : :
6329 : : int
6330 : : recog_15 (rtx x1 ATTRIBUTE_UNUSED,
6331 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6332 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6333 : : {
6334 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6335 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6336 : : rtx x10, x11;
6337 : : int res ATTRIBUTE_UNUSED;
6338 : : x2 = XEXP (x1, 1);
6339 : : switch (XVECLEN (x2, 0))
6340 : : {
6341 : : case 1:
6342 : : return recog_13 (x1, insn, pnum_clobbers);
6343 : :
6344 : : case 2:
6345 : : return recog_14 (x1, insn, pnum_clobbers);
6346 : :
6347 : : case 3:
6348 : : switch (XINT (x2, 1))
6349 : : {
6350 : : case 39:
6351 : : if (pnum_clobbers == NULL
6352 : : || GET_MODE (x2) != E_CCGZmode)
6353 : : return -1;
6354 : : x3 = XVECEXP (x2, 0, 2);
6355 : : if (GET_CODE (x3) != LTU)
6356 : : return -1;
6357 : : x4 = XEXP (x3, 0);
6358 : : if (GET_CODE (x4) != REG
6359 : : || REGNO (x4) != 17
6360 : : || GET_MODE (x4) != E_CCmode)
6361 : : return -1;
6362 : : x5 = XEXP (x3, 1);
6363 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6364 : : return -1;
6365 : : x6 = XEXP (x1, 0);
6366 : : if (GET_CODE (x6) != REG
6367 : : || REGNO (x6) != 17
6368 : : || GET_MODE (x6) != E_CCGZmode)
6369 : : return -1;
6370 : : x7 = XVECEXP (x2, 0, 0);
6371 : : operands[1] = x7;
6372 : : x8 = XVECEXP (x2, 0, 1);
6373 : : operands[2] = x8;
6374 : : switch (GET_MODE (operands[1]))
6375 : : {
6376 : : case E_SImode:
6377 : : if (!register_operand (operands[1], E_SImode)
6378 : : || !x86_64_general_operand (operands[2], E_SImode)
6379 : : || GET_MODE (x3) != E_SImode
6380 : : || !
6381 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6382 : : (!TARGET_64BIT))
6383 : : return -1;
6384 : : *pnum_clobbers = 1;
6385 : : return 521; /* subsi3_carry_ccgz */
6386 : :
6387 : : case E_DImode:
6388 : : if (!register_operand (operands[1], E_DImode)
6389 : : || !x86_64_general_operand (operands[2], E_DImode)
6390 : : || GET_MODE (x3) != E_DImode
6391 : : || !
6392 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6393 : : (TARGET_64BIT))
6394 : : return -1;
6395 : : *pnum_clobbers = 1;
6396 : : return 522; /* subdi3_carry_ccgz */
6397 : :
6398 : : default:
6399 : : return -1;
6400 : : }
6401 : :
6402 : : case 59:
6403 : : return recog_12 (x1, insn, pnum_clobbers);
6404 : :
6405 : : case 48:
6406 : : if (GET_MODE (x2) != E_HFmode)
6407 : : return -1;
6408 : : x6 = XEXP (x1, 0);
6409 : : operands[0] = x6;
6410 : : if (!nonimmediate_operand (operands[0], E_HFmode))
6411 : : return -1;
6412 : : x7 = XVECEXP (x2, 0, 0);
6413 : : operands[1] = x7;
6414 : : if (!nonimmediate_operand (operands[1], E_HFmode))
6415 : : return -1;
6416 : : x8 = XVECEXP (x2, 0, 1);
6417 : : operands[2] = x8;
6418 : : if (!nonimm_or_0_operand (operands[2], E_HFmode))
6419 : : return -1;
6420 : : x3 = XVECEXP (x2, 0, 2);
6421 : : operands[3] = x3;
6422 : : if (!register_operand (operands[3], E_QImode)
6423 : : || !
6424 : : #line 26432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6425 : : (TARGET_AVX512FP16))
6426 : : return -1;
6427 : : return 1803; /* movhf_mask */
6428 : :
6429 : : case 51:
6430 : : x6 = XEXP (x1, 0);
6431 : : operands[0] = x6;
6432 : : x7 = XVECEXP (x2, 0, 0);
6433 : : operands[1] = x7;
6434 : : x8 = XVECEXP (x2, 0, 1);
6435 : : operands[2] = x8;
6436 : : x3 = XVECEXP (x2, 0, 2);
6437 : : switch (GET_CODE (x3))
6438 : : {
6439 : : case LT:
6440 : : switch (pattern735 (x2))
6441 : : {
6442 : : case 0:
6443 : : if (
6444 : : #line 26665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6445 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
6446 : : && (rtx_equal_p (operands[1], operands[3])
6447 : : && rtx_equal_p (operands[2], operands[4]))
6448 : : && ix86_pre_reload_split ()))
6449 : : return 1821; /* *ieee_maxsf3_1 */
6450 : : if (!
6451 : : #line 26686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6452 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
6453 : : && (rtx_equal_p (operands[1], operands[4])
6454 : : && rtx_equal_p (operands[2], operands[3]))
6455 : : && ix86_pre_reload_split ()))
6456 : : return -1;
6457 : : return 1823; /* *ieee_minsf3_1 */
6458 : :
6459 : : case 1:
6460 : : if (
6461 : : #line 26665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6462 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
6463 : : && (rtx_equal_p (operands[1], operands[3])
6464 : : && rtx_equal_p (operands[2], operands[4]))
6465 : : && ix86_pre_reload_split ()))
6466 : : return 1822; /* *ieee_maxdf3_1 */
6467 : : if (!
6468 : : #line 26686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6469 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
6470 : : && (rtx_equal_p (operands[1], operands[4])
6471 : : && rtx_equal_p (operands[2], operands[3]))
6472 : : && ix86_pre_reload_split ()))
6473 : : return -1;
6474 : : return 1824; /* *ieee_mindf3_1 */
6475 : :
6476 : : default:
6477 : : return -1;
6478 : : }
6479 : :
6480 : : case REG:
6481 : : case SUBREG:
6482 : : operands[3] = x3;
6483 : : switch (GET_MODE (operands[0]))
6484 : : {
6485 : : case E_V2SFmode:
6486 : : if (pattern969 (x2,
6487 : : E_V2SFmode) == 0
6488 : : &&
6489 : : #line 1317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6490 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6491 : : return 2069; /* mmx_blendvps */
6492 : : break;
6493 : :
6494 : : case E_V8QImode:
6495 : : if (pattern969 (x2,
6496 : : E_V8QImode) == 0
6497 : : &&
6498 : : #line 4314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6499 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6500 : : return 2235; /* mmx_pblendvb_v8qi */
6501 : : break;
6502 : :
6503 : : case E_V4QImode:
6504 : : if (pattern969 (x2,
6505 : : E_V4QImode) == 0
6506 : : &&
6507 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6508 : : (TARGET_SSE4_1))
6509 : : return 2239; /* mmx_pblendvb_v4qi */
6510 : : break;
6511 : :
6512 : : case E_V2QImode:
6513 : : if (pattern969 (x2,
6514 : : E_V2QImode) == 0
6515 : : &&
6516 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6517 : : (TARGET_SSE4_1))
6518 : : return 2240; /* mmx_pblendvb_v2qi */
6519 : : break;
6520 : :
6521 : : case E_V2HImode:
6522 : : if (pattern969 (x2,
6523 : : E_V2HImode) == 0
6524 : : &&
6525 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6526 : : (TARGET_SSE4_1))
6527 : : return 2241; /* mmx_pblendvb_v2hi */
6528 : : break;
6529 : :
6530 : : case E_SFmode:
6531 : : if (pattern969 (x2,
6532 : : E_SFmode) == 0
6533 : : &&
6534 : : #line 23544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6535 : : (TARGET_SSE4_1))
6536 : : return 8684; /* sse4_1_blendvss */
6537 : : break;
6538 : :
6539 : : case E_DFmode:
6540 : : if (pattern969 (x2,
6541 : : E_DFmode) == 0
6542 : : &&
6543 : : #line 23544 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6544 : : (TARGET_SSE4_1))
6545 : : return 8685; /* sse4_1_blendvsd */
6546 : : break;
6547 : :
6548 : : default:
6549 : : break;
6550 : : }
6551 : : if (GET_CODE (x3) != SUBREG)
6552 : : return -1;
6553 : : switch (pattern848 (x2))
6554 : : {
6555 : : case 0:
6556 : : if (!
6557 : : #line 4366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6558 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
6559 : : return -1;
6560 : : return 2237; /* *mmx_pblendvb_v8qi_2 */
6561 : :
6562 : : case 1:
6563 : : if (!
6564 : : #line 4366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6565 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
6566 : : return -1;
6567 : : return 2238; /* *mmx_pblendvb_v8qi_2 */
6568 : :
6569 : : case 2:
6570 : : if (!
6571 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6572 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
6573 : : return -1;
6574 : : return 2245; /* *mmx_pblendvb_v4qi_2 */
6575 : :
6576 : : default:
6577 : : return -1;
6578 : : }
6579 : :
6580 : : case EQ:
6581 : : switch (pattern737 (x2))
6582 : : {
6583 : : case 0:
6584 : : if (!
6585 : : #line 4338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6586 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
6587 : : return -1;
6588 : : return 2236; /* *mmx_pblendvb_v8qi_1 */
6589 : :
6590 : : case 1:
6591 : : if (!
6592 : : #line 4414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6593 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
6594 : : return -1;
6595 : : return 2242; /* *mmx_pblendvb_v4qi_1 */
6596 : :
6597 : : case 2:
6598 : : if (!
6599 : : #line 4414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6600 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
6601 : : return -1;
6602 : : return 2243; /* *mmx_pblendvb_v2qi_1 */
6603 : :
6604 : : case 3:
6605 : : if (!
6606 : : #line 4414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6607 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
6608 : : return -1;
6609 : : return 2244; /* *mmx_pblendvb_v2hi_1 */
6610 : :
6611 : : default:
6612 : : return -1;
6613 : : }
6614 : :
6615 : : default:
6616 : : return -1;
6617 : : }
6618 : :
6619 : : case 50:
6620 : : x6 = XEXP (x1, 0);
6621 : : operands[0] = x6;
6622 : : x7 = XVECEXP (x2, 0, 0);
6623 : : operands[2] = x7;
6624 : : x8 = XVECEXP (x2, 0, 1);
6625 : : operands[1] = x8;
6626 : : x3 = XVECEXP (x2, 0, 2);
6627 : : operands[3] = x3;
6628 : : if (!const_0_to_255_operand (operands[3], E_SImode))
6629 : : return -1;
6630 : : switch (GET_MODE (operands[0]))
6631 : : {
6632 : : case E_V2SFmode:
6633 : : if (pattern970 (x2,
6634 : : E_V2SFmode) != 0
6635 : : || !
6636 : : #line 1261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6637 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6638 : : return -1;
6639 : : return 2066; /* sse4_1_insertps_v2sf */
6640 : :
6641 : : case E_V2SImode:
6642 : : if (pattern970 (x2,
6643 : : E_V2SImode) != 0
6644 : : || !
6645 : : #line 1261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6646 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6647 : : return -1;
6648 : : return 2067; /* sse4_1_insertps_v2si */
6649 : :
6650 : : default:
6651 : : return -1;
6652 : : }
6653 : :
6654 : : case 53:
6655 : : x6 = XEXP (x1, 0);
6656 : : operands[0] = x6;
6657 : : x7 = XVECEXP (x2, 0, 0);
6658 : : operands[1] = x7;
6659 : : x8 = XVECEXP (x2, 0, 1);
6660 : : operands[2] = x8;
6661 : : x3 = XVECEXP (x2, 0, 2);
6662 : : operands[3] = x3;
6663 : : if (!nonimmediate_operand (operands[3], E_V16QImode))
6664 : : return -1;
6665 : : switch (GET_MODE (operands[0]))
6666 : : {
6667 : : case E_V8QImode:
6668 : : if (pattern971 (x2,
6669 : : E_V8QImode) != 0
6670 : : || !
6671 : : #line 4512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6672 : : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6673 : : return -1;
6674 : : return 2257; /* mmx_ppermv64 */
6675 : :
6676 : : case E_V4QImode:
6677 : : if (pattern971 (x2,
6678 : : E_V4QImode) != 0
6679 : : || !
6680 : : #line 4524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6681 : : (TARGET_XOP))
6682 : : return -1;
6683 : : return 2258; /* mmx_ppermv32 */
6684 : :
6685 : : default:
6686 : : return -1;
6687 : : }
6688 : :
6689 : : case 47:
6690 : : if (GET_MODE (x2) != E_V8QImode)
6691 : : return -1;
6692 : : x3 = XVECEXP (x2, 0, 2);
6693 : : if (GET_CODE (x3) != MEM
6694 : : || GET_MODE (x3) != E_V8QImode)
6695 : : return -1;
6696 : : x6 = XEXP (x1, 0);
6697 : : if (GET_CODE (x6) != MEM
6698 : : || GET_MODE (x6) != E_V8QImode)
6699 : : return -1;
6700 : : x9 = XEXP (x6, 0);
6701 : : operands[0] = x9;
6702 : : x7 = XVECEXP (x2, 0, 0);
6703 : : operands[1] = x7;
6704 : : switch (pattern1068 (x2,
6705 : : E_V8QImode))
6706 : : {
6707 : : case 0:
6708 : : if (!(
6709 : : #line 6860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6710 : : (TARGET_SSE || TARGET_3DNOW_A) &&
6711 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6712 : : (Pmode == SImode)))
6713 : : return -1;
6714 : : return 2379; /* *mmx_maskmovq */
6715 : :
6716 : : case 1:
6717 : : if (!(
6718 : : #line 6860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6719 : : (TARGET_SSE || TARGET_3DNOW_A) &&
6720 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6721 : : (Pmode == DImode)))
6722 : : return -1;
6723 : : return 2380; /* *mmx_maskmovq */
6724 : :
6725 : : default:
6726 : : return -1;
6727 : : }
6728 : :
6729 : : case 157:
6730 : : x6 = XEXP (x1, 0);
6731 : : operands[0] = x6;
6732 : : x7 = XVECEXP (x2, 0, 0);
6733 : : switch (GET_CODE (x7))
6734 : : {
6735 : : case CONST_INT:
6736 : : case CONST_DOUBLE:
6737 : : case CONST_VECTOR:
6738 : : case REG:
6739 : : case SUBREG:
6740 : : case MEM:
6741 : : operands[1] = x7;
6742 : : x3 = XVECEXP (x2, 0, 2);
6743 : : if (GET_CODE (x3) != CONST_INT)
6744 : : return -1;
6745 : : x8 = XVECEXP (x2, 0, 1);
6746 : : operands[2] = x8;
6747 : : if (XWINT (x3, 0) == 0L)
6748 : : {
6749 : : switch (pattern968 (x2))
6750 : : {
6751 : : case 0:
6752 : : if ((
6753 : : #line 4582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6754 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6755 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6756 : : (TARGET_AVX512VL)))
6757 : : return 3496; /* *avx512vl_eqv16qi3_1 */
6758 : : break;
6759 : :
6760 : : case 1:
6761 : : if ((
6762 : : #line 4582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6763 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6764 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6765 : : (TARGET_AVX512VL)))
6766 : : return 3508; /* *avx512vl_eqv16hi3_1 */
6767 : : break;
6768 : :
6769 : : case 2:
6770 : : if ((
6771 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6772 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6773 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6774 : : (TARGET_EVEX512)))
6775 : : return 3564; /* *avx512f_eqv16si3_1 */
6776 : : break;
6777 : :
6778 : : case 3:
6779 : : if ((
6780 : : #line 4582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6781 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6782 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6783 : : (TARGET_AVX512VL)))
6784 : : return 3512; /* *avx512vl_eqv8hi3_1 */
6785 : : break;
6786 : :
6787 : : case 4:
6788 : : if ((
6789 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6790 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6791 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6792 : : (TARGET_AVX512VL)))
6793 : : return 3568; /* *avx512vl_eqv8si3_1 */
6794 : : break;
6795 : :
6796 : : case 5:
6797 : : if ((
6798 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6799 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6800 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6801 : : (TARGET_AVX512VL)))
6802 : : return 3572; /* *avx512vl_eqv4si3_1 */
6803 : : break;
6804 : :
6805 : : case 6:
6806 : : if ((
6807 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6808 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6809 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6810 : : (TARGET_EVEX512)))
6811 : : return 3576; /* *avx512f_eqv8di3_1 */
6812 : : break;
6813 : :
6814 : : case 7:
6815 : : if ((
6816 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6817 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6818 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6819 : : (TARGET_AVX512VL)))
6820 : : return 3580; /* *avx512vl_eqv4di3_1 */
6821 : : break;
6822 : :
6823 : : case 8:
6824 : : if ((
6825 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6826 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6827 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6828 : : (TARGET_AVX512VL)))
6829 : : return 3584; /* *avx512vl_eqv2di3_1 */
6830 : : break;
6831 : :
6832 : : default:
6833 : : break;
6834 : : }
6835 : : }
6836 : : operands[3] = x3;
6837 : : if (!const_0_to_7_operand (operands[3], E_SImode))
6838 : : return -1;
6839 : : switch (pattern66 (x2))
6840 : : {
6841 : : case 0:
6842 : : if (!(
6843 : : #line 4597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6844 : : (TARGET_AVX512BW) &&
6845 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6846 : : (TARGET_AVX512VL)))
6847 : : return -1;
6848 : : return 3516; /* avx512vl_ucmpv16qi3 */
6849 : :
6850 : : case 1:
6851 : : if (!(
6852 : : #line 4597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6853 : : (TARGET_AVX512BW) &&
6854 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6855 : : (TARGET_AVX512VL)))
6856 : : return -1;
6857 : : return 3522; /* avx512vl_ucmpv16hi3 */
6858 : :
6859 : : case 2:
6860 : : if (!(
6861 : : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6862 : : (TARGET_AVX512F) &&
6863 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6864 : : (TARGET_EVEX512)))
6865 : : return -1;
6866 : : return 3586; /* avx512f_ucmpv16si3 */
6867 : :
6868 : : case 3:
6869 : : if (!(
6870 : : #line 4597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6871 : : (TARGET_AVX512BW) &&
6872 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6873 : : (TARGET_AVX512VL)))
6874 : : return -1;
6875 : : return 3524; /* avx512vl_ucmpv8hi3 */
6876 : :
6877 : : case 4:
6878 : : if (!(
6879 : : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6880 : : (TARGET_AVX512F) &&
6881 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6882 : : (TARGET_AVX512VL)))
6883 : : return -1;
6884 : : return 3588; /* avx512vl_ucmpv8si3 */
6885 : :
6886 : : case 5:
6887 : : if (!(
6888 : : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6889 : : (TARGET_AVX512F) &&
6890 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6891 : : (TARGET_AVX512VL)))
6892 : : return -1;
6893 : : return 3590; /* avx512vl_ucmpv4si3 */
6894 : :
6895 : : case 6:
6896 : : if (!(
6897 : : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6898 : : (TARGET_AVX512F) &&
6899 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6900 : : (TARGET_EVEX512)))
6901 : : return -1;
6902 : : return 3592; /* avx512f_ucmpv8di3 */
6903 : :
6904 : : case 7:
6905 : : if (!(
6906 : : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6907 : : (TARGET_AVX512F) &&
6908 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6909 : : (TARGET_AVX512VL)))
6910 : : return -1;
6911 : : return 3594; /* avx512vl_ucmpv4di3 */
6912 : :
6913 : : case 8:
6914 : : if (!(
6915 : : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6916 : : (TARGET_AVX512F) &&
6917 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6918 : : (TARGET_AVX512VL)))
6919 : : return -1;
6920 : : return 3596; /* avx512vl_ucmpv2di3 */
6921 : :
6922 : : default:
6923 : : return -1;
6924 : : }
6925 : :
6926 : : case US_MINUS:
6927 : : switch (pattern419 (x2))
6928 : : {
6929 : : case 0:
6930 : : if (!(
6931 : : #line 4789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6932 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6933 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
6934 : : && (INTVAL (operands[4]) & 1) == 0) &&
6935 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6936 : : (TARGET_AVX512VL)))
6937 : : return -1;
6938 : : return 3643; /* *avx512vl_ucmpv16qi3_1 */
6939 : :
6940 : : case 1:
6941 : : if (!(
6942 : : #line 4789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6943 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6944 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
6945 : : && (INTVAL (operands[4]) & 1) == 0) &&
6946 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6947 : : (TARGET_AVX512VL)))
6948 : : return -1;
6949 : : return 3649; /* *avx512vl_ucmpv16hi3_1 */
6950 : :
6951 : : case 2:
6952 : : if (!(
6953 : : #line 4789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6954 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6955 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
6956 : : && (INTVAL (operands[4]) & 1) == 0) &&
6957 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6958 : : (TARGET_AVX512VL)))
6959 : : return -1;
6960 : : return 3651; /* *avx512vl_ucmpv8hi3_1 */
6961 : :
6962 : : default:
6963 : : return -1;
6964 : : }
6965 : :
6966 : : default:
6967 : : return -1;
6968 : : }
6969 : :
6970 : : case 52:
6971 : : if (pattern58 (x1, pnum_clobbers,
6972 : : E_V8QImode) != 0)
6973 : : return -1;
6974 : : x8 = XVECEXP (x2, 0, 1);
6975 : : operands[2] = x8;
6976 : : if (!register_mmxmem_operand (operands[2], E_V8QImode))
6977 : : return -1;
6978 : : x3 = XVECEXP (x2, 0, 2);
6979 : : operands[4] = x3;
6980 : : if (!reg_or_const_vector_operand (operands[4], E_V4SImode)
6981 : : || !
6982 : : #line 23150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6983 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
6984 : : return -1;
6985 : : *pnum_clobbers = 1;
6986 : : return 8627; /* *ssse3_pshufbv8qi3 */
6987 : :
6988 : : case 132:
6989 : : if (pnum_clobbers == NULL
6990 : : || pattern247 (x1) != 0
6991 : : || !nonimmediate_operand (operands[3], E_V16QImode))
6992 : : return -1;
6993 : : x3 = XVECEXP (x2, 0, 2);
6994 : : operands[4] = x3;
6995 : : if (!const_0_to_255_operand (operands[4], E_SImode)
6996 : : || !
6997 : : #line 26070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6998 : : (TARGET_SSE4_2))
6999 : : return -1;
7000 : : *pnum_clobbers = 2;
7001 : : return 8981; /* sse4_2_pcmpistr_cconly */
7002 : :
7003 : : default:
7004 : : return -1;
7005 : : }
7006 : :
7007 : : case 5:
7008 : : if (pnum_clobbers == NULL
7009 : : || XINT (x2, 1) != 131
7010 : : || pattern247 (x1) != 0
7011 : : || !register_operand (operands[3], E_SImode))
7012 : : return -1;
7013 : : x3 = XVECEXP (x2, 0, 2);
7014 : : operands[4] = x3;
7015 : : if (!nonimmediate_operand (operands[4], E_V16QImode))
7016 : : return -1;
7017 : : x10 = XVECEXP (x2, 0, 3);
7018 : : operands[5] = x10;
7019 : : if (!register_operand (operands[5], E_SImode))
7020 : : return -1;
7021 : : x11 = XVECEXP (x2, 0, 4);
7022 : : operands[6] = x11;
7023 : : if (!const_0_to_255_operand (operands[6], E_SImode)
7024 : : || !
7025 : : #line 25945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7026 : : (TARGET_SSE4_2))
7027 : : return -1;
7028 : : *pnum_clobbers = 2;
7029 : : return 8977; /* sse4_2_pcmpestr_cconly */
7030 : :
7031 : : default:
7032 : : return -1;
7033 : : }
7034 : : }
7035 : :
7036 : : int
7037 : : recog_30 (rtx x1 ATTRIBUTE_UNUSED,
7038 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7039 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7040 : : {
7041 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7042 : : rtx x2, x3, x4;
7043 : : int res ATTRIBUTE_UNUSED;
7044 : : x2 = XEXP (x1, 0);
7045 : : operands[0] = x2;
7046 : : x3 = XEXP (x1, 1);
7047 : : x4 = XEXP (x3, 0);
7048 : : operands[1] = x4;
7049 : : switch (GET_MODE (operands[0]))
7050 : : {
7051 : : case E_SFmode:
7052 : : if (GET_MODE (x3) != E_SFmode)
7053 : : return -1;
7054 : : if (nonimm_ssenomem_operand (operands[0], E_SFmode)
7055 : : && register_ssemem_operand (operands[1], E_DFmode)
7056 : : &&
7057 : : #line 5530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7058 : : (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)))
7059 : : return 206; /* truncdfsf2 */
7060 : : if (!nonimmediate_operand (operands[0], E_SFmode)
7061 : : || !register_operand (operands[1], E_XFmode)
7062 : : || !
7063 : : #line 5658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7064 : : (TARGET_80387))
7065 : : return -1;
7066 : : return 207; /* truncxfsf2 */
7067 : :
7068 : : case E_DFmode:
7069 : : if (!nonimmediate_operand (operands[0], E_DFmode)
7070 : : || GET_MODE (x3) != E_DFmode
7071 : : || !register_operand (operands[1], E_XFmode)
7072 : : || !
7073 : : #line 5658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7074 : : (TARGET_80387))
7075 : : return -1;
7076 : : return 208; /* truncxfdf2 */
7077 : :
7078 : : case E_HFmode:
7079 : : if (!register_operand (operands[0], E_HFmode))
7080 : : return -1;
7081 : : switch (pattern424 (x3,
7082 : : E_HFmode))
7083 : : {
7084 : : case 0:
7085 : : if (!
7086 : : #line 5699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7087 : : (TARGET_AVX512FP16))
7088 : : return -1;
7089 : : return 209; /* *truncsfhf2 */
7090 : :
7091 : : case 1:
7092 : : if (!
7093 : : #line 5699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7094 : : (TARGET_AVX512FP16))
7095 : : return -1;
7096 : : return 210; /* *truncdfhf2 */
7097 : :
7098 : : default:
7099 : : return -1;
7100 : : }
7101 : :
7102 : : case E_BFmode:
7103 : : if (!register_operand (operands[0], E_BFmode)
7104 : : || GET_MODE (x3) != E_BFmode
7105 : : || !register_operand (operands[1], E_SFmode)
7106 : : || !
7107 : : #line 5715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7108 : : (TARGET_SSE2 && !HONOR_NANS (BFmode) && !flag_rounding_math
7109 : : && (flag_unsafe_math_optimizations
7110 : : || TARGET_AVXNECONVERT
7111 : : || (TARGET_AVX512BF16 && TARGET_AVX512VL))))
7112 : : return -1;
7113 : : return 211; /* truncsfbf2 */
7114 : :
7115 : : case E_V2SFmode:
7116 : : if (!register_operand (operands[0], E_V2SFmode)
7117 : : || GET_MODE (x3) != E_V2SFmode
7118 : : || !vector_operand (operands[1], E_V2DFmode)
7119 : : || !
7120 : : #line 10152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7121 : : (TARGET_MMX_WITH_SSE))
7122 : : return -1;
7123 : : return 5180; /* truncv2dfv2sf2 */
7124 : :
7125 : : default:
7126 : : return -1;
7127 : : }
7128 : : }
7129 : :
7130 : : int
7131 : : recog_35 (rtx x1 ATTRIBUTE_UNUSED,
7132 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7133 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7134 : : {
7135 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7136 : : rtx x2;
7137 : : int res ATTRIBUTE_UNUSED;
7138 : : switch (pattern81 (x1, pnum_clobbers))
7139 : : {
7140 : : case 0:
7141 : : switch (GET_MODE (operands[0]))
7142 : : {
7143 : : case E_TImode:
7144 : : x2 = XEXP (x1, 1);
7145 : : if (pattern72 (x2, pnum_clobbers) != 0
7146 : : || !(
7147 : : #line 12501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7148 : : (ix86_binary_operator_ok (AND, TImode, operands, TARGET_APX_NDD)) &&
7149 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7150 : : (TARGET_64BIT)))
7151 : : return -1;
7152 : : *pnum_clobbers = 1;
7153 : : return 704; /* *andti3_doubleword */
7154 : :
7155 : : case E_HImode:
7156 : : x2 = XEXP (x1, 1);
7157 : : if (pattern73 (x2,
7158 : : E_HImode) != 0)
7159 : : return -1;
7160 : : if (
7161 : : #line 12671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7162 : : (ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)
7163 : : && TARGET_APX_NF))
7164 : : return 719; /* *andhi_1_nf */
7165 : : if (pnum_clobbers == NULL
7166 : : || !
7167 : : #line 12671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7168 : : (ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)
7169 : : && true))
7170 : : return -1;
7171 : : *pnum_clobbers = 1;
7172 : : return 720; /* *andhi_1 */
7173 : :
7174 : : case E_QImode:
7175 : : x2 = XEXP (x1, 1);
7176 : : if (pattern73 (x2,
7177 : : E_QImode) != 0)
7178 : : return -1;
7179 : : if (
7180 : : #line 12709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7181 : : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
7182 : : && TARGET_APX_NF))
7183 : : return 723; /* *andqi_1_nf */
7184 : : if (pnum_clobbers == NULL
7185 : : || !
7186 : : #line 12709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7187 : : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
7188 : : && true))
7189 : : return -1;
7190 : : *pnum_clobbers = 1;
7191 : : return 724; /* *andqi_1 */
7192 : :
7193 : : case E_V2SFmode:
7194 : : x2 = XEXP (x1, 1);
7195 : : if (pattern7 (x2,
7196 : : E_V2SFmode) != 0
7197 : : || !
7198 : : #line 1357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7199 : : (TARGET_MMX_WITH_SSE))
7200 : : return -1;
7201 : : return 2071; /* andv2sf3 */
7202 : :
7203 : : case E_V2BFmode:
7204 : : x2 = XEXP (x1, 1);
7205 : : if (pattern7 (x2,
7206 : : E_V2BFmode) != 0
7207 : : || !
7208 : : #line 2582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7209 : : (TARGET_SSE))
7210 : : return -1;
7211 : : return 2105; /* andv2bf3 */
7212 : :
7213 : : case E_V4BFmode:
7214 : : x2 = XEXP (x1, 1);
7215 : : if (pattern7 (x2,
7216 : : E_V4BFmode) != 0
7217 : : || !(
7218 : : #line 2582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7219 : : (TARGET_SSE) &&
7220 : : #line 2224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7221 : : (TARGET_MMX_WITH_SSE)))
7222 : : return -1;
7223 : : return 2108; /* andv4bf3 */
7224 : :
7225 : : case E_V2HFmode:
7226 : : x2 = XEXP (x1, 1);
7227 : : if (pattern7 (x2,
7228 : : E_V2HFmode) != 0
7229 : : || !
7230 : : #line 2582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7231 : : (TARGET_SSE))
7232 : : return -1;
7233 : : return 2111; /* andv2hf3 */
7234 : :
7235 : : case E_V4HFmode:
7236 : : x2 = XEXP (x1, 1);
7237 : : if (pattern7 (x2,
7238 : : E_V4HFmode) != 0
7239 : : || !(
7240 : : #line 2582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7241 : : (TARGET_SSE) &&
7242 : : #line 2225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7243 : : (TARGET_MMX_WITH_SSE)))
7244 : : return -1;
7245 : : return 2114; /* andv4hf3 */
7246 : :
7247 : : case E_V8QImode:
7248 : : x2 = XEXP (x1, 1);
7249 : : if (pattern8 (x2,
7250 : : E_V8QImode) != 0
7251 : : || !
7252 : : #line 4687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7253 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7254 : : && ix86_binary_operator_ok (AND, V8QImode, operands)))
7255 : : return -1;
7256 : : return 2268; /* *mmx_andv8qi3 */
7257 : :
7258 : : case E_V4HImode:
7259 : : x2 = XEXP (x1, 1);
7260 : : if (pattern8 (x2,
7261 : : E_V4HImode) != 0
7262 : : || !
7263 : : #line 4687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7264 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7265 : : && ix86_binary_operator_ok (AND, V4HImode, operands)))
7266 : : return -1;
7267 : : return 2271; /* *mmx_andv4hi3 */
7268 : :
7269 : : case E_V2SImode:
7270 : : x2 = XEXP (x1, 1);
7271 : : if (pattern8 (x2,
7272 : : E_V2SImode) != 0
7273 : : || !
7274 : : #line 4687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7275 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7276 : : && ix86_binary_operator_ok (AND, V2SImode, operands)))
7277 : : return -1;
7278 : : return 2274; /* *mmx_andv2si3 */
7279 : :
7280 : : case E_V4QImode:
7281 : : x2 = XEXP (x1, 1);
7282 : : if (pattern74 (x2, pnum_clobbers,
7283 : : E_V4QImode) != 0
7284 : : || !
7285 : : #line 4713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7286 : : (ix86_binary_operator_ok (AND, V4QImode, operands)))
7287 : : return -1;
7288 : : *pnum_clobbers = 1;
7289 : : return 2277; /* *andv4qi3 */
7290 : :
7291 : : case E_V2QImode:
7292 : : x2 = XEXP (x1, 1);
7293 : : if (pattern74 (x2, pnum_clobbers,
7294 : : E_V2QImode) != 0
7295 : : || !
7296 : : #line 4713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7297 : : (ix86_binary_operator_ok (AND, V2QImode, operands)))
7298 : : return -1;
7299 : : *pnum_clobbers = 1;
7300 : : return 2280; /* *andv2qi3 */
7301 : :
7302 : : case E_V2HImode:
7303 : : x2 = XEXP (x1, 1);
7304 : : if (pattern74 (x2, pnum_clobbers,
7305 : : E_V2HImode) != 0
7306 : : || !
7307 : : #line 4713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7308 : : (ix86_binary_operator_ok (AND, V2HImode, operands)))
7309 : : return -1;
7310 : : *pnum_clobbers = 1;
7311 : : return 2283; /* *andv2hi3 */
7312 : :
7313 : : case E_BFmode:
7314 : : x2 = XEXP (x1, 1);
7315 : : if (pattern7 (x2,
7316 : : E_BFmode) != 0
7317 : : || !
7318 : : #line 5649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7319 : : (TARGET_SSE))
7320 : : return -1;
7321 : : return 3778; /* andbf3 */
7322 : :
7323 : : case E_HFmode:
7324 : : x2 = XEXP (x1, 1);
7325 : : if (pattern7 (x2,
7326 : : E_HFmode) != 0
7327 : : || !
7328 : : #line 5649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7329 : : (TARGET_SSE))
7330 : : return -1;
7331 : : return 3781; /* andhf3 */
7332 : :
7333 : : case E_SFmode:
7334 : : x2 = XEXP (x1, 1);
7335 : : if (pattern7 (x2,
7336 : : E_SFmode) != 0
7337 : : || !
7338 : : #line 5649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7339 : : (TARGET_SSE))
7340 : : return -1;
7341 : : return 3784; /* andsf3 */
7342 : :
7343 : : case E_DFmode:
7344 : : x2 = XEXP (x1, 1);
7345 : : if (pattern7 (x2,
7346 : : E_DFmode) != 0
7347 : : || !(
7348 : : #line 5649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7349 : : (TARGET_SSE) &&
7350 : : #line 1352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7351 : : (TARGET_SSE2)))
7352 : : return -1;
7353 : : return 3787; /* anddf3 */
7354 : :
7355 : : case E_TFmode:
7356 : : x2 = XEXP (x1, 1);
7357 : : if (pattern25 (x2,
7358 : : E_TFmode) != 0
7359 : : || !
7360 : : #line 5723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7361 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7362 : : return -1;
7363 : : return 3790; /* *andtf3 */
7364 : :
7365 : : default:
7366 : : return -1;
7367 : : }
7368 : :
7369 : : case 1:
7370 : : if (!
7371 : : #line 12741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7372 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7373 : : return -1;
7374 : : *pnum_clobbers = 1;
7375 : : return 725; /* *andqi_1_slp */
7376 : :
7377 : : case 2:
7378 : : if (!
7379 : : #line 12741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7380 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7381 : : return -1;
7382 : : *pnum_clobbers = 1;
7383 : : return 728; /* *andhi_1_slp */
7384 : :
7385 : : default:
7386 : : return -1;
7387 : : }
7388 : : }
7389 : :
7390 : : int
7391 : : recog_42 (rtx x1 ATTRIBUTE_UNUSED,
7392 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7393 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7394 : : {
7395 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7396 : : rtx x2, x3, x4;
7397 : : int res ATTRIBUTE_UNUSED;
7398 : : x2 = XEXP (x1, 1);
7399 : : x3 = XEXP (x2, 0);
7400 : : switch (GET_CODE (x3))
7401 : : {
7402 : : case CONST_INT:
7403 : : case REG:
7404 : : case SUBREG:
7405 : : case MEM:
7406 : : operands[1] = x3;
7407 : : x4 = XEXP (x2, 1);
7408 : : switch (GET_CODE (x4))
7409 : : {
7410 : : case CONST_INT:
7411 : : case CONST_WIDE_INT:
7412 : : case CONST_POLY_INT:
7413 : : case CONST_FIXED:
7414 : : case CONST_DOUBLE:
7415 : : case CONST_VECTOR:
7416 : : case CONST:
7417 : : case REG:
7418 : : case SUBREG:
7419 : : case LABEL_REF:
7420 : : case SYMBOL_REF:
7421 : : case HIGH:
7422 : : if (pnum_clobbers != NULL
7423 : : && GET_CODE (x4) == SUBREG
7424 : : && pattern422 (x1,
7425 : : E_TImode) == 0
7426 : : && (
7427 : : #line 15203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7428 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7429 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7430 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7431 : : && ix86_pre_reload_split ()) &&
7432 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7433 : : (TARGET_64BIT)))
7434 : : {
7435 : : *pnum_clobbers = 1;
7436 : : return 1053; /* *ashlti3_doubleword_mask */
7437 : : }
7438 : : operands[2] = x4;
7439 : : switch (pattern254 (x1, pnum_clobbers))
7440 : : {
7441 : : case 0:
7442 : : switch (GET_MODE (operands[0]))
7443 : : {
7444 : : case E_TImode:
7445 : : if (pnum_clobbers == NULL
7446 : : || !register_operand (operands[0], E_TImode)
7447 : : || GET_MODE (x2) != E_TImode
7448 : : || !reg_or_pm1_operand (operands[1], E_TImode)
7449 : : || !nonmemory_operand (operands[2], E_QImode)
7450 : : || !
7451 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7452 : : (TARGET_64BIT))
7453 : : return -1;
7454 : : *pnum_clobbers = 1;
7455 : : return 1057; /* ashlti3_doubleword */
7456 : :
7457 : : case E_HImode:
7458 : : if (pattern624 (x2,
7459 : : E_HImode) != 0)
7460 : : return -1;
7461 : : if (
7462 : : #line 16105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7463 : : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
7464 : : && TARGET_APX_NF))
7465 : : return 1104; /* *ashlhi3_1_nf */
7466 : : if (pnum_clobbers == NULL
7467 : : || !
7468 : : #line 16105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7469 : : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
7470 : : && true))
7471 : : return -1;
7472 : : *pnum_clobbers = 1;
7473 : : return 1105; /* *ashlhi3_1 */
7474 : :
7475 : : case E_QImode:
7476 : : if (pattern624 (x2,
7477 : : E_QImode) != 0)
7478 : : return -1;
7479 : : if (
7480 : : #line 16164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7481 : : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
7482 : : && TARGET_APX_NF))
7483 : : return 1106; /* *ashlqi3_1_nf */
7484 : : if (pnum_clobbers == NULL
7485 : : || !
7486 : : #line 16164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7487 : : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
7488 : : && true))
7489 : : return -1;
7490 : : *pnum_clobbers = 1;
7491 : : return 1107; /* *ashlqi3_1 */
7492 : :
7493 : : case E_V4HImode:
7494 : : if (pattern738 (x2,
7495 : : E_V4HImode,
7496 : : E_DImode) != 0
7497 : : || !
7498 : : #line 3891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7499 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7500 : : return -1;
7501 : : return 2196; /* mmx_ashlv4hi3 */
7502 : :
7503 : : case E_V2SImode:
7504 : : if (pattern738 (x2,
7505 : : E_V2SImode,
7506 : : E_DImode) != 0
7507 : : || !
7508 : : #line 3891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7509 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7510 : : return -1;
7511 : : return 2198; /* mmx_ashlv2si3 */
7512 : :
7513 : : case E_V1DImode:
7514 : : if (pattern738 (x2,
7515 : : E_V1DImode,
7516 : : E_DImode) != 0
7517 : : || !
7518 : : #line 3891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7519 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7520 : : return -1;
7521 : : return 2200; /* mmx_ashlv1di3 */
7522 : :
7523 : : case E_V1SImode:
7524 : : if (pattern738 (x2,
7525 : : E_V1SImode,
7526 : : E_DImode) != 0
7527 : : || !
7528 : : #line 3928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7529 : : (TARGET_SSE2))
7530 : : return -1;
7531 : : return 2202; /* mmx_ashlv1si3 */
7532 : :
7533 : : case E_V2HImode:
7534 : : if (pattern738 (x2,
7535 : : E_V2HImode,
7536 : : E_DImode) != 0
7537 : : || !
7538 : : #line 3945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7539 : : (TARGET_SSE2))
7540 : : return -1;
7541 : : return 2204; /* ashlv2hi3 */
7542 : :
7543 : : case E_V2QImode:
7544 : : if (pnum_clobbers == NULL
7545 : : || pattern738 (x2,
7546 : : E_V2QImode,
7547 : : E_QImode) != 0
7548 : : || !
7549 : : #line 4007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7550 : : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7551 : : return -1;
7552 : : *pnum_clobbers = 1;
7553 : : return 2208; /* ashlv2qi3 */
7554 : :
7555 : : default:
7556 : : return -1;
7557 : : }
7558 : :
7559 : : case 1:
7560 : : if (!
7561 : : #line 16243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7562 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7563 : : return -1;
7564 : : *pnum_clobbers = 1;
7565 : : return 1108; /* *ashlqi3_1_slp */
7566 : :
7567 : : case 2:
7568 : : if (!
7569 : : #line 16243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7570 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7571 : : return -1;
7572 : : *pnum_clobbers = 1;
7573 : : return 1109; /* *ashlhi3_1_slp */
7574 : :
7575 : : default:
7576 : : return -1;
7577 : : }
7578 : :
7579 : : case AND:
7580 : : if (pattern0 (x1, pnum_clobbers) != 0
7581 : : || !(
7582 : : #line 15264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7583 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7584 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7585 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7586 : : && ix86_pre_reload_split ()) &&
7587 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7588 : : (TARGET_64BIT)))
7589 : : return -1;
7590 : : *pnum_clobbers = 1;
7591 : : return 1055; /* *ashlti3_doubleword_mask_1 */
7592 : :
7593 : : default:
7594 : : return -1;
7595 : : }
7596 : :
7597 : : case SIGN_EXTEND:
7598 : : if (pattern42 (x1, pnum_clobbers) != 0
7599 : : || !(
7600 : : #line 15365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7601 : : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
7602 : : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
7603 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7604 : : (TARGET_64BIT)))
7605 : : return -1;
7606 : : *pnum_clobbers = 1;
7607 : : return 1060; /* *ashlti3_doubleword_highpart */
7608 : :
7609 : : case ZERO_EXTEND:
7610 : : if (pattern42 (x1, pnum_clobbers) != 0
7611 : : || !(
7612 : : #line 15365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7613 : : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
7614 : : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
7615 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7616 : : (TARGET_64BIT)))
7617 : : return -1;
7618 : : *pnum_clobbers = 1;
7619 : : return 1061; /* *ashlti3_doubleword_highpart */
7620 : :
7621 : : default:
7622 : : return -1;
7623 : : }
7624 : : }
7625 : :
7626 : : int
7627 : : recog_48 (rtx x1 ATTRIBUTE_UNUSED,
7628 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7629 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7630 : : {
7631 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7632 : : rtx x2, x3, x4, x5;
7633 : : int res ATTRIBUTE_UNUSED;
7634 : : x2 = XEXP (x1, 0);
7635 : : operands[0] = x2;
7636 : : x3 = XEXP (x1, 1);
7637 : : switch (GET_CODE (x3))
7638 : : {
7639 : : case NE:
7640 : : case EQ:
7641 : : case GE:
7642 : : case GT:
7643 : : case LE:
7644 : : case LT:
7645 : : res = recog_47 (x1, insn, pnum_clobbers);
7646 : : if (res >= 0)
7647 : : return res;
7648 : : break;
7649 : :
7650 : : default:
7651 : : break;
7652 : : }
7653 : : operands[3] = x3;
7654 : : x4 = XEXP (x3, 0);
7655 : : operands[1] = x4;
7656 : : x5 = XEXP (x3, 1);
7657 : : operands[2] = x5;
7658 : : switch (GET_MODE (operands[0]))
7659 : : {
7660 : : case E_SFmode:
7661 : : if (pattern744 (
7662 : : E_SFmode) != 0
7663 : : || !
7664 : : #line 19696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7665 : : (SSE_FLOAT_MODE_P (SFmode)))
7666 : : return -1;
7667 : : return 1455; /* setcc_sf_sse */
7668 : :
7669 : : case E_DFmode:
7670 : : if (pattern744 (
7671 : : E_DFmode) != 0
7672 : : || !
7673 : : #line 19696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7674 : : (SSE_FLOAT_MODE_P (DFmode)))
7675 : : return -1;
7676 : : return 1456; /* setcc_df_sse */
7677 : :
7678 : : default:
7679 : : return -1;
7680 : : }
7681 : : }
7682 : :
7683 : : int
7684 : : recog_51 (rtx x1 ATTRIBUTE_UNUSED,
7685 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7686 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7687 : : {
7688 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7689 : : rtx x2, x3, x4;
7690 : : int res ATTRIBUTE_UNUSED;
7691 : : x2 = XEXP (x1, 0);
7692 : : operands[0] = x2;
7693 : : x3 = XEXP (x1, 1);
7694 : : x4 = XEXP (x3, 0);
7695 : : operands[1] = x4;
7696 : : switch (GET_MODE (operands[0]))
7697 : : {
7698 : : case E_HImode:
7699 : : if (!register_operand (operands[0], E_HImode)
7700 : : || GET_MODE (x3) != E_HImode
7701 : : || !nonimmediate_operand (operands[1], E_HImode))
7702 : : return -1;
7703 : : if (
7704 : : #line 22395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7705 : : (TARGET_POPCNT && TARGET_APX_NF))
7706 : : return 1632; /* popcounthi2_nf */
7707 : : if (pnum_clobbers == NULL
7708 : : || !
7709 : : #line 22395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7710 : : (TARGET_POPCNT && true))
7711 : : return -1;
7712 : : *pnum_clobbers = 1;
7713 : : return 1633; /* popcounthi2 */
7714 : :
7715 : : case E_V8QImode:
7716 : : if (!register_operand (operands[0], E_V8QImode)
7717 : : || GET_MODE (x3) != E_V8QImode
7718 : : || !register_operand (operands[1], E_V8QImode)
7719 : : || !(
7720 : : #line 6931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7721 : : (TARGET_AVX512VL && TARGET_AVX512BITALG) &&
7722 : : #line 76 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7723 : : (TARGET_MMX_WITH_SSE)))
7724 : : return -1;
7725 : : return 2383; /* popcountv8qi2 */
7726 : :
7727 : : case E_V4QImode:
7728 : : if (!register_operand (operands[0], E_V4QImode)
7729 : : || GET_MODE (x3) != E_V4QImode
7730 : : || !register_operand (operands[1], E_V4QImode)
7731 : : || !
7732 : : #line 6931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7733 : : (TARGET_AVX512VL && TARGET_AVX512BITALG))
7734 : : return -1;
7735 : : return 2384; /* popcountv4qi2 */
7736 : :
7737 : : case E_V2QImode:
7738 : : if (!register_operand (operands[0], E_V2QImode)
7739 : : || GET_MODE (x3) != E_V2QImode
7740 : : || !register_operand (operands[1], E_V2QImode)
7741 : : || !
7742 : : #line 6931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7743 : : (TARGET_AVX512VL && TARGET_AVX512BITALG))
7744 : : return -1;
7745 : : return 2385; /* popcountv2qi2 */
7746 : :
7747 : : case E_V4HImode:
7748 : : if (!register_operand (operands[0], E_V4HImode)
7749 : : || GET_MODE (x3) != E_V4HImode
7750 : : || !register_operand (operands[1], E_V4HImode)
7751 : : || !(
7752 : : #line 6938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7753 : : (TARGET_AVX512VL && TARGET_AVX512BITALG) &&
7754 : : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7755 : : (TARGET_MMX_WITH_SSE)))
7756 : : return -1;
7757 : : return 2386; /* popcountv4hi2 */
7758 : :
7759 : : case E_V2HImode:
7760 : : if (!register_operand (operands[0], E_V2HImode)
7761 : : || GET_MODE (x3) != E_V2HImode
7762 : : || !register_operand (operands[1], E_V2HImode)
7763 : : || !
7764 : : #line 6938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7765 : : (TARGET_AVX512VL && TARGET_AVX512BITALG))
7766 : : return -1;
7767 : : return 2387; /* popcountv2hi2 */
7768 : :
7769 : : case E_V2SImode:
7770 : : if (!register_operand (operands[0], E_V2SImode)
7771 : : || GET_MODE (x3) != E_V2SImode
7772 : : || !register_operand (operands[1], E_V2SImode)
7773 : : || !
7774 : : #line 6945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7775 : : (TARGET_AVX512VPOPCNTDQ && TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
7776 : : return -1;
7777 : : return 2388; /* popcountv2si2 */
7778 : :
7779 : : default:
7780 : : return -1;
7781 : : }
7782 : : }
7783 : :
7784 : : int
7785 : : recog_59 (rtx x1 ATTRIBUTE_UNUSED,
7786 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7787 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7788 : : {
7789 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7790 : : rtx x2, x3, x4, x5, x6;
7791 : : int res ATTRIBUTE_UNUSED;
7792 : : x2 = XEXP (x1, 1);
7793 : : switch (XVECLEN (x2, 0))
7794 : : {
7795 : : case 1:
7796 : : switch (XINT (x2, 1))
7797 : : {
7798 : : case 20:
7799 : : if (GET_MODE (x2) != E_BLKmode)
7800 : : return -1;
7801 : : x3 = XVECEXP (x2, 0, 0);
7802 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7803 : : return -1;
7804 : : x4 = XEXP (x1, 0);
7805 : : operands[0] = x4;
7806 : : if (!memory_operand (operands[0], E_BLKmode)
7807 : : || !
7808 : : #line 29013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7809 : : (TARGET_FXSR))
7810 : : return -1;
7811 : : return 1895; /* fxsave */
7812 : :
7813 : : case 22:
7814 : : if (GET_MODE (x2) != E_BLKmode)
7815 : : return -1;
7816 : : x3 = XVECEXP (x2, 0, 0);
7817 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7818 : : return -1;
7819 : : x4 = XEXP (x1, 0);
7820 : : operands[0] = x4;
7821 : : if (!memory_operand (operands[0], E_BLKmode)
7822 : : || !
7823 : : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7824 : : (TARGET_64BIT && TARGET_FXSR))
7825 : : return -1;
7826 : : return 1896; /* fxsave64 */
7827 : :
7828 : : case 24:
7829 : : if (GET_MODE (x2) != E_BLKmode)
7830 : : return -1;
7831 : : x4 = XEXP (x1, 0);
7832 : : operands[0] = x4;
7833 : : if (!memory_operand (operands[0], E_BLKmode))
7834 : : return -1;
7835 : : x3 = XVECEXP (x2, 0, 0);
7836 : : operands[1] = x3;
7837 : : if (!register_operand (operands[1], E_DImode)
7838 : : || !
7839 : : #line 29093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7840 : : (!TARGET_64BIT && TARGET_XSAVE))
7841 : : return -1;
7842 : : return 1899; /* xsave */
7843 : :
7844 : : case 28:
7845 : : if (GET_MODE (x2) != E_BLKmode)
7846 : : return -1;
7847 : : x4 = XEXP (x1, 0);
7848 : : operands[0] = x4;
7849 : : if (!memory_operand (operands[0], E_BLKmode))
7850 : : return -1;
7851 : : x3 = XVECEXP (x2, 0, 0);
7852 : : operands[1] = x3;
7853 : : if (!register_operand (operands[1], E_DImode)
7854 : : || !(
7855 : : #line 29093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7856 : : (!TARGET_64BIT && TARGET_XSAVE) &&
7857 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7858 : : (TARGET_XSAVEOPT)))
7859 : : return -1;
7860 : : return 1900; /* xsaveopt */
7861 : :
7862 : : case 34:
7863 : : if (GET_MODE (x2) != E_BLKmode)
7864 : : return -1;
7865 : : x4 = XEXP (x1, 0);
7866 : : operands[0] = x4;
7867 : : if (!memory_operand (operands[0], E_BLKmode))
7868 : : return -1;
7869 : : x3 = XVECEXP (x2, 0, 0);
7870 : : operands[1] = x3;
7871 : : if (!register_operand (operands[1], E_DImode)
7872 : : || !(
7873 : : #line 29093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7874 : : (!TARGET_64BIT && TARGET_XSAVE) &&
7875 : : #line 29055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7876 : : (TARGET_XSAVEC)))
7877 : : return -1;
7878 : : return 1901; /* xsavec */
7879 : :
7880 : : case 30:
7881 : : if (GET_MODE (x2) != E_BLKmode)
7882 : : return -1;
7883 : : x4 = XEXP (x1, 0);
7884 : : operands[0] = x4;
7885 : : if (!memory_operand (operands[0], E_BLKmode))
7886 : : return -1;
7887 : : x3 = XVECEXP (x2, 0, 0);
7888 : : operands[1] = x3;
7889 : : if (!register_operand (operands[1], E_DImode)
7890 : : || !(
7891 : : #line 29093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7892 : : (!TARGET_64BIT && TARGET_XSAVE) &&
7893 : : #line 29056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7894 : : (TARGET_XSAVES)))
7895 : : return -1;
7896 : : return 1902; /* xsaves */
7897 : :
7898 : : case 40:
7899 : : if (pnum_clobbers == NULL
7900 : : || GET_MODE (x2) != E_BLKmode)
7901 : : return -1;
7902 : : x3 = XVECEXP (x2, 0, 0);
7903 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7904 : : return -1;
7905 : : x4 = XEXP (x1, 0);
7906 : : operands[0] = x4;
7907 : : if (!memory_operand (operands[0], E_BLKmode)
7908 : : || !
7909 : : #line 29224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7910 : : (TARGET_80387))
7911 : : return -1;
7912 : : *pnum_clobbers = 8;
7913 : : return 1921; /* fnstenv */
7914 : :
7915 : : case 42:
7916 : : if (GET_MODE (x2) != E_HImode)
7917 : : return -1;
7918 : : x3 = XVECEXP (x2, 0, 0);
7919 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7920 : : return -1;
7921 : : x4 = XEXP (x1, 0);
7922 : : operands[0] = x4;
7923 : : if (!nonimmediate_operand (operands[0], E_HImode)
7924 : : || !
7925 : : #line 29252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7926 : : (TARGET_80387))
7927 : : return -1;
7928 : : return 1923; /* fnstsw */
7929 : :
7930 : : case 49:
7931 : : if (pattern56 (x1,
7932 : : E_CCZmode) != 0
7933 : : || !
7934 : : #line 29538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7935 : : (TARGET_RTM))
7936 : : return -1;
7937 : : return 1966; /* xtest_1 */
7938 : :
7939 : : case 74:
7940 : : if (pattern56 (x1,
7941 : : E_CCCmode) != 0
7942 : : || !
7943 : : #line 29723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7944 : : (TARGET_UINTR && TARGET_64BIT))
7945 : : return -1;
7946 : : return 1992; /* testui */
7947 : :
7948 : : case 88:
7949 : : if (GET_MODE (x2) != E_BLKmode)
7950 : : return -1;
7951 : : x3 = XVECEXP (x2, 0, 0);
7952 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7953 : : return -1;
7954 : : x4 = XEXP (x1, 0);
7955 : : operands[0] = x4;
7956 : : if (!memory_operand (operands[0], E_BLKmode)
7957 : : || !
7958 : : #line 29951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7959 : : (TARGET_AMX_TILE))
7960 : : return -1;
7961 : : return 2008; /* sttilecfg */
7962 : :
7963 : : case 89:
7964 : : x4 = XEXP (x1, 0);
7965 : : operands[0] = x4;
7966 : : x3 = XVECEXP (x2, 0, 0);
7967 : : operands[1] = x3;
7968 : : switch (GET_MODE (operands[0]))
7969 : : {
7970 : : case E_QImode:
7971 : : if (!register_operand (operands[0], E_QImode)
7972 : : || GET_MODE (x2) != E_QImode
7973 : : || !memory_operand (operands[1], E_QImode)
7974 : : || !
7975 : : #line 29962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7976 : : (TARGET_MOVRS && TARGET_64BIT))
7977 : : return -1;
7978 : : return 2009; /* movrsqi */
7979 : :
7980 : : case E_HImode:
7981 : : if (!register_operand (operands[0], E_HImode)
7982 : : || GET_MODE (x2) != E_HImode
7983 : : || !memory_operand (operands[1], E_HImode)
7984 : : || !
7985 : : #line 29962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7986 : : (TARGET_MOVRS && TARGET_64BIT))
7987 : : return -1;
7988 : : return 2010; /* movrshi */
7989 : :
7990 : : default:
7991 : : return -1;
7992 : : }
7993 : :
7994 : : default:
7995 : : return -1;
7996 : : }
7997 : :
7998 : : case 2:
7999 : : switch (XINT (x2, 1))
8000 : : {
8001 : : case 24:
8002 : : if (pattern91 (x1) != 0
8003 : : || !
8004 : : #line 29106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8005 : : (TARGET_64BIT && TARGET_XSAVE))
8006 : : return -1;
8007 : : return 1903; /* xsave_rex64 */
8008 : :
8009 : : case 28:
8010 : : if (pattern91 (x1) != 0
8011 : : || !(
8012 : : #line 29106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8013 : : (TARGET_64BIT && TARGET_XSAVE) &&
8014 : : #line 29054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8015 : : (TARGET_XSAVEOPT)))
8016 : : return -1;
8017 : : return 1904; /* xsaveopt_rex64 */
8018 : :
8019 : : case 34:
8020 : : if (pattern91 (x1) != 0
8021 : : || !(
8022 : : #line 29106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8023 : : (TARGET_64BIT && TARGET_XSAVE) &&
8024 : : #line 29055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8025 : : (TARGET_XSAVEC)))
8026 : : return -1;
8027 : : return 1905; /* xsavec_rex64 */
8028 : :
8029 : : case 30:
8030 : : if (pattern91 (x1) != 0
8031 : : || !(
8032 : : #line 29106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8033 : : (TARGET_64BIT && TARGET_XSAVE) &&
8034 : : #line 29056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8035 : : (TARGET_XSAVES)))
8036 : : return -1;
8037 : : return 1906; /* xsaves_rex64 */
8038 : :
8039 : : case 26:
8040 : : if (pattern91 (x1) != 0
8041 : : || !
8042 : : #line 29120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8043 : : (TARGET_64BIT && TARGET_XSAVE))
8044 : : return -1;
8045 : : return 1907; /* xsave64 */
8046 : :
8047 : : case 29:
8048 : : if (pattern91 (x1) != 0
8049 : : || !(
8050 : : #line 29120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8051 : : (TARGET_64BIT && TARGET_XSAVE) &&
8052 : : #line 29060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8053 : : (TARGET_XSAVEOPT)))
8054 : : return -1;
8055 : : return 1908; /* xsaveopt64 */
8056 : :
8057 : : case 35:
8058 : : if (pattern91 (x1) != 0
8059 : : || !(
8060 : : #line 29120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8061 : : (TARGET_64BIT && TARGET_XSAVE) &&
8062 : : #line 29061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8063 : : (TARGET_XSAVEC)))
8064 : : return -1;
8065 : : return 1909; /* xsavec64 */
8066 : :
8067 : : case 32:
8068 : : if (pattern91 (x1) != 0
8069 : : || !(
8070 : : #line 29120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8071 : : (TARGET_64BIT && TARGET_XSAVE) &&
8072 : : #line 29062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8073 : : (TARGET_XSAVES)))
8074 : : return -1;
8075 : : return 1910; /* xsaves64 */
8076 : :
8077 : : case 79:
8078 : : switch (pattern92 (x1))
8079 : : {
8080 : : case 0:
8081 : : if (!(
8082 : : #line 29705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8083 : : (TARGET_ENQCMD) &&
8084 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8085 : : (Pmode == SImode)))
8086 : : return -1;
8087 : : return 1986; /* enqcmd_si */
8088 : :
8089 : : case 1:
8090 : : if (!(
8091 : : #line 29705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8092 : : (TARGET_ENQCMD) &&
8093 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8094 : : (Pmode == DImode)))
8095 : : return -1;
8096 : : return 1988; /* enqcmd_di */
8097 : :
8098 : : default:
8099 : : return -1;
8100 : : }
8101 : :
8102 : : case 80:
8103 : : switch (pattern92 (x1))
8104 : : {
8105 : : case 0:
8106 : : if (!(
8107 : : #line 29705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8108 : : (TARGET_ENQCMD) &&
8109 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8110 : : (Pmode == SImode)))
8111 : : return -1;
8112 : : return 1987; /* enqcmds_si */
8113 : :
8114 : : case 1:
8115 : : if (!(
8116 : : #line 29705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8117 : : (TARGET_ENQCMD) &&
8118 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8119 : : (Pmode == DImode)))
8120 : : return -1;
8121 : : return 1989; /* enqcmds_di */
8122 : :
8123 : : default:
8124 : : return -1;
8125 : : }
8126 : :
8127 : : case 69:
8128 : : if (pattern93 (x1) != 0
8129 : : || !
8130 : : #line 29744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8131 : : (!TARGET_64BIT && TARGET_WAITPKG))
8132 : : return -1;
8133 : : return 1994; /* umwait */
8134 : :
8135 : : case 71:
8136 : : if (pattern93 (x1) != 0
8137 : : || !
8138 : : #line 29771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8139 : : (!TARGET_64BIT && TARGET_WAITPKG))
8140 : : return -1;
8141 : : return 1998; /* tpause */
8142 : :
8143 : : case 111:
8144 : : if (pnum_clobbers == NULL)
8145 : : return -1;
8146 : : x4 = XEXP (x1, 0);
8147 : : operands[0] = x4;
8148 : : x5 = XVECEXP (x2, 0, 1);
8149 : : operands[2] = x5;
8150 : : if (!const_int_operand (operands[2], E_SImode))
8151 : : return -1;
8152 : : x3 = XVECEXP (x2, 0, 0);
8153 : : switch (GET_CODE (x3))
8154 : : {
8155 : : case PLUS:
8156 : : switch (pattern859 (x2))
8157 : : {
8158 : : case 0:
8159 : : *pnum_clobbers = 1;
8160 : : return 11047; /* atomic_addqi */
8161 : :
8162 : : case 1:
8163 : : *pnum_clobbers = 1;
8164 : : return 11048; /* atomic_addhi */
8165 : :
8166 : : default:
8167 : : return -1;
8168 : : }
8169 : :
8170 : : case MINUS:
8171 : : switch (pattern859 (x2))
8172 : : {
8173 : : case 0:
8174 : : *pnum_clobbers = 1;
8175 : : return 11051; /* atomic_subqi */
8176 : :
8177 : : case 1:
8178 : : *pnum_clobbers = 1;
8179 : : return 11052; /* atomic_subhi */
8180 : :
8181 : : default:
8182 : : return -1;
8183 : : }
8184 : :
8185 : : case AND:
8186 : : switch (pattern859 (x2))
8187 : : {
8188 : : case 0:
8189 : : *pnum_clobbers = 1;
8190 : : return 11055; /* atomic_andqi */
8191 : :
8192 : : case 1:
8193 : : *pnum_clobbers = 1;
8194 : : return 11058; /* atomic_andhi */
8195 : :
8196 : : default:
8197 : : return -1;
8198 : : }
8199 : :
8200 : : case IOR:
8201 : : switch (pattern859 (x2))
8202 : : {
8203 : : case 0:
8204 : : *pnum_clobbers = 1;
8205 : : return 11056; /* atomic_orqi */
8206 : :
8207 : : case 1:
8208 : : *pnum_clobbers = 1;
8209 : : return 11059; /* atomic_orhi */
8210 : :
8211 : : default:
8212 : : return -1;
8213 : : }
8214 : :
8215 : : case XOR:
8216 : : switch (pattern859 (x2))
8217 : : {
8218 : : case 0:
8219 : : *pnum_clobbers = 1;
8220 : : return 11057; /* atomic_xorqi */
8221 : :
8222 : : case 1:
8223 : : *pnum_clobbers = 1;
8224 : : return 11060; /* atomic_xorhi */
8225 : :
8226 : : default:
8227 : : return -1;
8228 : : }
8229 : :
8230 : : default:
8231 : : return -1;
8232 : : }
8233 : :
8234 : : default:
8235 : : return -1;
8236 : : }
8237 : :
8238 : : case 3:
8239 : : if (pattern44 (x1,
8240 : : E_CCCmode) != 0)
8241 : : return -1;
8242 : : x3 = XVECEXP (x2, 0, 0);
8243 : : operands[0] = x3;
8244 : : x5 = XVECEXP (x2, 0, 1);
8245 : : operands[1] = x5;
8246 : : x6 = XVECEXP (x2, 0, 2);
8247 : : operands[2] = x6;
8248 : : switch (XINT (x2, 1))
8249 : : {
8250 : : case 15:
8251 : : if (!nonimmediate_operand (operands[1], E_SImode)
8252 : : || !const_int_operand (operands[2], E_SImode))
8253 : : return -1;
8254 : : switch (GET_MODE (operands[0]))
8255 : : {
8256 : : case E_SImode:
8257 : : if (!register_operand (operands[0], E_SImode)
8258 : : || !
8259 : : #line 29309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8260 : : (TARGET_LWP))
8261 : : return -1;
8262 : : return 1931; /* lwp_lwpinssi */
8263 : :
8264 : : case E_DImode:
8265 : : if (!register_operand (operands[0], E_DImode)
8266 : : || !(
8267 : : #line 29309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8268 : : (TARGET_LWP) &&
8269 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8270 : : (TARGET_64BIT)))
8271 : : return -1;
8272 : : return 1932; /* lwp_lwpinsdi */
8273 : :
8274 : : default:
8275 : : return -1;
8276 : : }
8277 : :
8278 : : case 69:
8279 : : if (!register_operand (operands[0], E_SImode)
8280 : : || !register_operand (operands[1], E_SImode)
8281 : : || !register_operand (operands[2], E_SImode)
8282 : : || !
8283 : : #line 29754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8284 : : (TARGET_64BIT && TARGET_WAITPKG))
8285 : : return -1;
8286 : : return 1995; /* umwait_rex64 */
8287 : :
8288 : : case 71:
8289 : : if (!register_operand (operands[0], E_SImode)
8290 : : || !register_operand (operands[1], E_SImode)
8291 : : || !register_operand (operands[2], E_SImode)
8292 : : || !
8293 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8294 : : (TARGET_64BIT && TARGET_WAITPKG))
8295 : : return -1;
8296 : : return 1999; /* tpause_rex64 */
8297 : :
8298 : : default:
8299 : : return -1;
8300 : : }
8301 : :
8302 : : default:
8303 : : return -1;
8304 : : }
8305 : : }
8306 : :
8307 : : int
8308 : : recog_72 (rtx x1 ATTRIBUTE_UNUSED,
8309 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8310 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8311 : : {
8312 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8313 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8314 : : rtx x10;
8315 : : int res ATTRIBUTE_UNUSED;
8316 : : x2 = XEXP (x1, 1);
8317 : : x3 = XEXP (x2, 0);
8318 : : x4 = XEXP (x3, 0);
8319 : : switch (GET_CODE (x4))
8320 : : {
8321 : : case REG:
8322 : : case SUBREG:
8323 : : case MEM:
8324 : : switch (pattern107 (x2, pnum_clobbers))
8325 : : {
8326 : : case 0:
8327 : : if (
8328 : : #line 12626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8329 : : (TARGET_APX_NDD && TARGET_APX_NF
8330 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8331 : : return 710; /* *andqi_1_zextsi_nf */
8332 : : if (pnum_clobbers == NULL
8333 : : || !
8334 : : #line 12626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8335 : : (TARGET_APX_NDD && true
8336 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8337 : : return -1;
8338 : : *pnum_clobbers = 1;
8339 : : return 711; /* *andqi_1_zextsi */
8340 : :
8341 : : case 1:
8342 : : if (
8343 : : #line 12640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8344 : : (TARGET_APX_NDD && TARGET_APX_NF
8345 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8346 : : return 714; /* *andhi_1_zextsi_nf */
8347 : : if (pnum_clobbers == NULL
8348 : : || !
8349 : : #line 12640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8350 : : (TARGET_APX_NDD && true
8351 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8352 : : return -1;
8353 : : *pnum_clobbers = 1;
8354 : : return 715; /* *andhi_1_zextsi */
8355 : :
8356 : : case 2:
8357 : : if (
8358 : : #line 12626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8359 : : (TARGET_APX_NDD && TARGET_APX_NF
8360 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8361 : : return 712; /* *andqi_1_zextdi_nf */
8362 : : if (pnum_clobbers == NULL
8363 : : || !
8364 : : #line 12626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8365 : : (TARGET_APX_NDD && true
8366 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8367 : : return -1;
8368 : : *pnum_clobbers = 1;
8369 : : return 713; /* *andqi_1_zextdi */
8370 : :
8371 : : case 3:
8372 : : if (
8373 : : #line 12640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8374 : : (TARGET_APX_NDD && TARGET_APX_NF
8375 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8376 : : return 716; /* *andhi_1_zextdi_nf */
8377 : : if (pnum_clobbers == NULL
8378 : : || !
8379 : : #line 12640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8380 : : (TARGET_APX_NDD && true
8381 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8382 : : return -1;
8383 : : *pnum_clobbers = 1;
8384 : : return 717; /* *andhi_1_zextdi */
8385 : :
8386 : : case 4:
8387 : : if (!
8388 : : #line 12656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8389 : : (TARGET_64BIT
8390 : : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
8391 : : return -1;
8392 : : *pnum_clobbers = 1;
8393 : : return 718; /* *andsi_1_zext */
8394 : :
8395 : : default:
8396 : : return -1;
8397 : : }
8398 : :
8399 : : case PLUS:
8400 : : if (pnum_clobbers == NULL
8401 : : || pattern437 (x4) != 0)
8402 : : return -1;
8403 : : x5 = XEXP (x4, 1);
8404 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
8405 : : || !register_operand (operands[0], E_DImode)
8406 : : || GET_MODE (x2) != E_DImode
8407 : : || GET_MODE (x3) != E_SImode)
8408 : : return -1;
8409 : : x6 = XEXP (x4, 0);
8410 : : x7 = XEXP (x6, 1);
8411 : : operands[2] = x7;
8412 : : if (!register_operand (operands[2], E_QImode))
8413 : : return -1;
8414 : : x8 = XEXP (x3, 1);
8415 : : operands[1] = x8;
8416 : : if (!nonimmediate_operand (operands[1], E_SImode)
8417 : : || !
8418 : : #line 21979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8419 : : (TARGET_64BIT && TARGET_BMI2))
8420 : : return -1;
8421 : : *pnum_clobbers = 1;
8422 : : return 1592; /* *bmi2_bzhi_zero_extendsidi_4 */
8423 : :
8424 : : case UNSPEC:
8425 : : if (XVECLEN (x4, 0) != 2)
8426 : : return -1;
8427 : : x9 = XVECEXP (x4, 0, 0);
8428 : : operands[1] = x9;
8429 : : x10 = XVECEXP (x4, 0, 1);
8430 : : operands[2] = x10;
8431 : : x8 = XEXP (x3, 1);
8432 : : operands[3] = x8;
8433 : : switch (XINT (x4, 1))
8434 : : {
8435 : : case 158:
8436 : : switch (GET_MODE (operands[0]))
8437 : : {
8438 : : case E_DImode:
8439 : : switch (pattern1081 (x2,
8440 : : E_DImode))
8441 : : {
8442 : : case 0:
8443 : : if (!(
8444 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8445 : : (TARGET_AVX512BW
8446 : : && (8
8447 : : > GET_MODE_SIZE (DImode))) &&
8448 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8449 : : (TARGET_AVX512BW && TARGET_EVEX512)))
8450 : : return -1;
8451 : : return 8190; /* *avx512bw_testmv64qi3_zext_mask */
8452 : :
8453 : : case 1:
8454 : : if (!(
8455 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8456 : : (TARGET_AVX512BW
8457 : : && (8
8458 : : > GET_MODE_SIZE (SImode))) && ((
8459 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8460 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8461 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8462 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8463 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8464 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8465 : : return -1;
8466 : : return 8193; /* *avx512vl_testmv32qi3_zext_mask */
8467 : :
8468 : : case 2:
8469 : : if (!(
8470 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8471 : : (TARGET_AVX512BW
8472 : : && (8
8473 : : > GET_MODE_SIZE (SImode))) &&
8474 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8475 : : (TARGET_AVX512BW && TARGET_EVEX512)))
8476 : : return -1;
8477 : : return 8199; /* *avx512bw_testmv32hi3_zext_mask */
8478 : :
8479 : : case 3:
8480 : : if (!(
8481 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8482 : : (TARGET_AVX512BW
8483 : : && (8
8484 : : > GET_MODE_SIZE (HImode))) && ((
8485 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8486 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8487 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8488 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8489 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8490 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8491 : : return -1;
8492 : : return 8196; /* *avx512vl_testmv16qi3_zext_mask */
8493 : :
8494 : : case 4:
8495 : : if (!(
8496 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8497 : : (TARGET_AVX512BW
8498 : : && (8
8499 : : > GET_MODE_SIZE (HImode))) && ((
8500 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8501 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8502 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8503 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8504 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8505 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8506 : : return -1;
8507 : : return 8202; /* *avx512vl_testmv16hi3_zext_mask */
8508 : :
8509 : : case 5:
8510 : : if (!(
8511 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8512 : : (TARGET_AVX512BW
8513 : : && (8
8514 : : > GET_MODE_SIZE (HImode))) && ((
8515 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8516 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8517 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8518 : : (TARGET_EVEX512)) &&
8519 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8520 : : (TARGET_EVEX512))))
8521 : : return -1;
8522 : : return 8208; /* *avx512f_testmv16si3_zext_mask */
8523 : :
8524 : : case 6:
8525 : : if (!(
8526 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8527 : : (TARGET_AVX512BW
8528 : : && (8
8529 : : > GET_MODE_SIZE (QImode))) && ((
8530 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8531 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8532 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8533 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8534 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8535 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8536 : : return -1;
8537 : : return 8205; /* *avx512vl_testmv8hi3_zext_mask */
8538 : :
8539 : : case 7:
8540 : : if (!(
8541 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8542 : : (TARGET_AVX512BW
8543 : : && (8
8544 : : > GET_MODE_SIZE (QImode))) && ((
8545 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8546 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8547 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8548 : : (TARGET_AVX512VL)) &&
8549 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8550 : : (TARGET_AVX512VL))))
8551 : : return -1;
8552 : : return 8211; /* *avx512vl_testmv8si3_zext_mask */
8553 : :
8554 : : case 8:
8555 : : if (!(
8556 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8557 : : (TARGET_AVX512BW
8558 : : && (8
8559 : : > GET_MODE_SIZE (QImode))) && ((
8560 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8561 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8562 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8563 : : (TARGET_AVX512VL)) &&
8564 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8565 : : (TARGET_AVX512VL))))
8566 : : return -1;
8567 : : return 8214; /* *avx512vl_testmv4si3_zext_mask */
8568 : :
8569 : : case 9:
8570 : : if (!(
8571 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8572 : : (TARGET_AVX512BW
8573 : : && (8
8574 : : > GET_MODE_SIZE (QImode))) && ((
8575 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8576 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8577 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8578 : : (TARGET_EVEX512)) &&
8579 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8580 : : (TARGET_EVEX512))))
8581 : : return -1;
8582 : : return 8217; /* *avx512f_testmv8di3_zext_mask */
8583 : :
8584 : : case 10:
8585 : : if (!(
8586 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8587 : : (TARGET_AVX512BW
8588 : : && (8
8589 : : > GET_MODE_SIZE (QImode))) && ((
8590 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8591 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8592 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8593 : : (TARGET_AVX512VL)) &&
8594 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8595 : : (TARGET_AVX512VL))))
8596 : : return -1;
8597 : : return 8220; /* *avx512vl_testmv4di3_zext_mask */
8598 : :
8599 : : case 11:
8600 : : if (!(
8601 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8602 : : (TARGET_AVX512BW
8603 : : && (8
8604 : : > GET_MODE_SIZE (QImode))) && ((
8605 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8606 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8607 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8608 : : (TARGET_AVX512VL)) &&
8609 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8610 : : (TARGET_AVX512VL))))
8611 : : return -1;
8612 : : return 8223; /* *avx512vl_testmv2di3_zext_mask */
8613 : :
8614 : : default:
8615 : : return -1;
8616 : : }
8617 : :
8618 : : case E_SImode:
8619 : : switch (pattern1081 (x2,
8620 : : E_SImode))
8621 : : {
8622 : : case 0:
8623 : : if (!(
8624 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8625 : : (TARGET_AVX512BW
8626 : : && (4
8627 : : > GET_MODE_SIZE (DImode))) && ((
8628 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8629 : : (TARGET_AVX512BW) &&
8630 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8631 : : (TARGET_AVX512BW && TARGET_EVEX512)) &&
8632 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8633 : : (TARGET_AVX512BW && TARGET_EVEX512))))
8634 : : return -1;
8635 : : return 8191; /* *avx512bw_testmv64qi3_zext_mask */
8636 : :
8637 : : case 1:
8638 : : if (!(
8639 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8640 : : (TARGET_AVX512BW
8641 : : && (4
8642 : : > GET_MODE_SIZE (SImode))) && ((
8643 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8644 : : (TARGET_AVX512BW) &&
8645 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8646 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8647 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8648 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8649 : : return -1;
8650 : : return 8194; /* *avx512vl_testmv32qi3_zext_mask */
8651 : :
8652 : : case 2:
8653 : : if (!(
8654 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8655 : : (TARGET_AVX512BW
8656 : : && (4
8657 : : > GET_MODE_SIZE (SImode))) && ((
8658 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8659 : : (TARGET_AVX512BW) &&
8660 : : #line 508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8661 : : (TARGET_AVX512BW && TARGET_EVEX512)) &&
8662 : : #line 508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8663 : : (TARGET_AVX512BW && TARGET_EVEX512))))
8664 : : return -1;
8665 : : return 8200; /* *avx512bw_testmv32hi3_zext_mask */
8666 : :
8667 : : case 3:
8668 : : if (!(
8669 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8670 : : (TARGET_AVX512BW
8671 : : && (4
8672 : : > GET_MODE_SIZE (HImode))) && ((
8673 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8674 : : (TARGET_AVX512BW) &&
8675 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8676 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8677 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8678 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8679 : : return -1;
8680 : : return 8197; /* *avx512vl_testmv16qi3_zext_mask */
8681 : :
8682 : : case 4:
8683 : : if (!(
8684 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8685 : : (TARGET_AVX512BW
8686 : : && (4
8687 : : > GET_MODE_SIZE (HImode))) && ((
8688 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8689 : : (TARGET_AVX512BW) &&
8690 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8691 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8692 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8693 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8694 : : return -1;
8695 : : return 8203; /* *avx512vl_testmv16hi3_zext_mask */
8696 : :
8697 : : case 5:
8698 : : if (!(
8699 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8700 : : (TARGET_AVX512BW
8701 : : && (4
8702 : : > GET_MODE_SIZE (HImode))) && ((
8703 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8704 : : (TARGET_AVX512BW) &&
8705 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8706 : : (TARGET_EVEX512)) &&
8707 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8708 : : (TARGET_EVEX512))))
8709 : : return -1;
8710 : : return 8209; /* *avx512f_testmv16si3_zext_mask */
8711 : :
8712 : : case 6:
8713 : : if (!(
8714 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8715 : : (TARGET_AVX512BW
8716 : : && (4
8717 : : > GET_MODE_SIZE (QImode))) && ((
8718 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8719 : : (TARGET_AVX512BW) &&
8720 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8721 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8722 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8723 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8724 : : return -1;
8725 : : return 8206; /* *avx512vl_testmv8hi3_zext_mask */
8726 : :
8727 : : case 7:
8728 : : if (!(
8729 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8730 : : (TARGET_AVX512BW
8731 : : && (4
8732 : : > GET_MODE_SIZE (QImode))) && ((
8733 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8734 : : (TARGET_AVX512BW) &&
8735 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8736 : : (TARGET_AVX512VL)) &&
8737 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8738 : : (TARGET_AVX512VL))))
8739 : : return -1;
8740 : : return 8212; /* *avx512vl_testmv8si3_zext_mask */
8741 : :
8742 : : case 8:
8743 : : if (!(
8744 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8745 : : (TARGET_AVX512BW
8746 : : && (4
8747 : : > GET_MODE_SIZE (QImode))) && ((
8748 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8749 : : (TARGET_AVX512BW) &&
8750 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8751 : : (TARGET_AVX512VL)) &&
8752 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8753 : : (TARGET_AVX512VL))))
8754 : : return -1;
8755 : : return 8215; /* *avx512vl_testmv4si3_zext_mask */
8756 : :
8757 : : case 9:
8758 : : if (!(
8759 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8760 : : (TARGET_AVX512BW
8761 : : && (4
8762 : : > GET_MODE_SIZE (QImode))) && ((
8763 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8764 : : (TARGET_AVX512BW) &&
8765 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8766 : : (TARGET_EVEX512)) &&
8767 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8768 : : (TARGET_EVEX512))))
8769 : : return -1;
8770 : : return 8218; /* *avx512f_testmv8di3_zext_mask */
8771 : :
8772 : : case 10:
8773 : : if (!(
8774 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8775 : : (TARGET_AVX512BW
8776 : : && (4
8777 : : > GET_MODE_SIZE (QImode))) && ((
8778 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8779 : : (TARGET_AVX512BW) &&
8780 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8781 : : (TARGET_AVX512VL)) &&
8782 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8783 : : (TARGET_AVX512VL))))
8784 : : return -1;
8785 : : return 8221; /* *avx512vl_testmv4di3_zext_mask */
8786 : :
8787 : : case 11:
8788 : : if (!(
8789 : : #line 19091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8790 : : (TARGET_AVX512BW
8791 : : && (4
8792 : : > GET_MODE_SIZE (QImode))) && ((
8793 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8794 : : (TARGET_AVX512BW) &&
8795 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8796 : : (TARGET_AVX512VL)) &&
8797 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8798 : : (TARGET_AVX512VL))))
8799 : : return -1;
8800 : : return 8224; /* *avx512vl_testmv2di3_zext_mask */
8801 : :
8802 : : default:
8803 : : return -1;
8804 : : }
8805 : :
8806 : : default:
8807 : : return -1;
8808 : : }
8809 : :
8810 : : case 159:
8811 : : switch (GET_MODE (operands[0]))
8812 : : {
8813 : : case E_DImode:
8814 : : switch (pattern1081 (x2,
8815 : : E_DImode))
8816 : : {
8817 : : case 0:
8818 : : if (!(
8819 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8820 : : (TARGET_AVX512BW
8821 : : && (8
8822 : : > GET_MODE_SIZE (DImode))) &&
8823 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8824 : : (TARGET_AVX512BW && TARGET_EVEX512)))
8825 : : return -1;
8826 : : return 8262; /* *avx512bw_testnmv64qi3_zext_mask */
8827 : :
8828 : : case 1:
8829 : : if (!(
8830 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8831 : : (TARGET_AVX512BW
8832 : : && (8
8833 : : > GET_MODE_SIZE (SImode))) && ((
8834 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8835 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8836 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8837 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8838 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8839 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8840 : : return -1;
8841 : : return 8265; /* *avx512vl_testnmv32qi3_zext_mask */
8842 : :
8843 : : case 2:
8844 : : if (!(
8845 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8846 : : (TARGET_AVX512BW
8847 : : && (8
8848 : : > GET_MODE_SIZE (SImode))) &&
8849 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8850 : : (TARGET_AVX512BW && TARGET_EVEX512)))
8851 : : return -1;
8852 : : return 8271; /* *avx512bw_testnmv32hi3_zext_mask */
8853 : :
8854 : : case 3:
8855 : : if (!(
8856 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8857 : : (TARGET_AVX512BW
8858 : : && (8
8859 : : > GET_MODE_SIZE (HImode))) && ((
8860 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8861 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8862 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8863 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8864 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8865 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8866 : : return -1;
8867 : : return 8268; /* *avx512vl_testnmv16qi3_zext_mask */
8868 : :
8869 : : case 4:
8870 : : if (!(
8871 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8872 : : (TARGET_AVX512BW
8873 : : && (8
8874 : : > GET_MODE_SIZE (HImode))) && ((
8875 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8876 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8877 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8878 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8879 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8880 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8881 : : return -1;
8882 : : return 8274; /* *avx512vl_testnmv16hi3_zext_mask */
8883 : :
8884 : : case 5:
8885 : : if (!(
8886 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8887 : : (TARGET_AVX512BW
8888 : : && (8
8889 : : > GET_MODE_SIZE (HImode))) && ((
8890 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8891 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8892 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8893 : : (TARGET_EVEX512)) &&
8894 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8895 : : (TARGET_EVEX512))))
8896 : : return -1;
8897 : : return 8280; /* *avx512f_testnmv16si3_zext_mask */
8898 : :
8899 : : case 6:
8900 : : if (!(
8901 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8902 : : (TARGET_AVX512BW
8903 : : && (8
8904 : : > GET_MODE_SIZE (QImode))) && ((
8905 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8906 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8907 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8908 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8909 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8910 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8911 : : return -1;
8912 : : return 8277; /* *avx512vl_testnmv8hi3_zext_mask */
8913 : :
8914 : : case 7:
8915 : : if (!(
8916 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8917 : : (TARGET_AVX512BW
8918 : : && (8
8919 : : > GET_MODE_SIZE (QImode))) && ((
8920 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8921 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8922 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8923 : : (TARGET_AVX512VL)) &&
8924 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8925 : : (TARGET_AVX512VL))))
8926 : : return -1;
8927 : : return 8283; /* *avx512vl_testnmv8si3_zext_mask */
8928 : :
8929 : : case 8:
8930 : : if (!(
8931 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8932 : : (TARGET_AVX512BW
8933 : : && (8
8934 : : > GET_MODE_SIZE (QImode))) && ((
8935 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8936 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8937 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8938 : : (TARGET_AVX512VL)) &&
8939 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8940 : : (TARGET_AVX512VL))))
8941 : : return -1;
8942 : : return 8286; /* *avx512vl_testnmv4si3_zext_mask */
8943 : :
8944 : : case 9:
8945 : : if (!(
8946 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8947 : : (TARGET_AVX512BW
8948 : : && (8
8949 : : > GET_MODE_SIZE (QImode))) && ((
8950 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8951 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8952 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8953 : : (TARGET_EVEX512)) &&
8954 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8955 : : (TARGET_EVEX512))))
8956 : : return -1;
8957 : : return 8289; /* *avx512f_testnmv8di3_zext_mask */
8958 : :
8959 : : case 10:
8960 : : if (!(
8961 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8962 : : (TARGET_AVX512BW
8963 : : && (8
8964 : : > GET_MODE_SIZE (QImode))) && ((
8965 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8966 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8967 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8968 : : (TARGET_AVX512VL)) &&
8969 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8970 : : (TARGET_AVX512VL))))
8971 : : return -1;
8972 : : return 8292; /* *avx512vl_testnmv4di3_zext_mask */
8973 : :
8974 : : case 11:
8975 : : if (!(
8976 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8977 : : (TARGET_AVX512BW
8978 : : && (8
8979 : : > GET_MODE_SIZE (QImode))) && ((
8980 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8981 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
8982 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8983 : : (TARGET_AVX512VL)) &&
8984 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8985 : : (TARGET_AVX512VL))))
8986 : : return -1;
8987 : : return 8295; /* *avx512vl_testnmv2di3_zext_mask */
8988 : :
8989 : : default:
8990 : : return -1;
8991 : : }
8992 : :
8993 : : case E_SImode:
8994 : : switch (pattern1081 (x2,
8995 : : E_SImode))
8996 : : {
8997 : : case 0:
8998 : : if (!(
8999 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9000 : : (TARGET_AVX512BW
9001 : : && (4
9002 : : > GET_MODE_SIZE (DImode))) && ((
9003 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9004 : : (TARGET_AVX512BW) &&
9005 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9006 : : (TARGET_AVX512BW && TARGET_EVEX512)) &&
9007 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9008 : : (TARGET_AVX512BW && TARGET_EVEX512))))
9009 : : return -1;
9010 : : return 8263; /* *avx512bw_testnmv64qi3_zext_mask */
9011 : :
9012 : : case 1:
9013 : : if (!(
9014 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9015 : : (TARGET_AVX512BW
9016 : : && (4
9017 : : > GET_MODE_SIZE (SImode))) && ((
9018 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9019 : : (TARGET_AVX512BW) &&
9020 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9021 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9022 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9023 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9024 : : return -1;
9025 : : return 8266; /* *avx512vl_testnmv32qi3_zext_mask */
9026 : :
9027 : : case 2:
9028 : : if (!(
9029 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9030 : : (TARGET_AVX512BW
9031 : : && (4
9032 : : > GET_MODE_SIZE (SImode))) && ((
9033 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9034 : : (TARGET_AVX512BW) &&
9035 : : #line 508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9036 : : (TARGET_AVX512BW && TARGET_EVEX512)) &&
9037 : : #line 508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9038 : : (TARGET_AVX512BW && TARGET_EVEX512))))
9039 : : return -1;
9040 : : return 8272; /* *avx512bw_testnmv32hi3_zext_mask */
9041 : :
9042 : : case 3:
9043 : : if (!(
9044 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9045 : : (TARGET_AVX512BW
9046 : : && (4
9047 : : > GET_MODE_SIZE (HImode))) && ((
9048 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9049 : : (TARGET_AVX512BW) &&
9050 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9051 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9052 : : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9053 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9054 : : return -1;
9055 : : return 8269; /* *avx512vl_testnmv16qi3_zext_mask */
9056 : :
9057 : : case 4:
9058 : : if (!(
9059 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9060 : : (TARGET_AVX512BW
9061 : : && (4
9062 : : > GET_MODE_SIZE (HImode))) && ((
9063 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9064 : : (TARGET_AVX512BW) &&
9065 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9066 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9067 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9068 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9069 : : return -1;
9070 : : return 8275; /* *avx512vl_testnmv16hi3_zext_mask */
9071 : :
9072 : : case 5:
9073 : : if (!(
9074 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9075 : : (TARGET_AVX512BW
9076 : : && (4
9077 : : > GET_MODE_SIZE (HImode))) && ((
9078 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9079 : : (TARGET_AVX512BW) &&
9080 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9081 : : (TARGET_EVEX512)) &&
9082 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9083 : : (TARGET_EVEX512))))
9084 : : return -1;
9085 : : return 8281; /* *avx512f_testnmv16si3_zext_mask */
9086 : :
9087 : : case 6:
9088 : : if (!(
9089 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9090 : : (TARGET_AVX512BW
9091 : : && (4
9092 : : > GET_MODE_SIZE (QImode))) && ((
9093 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9094 : : (TARGET_AVX512BW) &&
9095 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9096 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9097 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9098 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9099 : : return -1;
9100 : : return 8278; /* *avx512vl_testnmv8hi3_zext_mask */
9101 : :
9102 : : case 7:
9103 : : if (!(
9104 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9105 : : (TARGET_AVX512BW
9106 : : && (4
9107 : : > GET_MODE_SIZE (QImode))) && ((
9108 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9109 : : (TARGET_AVX512BW) &&
9110 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9111 : : (TARGET_AVX512VL)) &&
9112 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9113 : : (TARGET_AVX512VL))))
9114 : : return -1;
9115 : : return 8284; /* *avx512vl_testnmv8si3_zext_mask */
9116 : :
9117 : : case 8:
9118 : : if (!(
9119 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9120 : : (TARGET_AVX512BW
9121 : : && (4
9122 : : > GET_MODE_SIZE (QImode))) && ((
9123 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9124 : : (TARGET_AVX512BW) &&
9125 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9126 : : (TARGET_AVX512VL)) &&
9127 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9128 : : (TARGET_AVX512VL))))
9129 : : return -1;
9130 : : return 8287; /* *avx512vl_testnmv4si3_zext_mask */
9131 : :
9132 : : case 9:
9133 : : if (!(
9134 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9135 : : (TARGET_AVX512BW
9136 : : && (4
9137 : : > GET_MODE_SIZE (QImode))) && ((
9138 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9139 : : (TARGET_AVX512BW) &&
9140 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9141 : : (TARGET_EVEX512)) &&
9142 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9143 : : (TARGET_EVEX512))))
9144 : : return -1;
9145 : : return 8290; /* *avx512f_testnmv8di3_zext_mask */
9146 : :
9147 : : case 10:
9148 : : if (!(
9149 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9150 : : (TARGET_AVX512BW
9151 : : && (4
9152 : : > GET_MODE_SIZE (QImode))) && ((
9153 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9154 : : (TARGET_AVX512BW) &&
9155 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9156 : : (TARGET_AVX512VL)) &&
9157 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9158 : : (TARGET_AVX512VL))))
9159 : : return -1;
9160 : : return 8293; /* *avx512vl_testnmv4di3_zext_mask */
9161 : :
9162 : : case 11:
9163 : : if (!(
9164 : : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9165 : : (TARGET_AVX512BW
9166 : : && (4
9167 : : > GET_MODE_SIZE (QImode))) && ((
9168 : : #line 19044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9169 : : (TARGET_AVX512BW) &&
9170 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9171 : : (TARGET_AVX512VL)) &&
9172 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9173 : : (TARGET_AVX512VL))))
9174 : : return -1;
9175 : : return 8296; /* *avx512vl_testnmv2di3_zext_mask */
9176 : :
9177 : : default:
9178 : : return -1;
9179 : : }
9180 : :
9181 : : default:
9182 : : return -1;
9183 : : }
9184 : :
9185 : : default:
9186 : : return -1;
9187 : : }
9188 : :
9189 : : default:
9190 : : return -1;
9191 : : }
9192 : : }
9193 : :
9194 : : int
9195 : : recog_99 (rtx x1 ATTRIBUTE_UNUSED,
9196 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9197 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9198 : : {
9199 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9200 : : rtx x2;
9201 : : int res ATTRIBUTE_UNUSED;
9202 : : switch (GET_MODE (operands[0]))
9203 : : {
9204 : : case E_DImode:
9205 : : if (pnum_clobbers != NULL)
9206 : : {
9207 : : x2 = XEXP (x1, 1);
9208 : : if (pattern738 (x2,
9209 : : E_DImode,
9210 : : E_QImode) == 0
9211 : : &&
9212 : : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9213 : : (!TARGET_64BIT))
9214 : : {
9215 : : *pnum_clobbers = 1;
9216 : : return 1131; /* ashrdi3_doubleword */
9217 : : }
9218 : : }
9219 : : x2 = XEXP (x1, 1);
9220 : : if (GET_MODE (x2) != E_DImode
9221 : : || !nonimmediate_operand (operands[1], E_DImode))
9222 : : return -1;
9223 : : if (nonimmediate_operand (operands[0], E_DImode)
9224 : : && const_int_operand (operands[2], E_QImode))
9225 : : {
9226 : : if ((
9227 : : #line 17264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9228 : : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
9229 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9230 : : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9231 : : && TARGET_APX_NF) &&
9232 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9233 : : (TARGET_64BIT)))
9234 : : return 1168; /* ashrdi3_cvt_nf */
9235 : : if (pnum_clobbers != NULL
9236 : : && (
9237 : : #line 17264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9238 : : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
9239 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9240 : : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9241 : : && true) &&
9242 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9243 : : (TARGET_64BIT)))
9244 : : {
9245 : : *pnum_clobbers = 1;
9246 : : return 1169; /* ashrdi3_cvt */
9247 : : }
9248 : : }
9249 : : if (register_operand (operands[0], E_DImode)
9250 : : && register_operand (operands[2], E_DImode)
9251 : : && (
9252 : : #line 17333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9253 : : (TARGET_BMI2) &&
9254 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9255 : : (TARGET_64BIT)))
9256 : : return 1174; /* *bmi2_ashrdi3_1 */
9257 : : if (!nonimmediate_operand (operands[0], E_DImode)
9258 : : || !nonmemory_operand (operands[2], E_QImode))
9259 : : return -1;
9260 : : if ((
9261 : : #line 17343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9262 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9263 : : && TARGET_APX_NF) &&
9264 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9265 : : (TARGET_64BIT)))
9266 : : return 1177; /* *ashrdi3_1_nf */
9267 : : if (pnum_clobbers == NULL
9268 : : || !(
9269 : : #line 17343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9270 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9271 : : && true) &&
9272 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9273 : : (TARGET_64BIT)))
9274 : : return -1;
9275 : : *pnum_clobbers = 1;
9276 : : return 1178; /* *ashrdi3_1 */
9277 : :
9278 : : case E_SImode:
9279 : : x2 = XEXP (x1, 1);
9280 : : if (pattern624 (x2,
9281 : : E_SImode) != 0)
9282 : : return -1;
9283 : : if (
9284 : : #line 17343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9285 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9286 : : && TARGET_APX_NF))
9287 : : return 1175; /* *ashrsi3_1_nf */
9288 : : if (pnum_clobbers == NULL
9289 : : || !
9290 : : #line 17343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9291 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9292 : : && true))
9293 : : return -1;
9294 : : *pnum_clobbers = 1;
9295 : : return 1176; /* *ashrsi3_1 */
9296 : :
9297 : : default:
9298 : : return -1;
9299 : : }
9300 : : }
9301 : :
9302 : : int
9303 : : recog_103 (rtx x1 ATTRIBUTE_UNUSED,
9304 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9305 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9306 : : {
9307 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9308 : : rtx x2, x3;
9309 : : int res ATTRIBUTE_UNUSED;
9310 : : switch (pattern20 (x1, pnum_clobbers))
9311 : : {
9312 : : case 0:
9313 : : if (!
9314 : : #line 18202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9315 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
9316 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
9317 : : == GET_MODE_BITSIZE (SImode)-1
9318 : : && ix86_pre_reload_split ()))
9319 : : return -1;
9320 : : *pnum_clobbers = 1;
9321 : : return 1297; /* *rotrsi3_mask_1 */
9322 : :
9323 : : case 1:
9324 : : if (!(
9325 : : #line 18202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9326 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
9327 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
9328 : : == GET_MODE_BITSIZE (DImode)-1
9329 : : && ix86_pre_reload_split ()) &&
9330 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9331 : : (TARGET_64BIT)))
9332 : : return -1;
9333 : : *pnum_clobbers = 1;
9334 : : return 1299; /* *rotrdi3_mask_1 */
9335 : :
9336 : : case 2:
9337 : : if (!
9338 : : #line 18273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9339 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
9340 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9341 : : && ix86_pre_reload_split ()))
9342 : : return -1;
9343 : : *pnum_clobbers = 1;
9344 : : return 1313; /* *rotrsi3_add_1 */
9345 : :
9346 : : case 3:
9347 : : if (!(
9348 : : #line 18273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9349 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
9350 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9351 : : && ix86_pre_reload_split ()) &&
9352 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9353 : : (TARGET_64BIT)))
9354 : : return -1;
9355 : : *pnum_clobbers = 1;
9356 : : return 1315; /* *rotrdi3_add_1 */
9357 : :
9358 : : case 4:
9359 : : if (!
9360 : : #line 18342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9361 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
9362 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9363 : : && ix86_pre_reload_split ()))
9364 : : return -1;
9365 : : *pnum_clobbers = 1;
9366 : : return 1329; /* *rotrsi3_sub_1 */
9367 : :
9368 : : case 5:
9369 : : if (!(
9370 : : #line 18342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9371 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
9372 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9373 : : && ix86_pre_reload_split ()) &&
9374 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9375 : : (TARGET_64BIT)))
9376 : : return -1;
9377 : : *pnum_clobbers = 1;
9378 : : return 1331; /* *rotrdi3_sub_1 */
9379 : :
9380 : : case 6:
9381 : : x2 = XEXP (x1, 1);
9382 : : x3 = XEXP (x2, 1);
9383 : : switch (GET_CODE (x3))
9384 : : {
9385 : : case SUBREG:
9386 : : switch (pattern449 (x2, pnum_clobbers))
9387 : : {
9388 : : case 0:
9389 : : if (
9390 : : #line 18162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9391 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
9392 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
9393 : : == GET_MODE_BITSIZE (SImode)-1
9394 : : && ix86_pre_reload_split ()))
9395 : : {
9396 : : *pnum_clobbers = 1;
9397 : : return 1289; /* *rotrsi3_mask */
9398 : : }
9399 : : break;
9400 : :
9401 : : case 1:
9402 : : if ((
9403 : : #line 18162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9404 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
9405 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
9406 : : == GET_MODE_BITSIZE (DImode)-1
9407 : : && ix86_pre_reload_split ()) &&
9408 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9409 : : (TARGET_64BIT)))
9410 : : {
9411 : : *pnum_clobbers = 1;
9412 : : return 1291; /* *rotrdi3_mask */
9413 : : }
9414 : : break;
9415 : :
9416 : : case 2:
9417 : : if (
9418 : : #line 18237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9419 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
9420 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9421 : : && ix86_pre_reload_split ()))
9422 : : {
9423 : : *pnum_clobbers = 1;
9424 : : return 1305; /* *rotrsi3_add */
9425 : : }
9426 : : break;
9427 : :
9428 : : case 3:
9429 : : if ((
9430 : : #line 18237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9431 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
9432 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9433 : : && ix86_pre_reload_split ()) &&
9434 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9435 : : (TARGET_64BIT)))
9436 : : {
9437 : : *pnum_clobbers = 1;
9438 : : return 1307; /* *rotrdi3_add */
9439 : : }
9440 : : break;
9441 : :
9442 : : case 4:
9443 : : if (
9444 : : #line 18306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9445 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands)
9446 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9447 : : && ix86_pre_reload_split ()))
9448 : : {
9449 : : *pnum_clobbers = 1;
9450 : : return 1321; /* *rotrsi3_sub */
9451 : : }
9452 : : break;
9453 : :
9454 : : case 5:
9455 : : if ((
9456 : : #line 18306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9457 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands)
9458 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9459 : : && ix86_pre_reload_split ()) &&
9460 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9461 : : (TARGET_64BIT)))
9462 : : {
9463 : : *pnum_clobbers = 1;
9464 : : return 1323; /* *rotrdi3_sub */
9465 : : }
9466 : : break;
9467 : :
9468 : : default:
9469 : : break;
9470 : : }
9471 : : break;
9472 : :
9473 : : case CONST_INT:
9474 : : operands[2] = x3;
9475 : : switch (GET_MODE (operands[0]))
9476 : : {
9477 : : case E_DImode:
9478 : : if (pattern614 (x2, pnum_clobbers,
9479 : : E_DImode) == 0
9480 : : && const_1_to_31_operand (operands[2], E_QImode)
9481 : : &&
9482 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9483 : : (!TARGET_64BIT))
9484 : : {
9485 : : *pnum_clobbers = 2;
9486 : : return 1334; /* ix86_rotrdi3_doubleword */
9487 : : }
9488 : : break;
9489 : :
9490 : : case E_SImode:
9491 : : if (register_operand (operands[0], E_SImode)
9492 : : && GET_MODE (x2) == E_SImode
9493 : : && nonimmediate_operand (operands[1], E_SImode)
9494 : : && const_0_to_31_operand (operands[2], E_QImode)
9495 : : &&
9496 : : #line 18488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9497 : : (TARGET_BMI2 && !optimize_function_for_size_p (cfun)))
9498 : : return 1340; /* *bmi2_rorxsi3_1 */
9499 : : break;
9500 : :
9501 : : default:
9502 : : break;
9503 : : }
9504 : : if (register_operand (operands[0], E_DImode)
9505 : : && GET_MODE (x2) == E_DImode)
9506 : : {
9507 : : if (XWINT (x3, 0) == 32L
9508 : : && register_operand (operands[1], E_DImode)
9509 : : &&
9510 : : #line 18447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9511 : : (!TARGET_64BIT))
9512 : : return 1337; /* rotr32di2_doubleword */
9513 : : if (nonimmediate_operand (operands[1], E_DImode))
9514 : : {
9515 : : operands[2] = x3;
9516 : : if (const_0_to_63_operand (operands[2], E_QImode)
9517 : : && (
9518 : : #line 18488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9519 : : (TARGET_BMI2 && !optimize_function_for_size_p (cfun)) &&
9520 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9521 : : (TARGET_64BIT)))
9522 : : return 1341; /* *bmi2_rorxdi3_1 */
9523 : : }
9524 : : }
9525 : : break;
9526 : :
9527 : : default:
9528 : : break;
9529 : : }
9530 : : operands[2] = x3;
9531 : : if (!nonmemory_operand (operands[2], E_QImode))
9532 : : return -1;
9533 : : switch (pattern16 (x2))
9534 : : {
9535 : : case 0:
9536 : : if (
9537 : : #line 18498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9538 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
9539 : : && TARGET_APX_NF))
9540 : : return 1344; /* *rotrsi3_1_nf */
9541 : : if (pnum_clobbers == NULL
9542 : : || !
9543 : : #line 18498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9544 : : (ix86_binary_operator_ok (ROTATERT, SImode, operands, TARGET_APX_NDD)
9545 : : && true))
9546 : : return -1;
9547 : : *pnum_clobbers = 1;
9548 : : return 1345; /* *rotrsi3_1 */
9549 : :
9550 : : case 1:
9551 : : if ((
9552 : : #line 18498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9553 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
9554 : : && TARGET_APX_NF) &&
9555 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9556 : : (TARGET_64BIT)))
9557 : : return 1348; /* *rotrdi3_1_nf */
9558 : : if (pnum_clobbers == NULL
9559 : : || !(
9560 : : #line 18498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9561 : : (ix86_binary_operator_ok (ROTATERT, DImode, operands, TARGET_APX_NDD)
9562 : : && true) &&
9563 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9564 : : (TARGET_64BIT)))
9565 : : return -1;
9566 : : *pnum_clobbers = 1;
9567 : : return 1349; /* *rotrdi3_1 */
9568 : :
9569 : : default:
9570 : : return -1;
9571 : : }
9572 : :
9573 : : default:
9574 : : return -1;
9575 : : }
9576 : : }
9577 : :
9578 : : int
9579 : : recog_115 (rtx x1 ATTRIBUTE_UNUSED,
9580 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9581 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9582 : : {
9583 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9584 : : rtx x2, x3, x4;
9585 : : int res ATTRIBUTE_UNUSED;
9586 : : x2 = XEXP (x1, 0);
9587 : : operands[0] = x2;
9588 : : x3 = XEXP (x1, 1);
9589 : : x4 = XEXP (x3, 0);
9590 : : switch (GET_CODE (x4))
9591 : : {
9592 : : case REG:
9593 : : case SUBREG:
9594 : : case MEM:
9595 : : operands[1] = x4;
9596 : : switch (pattern125 (x3))
9597 : : {
9598 : : case 0:
9599 : : if (
9600 : : #line 22165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9601 : : (TARGET_APX_NF && TARGET_POPCNT))
9602 : : return 1618; /* popcountsi2_nf */
9603 : : if (pnum_clobbers == NULL
9604 : : || !
9605 : : #line 22190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9606 : : (TARGET_POPCNT))
9607 : : return -1;
9608 : : *pnum_clobbers = 1;
9609 : : return 1620; /* popcountsi2 */
9610 : :
9611 : : case 1:
9612 : : if ((
9613 : : #line 22165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9614 : : (TARGET_APX_NF && TARGET_POPCNT) &&
9615 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9616 : : (TARGET_64BIT)))
9617 : : return 1619; /* popcountdi2_nf */
9618 : : if (pnum_clobbers == NULL
9619 : : || !(
9620 : : #line 22190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9621 : : (TARGET_POPCNT) &&
9622 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9623 : : (TARGET_64BIT)))
9624 : : return -1;
9625 : : *pnum_clobbers = 1;
9626 : : return 1621; /* popcountdi2 */
9627 : :
9628 : : default:
9629 : : return -1;
9630 : : }
9631 : :
9632 : : case ZERO_EXTEND:
9633 : : if (pattern109 (x3, pnum_clobbers,
9634 : : E_HImode,
9635 : : E_SImode) != 0
9636 : : || !
9637 : : #line 22360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9638 : : (TARGET_POPCNT
9639 : : && ix86_pre_reload_split ()))
9640 : : return -1;
9641 : : *pnum_clobbers = 1;
9642 : : return 1630; /* *popcounthi2_1 */
9643 : :
9644 : : default:
9645 : : return -1;
9646 : : }
9647 : : }
9648 : :
9649 : : int
9650 : : recog_119 (rtx x1 ATTRIBUTE_UNUSED,
9651 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9652 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9653 : : {
9654 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9655 : : rtx x2, x3, x4, x5, x6;
9656 : : int res ATTRIBUTE_UNUSED;
9657 : : x2 = XEXP (x1, 1);
9658 : : x3 = XEXP (x2, 0);
9659 : : if (GET_CODE (x3) != SUBREG
9660 : : || maybe_ne (SUBREG_BYTE (x3), 0)
9661 : : || GET_MODE (x3) != E_V2DImode)
9662 : : return -1;
9663 : : x4 = XEXP (x2, 1);
9664 : : x5 = XVECEXP (x4, 0, 0);
9665 : : if (XWINT (x5, 0) != 0L
9666 : : || GET_MODE (x2) != E_DImode)
9667 : : return -1;
9668 : : x6 = XEXP (x3, 0);
9669 : : switch (pattern1209 (x6))
9670 : : {
9671 : : case 0:
9672 : : if (pshufb_truncv8hiv8qi_operand (operands[2], E_V16QImode)
9673 : : &&
9674 : : #line 15382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9675 : : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
9676 : : return 7291; /* *avx512f_pshufb_truncv8hiv8qi_1 */
9677 : : if (!pshufb_truncv4siv4hi_operand (operands[2], E_V16QImode)
9678 : : || !
9679 : : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9680 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9681 : : return -1;
9682 : : return 7376; /* *avx512f_pshufb_truncv4siv4hi_1 */
9683 : :
9684 : : case 1:
9685 : : if (!
9686 : : #line 15978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9687 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9688 : : return -1;
9689 : : return 7425; /* *avx512f_pshufd_truncv2div2si_1 */
9690 : :
9691 : : default:
9692 : : return -1;
9693 : : }
9694 : : }
9695 : :
9696 : : int
9697 : : recog_120 (rtx x1 ATTRIBUTE_UNUSED,
9698 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9699 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9700 : : {
9701 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9702 : : rtx x2, x3, x4, x5, x6;
9703 : : int res ATTRIBUTE_UNUSED;
9704 : : x2 = XEXP (x1, 1);
9705 : : x3 = XEXP (x2, 1);
9706 : : if (GET_CODE (x3) != PARALLEL
9707 : : || XVECLEN (x3, 0) != 1)
9708 : : return -1;
9709 : : x4 = XVECEXP (x3, 0, 0);
9710 : : if (GET_CODE (x4) != CONST_INT)
9711 : : return -1;
9712 : : x5 = XEXP (x1, 0);
9713 : : operands[0] = x5;
9714 : : x6 = XEXP (x2, 0);
9715 : : operands[1] = x6;
9716 : : res = recog_118 (x1, insn, pnum_clobbers);
9717 : : if (res >= 0)
9718 : : return res;
9719 : : if (register_operand (operands[0], E_DImode))
9720 : : {
9721 : : res = recog_119 (x1, insn, pnum_clobbers);
9722 : : if (res >= 0)
9723 : : return res;
9724 : : }
9725 : : if (!nonimmediate_operand (operands[0], E_DImode)
9726 : : || XWINT (x4, 0) != 0L
9727 : : || GET_MODE (x2) != E_DImode)
9728 : : return -1;
9729 : : operands[1] = x6;
9730 : : if (!nonimmediate_operand (operands[1], E_V2DImode))
9731 : : return -1;
9732 : : if ((
9733 : : #line 21157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9734 : : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
9735 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9736 : : (TARGET_64BIT)))
9737 : : return 8465; /* *vec_extractv2di_0 */
9738 : : if (!
9739 : : #line 21171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9740 : : (TARGET_SSE && !TARGET_64BIT
9741 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
9742 : : return -1;
9743 : : return 8466; /* *vec_extractv2di_0_sse */
9744 : : }
9745 : :
9746 : : int
9747 : : recog_122 (rtx x1 ATTRIBUTE_UNUSED,
9748 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9749 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9750 : : {
9751 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9752 : : rtx x2;
9753 : : int res ATTRIBUTE_UNUSED;
9754 : : x2 = XEXP (x1, 1);
9755 : : switch (pattern630 (x2))
9756 : : {
9757 : : case 0:
9758 : : if (pattern633 (x2,
9759 : : E_V32HImode,
9760 : : E_SImode,
9761 : : E_V32HFmode) != 0
9762 : : || !(
9763 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9764 : : (TARGET_AVX512F) && (
9765 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9766 : : (TARGET_AVX512FP16 && 1) &&
9767 : : #line 758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9768 : : (TARGET_EVEX512))))
9769 : : return -1;
9770 : : return 4421; /* avx512fp16_vcvtph2w_v32hi_mask */
9771 : :
9772 : : case 1:
9773 : : switch (pattern995 (x2))
9774 : : {
9775 : : case 0:
9776 : : if (!(
9777 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9778 : : (TARGET_AVX512F) && (
9779 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9780 : : (TARGET_AVX512FP16 && 1) &&
9781 : : #line 758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9782 : : (TARGET_EVEX512))))
9783 : : return -1;
9784 : : return 4429; /* avx512fp16_vcvtph2dq_v16si_mask */
9785 : :
9786 : : case 1:
9787 : : if (!(
9788 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9789 : : (TARGET_AVX512F) &&
9790 : : #line 8695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9791 : : (TARGET_AVX512F && TARGET_EVEX512)))
9792 : : return -1;
9793 : : return 4836; /* avx512f_fix_notruncv16sfv16si_mask */
9794 : :
9795 : : default:
9796 : : return -1;
9797 : : }
9798 : :
9799 : : case 2:
9800 : : if (pattern773 (x2,
9801 : : E_V8DImode,
9802 : : E_QImode) != 0)
9803 : : return -1;
9804 : : switch (GET_MODE (operands[1]))
9805 : : {
9806 : : case E_V8HFmode:
9807 : : if (!vector_operand (operands[1], E_V8HFmode)
9808 : : || !(
9809 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9810 : : (TARGET_AVX512F) && (
9811 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9812 : : (TARGET_AVX512FP16 && 1) &&
9813 : : #line 758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9814 : : (TARGET_EVEX512))))
9815 : : return -1;
9816 : : return 4437; /* avx512fp16_vcvtph2qq_v8di_mask */
9817 : :
9818 : : case E_V8SFmode:
9819 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
9820 : : || !(
9821 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9822 : : (TARGET_AVX512F) && (
9823 : : #line 8716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9824 : : (TARGET_AVX512DQ && 1) &&
9825 : : #line 627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9826 : : (TARGET_EVEX512))))
9827 : : return -1;
9828 : : return 4850; /* avx512dq_cvtps2qqv8di_mask */
9829 : :
9830 : : case E_V8DFmode:
9831 : : if (!vector_operand (operands[1], E_V8DFmode)
9832 : : || !(
9833 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9834 : : (TARGET_AVX512F) && (
9835 : : #line 9710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9836 : : (TARGET_AVX512DQ && 1) &&
9837 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9838 : : (TARGET_EVEX512))))
9839 : : return -1;
9840 : : return 5096; /* fix_notruncv8dfv8di2_mask */
9841 : :
9842 : : default:
9843 : : return -1;
9844 : : }
9845 : :
9846 : : case 3:
9847 : : if (pattern633 (x2,
9848 : : E_V16HImode,
9849 : : E_HImode,
9850 : : E_V16HFmode) != 0
9851 : : || !(
9852 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9853 : : (TARGET_AVX512F) && (
9854 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9855 : : (TARGET_AVX512FP16 && 1) &&
9856 : : #line 759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9857 : : (TARGET_AVX512VL))))
9858 : : return -1;
9859 : : return 4445; /* avx512fp16_vcvtph2w_v16hi_mask */
9860 : :
9861 : : case 4:
9862 : : switch (pattern994 (x2))
9863 : : {
9864 : : case 0:
9865 : : if (!(
9866 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9867 : : (TARGET_AVX512F) && (
9868 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9869 : : (TARGET_AVX512FP16 && 1) &&
9870 : : #line 759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9871 : : (TARGET_AVX512VL))))
9872 : : return -1;
9873 : : return 4453; /* avx512fp16_vcvtph2dq_v8si_mask */
9874 : :
9875 : : case 1:
9876 : : if (!(
9877 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9878 : : (TARGET_AVX512F) && (
9879 : : #line 8679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9880 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && 1) &&
9881 : : #line 666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9882 : : (TARGET_AVX))))
9883 : : return -1;
9884 : : return 4830; /* avx_fix_notruncv8sfv8si_mask */
9885 : :
9886 : : case 2:
9887 : : if (!(
9888 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9889 : : (TARGET_AVX512F) &&
9890 : : #line 9398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9891 : : (TARGET_AVX512F && TARGET_EVEX512)))
9892 : : return -1;
9893 : : return 5000; /* avx512f_cvtpd2dq512_mask */
9894 : :
9895 : : default:
9896 : : return -1;
9897 : : }
9898 : :
9899 : : case 5:
9900 : : switch (pattern1100 (x2,
9901 : : E_V4DImode))
9902 : : {
9903 : : case 0:
9904 : : if (!vector_operand (operands[1], E_V8HFmode)
9905 : : || !(
9906 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9907 : : (TARGET_AVX512F) && (
9908 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9909 : : (TARGET_AVX512FP16 && 1) &&
9910 : : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9911 : : (TARGET_AVX512VL))))
9912 : : return -1;
9913 : : return 4461; /* avx512fp16_vcvtph2qq_v4di_mask */
9914 : :
9915 : : case 1:
9916 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
9917 : : || !(
9918 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9919 : : (TARGET_AVX512F) && (
9920 : : #line 8716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9921 : : (TARGET_AVX512DQ && 1) &&
9922 : : #line 627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9923 : : (TARGET_AVX512VL))))
9924 : : return -1;
9925 : : return 4854; /* avx512dq_cvtps2qqv4di_mask */
9926 : :
9927 : : case 2:
9928 : : if (!vector_operand (operands[1], E_V4DFmode)
9929 : : || !(
9930 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9931 : : (TARGET_AVX512F) && (
9932 : : #line 9710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9933 : : (TARGET_AVX512DQ && 1) &&
9934 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9935 : : (TARGET_AVX512VL))))
9936 : : return -1;
9937 : : return 5100; /* fix_notruncv4dfv4di2_mask */
9938 : :
9939 : : default:
9940 : : return -1;
9941 : : }
9942 : :
9943 : : case 6:
9944 : : if (pattern633 (x2,
9945 : : E_V8HImode,
9946 : : E_QImode,
9947 : : E_V8HFmode) != 0
9948 : : || !(
9949 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9950 : : (TARGET_AVX512F) && (
9951 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9952 : : (TARGET_AVX512FP16 && 1) &&
9953 : : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9954 : : (TARGET_AVX512VL))))
9955 : : return -1;
9956 : : return 4466; /* avx512fp16_vcvtph2w_v8hi_mask */
9957 : :
9958 : : case 7:
9959 : : switch (pattern1100 (x2,
9960 : : E_V4SImode))
9961 : : {
9962 : : case 0:
9963 : : if (!vector_operand (operands[1], E_V8HFmode)
9964 : : || !(
9965 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9966 : : (TARGET_AVX512F) && (
9967 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9968 : : (TARGET_AVX512FP16 && 1) &&
9969 : : #line 761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9970 : : (TARGET_AVX512VL))))
9971 : : return -1;
9972 : : return 4470; /* avx512fp16_vcvtph2dq_v4si_mask */
9973 : :
9974 : : case 1:
9975 : : if (!vector_operand (operands[1], E_V4SFmode)
9976 : : || !(
9977 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9978 : : (TARGET_AVX512F) &&
9979 : : #line 8679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9980 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && 1)))
9981 : : return -1;
9982 : : return 4833; /* sse2_fix_notruncv4sfv4si_mask */
9983 : :
9984 : : case 2:
9985 : : if (!vector_operand (operands[1], E_V4DFmode)
9986 : : || !(
9987 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
9988 : : (TARGET_AVX512F) &&
9989 : : #line 9408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9990 : : (TARGET_AVX && TARGET_AVX512VL
9991 : : && (!false || TARGET_AVX10_2_256))))
9992 : : return -1;
9993 : : return 5004; /* avx_cvtpd2dq256_mask */
9994 : :
9995 : : default:
9996 : : return -1;
9997 : : }
9998 : :
9999 : : case 8:
10000 : : switch (pattern1099 (x2))
10001 : : {
10002 : : case 0:
10003 : : if (!vector_operand (operands[1], E_V8HFmode)
10004 : : || !(
10005 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10006 : : (TARGET_AVX512F) && (
10007 : : #line 7617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10008 : : (TARGET_AVX512FP16 && 1) &&
10009 : : #line 761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10010 : : (TARGET_AVX512VL))))
10011 : : return -1;
10012 : : return 4474; /* avx512fp16_vcvtph2qq_v2di_mask */
10013 : :
10014 : : case 1:
10015 : : if (!vector_operand (operands[1], E_V2DFmode)
10016 : : || !(
10017 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10018 : : (TARGET_AVX512F) && (
10019 : : #line 9710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10020 : : (TARGET_AVX512DQ && 1) &&
10021 : : #line 537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10022 : : (TARGET_AVX512VL))))
10023 : : return -1;
10024 : : return 5103; /* fix_notruncv2dfv2di2_mask */
10025 : :
10026 : : default:
10027 : : return -1;
10028 : : }
10029 : :
10030 : : case 9:
10031 : : if (!(
10032 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10033 : : (TARGET_AVX512F) &&
10034 : : #line 8729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10035 : : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10036 : : return -1;
10037 : : return 4857; /* avx512dq_cvtps2qqv2di_mask */
10038 : :
10039 : : default:
10040 : : return -1;
10041 : : }
10042 : : }
10043 : :
10044 : : int
10045 : : recog_128 (rtx x1 ATTRIBUTE_UNUSED,
10046 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10047 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10048 : : {
10049 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10050 : : rtx x2, x3, x4, x5, x6, x7;
10051 : : int res ATTRIBUTE_UNUSED;
10052 : : x2 = XEXP (x1, 1);
10053 : : x3 = XEXP (x2, 0);
10054 : : x4 = XVECEXP (x3, 0, 0);
10055 : : operands[1] = x4;
10056 : : x5 = XVECEXP (x3, 0, 1);
10057 : : operands[2] = x5;
10058 : : x6 = XEXP (x2, 1);
10059 : : operands[3] = x6;
10060 : : x7 = XEXP (x2, 2);
10061 : : operands[4] = x7;
10062 : : switch (GET_MODE (operands[0]))
10063 : : {
10064 : : case E_V8SImode:
10065 : : if (pattern1102 (x2,
10066 : : E_QImode,
10067 : : E_V8SImode) != 0
10068 : : || !(
10069 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10070 : : (TARGET_AVX512F) &&
10071 : : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10072 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
10073 : : return -1;
10074 : : return 9112; /* avx2_permvarv8si_mask */
10075 : :
10076 : : case E_V8SFmode:
10077 : : if (pattern1103 (x2,
10078 : : E_QImode,
10079 : : E_V8SFmode,
10080 : : E_V8SImode) != 0
10081 : : || !(
10082 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10083 : : (TARGET_AVX512F) &&
10084 : : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10085 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
10086 : : return -1;
10087 : : return 9114; /* avx2_permvarv8sf_mask */
10088 : :
10089 : : case E_V16SImode:
10090 : : if (pattern1102 (x2,
10091 : : E_HImode,
10092 : : E_V16SImode) != 0
10093 : : || !(
10094 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10095 : : (TARGET_AVX512F) && (
10096 : : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10097 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10098 : : #line 998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10099 : : (TARGET_AVX512F && TARGET_EVEX512))))
10100 : : return -1;
10101 : : return 9116; /* avx512f_permvarv16si_mask */
10102 : :
10103 : : case E_V16SFmode:
10104 : : if (pattern1103 (x2,
10105 : : E_HImode,
10106 : : E_V16SFmode,
10107 : : E_V16SImode) != 0
10108 : : || !(
10109 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10110 : : (TARGET_AVX512F) && (
10111 : : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10112 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10113 : : #line 999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10114 : : (TARGET_AVX512F && TARGET_EVEX512))))
10115 : : return -1;
10116 : : return 9118; /* avx512f_permvarv16sf_mask */
10117 : :
10118 : : case E_V8DImode:
10119 : : if (pattern1102 (x2,
10120 : : E_QImode,
10121 : : E_V8DImode) != 0
10122 : : || !(
10123 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10124 : : (TARGET_AVX512F) && (
10125 : : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10126 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10127 : : #line 1000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10128 : : (TARGET_AVX512F && TARGET_EVEX512))))
10129 : : return -1;
10130 : : return 9120; /* avx512f_permvarv8di_mask */
10131 : :
10132 : : case E_V8DFmode:
10133 : : if (pattern1103 (x2,
10134 : : E_QImode,
10135 : : E_V8DFmode,
10136 : : E_V8DImode) != 0
10137 : : || !(
10138 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10139 : : (TARGET_AVX512F) && (
10140 : : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10141 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
10142 : : #line 1001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10143 : : (TARGET_AVX512F && TARGET_EVEX512))))
10144 : : return -1;
10145 : : return 9122; /* avx512f_permvarv8df_mask */
10146 : :
10147 : : case E_V4DImode:
10148 : : if (pattern1102 (x2,
10149 : : E_QImode,
10150 : : E_V4DImode) != 0
10151 : : || !(
10152 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10153 : : (TARGET_AVX512F) && (
10154 : : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10155 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
10156 : : #line 1002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10157 : : (TARGET_AVX512VL))))
10158 : : return -1;
10159 : : return 9124; /* avx2_permvarv4di_mask */
10160 : :
10161 : : case E_V4DFmode:
10162 : : if (pattern1103 (x2,
10163 : : E_QImode,
10164 : : E_V4DFmode,
10165 : : E_V4DImode) != 0
10166 : : || !(
10167 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10168 : : (TARGET_AVX512F) && (
10169 : : #line 27314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10170 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
10171 : : #line 1002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10172 : : (TARGET_AVX512VL))))
10173 : : return -1;
10174 : : return 9126; /* avx2_permvarv4df_mask */
10175 : :
10176 : : case E_V64QImode:
10177 : : if (pattern1102 (x2,
10178 : : E_DImode,
10179 : : E_V64QImode) != 0
10180 : : || !(
10181 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10182 : : (TARGET_AVX512F) && (
10183 : : #line 27333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10184 : : (TARGET_AVX512VBMI && (64 == 64 || TARGET_AVX512VL)) &&
10185 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10186 : : (TARGET_EVEX512))))
10187 : : return -1;
10188 : : return 9128; /* avx512bw_permvarv64qi_mask */
10189 : :
10190 : : case E_V16QImode:
10191 : : if (pattern1102 (x2,
10192 : : E_HImode,
10193 : : E_V16QImode) != 0
10194 : : || !(
10195 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10196 : : (TARGET_AVX512F) && (
10197 : : #line 27333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10198 : : (TARGET_AVX512VBMI && (16 == 64 || TARGET_AVX512VL)) &&
10199 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10200 : : (TARGET_AVX512VL))))
10201 : : return -1;
10202 : : return 9130; /* avx512vl_permvarv16qi_mask */
10203 : :
10204 : : case E_V32QImode:
10205 : : if (pattern1102 (x2,
10206 : : E_SImode,
10207 : : E_V32QImode) != 0
10208 : : || !(
10209 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10210 : : (TARGET_AVX512F) && (
10211 : : #line 27333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10212 : : (TARGET_AVX512VBMI && (32 == 64 || TARGET_AVX512VL)) &&
10213 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10214 : : (TARGET_AVX512VL))))
10215 : : return -1;
10216 : : return 9132; /* avx512vl_permvarv32qi_mask */
10217 : :
10218 : : case E_V8HImode:
10219 : : if (pattern1102 (x2,
10220 : : E_QImode,
10221 : : E_V8HImode) != 0
10222 : : || !(
10223 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10224 : : (TARGET_AVX512F) && (
10225 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10226 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10227 : : #line 689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10228 : : (TARGET_AVX512VL))))
10229 : : return -1;
10230 : : return 9134; /* avx512vl_permvarv8hi_mask */
10231 : :
10232 : : case E_V16HImode:
10233 : : if (pattern1102 (x2,
10234 : : E_HImode,
10235 : : E_V16HImode) != 0
10236 : : || !(
10237 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10238 : : (TARGET_AVX512F) && (
10239 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10240 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10241 : : #line 689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10242 : : (TARGET_AVX512VL))))
10243 : : return -1;
10244 : : return 9136; /* avx512vl_permvarv16hi_mask */
10245 : :
10246 : : case E_V32HImode:
10247 : : if (pattern1102 (x2,
10248 : : E_SImode,
10249 : : E_V32HImode) != 0
10250 : : || !(
10251 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10252 : : (TARGET_AVX512F) && (
10253 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10254 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
10255 : : #line 689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10256 : : (TARGET_EVEX512))))
10257 : : return -1;
10258 : : return 9138; /* avx512bw_permvarv32hi_mask */
10259 : :
10260 : : case E_V8HFmode:
10261 : : if (pattern1103 (x2,
10262 : : E_QImode,
10263 : : E_V8HFmode,
10264 : : E_V8HImode) != 0
10265 : : || !(
10266 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10267 : : (TARGET_AVX512F) && (
10268 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10269 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10270 : : #line 690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10271 : : (TARGET_AVX512VL))))
10272 : : return -1;
10273 : : return 9140; /* avx512fp16_permvarv8hf_mask */
10274 : :
10275 : : case E_V16HFmode:
10276 : : if (pattern1103 (x2,
10277 : : E_HImode,
10278 : : E_V16HFmode,
10279 : : E_V16HImode) != 0
10280 : : || !(
10281 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10282 : : (TARGET_AVX512F) && (
10283 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10284 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10285 : : #line 690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10286 : : (TARGET_AVX512VL))))
10287 : : return -1;
10288 : : return 9142; /* avx512vl_permvarv16hf_mask */
10289 : :
10290 : : case E_V32HFmode:
10291 : : if (pattern1103 (x2,
10292 : : E_SImode,
10293 : : E_V32HFmode,
10294 : : E_V32HImode) != 0
10295 : : || !(
10296 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10297 : : (TARGET_AVX512F) && (
10298 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10299 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
10300 : : #line 690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10301 : : (TARGET_EVEX512))))
10302 : : return -1;
10303 : : return 9144; /* avx512bw_permvarv32hf_mask */
10304 : :
10305 : : case E_V8BFmode:
10306 : : if (pattern1103 (x2,
10307 : : E_QImode,
10308 : : E_V8BFmode,
10309 : : E_V8HImode) != 0
10310 : : || !(
10311 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10312 : : (TARGET_AVX512F) && (
10313 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10314 : : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)) &&
10315 : : #line 691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10316 : : (TARGET_AVX512VL))))
10317 : : return -1;
10318 : : return 9146; /* avx512vl_permvarv8bf_mask */
10319 : :
10320 : : case E_V16BFmode:
10321 : : if (pattern1103 (x2,
10322 : : E_HImode,
10323 : : E_V16BFmode,
10324 : : E_V16HImode) != 0
10325 : : || !(
10326 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10327 : : (TARGET_AVX512F) && (
10328 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10329 : : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
10330 : : #line 691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10331 : : (TARGET_AVX512VL))))
10332 : : return -1;
10333 : : return 9148; /* avx512vl_permvarv16bf_mask */
10334 : :
10335 : : case E_V32BFmode:
10336 : : if (pattern1103 (x2,
10337 : : E_SImode,
10338 : : E_V32BFmode,
10339 : : E_V32HImode) != 0
10340 : : || !(
10341 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10342 : : (TARGET_AVX512F) && (
10343 : : #line 27345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10344 : : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
10345 : : #line 691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10346 : : (TARGET_EVEX512))))
10347 : : return -1;
10348 : : return 9150; /* avx512bw_permvarv32bf_mask */
10349 : :
10350 : : default:
10351 : : return -1;
10352 : : }
10353 : : }
10354 : :
10355 : : int
10356 : : recog_139 (rtx x1 ATTRIBUTE_UNUSED,
10357 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10358 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10359 : : {
10360 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10361 : : rtx x2, x3, x4, x5, x6, x7, x8;
10362 : : int res ATTRIBUTE_UNUSED;
10363 : : x2 = XEXP (x1, 1);
10364 : : x3 = XEXP (x2, 0);
10365 : : x4 = XVECEXP (x3, 0, 0);
10366 : : operands[1] = x4;
10367 : : x5 = XVECEXP (x3, 0, 1);
10368 : : operands[2] = x5;
10369 : : x6 = XVECEXP (x3, 0, 2);
10370 : : operands[3] = x6;
10371 : : x7 = XEXP (x2, 1);
10372 : : switch (GET_CODE (x7))
10373 : : {
10374 : : case REG:
10375 : : case SUBREG:
10376 : : if (!rtx_equal_p (x7, operands[1]))
10377 : : return -1;
10378 : : x8 = XEXP (x2, 2);
10379 : : operands[4] = x8;
10380 : : switch (GET_MODE (operands[0]))
10381 : : {
10382 : : case E_V16SFmode:
10383 : : if (pattern479 (x2,
10384 : : E_V16SFmode,
10385 : : E_HImode) != 0
10386 : : || !(
10387 : : #line 32047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10388 : : (TARGET_AVX10_2_256) &&
10389 : : #line 546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10390 : : (TARGET_AVX10_2_512)))
10391 : : return -1;
10392 : : return 10578; /* vdpphps_v16sf_mask */
10393 : :
10394 : : case E_V8SFmode:
10395 : : if (pattern479 (x2,
10396 : : E_V8SFmode,
10397 : : E_QImode) != 0
10398 : : || !
10399 : : #line 32047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10400 : : (TARGET_AVX10_2_256))
10401 : : return -1;
10402 : : return 10579; /* vdpphps_v8sf_mask */
10403 : :
10404 : : case E_V4SFmode:
10405 : : if (pattern479 (x2,
10406 : : E_V4SFmode,
10407 : : E_QImode) != 0
10408 : : || !
10409 : : #line 32047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10410 : : (TARGET_AVX10_2_256))
10411 : : return -1;
10412 : : return 10580; /* vdpphps_v4sf_mask */
10413 : :
10414 : : default:
10415 : : return -1;
10416 : : }
10417 : :
10418 : : case CONST_INT:
10419 : : case CONST_DOUBLE:
10420 : : case CONST_VECTOR:
10421 : : operands[4] = x7;
10422 : : x8 = XEXP (x2, 2);
10423 : : operands[5] = x8;
10424 : : switch (GET_MODE (operands[0]))
10425 : : {
10426 : : case E_V16SFmode:
10427 : : if (pattern481 (x2,
10428 : : E_V16SFmode,
10429 : : E_HImode) != 0
10430 : : || !(
10431 : : #line 32074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10432 : : (TARGET_AVX10_2_256) &&
10433 : : #line 546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10434 : : (TARGET_AVX10_2_512)))
10435 : : return -1;
10436 : : return 10581; /* vdpphps_v16sf_maskz_1 */
10437 : :
10438 : : case E_V8SFmode:
10439 : : if (pattern481 (x2,
10440 : : E_V8SFmode,
10441 : : E_QImode) != 0
10442 : : || !
10443 : : #line 32074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10444 : : (TARGET_AVX10_2_256))
10445 : : return -1;
10446 : : return 10582; /* vdpphps_v8sf_maskz_1 */
10447 : :
10448 : : case E_V4SFmode:
10449 : : if (pattern481 (x2,
10450 : : E_V4SFmode,
10451 : : E_QImode) != 0
10452 : : || !
10453 : : #line 32074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10454 : : (TARGET_AVX10_2_256))
10455 : : return -1;
10456 : : return 10583; /* vdpphps_v4sf_maskz_1 */
10457 : :
10458 : : default:
10459 : : return -1;
10460 : : }
10461 : :
10462 : : default:
10463 : : return -1;
10464 : : }
10465 : : }
10466 : :
10467 : : int
10468 : : recog_145 (rtx x1 ATTRIBUTE_UNUSED,
10469 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10470 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10471 : : {
10472 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10473 : : rtx x2, x3, x4, x5, x6;
10474 : : int res ATTRIBUTE_UNUSED;
10475 : : x2 = XEXP (x1, 1);
10476 : : x3 = XEXP (x2, 1);
10477 : : operands[2] = x3;
10478 : : x4 = XEXP (x2, 0);
10479 : : switch (XINT (x4, 1))
10480 : : {
10481 : : case 177:
10482 : : return recog_121 (x1, insn, pnum_clobbers);
10483 : :
10484 : : case 54:
10485 : : x5 = XVECEXP (x4, 0, 0);
10486 : : operands[1] = x5;
10487 : : x6 = XEXP (x2, 2);
10488 : : switch (GET_CODE (x6))
10489 : : {
10490 : : case CONST_INT:
10491 : : switch (pattern882 (x2))
10492 : : {
10493 : : case 0:
10494 : : if (!
10495 : : #line 2929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10496 : : (TARGET_SSE))
10497 : : return -1;
10498 : : return 2877; /* sse_vmrcpv4sf2 */
10499 : :
10500 : : case 1:
10501 : : if (!
10502 : : #line 2979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10503 : : (TARGET_AVX512FP16))
10504 : : return -1;
10505 : : return 2885; /* avx512fp16_vmrcpv8hf2 */
10506 : :
10507 : : default:
10508 : : return -1;
10509 : : }
10510 : :
10511 : : case REG:
10512 : : case SUBREG:
10513 : : operands[3] = x6;
10514 : : switch (GET_MODE (operands[0]))
10515 : : {
10516 : : case E_V32HFmode:
10517 : : if (pattern627 (x2,
10518 : : E_V32HFmode,
10519 : : E_SImode) != 0
10520 : : || !(
10521 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10522 : : (TARGET_AVX512F) && (
10523 : : #line 2966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10524 : : (TARGET_AVX512FP16) &&
10525 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10526 : : (TARGET_EVEX512))))
10527 : : return -1;
10528 : : return 2880; /* avx512fp16_rcpv32hf2_mask */
10529 : :
10530 : : case E_V16HFmode:
10531 : : if (pattern627 (x2,
10532 : : E_V16HFmode,
10533 : : E_HImode) != 0
10534 : : || !(
10535 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10536 : : (TARGET_AVX512F) && (
10537 : : #line 2966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10538 : : (TARGET_AVX512FP16) &&
10539 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10540 : : (TARGET_AVX512VL))))
10541 : : return -1;
10542 : : return 2882; /* avx512fp16_rcpv16hf2_mask */
10543 : :
10544 : : case E_V8HFmode:
10545 : : if (pattern627 (x2,
10546 : : E_V8HFmode,
10547 : : E_QImode) != 0
10548 : : || !(
10549 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10550 : : (TARGET_AVX512F) && (
10551 : : #line 2966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10552 : : (TARGET_AVX512FP16) &&
10553 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10554 : : (TARGET_AVX512VL))))
10555 : : return -1;
10556 : : return 2884; /* avx512fp16_rcpv8hf2_mask */
10557 : :
10558 : : case E_V32BFmode:
10559 : : if (pattern627 (x2,
10560 : : E_V32BFmode,
10561 : : E_SImode) != 0
10562 : : || !(
10563 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10564 : : (TARGET_AVX512F) && (
10565 : : #line 32396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10566 : : (TARGET_AVX10_2_256) &&
10567 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10568 : : (TARGET_AVX10_2_512))))
10569 : : return -1;
10570 : : return 10687; /* avx10_2_rcppbf16_v32bf_mask */
10571 : :
10572 : : case E_V16BFmode:
10573 : : if (pattern627 (x2,
10574 : : E_V16BFmode,
10575 : : E_HImode) != 0
10576 : : || !(
10577 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10578 : : (TARGET_AVX512F) &&
10579 : : #line 32396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10580 : : (TARGET_AVX10_2_256)))
10581 : : return -1;
10582 : : return 10689; /* avx10_2_rcppbf16_v16bf_mask */
10583 : :
10584 : : case E_V8BFmode:
10585 : : if (pattern627 (x2,
10586 : : E_V8BFmode,
10587 : : E_QImode) != 0
10588 : : || !(
10589 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10590 : : (TARGET_AVX512F) &&
10591 : : #line 32396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10592 : : (TARGET_AVX10_2_256)))
10593 : : return -1;
10594 : : return 10691; /* avx10_2_rcppbf16_v8bf_mask */
10595 : :
10596 : : default:
10597 : : return -1;
10598 : : }
10599 : :
10600 : : default:
10601 : : return -1;
10602 : : }
10603 : :
10604 : : case 161:
10605 : : switch (pattern629 (x2))
10606 : : {
10607 : : case 0:
10608 : : if (!(
10609 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10610 : : (TARGET_AVX512F) && (
10611 : : #line 3004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10612 : : (TARGET_AVX512F) &&
10613 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10614 : : (TARGET_EVEX512))))
10615 : : return -1;
10616 : : return 2889; /* rcp14v16sf_mask */
10617 : :
10618 : : case 1:
10619 : : if (!(
10620 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10621 : : (TARGET_AVX512F) && (
10622 : : #line 3004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10623 : : (TARGET_AVX512F) &&
10624 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10625 : : (TARGET_AVX512VL))))
10626 : : return -1;
10627 : : return 2891; /* rcp14v8sf_mask */
10628 : :
10629 : : case 2:
10630 : : if (!(
10631 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10632 : : (TARGET_AVX512F) && (
10633 : : #line 3004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10634 : : (TARGET_AVX512F) &&
10635 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10636 : : (TARGET_AVX512VL))))
10637 : : return -1;
10638 : : return 2893; /* rcp14v4sf_mask */
10639 : :
10640 : : case 3:
10641 : : if (!(
10642 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10643 : : (TARGET_AVX512F) && (
10644 : : #line 3004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10645 : : (TARGET_AVX512F) &&
10646 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10647 : : (TARGET_EVEX512))))
10648 : : return -1;
10649 : : return 2895; /* rcp14v8df_mask */
10650 : :
10651 : : case 4:
10652 : : if (!(
10653 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10654 : : (TARGET_AVX512F) && (
10655 : : #line 3004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10656 : : (TARGET_AVX512F) &&
10657 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10658 : : (TARGET_AVX512VL))))
10659 : : return -1;
10660 : : return 2897; /* rcp14v4df_mask */
10661 : :
10662 : : case 5:
10663 : : if (!(
10664 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10665 : : (TARGET_AVX512F) && (
10666 : : #line 3004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10667 : : (TARGET_AVX512F) &&
10668 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10669 : : (TARGET_AVX512VL))))
10670 : : return -1;
10671 : : return 2899; /* rcp14v2df_mask */
10672 : :
10673 : : case 6:
10674 : : if (!
10675 : : #line 3018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10676 : : (TARGET_AVX512F))
10677 : : return -1;
10678 : : return 2900; /* srcp14v4sf */
10679 : :
10680 : : case 7:
10681 : : if (!(
10682 : : #line 3018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10683 : : (TARGET_AVX512F) &&
10684 : : #line 475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10685 : : (TARGET_SSE2)))
10686 : : return -1;
10687 : : return 2901; /* srcp14v2df */
10688 : :
10689 : : default:
10690 : : return -1;
10691 : : }
10692 : :
10693 : : case 55:
10694 : : x5 = XVECEXP (x4, 0, 0);
10695 : : operands[1] = x5;
10696 : : x6 = XEXP (x2, 2);
10697 : : switch (GET_CODE (x6))
10698 : : {
10699 : : case REG:
10700 : : case SUBREG:
10701 : : operands[3] = x6;
10702 : : switch (GET_MODE (operands[0]))
10703 : : {
10704 : : case E_V32HFmode:
10705 : : if (pattern999 (x2,
10706 : : E_V32HFmode,
10707 : : E_SImode) != 0
10708 : : || !(
10709 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10710 : : (TARGET_AVX512F) && (
10711 : : #line 3147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10712 : : (TARGET_AVX512FP16) &&
10713 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10714 : : (TARGET_EVEX512))))
10715 : : return -1;
10716 : : return 2961; /* avx512fp16_rsqrtv32hf2_mask */
10717 : :
10718 : : case E_V16HFmode:
10719 : : if (pattern999 (x2,
10720 : : E_V16HFmode,
10721 : : E_HImode) != 0
10722 : : || !(
10723 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10724 : : (TARGET_AVX512F) && (
10725 : : #line 3147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10726 : : (TARGET_AVX512FP16) &&
10727 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10728 : : (TARGET_AVX512VL))))
10729 : : return -1;
10730 : : return 2963; /* avx512fp16_rsqrtv16hf2_mask */
10731 : :
10732 : : case E_V8HFmode:
10733 : : if (pattern999 (x2,
10734 : : E_V8HFmode,
10735 : : E_QImode) != 0
10736 : : || !(
10737 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10738 : : (TARGET_AVX512F) && (
10739 : : #line 3147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10740 : : (TARGET_AVX512FP16) &&
10741 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10742 : : (TARGET_AVX512VL))))
10743 : : return -1;
10744 : : return 2965; /* avx512fp16_rsqrtv8hf2_mask */
10745 : :
10746 : : case E_V32BFmode:
10747 : : if (pattern627 (x2,
10748 : : E_V32BFmode,
10749 : : E_SImode) != 0
10750 : : || !(
10751 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10752 : : (TARGET_AVX512F) && (
10753 : : #line 32379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10754 : : (TARGET_AVX10_2_256) &&
10755 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10756 : : (TARGET_AVX10_2_512))))
10757 : : return -1;
10758 : : return 10675; /* avx10_2_rsqrtpbf16_v32bf_mask */
10759 : :
10760 : : case E_V16BFmode:
10761 : : if (pattern627 (x2,
10762 : : E_V16BFmode,
10763 : : E_HImode) != 0
10764 : : || !(
10765 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10766 : : (TARGET_AVX512F) &&
10767 : : #line 32379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10768 : : (TARGET_AVX10_2_256)))
10769 : : return -1;
10770 : : return 10677; /* avx10_2_rsqrtpbf16_v16bf_mask */
10771 : :
10772 : : case E_V8BFmode:
10773 : : if (pattern627 (x2,
10774 : : E_V8BFmode,
10775 : : E_QImode) != 0
10776 : : || !(
10777 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10778 : : (TARGET_AVX512F) &&
10779 : : #line 32379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10780 : : (TARGET_AVX10_2_256)))
10781 : : return -1;
10782 : : return 10679; /* avx10_2_rsqrtpbf16_v8bf_mask */
10783 : :
10784 : : default:
10785 : : return -1;
10786 : : }
10787 : :
10788 : : case CONST_INT:
10789 : : switch (pattern882 (x2))
10790 : : {
10791 : : case 0:
10792 : : if (!
10793 : : #line 3202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10794 : : (TARGET_SSE))
10795 : : return -1;
10796 : : return 2982; /* sse_vmrsqrtv4sf2 */
10797 : :
10798 : : case 1:
10799 : : if (!
10800 : : #line 3237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10801 : : (TARGET_AVX512FP16))
10802 : : return -1;
10803 : : return 2984; /* avx512fp16_vmrsqrtv8hf2 */
10804 : :
10805 : : default:
10806 : : return -1;
10807 : : }
10808 : :
10809 : : default:
10810 : : return -1;
10811 : : }
10812 : :
10813 : : case 162:
10814 : : switch (pattern629 (x2))
10815 : : {
10816 : : case 0:
10817 : : if (!(
10818 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10819 : : (TARGET_AVX512F) && (
10820 : : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10821 : : (TARGET_AVX512F) &&
10822 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10823 : : (TARGET_EVEX512))))
10824 : : return -1;
10825 : : return 2967; /* rsqrt14v16sf_mask */
10826 : :
10827 : : case 1:
10828 : : if (!(
10829 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10830 : : (TARGET_AVX512F) && (
10831 : : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10832 : : (TARGET_AVX512F) &&
10833 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10834 : : (TARGET_AVX512VL))))
10835 : : return -1;
10836 : : return 2969; /* rsqrt14v8sf_mask */
10837 : :
10838 : : case 2:
10839 : : if (!(
10840 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10841 : : (TARGET_AVX512F) && (
10842 : : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10843 : : (TARGET_AVX512F) &&
10844 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10845 : : (TARGET_AVX512VL))))
10846 : : return -1;
10847 : : return 2971; /* rsqrt14v4sf_mask */
10848 : :
10849 : : case 3:
10850 : : if (!(
10851 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10852 : : (TARGET_AVX512F) && (
10853 : : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10854 : : (TARGET_AVX512F) &&
10855 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10856 : : (TARGET_EVEX512))))
10857 : : return -1;
10858 : : return 2973; /* rsqrt14v8df_mask */
10859 : :
10860 : : case 4:
10861 : : if (!(
10862 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10863 : : (TARGET_AVX512F) && (
10864 : : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10865 : : (TARGET_AVX512F) &&
10866 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10867 : : (TARGET_AVX512VL))))
10868 : : return -1;
10869 : : return 2975; /* rsqrt14v4df_mask */
10870 : :
10871 : : case 5:
10872 : : if (!(
10873 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10874 : : (TARGET_AVX512F) && (
10875 : : #line 3158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10876 : : (TARGET_AVX512F) &&
10877 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10878 : : (TARGET_AVX512VL))))
10879 : : return -1;
10880 : : return 2977; /* rsqrt14v2df_mask */
10881 : :
10882 : : case 6:
10883 : : if (!
10884 : : #line 3172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10885 : : (TARGET_AVX512F))
10886 : : return -1;
10887 : : return 2978; /* rsqrt14v4sf */
10888 : :
10889 : : case 7:
10890 : : if (!(
10891 : : #line 3172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10892 : : (TARGET_AVX512F) &&
10893 : : #line 475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10894 : : (TARGET_SSE2)))
10895 : : return -1;
10896 : : return 2979; /* rsqrt14v2df */
10897 : :
10898 : : default:
10899 : : return -1;
10900 : : }
10901 : :
10902 : : case 156:
10903 : : return recog_124 (x1, insn, pnum_clobbers);
10904 : :
10905 : : case 46:
10906 : : return recog_122 (x1, insn, pnum_clobbers);
10907 : :
10908 : : case 172:
10909 : : return recog_123 (x1, insn, pnum_clobbers);
10910 : :
10911 : : case 173:
10912 : : return recog_125 (x1, insn, pnum_clobbers);
10913 : :
10914 : : case 165:
10915 : : return recog_127 (x1, insn, pnum_clobbers);
10916 : :
10917 : : case 136:
10918 : : x6 = XEXP (x2, 2);
10919 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
10920 : : return -1;
10921 : : x5 = XVECEXP (x4, 0, 0);
10922 : : operands[1] = x5;
10923 : : switch (GET_MODE (operands[0]))
10924 : : {
10925 : : case E_V4SFmode:
10926 : : if (pattern1000 (x2,
10927 : : E_V4SFmode) != 0
10928 : : || !
10929 : : #line 27017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10930 : : (TARGET_XOP))
10931 : : return -1;
10932 : : return 9056; /* *xop_vmfrczv4sf2 */
10933 : :
10934 : : case E_V2DFmode:
10935 : : if (pattern1000 (x2,
10936 : : E_V2DFmode) != 0
10937 : : || !(
10938 : : #line 27017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10939 : : (TARGET_XOP) &&
10940 : : #line 475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10941 : : (TARGET_SSE2)))
10942 : : return -1;
10943 : : return 9057; /* *xop_vmfrczv2df2 */
10944 : :
10945 : : default:
10946 : : return -1;
10947 : : }
10948 : :
10949 : : case 149:
10950 : : x5 = XVECEXP (x4, 0, 0);
10951 : : operands[1] = x5;
10952 : : x6 = XEXP (x2, 2);
10953 : : operands[3] = x6;
10954 : : switch (GET_MODE (operands[0]))
10955 : : {
10956 : : case E_V4SFmode:
10957 : : if (!register_operand (operands[0], E_V4SFmode)
10958 : : || GET_MODE (x2) != E_V4SFmode
10959 : : || GET_MODE (x4) != E_V4SFmode
10960 : : || !memory_operand (operands[1], E_V4HImode)
10961 : : || !nonimm_or_0_operand (operands[2], E_V4SFmode)
10962 : : || !register_operand (operands[3], E_QImode)
10963 : : || !(
10964 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10965 : : (TARGET_AVX512F) &&
10966 : : #line 29086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10967 : : (TARGET_F16C || TARGET_AVX512VL)))
10968 : : return -1;
10969 : : return 9646; /* *vcvtph2ps_load_mask */
10970 : :
10971 : : case E_V8SFmode:
10972 : : if (pattern631 (x2,
10973 : : E_V8SFmode,
10974 : : E_QImode,
10975 : : E_V8HImode) != 0
10976 : : || !(
10977 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10978 : : (TARGET_AVX512F) &&
10979 : : #line 29096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10980 : : ((TARGET_F16C || TARGET_AVX512VL)
10981 : : && (!false || TARGET_AVX10_2_256))))
10982 : : return -1;
10983 : : return 9649; /* vcvtph2ps256_mask */
10984 : :
10985 : : case E_V16SFmode:
10986 : : if (pattern633 (x2,
10987 : : E_V16SFmode,
10988 : : E_HImode,
10989 : : E_V16HImode) != 0
10990 : : || !(
10991 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10992 : : (TARGET_AVX512F) &&
10993 : : #line 29109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10994 : : (TARGET_AVX512F && TARGET_EVEX512)))
10995 : : return -1;
10996 : : return 9653; /* avx512f_vcvtph2ps512_mask */
10997 : :
10998 : : default:
10999 : : return -1;
11000 : : }
11001 : :
11002 : : case 168:
11003 : : x5 = XVECEXP (x4, 0, 0);
11004 : : operands[1] = x5;
11005 : : x6 = XEXP (x2, 2);
11006 : : operands[3] = x6;
11007 : : switch (GET_MODE (operands[0]))
11008 : : {
11009 : : case E_V16SImode:
11010 : : if (pattern627 (x2,
11011 : : E_V16SImode,
11012 : : E_HImode) != 0
11013 : : || !(
11014 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11015 : : (TARGET_AVX512F) && (
11016 : : #line 29946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11017 : : (TARGET_AVX512CD) &&
11018 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11019 : : (TARGET_EVEX512))))
11020 : : return -1;
11021 : : return 10069; /* conflictv16si_mask */
11022 : :
11023 : : case E_V8SImode:
11024 : : if (pattern627 (x2,
11025 : : E_V8SImode,
11026 : : E_QImode) != 0
11027 : : || !(
11028 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11029 : : (TARGET_AVX512F) && (
11030 : : #line 29946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11031 : : (TARGET_AVX512CD) &&
11032 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11033 : : (TARGET_AVX512VL))))
11034 : : return -1;
11035 : : return 10071; /* conflictv8si_mask */
11036 : :
11037 : : case E_V4SImode:
11038 : : if (pattern627 (x2,
11039 : : E_V4SImode,
11040 : : E_QImode) != 0
11041 : : || !(
11042 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11043 : : (TARGET_AVX512F) && (
11044 : : #line 29946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11045 : : (TARGET_AVX512CD) &&
11046 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11047 : : (TARGET_AVX512VL))))
11048 : : return -1;
11049 : : return 10073; /* conflictv4si_mask */
11050 : :
11051 : : case E_V8DImode:
11052 : : if (pattern627 (x2,
11053 : : E_V8DImode,
11054 : : E_QImode) != 0
11055 : : || !(
11056 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11057 : : (TARGET_AVX512F) && (
11058 : : #line 29946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11059 : : (TARGET_AVX512CD) &&
11060 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11061 : : (TARGET_EVEX512))))
11062 : : return -1;
11063 : : return 10075; /* conflictv8di_mask */
11064 : :
11065 : : case E_V4DImode:
11066 : : if (pattern627 (x2,
11067 : : E_V4DImode,
11068 : : E_QImode) != 0
11069 : : || !(
11070 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11071 : : (TARGET_AVX512F) && (
11072 : : #line 29946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11073 : : (TARGET_AVX512CD) &&
11074 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11075 : : (TARGET_AVX512VL))))
11076 : : return -1;
11077 : : return 10077; /* conflictv4di_mask */
11078 : :
11079 : : case E_V2DImode:
11080 : : if (pattern627 (x2,
11081 : : E_V2DImode,
11082 : : E_QImode) != 0
11083 : : || !(
11084 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11085 : : (TARGET_AVX512F) && (
11086 : : #line 29946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11087 : : (TARGET_AVX512CD) &&
11088 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11089 : : (TARGET_AVX512VL))))
11090 : : return -1;
11091 : : return 10079; /* conflictv2di_mask */
11092 : :
11093 : : default:
11094 : : return -1;
11095 : : }
11096 : :
11097 : : case 253:
11098 : : switch (pattern632 (x2))
11099 : : {
11100 : : case 0:
11101 : : if (!(
11102 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11103 : : (TARGET_AVX512F) &&
11104 : : #line 31901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11105 : : (TARGET_AVX10_2_256)))
11106 : : return -1;
11107 : : return 10500; /* vcvtneph2bf8v16hf_mask */
11108 : :
11109 : : case 1:
11110 : : if (!(
11111 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11112 : : (TARGET_AVX512F) && (
11113 : : #line 31901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11114 : : (TARGET_AVX10_2_256) &&
11115 : : #line 31822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11116 : : (TARGET_AVX10_2_512))))
11117 : : return -1;
11118 : : return 10508; /* vcvtneph2bf8v32hf_mask */
11119 : :
11120 : : default:
11121 : : return -1;
11122 : : }
11123 : :
11124 : : case 254:
11125 : : switch (pattern632 (x2))
11126 : : {
11127 : : case 0:
11128 : : if (!(
11129 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11130 : : (TARGET_AVX512F) &&
11131 : : #line 31901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11132 : : (TARGET_AVX10_2_256)))
11133 : : return -1;
11134 : : return 10502; /* vcvtneph2bf8sv16hf_mask */
11135 : :
11136 : : case 1:
11137 : : if (!(
11138 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11139 : : (TARGET_AVX512F) && (
11140 : : #line 31901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11141 : : (TARGET_AVX10_2_256) &&
11142 : : #line 31822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11143 : : (TARGET_AVX10_2_512))))
11144 : : return -1;
11145 : : return 10510; /* vcvtneph2bf8sv32hf_mask */
11146 : :
11147 : : default:
11148 : : return -1;
11149 : : }
11150 : :
11151 : : case 255:
11152 : : switch (pattern632 (x2))
11153 : : {
11154 : : case 0:
11155 : : if (!(
11156 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11157 : : (TARGET_AVX512F) &&
11158 : : #line 31901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11159 : : (TARGET_AVX10_2_256)))
11160 : : return -1;
11161 : : return 10504; /* vcvtneph2hf8v16hf_mask */
11162 : :
11163 : : case 1:
11164 : : if (!(
11165 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11166 : : (TARGET_AVX512F) && (
11167 : : #line 31901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11168 : : (TARGET_AVX10_2_256) &&
11169 : : #line 31822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11170 : : (TARGET_AVX10_2_512))))
11171 : : return -1;
11172 : : return 10512; /* vcvtneph2hf8v32hf_mask */
11173 : :
11174 : : default:
11175 : : return -1;
11176 : : }
11177 : :
11178 : : case 256:
11179 : : switch (pattern632 (x2))
11180 : : {
11181 : : case 0:
11182 : : if (!(
11183 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11184 : : (TARGET_AVX512F) &&
11185 : : #line 31901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11186 : : (TARGET_AVX10_2_256)))
11187 : : return -1;
11188 : : return 10506; /* vcvtneph2hf8sv16hf_mask */
11189 : :
11190 : : case 1:
11191 : : if (!(
11192 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11193 : : (TARGET_AVX512F) && (
11194 : : #line 31901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11195 : : (TARGET_AVX10_2_256) &&
11196 : : #line 31822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11197 : : (TARGET_AVX10_2_512))))
11198 : : return -1;
11199 : : return 10514; /* vcvtneph2hf8sv32hf_mask */
11200 : :
11201 : : default:
11202 : : return -1;
11203 : : }
11204 : :
11205 : : case 257:
11206 : : x5 = XVECEXP (x4, 0, 0);
11207 : : operands[1] = x5;
11208 : : x6 = XEXP (x2, 2);
11209 : : operands[3] = x6;
11210 : : switch (GET_MODE (operands[0]))
11211 : : {
11212 : : case E_V32HFmode:
11213 : : if (pattern631 (x2,
11214 : : E_V32HFmode,
11215 : : E_SImode,
11216 : : E_V32QImode) != 0
11217 : : || !(
11218 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11219 : : (TARGET_AVX512F) && (
11220 : : #line 31910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11221 : : (TARGET_AVX10_2_256) &&
11222 : : #line 562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11223 : : (TARGET_AVX10_2_512))))
11224 : : return -1;
11225 : : return 10516; /* vcvthf82phv32hf_mask */
11226 : :
11227 : : case E_V16HFmode:
11228 : : if (pattern631 (x2,
11229 : : E_V16HFmode,
11230 : : E_HImode,
11231 : : E_V16QImode) != 0
11232 : : || !(
11233 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11234 : : (TARGET_AVX512F) &&
11235 : : #line 31910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11236 : : (TARGET_AVX10_2_256)))
11237 : : return -1;
11238 : : return 10518; /* vcvthf82phv16hf_mask */
11239 : :
11240 : : case E_V8HFmode:
11241 : : if (pattern631 (x2,
11242 : : E_V8HFmode,
11243 : : E_QImode,
11244 : : E_V16QImode) != 0
11245 : : || !(
11246 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11247 : : (TARGET_AVX512F) &&
11248 : : #line 31910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11249 : : (TARGET_AVX10_2_256)))
11250 : : return -1;
11251 : : return 10520; /* vcvthf82phv8hf_mask */
11252 : :
11253 : : default:
11254 : : return -1;
11255 : : }
11256 : :
11257 : : case 264:
11258 : : switch (pattern634 (x2,
11259 : : E_V32BFmode,
11260 : : E_V16BFmode,
11261 : : E_V8BFmode))
11262 : : {
11263 : : case 0:
11264 : : if (!(
11265 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11266 : : (TARGET_AVX512F) && (
11267 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11268 : : (TARGET_AVX10_2_256) &&
11269 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11270 : : (TARGET_AVX10_2_512))))
11271 : : return -1;
11272 : : return 10730; /* avx10_2_cvtnebf162ibsv32bf_mask */
11273 : :
11274 : : case 1:
11275 : : if (!(
11276 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11277 : : (TARGET_AVX512F) &&
11278 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11279 : : (TARGET_AVX10_2_256)))
11280 : : return -1;
11281 : : return 10738; /* avx10_2_cvtnebf162ibsv16bf_mask */
11282 : :
11283 : : case 2:
11284 : : if (!(
11285 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11286 : : (TARGET_AVX512F) &&
11287 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11288 : : (TARGET_AVX10_2_256)))
11289 : : return -1;
11290 : : return 10746; /* avx10_2_cvtnebf162ibsv8bf_mask */
11291 : :
11292 : : default:
11293 : : return -1;
11294 : : }
11295 : :
11296 : : case 265:
11297 : : switch (pattern634 (x2,
11298 : : E_V32BFmode,
11299 : : E_V16BFmode,
11300 : : E_V8BFmode))
11301 : : {
11302 : : case 0:
11303 : : if (!(
11304 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11305 : : (TARGET_AVX512F) && (
11306 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11307 : : (TARGET_AVX10_2_256) &&
11308 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11309 : : (TARGET_AVX10_2_512))))
11310 : : return -1;
11311 : : return 10732; /* avx10_2_cvtnebf162iubsv32bf_mask */
11312 : :
11313 : : case 1:
11314 : : if (!(
11315 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11316 : : (TARGET_AVX512F) &&
11317 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11318 : : (TARGET_AVX10_2_256)))
11319 : : return -1;
11320 : : return 10740; /* avx10_2_cvtnebf162iubsv16bf_mask */
11321 : :
11322 : : case 2:
11323 : : if (!(
11324 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11325 : : (TARGET_AVX512F) &&
11326 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11327 : : (TARGET_AVX10_2_256)))
11328 : : return -1;
11329 : : return 10748; /* avx10_2_cvtnebf162iubsv8bf_mask */
11330 : :
11331 : : default:
11332 : : return -1;
11333 : : }
11334 : :
11335 : : case 270:
11336 : : switch (pattern634 (x2,
11337 : : E_V32BFmode,
11338 : : E_V16BFmode,
11339 : : E_V8BFmode))
11340 : : {
11341 : : case 0:
11342 : : if (!(
11343 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11344 : : (TARGET_AVX512F) && (
11345 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11346 : : (TARGET_AVX10_2_256) &&
11347 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11348 : : (TARGET_AVX10_2_512))))
11349 : : return -1;
11350 : : return 10734; /* avx10_2_cvttnebf162ibsv32bf_mask */
11351 : :
11352 : : case 1:
11353 : : if (!(
11354 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11355 : : (TARGET_AVX512F) &&
11356 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11357 : : (TARGET_AVX10_2_256)))
11358 : : return -1;
11359 : : return 10742; /* avx10_2_cvttnebf162ibsv16bf_mask */
11360 : :
11361 : : case 2:
11362 : : if (!(
11363 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11364 : : (TARGET_AVX512F) &&
11365 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11366 : : (TARGET_AVX10_2_256)))
11367 : : return -1;
11368 : : return 10750; /* avx10_2_cvttnebf162ibsv8bf_mask */
11369 : :
11370 : : default:
11371 : : return -1;
11372 : : }
11373 : :
11374 : : case 271:
11375 : : switch (pattern634 (x2,
11376 : : E_V32BFmode,
11377 : : E_V16BFmode,
11378 : : E_V8BFmode))
11379 : : {
11380 : : case 0:
11381 : : if (!(
11382 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11383 : : (TARGET_AVX512F) && (
11384 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11385 : : (TARGET_AVX10_2_256) &&
11386 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11387 : : (TARGET_AVX10_2_512))))
11388 : : return -1;
11389 : : return 10736; /* avx10_2_cvttnebf162iubsv32bf_mask */
11390 : :
11391 : : case 1:
11392 : : if (!(
11393 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11394 : : (TARGET_AVX512F) &&
11395 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11396 : : (TARGET_AVX10_2_256)))
11397 : : return -1;
11398 : : return 10744; /* avx10_2_cvttnebf162iubsv16bf_mask */
11399 : :
11400 : : case 2:
11401 : : if (!(
11402 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11403 : : (TARGET_AVX512F) &&
11404 : : #line 32497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11405 : : (TARGET_AVX10_2_256)))
11406 : : return -1;
11407 : : return 10752; /* avx10_2_cvttnebf162iubsv8bf_mask */
11408 : :
11409 : : default:
11410 : : return -1;
11411 : : }
11412 : :
11413 : : case 266:
11414 : : switch (pattern634 (x2,
11415 : : E_V32HFmode,
11416 : : E_V16HFmode,
11417 : : E_V8HFmode))
11418 : : {
11419 : : case 0:
11420 : : if (!(
11421 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11422 : : (TARGET_AVX512F) && (
11423 : : #line 32512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11424 : : (TARGET_AVX10_2_256 && 1) &&
11425 : : #line 562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11426 : : (TARGET_AVX10_2_512))))
11427 : : return -1;
11428 : : return 10755; /* avx10_2_cvtph2ibsv32hf_mask */
11429 : :
11430 : : case 1:
11431 : : if (!(
11432 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11433 : : (TARGET_AVX512F) &&
11434 : : #line 32512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11435 : : (TARGET_AVX10_2_256 && 1)))
11436 : : return -1;
11437 : : return 10763; /* avx10_2_cvtph2ibsv16hf_mask */
11438 : :
11439 : : case 2:
11440 : : if (!(
11441 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11442 : : (TARGET_AVX512F) &&
11443 : : #line 32512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : : (TARGET_AVX10_2_256 && 1)))
11445 : : return -1;
11446 : : return 10770; /* avx10_2_cvtph2ibsv8hf_mask */
11447 : :
11448 : : default:
11449 : : return -1;
11450 : : }
11451 : :
11452 : : case 267:
11453 : : switch (pattern634 (x2,
11454 : : E_V32HFmode,
11455 : : E_V16HFmode,
11456 : : E_V8HFmode))
11457 : : {
11458 : : case 0:
11459 : : if (!(
11460 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11461 : : (TARGET_AVX512F) && (
11462 : : #line 32512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11463 : : (TARGET_AVX10_2_256 && 1) &&
11464 : : #line 562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11465 : : (TARGET_AVX10_2_512))))
11466 : : return -1;
11467 : : return 10759; /* avx10_2_cvtph2iubsv32hf_mask */
11468 : :
11469 : : case 1:
11470 : : if (!(
11471 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11472 : : (TARGET_AVX512F) &&
11473 : : #line 32512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11474 : : (TARGET_AVX10_2_256 && 1)))
11475 : : return -1;
11476 : : return 10767; /* avx10_2_cvtph2iubsv16hf_mask */
11477 : :
11478 : : case 2:
11479 : : if (!(
11480 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11481 : : (TARGET_AVX512F) &&
11482 : : #line 32512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11483 : : (TARGET_AVX10_2_256 && 1)))
11484 : : return -1;
11485 : : return 10772; /* avx10_2_cvtph2iubsv8hf_mask */
11486 : :
11487 : : default:
11488 : : return -1;
11489 : : }
11490 : :
11491 : : case 272:
11492 : : switch (pattern634 (x2,
11493 : : E_V32HFmode,
11494 : : E_V16HFmode,
11495 : : E_V8HFmode))
11496 : : {
11497 : : case 0:
11498 : : if (!(
11499 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11500 : : (TARGET_AVX512F) && (
11501 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11502 : : (TARGET_AVX10_2_256 && 1) &&
11503 : : #line 562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11504 : : (TARGET_AVX10_2_512))))
11505 : : return -1;
11506 : : return 10775; /* avx10_2_cvttph2ibsv32hf_mask */
11507 : :
11508 : : case 1:
11509 : : if (!(
11510 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11511 : : (TARGET_AVX512F) &&
11512 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11513 : : (TARGET_AVX10_2_256 && 1)))
11514 : : return -1;
11515 : : return 10783; /* avx10_2_cvttph2ibsv16hf_mask */
11516 : :
11517 : : case 2:
11518 : : if (!(
11519 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11520 : : (TARGET_AVX512F) &&
11521 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11522 : : (TARGET_AVX10_2_256 && 1)))
11523 : : return -1;
11524 : : return 10790; /* avx10_2_cvttph2ibsv8hf_mask */
11525 : :
11526 : : default:
11527 : : return -1;
11528 : : }
11529 : :
11530 : : case 273:
11531 : : switch (pattern634 (x2,
11532 : : E_V32HFmode,
11533 : : E_V16HFmode,
11534 : : E_V8HFmode))
11535 : : {
11536 : : case 0:
11537 : : if (!(
11538 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11539 : : (TARGET_AVX512F) && (
11540 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11541 : : (TARGET_AVX10_2_256 && 1) &&
11542 : : #line 562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11543 : : (TARGET_AVX10_2_512))))
11544 : : return -1;
11545 : : return 10779; /* avx10_2_cvttph2iubsv32hf_mask */
11546 : :
11547 : : case 1:
11548 : : if (!(
11549 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11550 : : (TARGET_AVX512F) &&
11551 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11552 : : (TARGET_AVX10_2_256 && 1)))
11553 : : return -1;
11554 : : return 10787; /* avx10_2_cvttph2iubsv16hf_mask */
11555 : :
11556 : : case 2:
11557 : : if (!(
11558 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11559 : : (TARGET_AVX512F) &&
11560 : : #line 32527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11561 : : (TARGET_AVX10_2_256 && 1)))
11562 : : return -1;
11563 : : return 10792; /* avx10_2_cvttph2iubsv8hf_mask */
11564 : :
11565 : : default:
11566 : : return -1;
11567 : : }
11568 : :
11569 : : case 268:
11570 : : switch (pattern635 (x2))
11571 : : {
11572 : : case 0:
11573 : : if (!(
11574 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11575 : : (TARGET_AVX512F) && (
11576 : : #line 32542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11577 : : (TARGET_AVX10_2_256 && 1) &&
11578 : : #line 546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11579 : : (TARGET_AVX10_2_512))))
11580 : : return -1;
11581 : : return 10795; /* avx10_2_cvtps2ibsv16sf_mask */
11582 : :
11583 : : case 1:
11584 : : if (!(
11585 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11586 : : (TARGET_AVX512F) &&
11587 : : #line 32542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11588 : : (TARGET_AVX10_2_256 && 1)))
11589 : : return -1;
11590 : : return 10803; /* avx10_2_cvtps2ibsv8sf_mask */
11591 : :
11592 : : case 2:
11593 : : if (!(
11594 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11595 : : (TARGET_AVX512F) &&
11596 : : #line 32542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11597 : : (TARGET_AVX10_2_256 && 1)))
11598 : : return -1;
11599 : : return 10810; /* avx10_2_cvtps2ibsv4sf_mask */
11600 : :
11601 : : default:
11602 : : return -1;
11603 : : }
11604 : :
11605 : : case 269:
11606 : : switch (pattern635 (x2))
11607 : : {
11608 : : case 0:
11609 : : if (!(
11610 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11611 : : (TARGET_AVX512F) && (
11612 : : #line 32542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11613 : : (TARGET_AVX10_2_256 && 1) &&
11614 : : #line 546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11615 : : (TARGET_AVX10_2_512))))
11616 : : return -1;
11617 : : return 10799; /* avx10_2_cvtps2iubsv16sf_mask */
11618 : :
11619 : : case 1:
11620 : : if (!(
11621 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11622 : : (TARGET_AVX512F) &&
11623 : : #line 32542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11624 : : (TARGET_AVX10_2_256 && 1)))
11625 : : return -1;
11626 : : return 10807; /* avx10_2_cvtps2iubsv8sf_mask */
11627 : :
11628 : : case 2:
11629 : : if (!(
11630 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11631 : : (TARGET_AVX512F) &&
11632 : : #line 32542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11633 : : (TARGET_AVX10_2_256 && 1)))
11634 : : return -1;
11635 : : return 10812; /* avx10_2_cvtps2iubsv4sf_mask */
11636 : :
11637 : : default:
11638 : : return -1;
11639 : : }
11640 : :
11641 : : case 274:
11642 : : switch (pattern635 (x2))
11643 : : {
11644 : : case 0:
11645 : : if (!(
11646 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11647 : : (TARGET_AVX512F) && (
11648 : : #line 32557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11649 : : (TARGET_AVX10_2_256 && 1) &&
11650 : : #line 546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11651 : : (TARGET_AVX10_2_512))))
11652 : : return -1;
11653 : : return 10815; /* avx10_2_cvttps2ibsv16sf_mask */
11654 : :
11655 : : case 1:
11656 : : if (!(
11657 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11658 : : (TARGET_AVX512F) &&
11659 : : #line 32557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11660 : : (TARGET_AVX10_2_256 && 1)))
11661 : : return -1;
11662 : : return 10823; /* avx10_2_cvttps2ibsv8sf_mask */
11663 : :
11664 : : case 2:
11665 : : if (!(
11666 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11667 : : (TARGET_AVX512F) &&
11668 : : #line 32557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11669 : : (TARGET_AVX10_2_256 && 1)))
11670 : : return -1;
11671 : : return 10830; /* avx10_2_cvttps2ibsv4sf_mask */
11672 : :
11673 : : default:
11674 : : return -1;
11675 : : }
11676 : :
11677 : : case 275:
11678 : : switch (pattern635 (x2))
11679 : : {
11680 : : case 0:
11681 : : if (!(
11682 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11683 : : (TARGET_AVX512F) && (
11684 : : #line 32557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11685 : : (TARGET_AVX10_2_256 && 1) &&
11686 : : #line 546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11687 : : (TARGET_AVX10_2_512))))
11688 : : return -1;
11689 : : return 10819; /* avx10_2_cvttps2iubsv16sf_mask */
11690 : :
11691 : : case 1:
11692 : : if (!(
11693 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11694 : : (TARGET_AVX512F) &&
11695 : : #line 32557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11696 : : (TARGET_AVX10_2_256 && 1)))
11697 : : return -1;
11698 : : return 10827; /* avx10_2_cvttps2iubsv8sf_mask */
11699 : :
11700 : : case 2:
11701 : : if (!(
11702 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11703 : : (TARGET_AVX512F) &&
11704 : : #line 32557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11705 : : (TARGET_AVX10_2_256 && 1)))
11706 : : return -1;
11707 : : return 10832; /* avx10_2_cvttps2iubsv4sf_mask */
11708 : :
11709 : : default:
11710 : : return -1;
11711 : : }
11712 : :
11713 : : case 276:
11714 : : switch (pattern636 (x2))
11715 : : {
11716 : : case 0:
11717 : : if (!(
11718 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11719 : : (TARGET_AVX512F) && (
11720 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11721 : : (TARGET_AVX10_2_256 && 1) &&
11722 : : #line 386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11723 : : (TARGET_AVX10_2_512))))
11724 : : return -1;
11725 : : return 10835; /* avx10_2_vcvttps2dqsv16sf_mask */
11726 : :
11727 : : case 1:
11728 : : if (!(
11729 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11730 : : (TARGET_AVX512F) &&
11731 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11732 : : (TARGET_AVX10_2_256 && 1)))
11733 : : return -1;
11734 : : return 10843; /* avx10_2_vcvttps2dqsv8sf_mask */
11735 : :
11736 : : case 2:
11737 : : if (!(
11738 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11739 : : (TARGET_AVX512F) && (
11740 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11741 : : (TARGET_AVX10_2_256 && 1) &&
11742 : : #line 387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11743 : : (TARGET_AVX10_2_512))))
11744 : : return -1;
11745 : : return 10855; /* avx10_2_vcvttpd2dqsv8df_mask */
11746 : :
11747 : : case 3:
11748 : : if (!(
11749 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11750 : : (TARGET_AVX512F) &&
11751 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11752 : : (TARGET_AVX10_2_256 && 1)))
11753 : : return -1;
11754 : : return 10850; /* avx10_2_vcvttps2dqsv4sf_mask */
11755 : :
11756 : : case 4:
11757 : : if (!(
11758 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11759 : : (TARGET_AVX512F) &&
11760 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11761 : : (TARGET_AVX10_2_256 && 1)))
11762 : : return -1;
11763 : : return 10863; /* avx10_2_vcvttpd2dqsv4df_mask */
11764 : :
11765 : : case 5:
11766 : : if (!(
11767 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11768 : : (TARGET_AVX512F) &&
11769 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11770 : : (TARGET_AVX10_2_256 && 1)))
11771 : : return -1;
11772 : : return 10870; /* avx10_2_vcvttpd2dqsv2df_mask */
11773 : :
11774 : : case 6:
11775 : : if (!(
11776 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11777 : : (TARGET_AVX512F) && (
11778 : : #line 32587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11779 : : (TARGET_AVX10_2_256 && 1) &&
11780 : : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11781 : : (TARGET_AVX10_2_512))))
11782 : : return -1;
11783 : : return 10875; /* avx10_2_vcvttpd2qqsv8df_mask */
11784 : :
11785 : : case 7:
11786 : : if (!(
11787 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11788 : : (TARGET_AVX512F) && (
11789 : : #line 32598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11790 : : (TARGET_AVX10_2_256 && 1) &&
11791 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11792 : : (TARGET_AVX10_2_512))))
11793 : : return -1;
11794 : : return 10895; /* avx10_2_vcvttps2qqsv8di_mask */
11795 : :
11796 : : case 8:
11797 : : if (!(
11798 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11799 : : (TARGET_AVX512F) &&
11800 : : #line 32587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11801 : : (TARGET_AVX10_2_256 && 1)))
11802 : : return -1;
11803 : : return 10883; /* avx10_2_vcvttpd2qqsv4df_mask */
11804 : :
11805 : : case 9:
11806 : : if (!(
11807 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11808 : : (TARGET_AVX512F) &&
11809 : : #line 32598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11810 : : (TARGET_AVX10_2_256 && 1)))
11811 : : return -1;
11812 : : return 10903; /* avx10_2_vcvttps2qqsv4di_mask */
11813 : :
11814 : : case 10:
11815 : : if (!(
11816 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11817 : : (TARGET_AVX512F) &&
11818 : : #line 32587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11819 : : (TARGET_AVX10_2_256 && 1)))
11820 : : return -1;
11821 : : return 10890; /* avx10_2_vcvttpd2qqsv2df_mask */
11822 : :
11823 : : case 11:
11824 : : if (!(
11825 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11826 : : (TARGET_AVX512F) &&
11827 : : #line 32598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11828 : : (TARGET_AVX10_2_256 && 1)))
11829 : : return -1;
11830 : : return 10910; /* avx10_2_vcvttps2qqsv2di_mask */
11831 : :
11832 : : default:
11833 : : return -1;
11834 : : }
11835 : :
11836 : : case 277:
11837 : : switch (pattern636 (x2))
11838 : : {
11839 : : case 0:
11840 : : if (!(
11841 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11842 : : (TARGET_AVX512F) && (
11843 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11844 : : (TARGET_AVX10_2_256 && 1) &&
11845 : : #line 386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11846 : : (TARGET_AVX10_2_512))))
11847 : : return -1;
11848 : : return 10839; /* avx10_2_vcvttps2udqsv16sf_mask */
11849 : :
11850 : : case 1:
11851 : : if (!(
11852 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11853 : : (TARGET_AVX512F) &&
11854 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11855 : : (TARGET_AVX10_2_256 && 1)))
11856 : : return -1;
11857 : : return 10847; /* avx10_2_vcvttps2udqsv8sf_mask */
11858 : :
11859 : : case 2:
11860 : : if (!(
11861 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11862 : : (TARGET_AVX512F) && (
11863 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11864 : : (TARGET_AVX10_2_256 && 1) &&
11865 : : #line 387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11866 : : (TARGET_AVX10_2_512))))
11867 : : return -1;
11868 : : return 10859; /* avx10_2_vcvttpd2udqsv8df_mask */
11869 : :
11870 : : case 3:
11871 : : if (!(
11872 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11873 : : (TARGET_AVX512F) &&
11874 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11875 : : (TARGET_AVX10_2_256 && 1)))
11876 : : return -1;
11877 : : return 10852; /* avx10_2_vcvttps2udqsv4sf_mask */
11878 : :
11879 : : case 4:
11880 : : if (!(
11881 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11882 : : (TARGET_AVX512F) &&
11883 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11884 : : (TARGET_AVX10_2_256 && 1)))
11885 : : return -1;
11886 : : return 10867; /* avx10_2_vcvttpd2udqsv4df_mask */
11887 : :
11888 : : case 5:
11889 : : if (!(
11890 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11891 : : (TARGET_AVX512F) &&
11892 : : #line 32576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11893 : : (TARGET_AVX10_2_256 && 1)))
11894 : : return -1;
11895 : : return 10872; /* avx10_2_vcvttpd2udqsv2df_mask */
11896 : :
11897 : : case 6:
11898 : : if (!(
11899 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11900 : : (TARGET_AVX512F) && (
11901 : : #line 32587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11902 : : (TARGET_AVX10_2_256 && 1) &&
11903 : : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11904 : : (TARGET_AVX10_2_512))))
11905 : : return -1;
11906 : : return 10879; /* avx10_2_vcvttpd2uqqsv8df_mask */
11907 : :
11908 : : case 7:
11909 : : if (!(
11910 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11911 : : (TARGET_AVX512F) && (
11912 : : #line 32598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11913 : : (TARGET_AVX10_2_256 && 1) &&
11914 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11915 : : (TARGET_AVX10_2_512))))
11916 : : return -1;
11917 : : return 10899; /* avx10_2_vcvttps2uqqsv8di_mask */
11918 : :
11919 : : case 8:
11920 : : if (!(
11921 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11922 : : (TARGET_AVX512F) &&
11923 : : #line 32587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11924 : : (TARGET_AVX10_2_256 && 1)))
11925 : : return -1;
11926 : : return 10887; /* avx10_2_vcvttpd2uqqsv4df_mask */
11927 : :
11928 : : case 9:
11929 : : if (!(
11930 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11931 : : (TARGET_AVX512F) &&
11932 : : #line 32598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11933 : : (TARGET_AVX10_2_256 && 1)))
11934 : : return -1;
11935 : : return 10907; /* avx10_2_vcvttps2uqqsv4di_mask */
11936 : :
11937 : : case 10:
11938 : : if (!(
11939 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11940 : : (TARGET_AVX512F) &&
11941 : : #line 32587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11942 : : (TARGET_AVX10_2_256 && 1)))
11943 : : return -1;
11944 : : return 10892; /* avx10_2_vcvttpd2uqqsv2df_mask */
11945 : :
11946 : : case 11:
11947 : : if (!(
11948 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11949 : : (TARGET_AVX512F) &&
11950 : : #line 32598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11951 : : (TARGET_AVX10_2_256 && 1)))
11952 : : return -1;
11953 : : return 10912; /* avx10_2_vcvttps2uqqsv2di_mask */
11954 : :
11955 : : default:
11956 : : return -1;
11957 : : }
11958 : :
11959 : : case 280:
11960 : : return recog_126 (x1, insn, pnum_clobbers);
11961 : :
11962 : : default:
11963 : : return -1;
11964 : : }
11965 : : }
11966 : :
11967 : : int
11968 : : recog_172 (rtx x1 ATTRIBUTE_UNUSED,
11969 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11970 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11971 : : {
11972 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11973 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
11974 : : rtx x10;
11975 : : int res ATTRIBUTE_UNUSED;
11976 : : x2 = XEXP (x1, 1);
11977 : : x3 = XEXP (x2, 0);
11978 : : x4 = XEXP (x3, 1);
11979 : : x5 = XVECEXP (x4, 0, 4);
11980 : : if (GET_CODE (x5) != CONST_INT)
11981 : : return -1;
11982 : : operands[6] = x5;
11983 : : res = recog_171 (x1, insn, pnum_clobbers);
11984 : : if (res >= 0)
11985 : : return res;
11986 : : if (XWINT (x5, 0) != 4L)
11987 : : return -1;
11988 : : x6 = XVECEXP (x4, 0, 5);
11989 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
11990 : : return -1;
11991 : : x7 = XVECEXP (x4, 0, 6);
11992 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
11993 : : return -1;
11994 : : x8 = XVECEXP (x4, 0, 7);
11995 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
11996 : : || pattern1302 (x2,
11997 : : E_V8HImode) != 0
11998 : : || pattern900 (x4) != 0)
11999 : : return -1;
12000 : : x9 = XEXP (x2, 1);
12001 : : operands[6] = x9;
12002 : : if (!nonimm_or_0_operand (operands[6], E_V8HImode))
12003 : : return -1;
12004 : : x10 = XEXP (x2, 2);
12005 : : operands[7] = x10;
12006 : : if (!register_operand (operands[7], E_QImode)
12007 : : || !(
12008 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12009 : : (TARGET_AVX512F) &&
12010 : : #line 20846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12011 : : (TARGET_SSE2 && TARGET_AVX512BW && TARGET_AVX512VL)))
12012 : : return -1;
12013 : : return 8445; /* sse2_pshuflw_1_mask */
12014 : : }
12015 : :
12016 : : int
12017 : : recog_174 (rtx x1 ATTRIBUTE_UNUSED,
12018 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12019 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12020 : : {
12021 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12022 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12023 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12024 : : rtx x18, x19, x20;
12025 : : int res ATTRIBUTE_UNUSED;
12026 : : x2 = XEXP (x1, 1);
12027 : : x3 = XEXP (x2, 0);
12028 : : x4 = XEXP (x3, 1);
12029 : : x5 = XVECEXP (x4, 0, 1);
12030 : : operands[3] = x5;
12031 : : x6 = XVECEXP (x4, 0, 2);
12032 : : operands[4] = x6;
12033 : : x7 = XVECEXP (x4, 0, 3);
12034 : : operands[5] = x7;
12035 : : x8 = XVECEXP (x4, 0, 5);
12036 : : operands[7] = x8;
12037 : : x9 = XVECEXP (x4, 0, 6);
12038 : : operands[8] = x9;
12039 : : x10 = XVECEXP (x4, 0, 7);
12040 : : operands[9] = x10;
12041 : : x11 = XVECEXP (x4, 0, 8);
12042 : : operands[10] = x11;
12043 : : x12 = XVECEXP (x4, 0, 9);
12044 : : operands[11] = x12;
12045 : : x13 = XVECEXP (x4, 0, 10);
12046 : : operands[12] = x13;
12047 : : x14 = XVECEXP (x4, 0, 11);
12048 : : operands[13] = x14;
12049 : : x15 = XVECEXP (x4, 0, 12);
12050 : : operands[14] = x15;
12051 : : x16 = XVECEXP (x4, 0, 13);
12052 : : operands[15] = x16;
12053 : : x17 = XVECEXP (x4, 0, 14);
12054 : : operands[16] = x17;
12055 : : x18 = XVECEXP (x4, 0, 15);
12056 : : operands[17] = x18;
12057 : : x19 = XEXP (x2, 1);
12058 : : operands[18] = x19;
12059 : : x20 = XEXP (x2, 2);
12060 : : operands[19] = x20;
12061 : : if (!register_operand (operands[19], E_HImode))
12062 : : return -1;
12063 : : switch (GET_MODE (operands[0]))
12064 : : {
12065 : : case E_V16SFmode:
12066 : : if (!register_operand (operands[0], E_V16SFmode)
12067 : : || GET_MODE (x2) != E_V16SFmode
12068 : : || GET_MODE (x3) != E_V16SFmode
12069 : : || !register_operand (operands[1], E_V16SFmode)
12070 : : || pattern1849 () != 0
12071 : : || !nonimm_or_0_operand (operands[18], E_V16SFmode)
12072 : : || !(
12073 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12074 : : (TARGET_AVX512F) && (
12075 : : #line 20465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12076 : : (TARGET_AVX512F
12077 : : && (INTVAL (operands[2]) & 3) == 0
12078 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12079 : : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12080 : : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12081 : : && (INTVAL (operands[6]) & 3) == 0
12082 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12083 : : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12084 : : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12085 : : && (INTVAL (operands[10]) & 3) == 0
12086 : : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12087 : : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12088 : : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12089 : : && (INTVAL (operands[14]) & 3) == 0
12090 : : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12091 : : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12092 : : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3) &&
12093 : : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12094 : : (TARGET_EVEX512))))
12095 : : return -1;
12096 : : return 8431; /* *avx512f_shuf_f32x4_1_mask_1 */
12097 : :
12098 : : case E_V16SImode:
12099 : : if (!register_operand (operands[0], E_V16SImode)
12100 : : || GET_MODE (x2) != E_V16SImode
12101 : : || GET_MODE (x3) != E_V16SImode
12102 : : || !nonimm_or_0_operand (operands[18], E_V16SImode))
12103 : : return -1;
12104 : : if (register_operand (operands[1], E_V16SImode)
12105 : : && pattern1849 () == 0
12106 : : && (
12107 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12108 : : (TARGET_AVX512F) && (
12109 : : #line 20465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12110 : : (TARGET_AVX512F
12111 : : && (INTVAL (operands[2]) & 3) == 0
12112 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12113 : : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12114 : : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12115 : : && (INTVAL (operands[6]) & 3) == 0
12116 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12117 : : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12118 : : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12119 : : && (INTVAL (operands[10]) & 3) == 0
12120 : : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12121 : : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12122 : : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12123 : : && (INTVAL (operands[14]) & 3) == 0
12124 : : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12125 : : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12126 : : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3) &&
12127 : : #line 722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12128 : : (TARGET_EVEX512))))
12129 : : return 8433; /* *avx512f_shuf_i32x4_1_mask_1 */
12130 : : if (!nonimmediate_operand (operands[1], E_V16SImode)
12131 : : || pattern1805 () != 0
12132 : : || !const_8_to_11_operand (operands[10], E_VOIDmode)
12133 : : || !const_8_to_11_operand (operands[11], E_VOIDmode)
12134 : : || !const_8_to_11_operand (operands[12], E_VOIDmode)
12135 : : || !const_8_to_11_operand (operands[13], E_VOIDmode)
12136 : : || !const_12_to_15_operand (operands[14], E_VOIDmode)
12137 : : || !const_12_to_15_operand (operands[15], E_VOIDmode)
12138 : : || !const_12_to_15_operand (operands[16], E_VOIDmode)
12139 : : || !const_12_to_15_operand (operands[17], E_VOIDmode)
12140 : : || !(
12141 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12142 : : (TARGET_AVX512F) &&
12143 : : #line 20547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12144 : : (TARGET_AVX512F && TARGET_EVEX512
12145 : : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
12146 : : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
12147 : : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
12148 : : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
12149 : : && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
12150 : : && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
12151 : : && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
12152 : : && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
12153 : : && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
12154 : : && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
12155 : : && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
12156 : : && INTVAL (operands[5]) + 12 == INTVAL (operands[17]))))
12157 : : return -1;
12158 : : return 8435; /* avx512f_pshufd_1_mask */
12159 : :
12160 : : default:
12161 : : return -1;
12162 : : }
12163 : : }
12164 : :
12165 : : int
12166 : : recog_186 (rtx x1 ATTRIBUTE_UNUSED,
12167 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12168 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12169 : : {
12170 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12171 : : rtx x2, x3, x4, x5, x6, x7;
12172 : : int res ATTRIBUTE_UNUSED;
12173 : : x2 = XEXP (x1, 1);
12174 : : x3 = XEXP (x2, 0);
12175 : : x4 = XEXP (x3, 0);
12176 : : switch (GET_CODE (x4))
12177 : : {
12178 : : case REG:
12179 : : case SUBREG:
12180 : : case MEM:
12181 : : case VEC_DUPLICATE:
12182 : : operands[1] = x4;
12183 : : x5 = XEXP (x3, 1);
12184 : : operands[2] = x5;
12185 : : x6 = XEXP (x2, 2);
12186 : : switch (GET_CODE (x6))
12187 : : {
12188 : : case REG:
12189 : : case SUBREG:
12190 : : operands[4] = x6;
12191 : : x7 = XEXP (x2, 1);
12192 : : operands[3] = x7;
12193 : : switch (GET_MODE (operands[0]))
12194 : : {
12195 : : case E_V32HFmode:
12196 : : if (pattern486 (x2,
12197 : : E_V32HFmode,
12198 : : E_SImode) != 0
12199 : : || !(
12200 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12201 : : (TARGET_AVX512F) && (
12202 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12203 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
12204 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12205 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12206 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
12207 : : return -1;
12208 : : return 2781; /* *mulv32hf3_mask */
12209 : :
12210 : : case E_V16HFmode:
12211 : : if (pattern486 (x2,
12212 : : E_V16HFmode,
12213 : : E_HImode) != 0
12214 : : || !(
12215 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12216 : : (TARGET_AVX512F) && (
12217 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12218 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
12219 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12220 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12221 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
12222 : : return -1;
12223 : : return 2785; /* *mulv16hf3_mask */
12224 : :
12225 : : case E_V8HFmode:
12226 : : if (pattern486 (x2,
12227 : : E_V8HFmode,
12228 : : E_QImode) != 0
12229 : : || !(
12230 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12231 : : (TARGET_AVX512F) && (
12232 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12233 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
12234 : : && (16 == 64 || TARGET_AVX512VL) && 1) &&
12235 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12236 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
12237 : : return -1;
12238 : : return 2789; /* *mulv8hf3_mask */
12239 : :
12240 : : case E_V16SFmode:
12241 : : if (pattern486 (x2,
12242 : : E_V16SFmode,
12243 : : E_HImode) != 0
12244 : : || !(
12245 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12246 : : (TARGET_AVX512F) && (
12247 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12248 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
12249 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12250 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12251 : : (TARGET_AVX512F && TARGET_EVEX512))))
12252 : : return -1;
12253 : : return 2793; /* *mulv16sf3_mask */
12254 : :
12255 : : case E_V8SFmode:
12256 : : if (pattern486 (x2,
12257 : : E_V8SFmode,
12258 : : E_QImode) != 0
12259 : : || !(
12260 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12261 : : (TARGET_AVX512F) && (
12262 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12263 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
12264 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12265 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12266 : : (TARGET_AVX))))
12267 : : return -1;
12268 : : return 2797; /* *mulv8sf3_mask */
12269 : :
12270 : : case E_V4SFmode:
12271 : : if (pattern486 (x2,
12272 : : E_V4SFmode,
12273 : : E_QImode) != 0
12274 : : || !(
12275 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12276 : : (TARGET_AVX512F) &&
12277 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12278 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
12279 : : && (16 == 64 || TARGET_AVX512VL) && 1)))
12280 : : return -1;
12281 : : return 2801; /* *mulv4sf3_mask */
12282 : :
12283 : : case E_V8DFmode:
12284 : : if (pattern486 (x2,
12285 : : E_V8DFmode,
12286 : : E_QImode) != 0
12287 : : || !(
12288 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12289 : : (TARGET_AVX512F) && (
12290 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12291 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
12292 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12293 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12294 : : (TARGET_AVX512F && TARGET_EVEX512))))
12295 : : return -1;
12296 : : return 2805; /* *mulv8df3_mask */
12297 : :
12298 : : case E_V4DFmode:
12299 : : if (pattern486 (x2,
12300 : : E_V4DFmode,
12301 : : E_QImode) != 0
12302 : : || !(
12303 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12304 : : (TARGET_AVX512F) && (
12305 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12306 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
12307 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12308 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12309 : : (TARGET_AVX))))
12310 : : return -1;
12311 : : return 2809; /* *mulv4df3_mask */
12312 : :
12313 : : case E_V2DFmode:
12314 : : if (pattern486 (x2,
12315 : : E_V2DFmode,
12316 : : E_QImode) != 0
12317 : : || !(
12318 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12319 : : (TARGET_AVX512F) && (
12320 : : #line 2750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12321 : : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
12322 : : && (16 == 64 || TARGET_AVX512VL) && 1) &&
12323 : : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12324 : : (TARGET_SSE2))))
12325 : : return -1;
12326 : : return 2813; /* *mulv2df3_mask */
12327 : :
12328 : : case E_V32HImode:
12329 : : if (pattern126 (x2,
12330 : : E_V32HImode,
12331 : : E_SImode) != 0
12332 : : || !(
12333 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12334 : : (TARGET_AVX512F) && (
12335 : : #line 16385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12336 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12337 : : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
12338 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12339 : : (TARGET_AVX512BW && TARGET_EVEX512))))
12340 : : return -1;
12341 : : return 7556; /* *mulv32hi3_mask */
12342 : :
12343 : : case E_V16HImode:
12344 : : if (pattern126 (x2,
12345 : : E_V16HImode,
12346 : : E_HImode) != 0
12347 : : || !(
12348 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12349 : : (TARGET_AVX512F) && (
12350 : : #line 16385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12351 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12352 : : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
12353 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12354 : : (TARGET_AVX2))))
12355 : : return -1;
12356 : : return 7558; /* *mulv16hi3_mask */
12357 : :
12358 : : case E_V8HImode:
12359 : : if (pattern126 (x2,
12360 : : E_V8HImode,
12361 : : E_QImode) != 0
12362 : : || !(
12363 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12364 : : (TARGET_AVX512F) &&
12365 : : #line 16385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12366 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12367 : : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
12368 : : return -1;
12369 : : return 7560; /* *mulv8hi3_mask */
12370 : :
12371 : : case E_V8DImode:
12372 : : if (pattern486 (x2,
12373 : : E_V8DImode,
12374 : : E_QImode) != 0
12375 : : || !(
12376 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12377 : : (TARGET_AVX512F) && (
12378 : : #line 16839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12379 : : (TARGET_AVX512DQ && (64 == 64 || TARGET_AVX512VL)
12380 : : && ix86_binary_operator_ok (MULT, V8DImode, operands)) &&
12381 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12382 : : (TARGET_EVEX512))))
12383 : : return -1;
12384 : : return 7594; /* *avx512dq_mulv8di3_mask */
12385 : :
12386 : : case E_V4DImode:
12387 : : if (pattern486 (x2,
12388 : : E_V4DImode,
12389 : : E_QImode) != 0
12390 : : || !(
12391 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12392 : : (TARGET_AVX512F) && (
12393 : : #line 16839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12394 : : (TARGET_AVX512DQ && (32 == 64 || TARGET_AVX512VL)
12395 : : && ix86_binary_operator_ok (MULT, V4DImode, operands)) &&
12396 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12397 : : (TARGET_AVX512VL))))
12398 : : return -1;
12399 : : return 7596; /* *avx512dq_mulv4di3_mask */
12400 : :
12401 : : case E_V2DImode:
12402 : : if (pattern486 (x2,
12403 : : E_V2DImode,
12404 : : E_QImode) != 0
12405 : : || !(
12406 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12407 : : (TARGET_AVX512F) && (
12408 : : #line 16839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12409 : : (TARGET_AVX512DQ && (16 == 64 || TARGET_AVX512VL)
12410 : : && ix86_binary_operator_ok (MULT, V2DImode, operands)) &&
12411 : : #line 624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12412 : : (TARGET_AVX512VL))))
12413 : : return -1;
12414 : : return 7598; /* *avx512dq_mulv2di3_mask */
12415 : :
12416 : : case E_V16SImode:
12417 : : if (pattern486 (x2,
12418 : : E_V16SImode,
12419 : : E_HImode) != 0
12420 : : || !(
12421 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12422 : : (TARGET_AVX512F) && (
12423 : : #line 16898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12424 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V16SImode, operands)
12425 : : && (64 == 64 || TARGET_AVX512VL)) &&
12426 : : #line 672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12427 : : (TARGET_AVX512F && TARGET_EVEX512))))
12428 : : return -1;
12429 : : return 7600; /* *avx512f_mulv16si3_mask */
12430 : :
12431 : : case E_V8SImode:
12432 : : if (pattern486 (x2,
12433 : : E_V8SImode,
12434 : : E_QImode) != 0
12435 : : || !(
12436 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12437 : : (TARGET_AVX512F) && (
12438 : : #line 16898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12439 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V8SImode, operands)
12440 : : && (32 == 64 || TARGET_AVX512VL)) &&
12441 : : #line 672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12442 : : (TARGET_AVX2))))
12443 : : return -1;
12444 : : return 7602; /* *avx2_mulv8si3_mask */
12445 : :
12446 : : case E_V4SImode:
12447 : : if (pattern486 (x2,
12448 : : E_V4SImode,
12449 : : E_QImode) != 0
12450 : : || !(
12451 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12452 : : (TARGET_AVX512F) &&
12453 : : #line 16898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12454 : : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands)
12455 : : && (16 == 64 || TARGET_AVX512VL))))
12456 : : return -1;
12457 : : return 7604; /* *sse4_1_mulv4si3_mask */
12458 : :
12459 : : case E_V32BFmode:
12460 : : if (pattern129 (x2,
12461 : : E_V32BFmode,
12462 : : E_SImode) != 0
12463 : : || !(
12464 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12465 : : (TARGET_AVX512F) && (
12466 : : #line 32110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12467 : : (TARGET_AVX10_2_256) &&
12468 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12469 : : (TARGET_AVX10_2_512))))
12470 : : return -1;
12471 : : return 10607; /* avx10_2_mulnepbf16_v32bf_mask */
12472 : :
12473 : : case E_V16BFmode:
12474 : : if (pattern129 (x2,
12475 : : E_V16BFmode,
12476 : : E_HImode) != 0
12477 : : || !(
12478 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12479 : : (TARGET_AVX512F) &&
12480 : : #line 32110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12481 : : (TARGET_AVX10_2_256)))
12482 : : return -1;
12483 : : return 10615; /* avx10_2_mulnepbf16_v16bf_mask */
12484 : :
12485 : : case E_V8BFmode:
12486 : : if (pattern129 (x2,
12487 : : E_V8BFmode,
12488 : : E_QImode) != 0
12489 : : || !(
12490 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12491 : : (TARGET_AVX512F) &&
12492 : : #line 32110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12493 : : (TARGET_AVX10_2_256)))
12494 : : return -1;
12495 : : return 10623; /* avx10_2_mulnepbf16_v8bf_mask */
12496 : :
12497 : : default:
12498 : : return -1;
12499 : : }
12500 : :
12501 : : case CONST_INT:
12502 : : switch (pattern131 (x2))
12503 : : {
12504 : : case 0:
12505 : : if (!(
12506 : : #line 2801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12507 : : (TARGET_SSE) &&
12508 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12509 : : (TARGET_AVX512FP16)))
12510 : : return -1;
12511 : : return 2821; /* avx512fp16_vmmulv8hf3 */
12512 : :
12513 : : case 1:
12514 : : if (!
12515 : : #line 2801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12516 : : (TARGET_SSE))
12517 : : return -1;
12518 : : return 2829; /* sse_vmmulv4sf3 */
12519 : :
12520 : : case 2:
12521 : : if (!(
12522 : : #line 2801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12523 : : (TARGET_SSE) &&
12524 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12525 : : (TARGET_SSE2)))
12526 : : return -1;
12527 : : return 2837; /* sse2_vmmulv2df3 */
12528 : :
12529 : : default:
12530 : : return -1;
12531 : : }
12532 : :
12533 : : default:
12534 : : return -1;
12535 : : }
12536 : :
12537 : : case ZERO_EXTEND:
12538 : : switch (pattern312 (x2,
12539 : : ZERO_EXTEND))
12540 : : {
12541 : : case 0:
12542 : : if (!(
12543 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12544 : : (TARGET_AVX512F) &&
12545 : : #line 16468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12546 : : (TARGET_AVX512F && TARGET_EVEX512
12547 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12548 : : return -1;
12549 : : return 7574; /* *vec_widen_umult_even_v16si_mask */
12550 : :
12551 : : case 1:
12552 : : if (!(
12553 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12554 : : (TARGET_AVX512F) &&
12555 : : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12556 : : (TARGET_AVX2 && TARGET_AVX512VL
12557 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12558 : : return -1;
12559 : : return 7576; /* *vec_widen_umult_even_v8si_mask */
12560 : :
12561 : : case 2:
12562 : : if (!(
12563 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12564 : : (TARGET_AVX512F) &&
12565 : : #line 16536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12566 : : (TARGET_SSE2 && TARGET_AVX512VL
12567 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12568 : : return -1;
12569 : : return 7578; /* *vec_widen_umult_even_v4si_mask */
12570 : :
12571 : : default:
12572 : : return -1;
12573 : : }
12574 : :
12575 : : case SIGN_EXTEND:
12576 : : switch (pattern312 (x2,
12577 : : SIGN_EXTEND))
12578 : : {
12579 : : case 0:
12580 : : if (!(
12581 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12582 : : (TARGET_AVX512F) &&
12583 : : #line 16584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12584 : : (TARGET_AVX512F && TARGET_EVEX512
12585 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12586 : : return -1;
12587 : : return 7580; /* *vec_widen_smult_even_v16si_mask */
12588 : :
12589 : : case 1:
12590 : : if (!(
12591 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12592 : : (TARGET_AVX512F) &&
12593 : : #line 16620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12594 : : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12595 : : return -1;
12596 : : return 7582; /* *vec_widen_smult_even_v8si_mask */
12597 : :
12598 : : case 2:
12599 : : if (!(
12600 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12601 : : (TARGET_AVX512F) &&
12602 : : #line 16652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12603 : : (TARGET_SSE4_1 && TARGET_AVX512VL
12604 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12605 : : return -1;
12606 : : return 7584; /* *sse4_1_mulv2siv2di3_mask */
12607 : :
12608 : : default:
12609 : : return -1;
12610 : : }
12611 : :
12612 : : default:
12613 : : return -1;
12614 : : }
12615 : : }
12616 : :
12617 : : int
12618 : : recog_190 (rtx x1 ATTRIBUTE_UNUSED,
12619 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12620 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12621 : : {
12622 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12623 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12624 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12625 : : int res ATTRIBUTE_UNUSED;
12626 : : x2 = XEXP (x1, 1);
12627 : : x3 = XEXP (x2, 0);
12628 : : x4 = XEXP (x3, 0);
12629 : : switch (GET_CODE (x4))
12630 : : {
12631 : : case REG:
12632 : : case SUBREG:
12633 : : switch (pattern137 (x2))
12634 : : {
12635 : : case 0:
12636 : : if (!
12637 : : #line 15135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12638 : : (TARGET_AVX512F && TARGET_EVEX512))
12639 : : return -1;
12640 : : return 7238; /* avx512f_truncatev16siv16qi2_mask */
12641 : :
12642 : : case 1:
12643 : : if (!(
12644 : : #line 15307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12645 : : (TARGET_AVX512VL) &&
12646 : : #line 15224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12647 : : (TARGET_AVX512BW)))
12648 : : return -1;
12649 : : return 7274; /* avx512vl_truncatev16hiv16qi2_mask */
12650 : :
12651 : : case 2:
12652 : : if (!
12653 : : #line 15135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12654 : : (TARGET_AVX512F && TARGET_EVEX512))
12655 : : return -1;
12656 : : return 7241; /* avx512f_truncatev16siv16hi2_mask */
12657 : :
12658 : : case 3:
12659 : : if (!
12660 : : #line 15135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12661 : : (TARGET_AVX512F && TARGET_EVEX512))
12662 : : return -1;
12663 : : return 7244; /* avx512f_truncatev8div8si2_mask */
12664 : :
12665 : : case 4:
12666 : : if (!
12667 : : #line 15135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12668 : : (TARGET_AVX512F && TARGET_EVEX512))
12669 : : return -1;
12670 : : return 7247; /* avx512f_truncatev8div8hi2_mask */
12671 : :
12672 : : case 5:
12673 : : if (!
12674 : : #line 15307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12675 : : (TARGET_AVX512VL))
12676 : : return -1;
12677 : : return 7271; /* avx512vl_truncatev8siv8hi2_mask */
12678 : :
12679 : : case 6:
12680 : : if (!
12681 : : #line 15207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12682 : : (TARGET_AVX512BW && TARGET_EVEX512))
12683 : : return -1;
12684 : : return 7254; /* avx512bw_truncatev32hiv32qi2_mask */
12685 : :
12686 : : case 7:
12687 : : if (!
12688 : : #line 15307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12689 : : (TARGET_AVX512VL))
12690 : : return -1;
12691 : : return 7268; /* avx512vl_truncatev4div4si2_mask */
12692 : :
12693 : : default:
12694 : : return -1;
12695 : : }
12696 : :
12697 : : case LSHIFTRT:
12698 : : x5 = XEXP (x4, 1);
12699 : : if (GET_CODE (x5) != CONST_INT)
12700 : : return -1;
12701 : : x6 = XEXP (x4, 0);
12702 : : switch (GET_CODE (x6))
12703 : : {
12704 : : case MULT:
12705 : : if (XWINT (x5, 0) != 16L)
12706 : : return -1;
12707 : : x7 = XEXP (x2, 1);
12708 : : operands[3] = x7;
12709 : : x8 = XEXP (x2, 2);
12710 : : operands[4] = x8;
12711 : : x9 = XEXP (x6, 0);
12712 : : switch (GET_CODE (x9))
12713 : : {
12714 : : case SIGN_EXTEND:
12715 : : switch (pattern1119 (x2,
12716 : : SIGN_EXTEND))
12717 : : {
12718 : : case 0:
12719 : : if (!(
12720 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12721 : : (TARGET_AVX512F) && (
12722 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12723 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12724 : : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
12725 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12726 : : (TARGET_AVX512BW && TARGET_EVEX512))))
12727 : : return -1;
12728 : : return 7562; /* *smulv32hi3_highpart_mask */
12729 : :
12730 : : case 1:
12731 : : if (!(
12732 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12733 : : (TARGET_AVX512F) && (
12734 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12735 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12736 : : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
12737 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12738 : : (TARGET_AVX2))))
12739 : : return -1;
12740 : : return 7566; /* *smulv16hi3_highpart_mask */
12741 : :
12742 : : case 2:
12743 : : if (!(
12744 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12745 : : (TARGET_AVX512F) &&
12746 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12747 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12748 : : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
12749 : : return -1;
12750 : : return 7570; /* *smulv8hi3_highpart_mask */
12751 : :
12752 : : default:
12753 : : return -1;
12754 : : }
12755 : :
12756 : : case ZERO_EXTEND:
12757 : : switch (pattern1119 (x2,
12758 : : ZERO_EXTEND))
12759 : : {
12760 : : case 0:
12761 : : if (!(
12762 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12763 : : (TARGET_AVX512F) && (
12764 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12765 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12766 : : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
12767 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12768 : : (TARGET_AVX512BW && TARGET_EVEX512))))
12769 : : return -1;
12770 : : return 7564; /* *umulv32hi3_highpart_mask */
12771 : :
12772 : : case 1:
12773 : : if (!(
12774 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12775 : : (TARGET_AVX512F) && (
12776 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12777 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12778 : : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
12779 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12780 : : (TARGET_AVX2))))
12781 : : return -1;
12782 : : return 7568; /* *umulv16hi3_highpart_mask */
12783 : :
12784 : : case 2:
12785 : : if (!(
12786 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12787 : : (TARGET_AVX512F) &&
12788 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12789 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
12790 : : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
12791 : : return -1;
12792 : : return 7572; /* *umulv8hi3_highpart_mask */
12793 : :
12794 : : default:
12795 : : return -1;
12796 : : }
12797 : :
12798 : : default:
12799 : : return -1;
12800 : : }
12801 : :
12802 : : case PLUS:
12803 : : if (XWINT (x5, 0) != 1L)
12804 : : return -1;
12805 : : x9 = XEXP (x6, 0);
12806 : : switch (GET_CODE (x9))
12807 : : {
12808 : : case PLUS:
12809 : : x10 = XEXP (x9, 0);
12810 : : if (GET_CODE (x10) != ZERO_EXTEND)
12811 : : return -1;
12812 : : x11 = XEXP (x9, 1);
12813 : : if (GET_CODE (x11) != ZERO_EXTEND)
12814 : : return -1;
12815 : : x12 = XEXP (x10, 0);
12816 : : operands[1] = x12;
12817 : : x13 = XEXP (x11, 0);
12818 : : operands[2] = x13;
12819 : : x14 = XEXP (x6, 1);
12820 : : operands[5] = x14;
12821 : : x7 = XEXP (x2, 1);
12822 : : operands[3] = x7;
12823 : : x8 = XEXP (x2, 2);
12824 : : operands[4] = x8;
12825 : : switch (GET_MODE (operands[0]))
12826 : : {
12827 : : case E_V64QImode:
12828 : : if (pattern1549 (x2,
12829 : : E_DImode,
12830 : : E_V64QImode,
12831 : : E_V64HImode) != 0
12832 : : || !(
12833 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12834 : : (TARGET_AVX512F) && (
12835 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12836 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12837 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
12838 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12839 : : (TARGET_AVX512BW && TARGET_EVEX512))))
12840 : : return -1;
12841 : : return 8491; /* *avx512bw_uavgv64qi3_mask */
12842 : :
12843 : : case E_V32QImode:
12844 : : if (pattern1549 (x2,
12845 : : E_SImode,
12846 : : E_V32QImode,
12847 : : E_V32HImode) != 0
12848 : : || !(
12849 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12850 : : (TARGET_AVX512F) && (
12851 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12852 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12853 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
12854 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12855 : : (TARGET_AVX2))))
12856 : : return -1;
12857 : : return 8493; /* *avx2_uavgv32qi3_mask */
12858 : :
12859 : : case E_V16QImode:
12860 : : if (pattern1549 (x2,
12861 : : E_HImode,
12862 : : E_V16QImode,
12863 : : E_V16HImode) != 0
12864 : : || !(
12865 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12866 : : (TARGET_AVX512F) &&
12867 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12868 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12869 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12870 : : return -1;
12871 : : return 8495; /* *sse2_uavgv16qi3_mask */
12872 : :
12873 : : case E_V32HImode:
12874 : : if (pattern1549 (x2,
12875 : : E_SImode,
12876 : : E_V32HImode,
12877 : : E_V32SImode) != 0
12878 : : || !(
12879 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12880 : : (TARGET_AVX512F) && (
12881 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12882 : : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12883 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
12884 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12885 : : (TARGET_AVX512BW && TARGET_EVEX512))))
12886 : : return -1;
12887 : : return 8497; /* *avx512bw_uavgv32hi3_mask */
12888 : :
12889 : : case E_V16HImode:
12890 : : if (pattern1549 (x2,
12891 : : E_HImode,
12892 : : E_V16HImode,
12893 : : E_V16SImode) != 0
12894 : : || !(
12895 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12896 : : (TARGET_AVX512F) && (
12897 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12898 : : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12899 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
12900 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12901 : : (TARGET_AVX2))))
12902 : : return -1;
12903 : : return 8499; /* *avx2_uavgv16hi3_mask */
12904 : :
12905 : : case E_V8HImode:
12906 : : if (pattern1549 (x2,
12907 : : E_QImode,
12908 : : E_V8HImode,
12909 : : E_V8SImode) != 0
12910 : : || !(
12911 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12912 : : (TARGET_AVX512F) &&
12913 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12914 : : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12915 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12916 : : return -1;
12917 : : return 8501; /* *sse2_uavgv8hi3_mask */
12918 : :
12919 : : default:
12920 : : return -1;
12921 : : }
12922 : :
12923 : : case LSHIFTRT:
12924 : : x10 = XEXP (x9, 0);
12925 : : if (GET_CODE (x10) != MULT)
12926 : : return -1;
12927 : : x12 = XEXP (x10, 0);
12928 : : if (GET_CODE (x12) != SIGN_EXTEND)
12929 : : return -1;
12930 : : x15 = XEXP (x10, 1);
12931 : : if (GET_CODE (x15) != SIGN_EXTEND)
12932 : : return -1;
12933 : : x11 = XEXP (x9, 1);
12934 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
12935 : : return -1;
12936 : : x16 = XEXP (x12, 0);
12937 : : operands[1] = x16;
12938 : : if (nonimmediate_operand (operands[1], E_V32HImode))
12939 : : {
12940 : : res = recog_177 (x1, insn, pnum_clobbers);
12941 : : if (res >= 0)
12942 : : return res;
12943 : : }
12944 : : x17 = XEXP (x15, 0);
12945 : : operands[2] = x17;
12946 : : x14 = XEXP (x6, 1);
12947 : : operands[3] = x14;
12948 : : x7 = XEXP (x2, 1);
12949 : : operands[4] = x7;
12950 : : x8 = XEXP (x2, 2);
12951 : : operands[5] = x8;
12952 : : switch (GET_MODE (operands[0]))
12953 : : {
12954 : : case E_V32HImode:
12955 : : if (pattern1639 (x2,
12956 : : E_SImode,
12957 : : E_V32HImode,
12958 : : E_V32SImode) != 0
12959 : : || !(
12960 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12961 : : (TARGET_AVX512F) && (
12962 : : #line 22992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12963 : : (TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12964 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
12965 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12966 : : (TARGET_AVX512BW && TARGET_EVEX512))))
12967 : : return -1;
12968 : : return 8614; /* *avx512bw_pmulhrswv32hi3_mask */
12969 : :
12970 : : case E_V16HImode:
12971 : : if (pattern1639 (x2,
12972 : : E_HImode,
12973 : : E_V16HImode,
12974 : : E_V16SImode) != 0
12975 : : || !(
12976 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12977 : : (TARGET_AVX512F) && (
12978 : : #line 22992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12979 : : (TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12980 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
12981 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12982 : : (TARGET_AVX2))))
12983 : : return -1;
12984 : : return 8616; /* *avx2_pmulhrswv16hi3_mask */
12985 : :
12986 : : case E_V8HImode:
12987 : : if (pattern1639 (x2,
12988 : : E_QImode,
12989 : : E_V8HImode,
12990 : : E_V8SImode) != 0
12991 : : || !(
12992 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12993 : : (TARGET_AVX512F) &&
12994 : : #line 22992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12995 : : (TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
12996 : : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
12997 : : return -1;
12998 : : return 8618; /* *ssse3_pmulhrswv8hi3_mask */
12999 : :
13000 : : default:
13001 : : return -1;
13002 : : }
13003 : :
13004 : : default:
13005 : : return -1;
13006 : : }
13007 : :
13008 : : default:
13009 : : return -1;
13010 : : }
13011 : :
13012 : : default:
13013 : : return -1;
13014 : : }
13015 : : }
13016 : :
13017 : : int
13018 : : recog_203 (rtx x1 ATTRIBUTE_UNUSED,
13019 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13020 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13021 : : {
13022 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13023 : : rtx x2, x3, x4, x5, x6, x7;
13024 : : int res ATTRIBUTE_UNUSED;
13025 : : x2 = XEXP (x1, 1);
13026 : : x3 = XEXP (x2, 0);
13027 : : x4 = XEXP (x3, 0);
13028 : : operands[1] = x4;
13029 : : x5 = XEXP (x3, 1);
13030 : : operands[2] = x5;
13031 : : x6 = XEXP (x2, 2);
13032 : : switch (GET_CODE (x6))
13033 : : {
13034 : : case CONST_INT:
13035 : : switch (pattern131 (x2))
13036 : : {
13037 : : case 0:
13038 : : if (!(
13039 : : #line 2801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13040 : : (TARGET_SSE) &&
13041 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13042 : : (TARGET_AVX512FP16)))
13043 : : return -1;
13044 : : return 2825; /* avx512fp16_vmdivv8hf3 */
13045 : :
13046 : : case 1:
13047 : : if (!
13048 : : #line 2801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13049 : : (TARGET_SSE))
13050 : : return -1;
13051 : : return 2833; /* sse_vmdivv4sf3 */
13052 : :
13053 : : case 2:
13054 : : if (!(
13055 : : #line 2801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13056 : : (TARGET_SSE) &&
13057 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13058 : : (TARGET_SSE2)))
13059 : : return -1;
13060 : : return 2841; /* sse2_vmdivv2df3 */
13061 : :
13062 : : default:
13063 : : return -1;
13064 : : }
13065 : :
13066 : : case REG:
13067 : : case SUBREG:
13068 : : operands[4] = x6;
13069 : : x7 = XEXP (x2, 1);
13070 : : operands[3] = x7;
13071 : : switch (GET_MODE (operands[0]))
13072 : : {
13073 : : case E_V32HFmode:
13074 : : if (pattern1011 (x2,
13075 : : E_V32HFmode,
13076 : : E_SImode) != 0
13077 : : || !(
13078 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13079 : : (TARGET_AVX512F) && (
13080 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13081 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13082 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13083 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
13084 : : return -1;
13085 : : return 2847; /* avx512fp16_divv32hf3_mask */
13086 : :
13087 : : case E_V16HFmode:
13088 : : if (pattern1011 (x2,
13089 : : E_V16HFmode,
13090 : : E_HImode) != 0
13091 : : || !(
13092 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13093 : : (TARGET_AVX512F) && (
13094 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13095 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13096 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13097 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13098 : : return -1;
13099 : : return 2851; /* avx512fp16_divv16hf3_mask */
13100 : :
13101 : : case E_V8HFmode:
13102 : : if (pattern1011 (x2,
13103 : : E_V8HFmode,
13104 : : E_QImode) != 0
13105 : : || !(
13106 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13107 : : (TARGET_AVX512F) && (
13108 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13109 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13110 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13111 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13112 : : return -1;
13113 : : return 2854; /* avx512fp16_divv8hf3_mask */
13114 : :
13115 : : case E_V16SFmode:
13116 : : if (pattern1011 (x2,
13117 : : E_V16SFmode,
13118 : : E_HImode) != 0
13119 : : || !(
13120 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13121 : : (TARGET_AVX512F) && (
13122 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13123 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13124 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13125 : : (TARGET_AVX512F && TARGET_EVEX512))))
13126 : : return -1;
13127 : : return 2857; /* avx512f_divv16sf3_mask */
13128 : :
13129 : : case E_V8SFmode:
13130 : : if (pattern1011 (x2,
13131 : : E_V8SFmode,
13132 : : E_QImode) != 0
13133 : : || !(
13134 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13135 : : (TARGET_AVX512F) && (
13136 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13137 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13138 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13139 : : (TARGET_AVX))))
13140 : : return -1;
13141 : : return 2861; /* avx_divv8sf3_mask */
13142 : :
13143 : : case E_V4SFmode:
13144 : : if (pattern1011 (x2,
13145 : : E_V4SFmode,
13146 : : E_QImode) != 0
13147 : : || !(
13148 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13149 : : (TARGET_AVX512F) &&
13150 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13151 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1)))
13152 : : return -1;
13153 : : return 2864; /* sse_divv4sf3_mask */
13154 : :
13155 : : case E_V8DFmode:
13156 : : if (pattern1011 (x2,
13157 : : E_V8DFmode,
13158 : : E_QImode) != 0
13159 : : || !(
13160 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13161 : : (TARGET_AVX512F) && (
13162 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13163 : : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13164 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13165 : : (TARGET_AVX512F && TARGET_EVEX512))))
13166 : : return -1;
13167 : : return 2867; /* avx512f_divv8df3_mask */
13168 : :
13169 : : case E_V4DFmode:
13170 : : if (pattern1011 (x2,
13171 : : E_V4DFmode,
13172 : : E_QImode) != 0
13173 : : || !(
13174 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13175 : : (TARGET_AVX512F) && (
13176 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13177 : : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13178 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13179 : : (TARGET_AVX))))
13180 : : return -1;
13181 : : return 2871; /* avx_divv4df3_mask */
13182 : :
13183 : : case E_V2DFmode:
13184 : : if (pattern1011 (x2,
13185 : : E_V2DFmode,
13186 : : E_QImode) != 0
13187 : : || !(
13188 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13189 : : (TARGET_AVX512F) && (
13190 : : #line 2899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13191 : : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13192 : : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13193 : : (TARGET_SSE2))))
13194 : : return -1;
13195 : : return 2874; /* sse2_divv2df3_mask */
13196 : :
13197 : : case E_V32BFmode:
13198 : : if (pattern129 (x2,
13199 : : E_V32BFmode,
13200 : : E_SImode) != 0
13201 : : || !(
13202 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13203 : : (TARGET_AVX512F) && (
13204 : : #line 32110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13205 : : (TARGET_AVX10_2_256) &&
13206 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13207 : : (TARGET_AVX10_2_512))))
13208 : : return -1;
13209 : : return 10609; /* avx10_2_divnepbf16_v32bf_mask */
13210 : :
13211 : : case E_V16BFmode:
13212 : : if (pattern129 (x2,
13213 : : E_V16BFmode,
13214 : : E_HImode) != 0
13215 : : || !(
13216 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13217 : : (TARGET_AVX512F) &&
13218 : : #line 32110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13219 : : (TARGET_AVX10_2_256)))
13220 : : return -1;
13221 : : return 10617; /* avx10_2_divnepbf16_v16bf_mask */
13222 : :
13223 : : case E_V8BFmode:
13224 : : if (pattern129 (x2,
13225 : : E_V8BFmode,
13226 : : E_QImode) != 0
13227 : : || !(
13228 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13229 : : (TARGET_AVX512F) &&
13230 : : #line 32110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13231 : : (TARGET_AVX10_2_256)))
13232 : : return -1;
13233 : : return 10625; /* avx10_2_divnepbf16_v8bf_mask */
13234 : :
13235 : : default:
13236 : : return -1;
13237 : : }
13238 : :
13239 : : default:
13240 : : return -1;
13241 : : }
13242 : : }
13243 : :
13244 : : int
13245 : : recog_211 (rtx x1 ATTRIBUTE_UNUSED,
13246 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13247 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13248 : : {
13249 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13250 : : rtx x2, x3;
13251 : : int res ATTRIBUTE_UNUSED;
13252 : : x2 = XEXP (x1, 1);
13253 : : x3 = XVECEXP (x2, 0, 0);
13254 : : operands[1] = x3;
13255 : : switch (GET_MODE (operands[0]))
13256 : : {
13257 : : case E_V16SFmode:
13258 : : if (!memory_operand (operands[0], E_V16SFmode)
13259 : : || GET_MODE (x2) != E_V16SFmode
13260 : : || !register_operand (operands[1], E_V16SFmode)
13261 : : || !(
13262 : : #line 2020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13263 : : (TARGET_SSE) &&
13264 : : #line 375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13265 : : (TARGET_AVX512F && TARGET_EVEX512)))
13266 : : return -1;
13267 : : return 2557; /* avx512f_movntv16sf */
13268 : :
13269 : : case E_V8SFmode:
13270 : : if (!memory_operand (operands[0], E_V8SFmode)
13271 : : || GET_MODE (x2) != E_V8SFmode
13272 : : || !register_operand (operands[1], E_V8SFmode)
13273 : : || !(
13274 : : #line 2020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13275 : : (TARGET_SSE) &&
13276 : : #line 375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13277 : : (TARGET_AVX)))
13278 : : return -1;
13279 : : return 2558; /* avx_movntv8sf */
13280 : :
13281 : : case E_V4SFmode:
13282 : : if (!memory_operand (operands[0], E_V4SFmode)
13283 : : || GET_MODE (x2) != E_V4SFmode
13284 : : || !register_operand (operands[1], E_V4SFmode)
13285 : : || !
13286 : : #line 2020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13287 : : (TARGET_SSE))
13288 : : return -1;
13289 : : return 2559; /* sse_movntv4sf */
13290 : :
13291 : : case E_V8DFmode:
13292 : : if (!memory_operand (operands[0], E_V8DFmode)
13293 : : || GET_MODE (x2) != E_V8DFmode
13294 : : || !register_operand (operands[1], E_V8DFmode)
13295 : : || !(
13296 : : #line 2020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13297 : : (TARGET_SSE) &&
13298 : : #line 376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13299 : : (TARGET_AVX512F && TARGET_EVEX512)))
13300 : : return -1;
13301 : : return 2560; /* avx512f_movntv8df */
13302 : :
13303 : : case E_V4DFmode:
13304 : : if (!memory_operand (operands[0], E_V4DFmode)
13305 : : || GET_MODE (x2) != E_V4DFmode
13306 : : || !register_operand (operands[1], E_V4DFmode)
13307 : : || !(
13308 : : #line 2020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13309 : : (TARGET_SSE) &&
13310 : : #line 376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13311 : : (TARGET_AVX)))
13312 : : return -1;
13313 : : return 2561; /* avx_movntv4df */
13314 : :
13315 : : case E_V2DFmode:
13316 : : if (!memory_operand (operands[0], E_V2DFmode)
13317 : : || GET_MODE (x2) != E_V2DFmode
13318 : : || !register_operand (operands[1], E_V2DFmode)
13319 : : || !(
13320 : : #line 2020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13321 : : (TARGET_SSE) &&
13322 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13323 : : (TARGET_SSE2)))
13324 : : return -1;
13325 : : return 2562; /* sse2_movntv2df */
13326 : :
13327 : : case E_V8DImode:
13328 : : if (!memory_operand (operands[0], E_V8DImode)
13329 : : || GET_MODE (x2) != E_V8DImode
13330 : : || !register_operand (operands[1], E_V8DImode)
13331 : : || !(
13332 : : #line 2030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13333 : : (TARGET_SSE2) &&
13334 : : #line 615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13335 : : (TARGET_AVX512F && TARGET_EVEX512)))
13336 : : return -1;
13337 : : return 2563; /* avx512f_movntv8di */
13338 : :
13339 : : case E_V4DImode:
13340 : : if (!memory_operand (operands[0], E_V4DImode)
13341 : : || GET_MODE (x2) != E_V4DImode
13342 : : || !register_operand (operands[1], E_V4DImode)
13343 : : || !(
13344 : : #line 2030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13345 : : (TARGET_SSE2) &&
13346 : : #line 615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13347 : : (TARGET_AVX)))
13348 : : return -1;
13349 : : return 2564; /* avx_movntv4di */
13350 : :
13351 : : case E_V2DImode:
13352 : : if (!memory_operand (operands[0], E_V2DImode)
13353 : : || GET_MODE (x2) != E_V2DImode
13354 : : || !register_operand (operands[1], E_V2DImode)
13355 : : || !
13356 : : #line 2030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13357 : : (TARGET_SSE2))
13358 : : return -1;
13359 : : return 2565; /* sse2_movntv2di */
13360 : :
13361 : : default:
13362 : : return -1;
13363 : : }
13364 : : }
13365 : :
13366 : : int
13367 : : recog_217 (rtx x1 ATTRIBUTE_UNUSED,
13368 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13369 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13370 : : {
13371 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13372 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13373 : : rtx x10, x11, x12, x13, x14;
13374 : : int res ATTRIBUTE_UNUSED;
13375 : : x2 = XEXP (x1, 1);
13376 : : x3 = XVECEXP (x2, 0, 0);
13377 : : x4 = XEXP (x3, 2);
13378 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13379 : : return -1;
13380 : : x5 = XEXP (x3, 0);
13381 : : x6 = XEXP (x5, 2);
13382 : : if (!register_operand (x6, E_QImode))
13383 : : return -1;
13384 : : x7 = XVECEXP (x2, 0, 1);
13385 : : if (!const_4_or_8_to_11_operand (x7, E_SImode))
13386 : : return -1;
13387 : : x8 = XEXP (x5, 0);
13388 : : x9 = XEXP (x8, 0);
13389 : : switch (GET_CODE (x9))
13390 : : {
13391 : : case REG:
13392 : : case SUBREG:
13393 : : case MEM:
13394 : : operands[1] = x9;
13395 : : x10 = XEXP (x8, 1);
13396 : : operands[2] = x10;
13397 : : x11 = XEXP (x8, 2);
13398 : : switch (GET_CODE (x11))
13399 : : {
13400 : : case REG:
13401 : : case SUBREG:
13402 : : case MEM:
13403 : : operands[3] = x11;
13404 : : switch (pattern1518 (x2))
13405 : : {
13406 : : case 0:
13407 : : if (pattern1666 (x2,
13408 : : E_V8HFmode) != 0)
13409 : : return -1;
13410 : : if (nonimmediate_operand (operands[1], E_V8HFmode)
13411 : : && register_operand (operands[3], E_V8HFmode))
13412 : : {
13413 : : x12 = XEXP (x5, 1);
13414 : : if (rtx_equal_p (x12, operands[1]))
13415 : : {
13416 : : x13 = XEXP (x3, 1);
13417 : : if (rtx_equal_p (x13, operands[1])
13418 : : && (
13419 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13420 : : (TARGET_AVX512F) && (
13421 : : #line 6658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13422 : : (TARGET_AVX512F) &&
13423 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13424 : : (TARGET_AVX512FP16))))
13425 : : return 4242; /* avx512f_vmfmadd_v8hf_mask_round */
13426 : : }
13427 : : }
13428 : : if (!register_operand (operands[1], E_V8HFmode)
13429 : : || !nonimmediate_operand (operands[3], E_V8HFmode))
13430 : : return -1;
13431 : : x12 = XEXP (x5, 1);
13432 : : if (!rtx_equal_p (x12, operands[3]))
13433 : : return -1;
13434 : : x13 = XEXP (x3, 1);
13435 : : if (!rtx_equal_p (x13, operands[3])
13436 : : || !(
13437 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13438 : : (TARGET_AVX512F) && (
13439 : : #line 6678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13440 : : (TARGET_AVX512F) &&
13441 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13442 : : (TARGET_AVX512FP16))))
13443 : : return -1;
13444 : : return 4248; /* avx512f_vmfmadd_v8hf_mask3_round */
13445 : :
13446 : : case 1:
13447 : : if (pattern1666 (x2,
13448 : : E_V4SFmode) != 0)
13449 : : return -1;
13450 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
13451 : : && register_operand (operands[3], E_V4SFmode))
13452 : : {
13453 : : x12 = XEXP (x5, 1);
13454 : : if (rtx_equal_p (x12, operands[1]))
13455 : : {
13456 : : x13 = XEXP (x3, 1);
13457 : : if (rtx_equal_p (x13, operands[1])
13458 : : &&
13459 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13460 : : (TARGET_AVX512F))
13461 : : return 4244; /* avx512f_vmfmadd_v4sf_mask_round */
13462 : : }
13463 : : }
13464 : : if (!register_operand (operands[1], E_V4SFmode)
13465 : : || !nonimmediate_operand (operands[3], E_V4SFmode))
13466 : : return -1;
13467 : : x12 = XEXP (x5, 1);
13468 : : if (!rtx_equal_p (x12, operands[3]))
13469 : : return -1;
13470 : : x13 = XEXP (x3, 1);
13471 : : if (!rtx_equal_p (x13, operands[3])
13472 : : || !
13473 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13474 : : (TARGET_AVX512F))
13475 : : return -1;
13476 : : return 4250; /* avx512f_vmfmadd_v4sf_mask3_round */
13477 : :
13478 : : case 2:
13479 : : if (pattern1666 (x2,
13480 : : E_V2DFmode) != 0)
13481 : : return -1;
13482 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
13483 : : && register_operand (operands[3], E_V2DFmode))
13484 : : {
13485 : : x12 = XEXP (x5, 1);
13486 : : if (rtx_equal_p (x12, operands[1]))
13487 : : {
13488 : : x13 = XEXP (x3, 1);
13489 : : if (rtx_equal_p (x13, operands[1])
13490 : : && (
13491 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13492 : : (TARGET_AVX512F) && (
13493 : : #line 6658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13494 : : (TARGET_AVX512F) &&
13495 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13496 : : (TARGET_SSE2))))
13497 : : return 4246; /* avx512f_vmfmadd_v2df_mask_round */
13498 : : }
13499 : : }
13500 : : if (!register_operand (operands[1], E_V2DFmode)
13501 : : || !nonimmediate_operand (operands[3], E_V2DFmode))
13502 : : return -1;
13503 : : x12 = XEXP (x5, 1);
13504 : : if (!rtx_equal_p (x12, operands[3]))
13505 : : return -1;
13506 : : x13 = XEXP (x3, 1);
13507 : : if (!rtx_equal_p (x13, operands[3])
13508 : : || !(
13509 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13510 : : (TARGET_AVX512F) && (
13511 : : #line 6678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13512 : : (TARGET_AVX512F) &&
13513 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13514 : : (TARGET_SSE2))))
13515 : : return -1;
13516 : : return 4252; /* avx512f_vmfmadd_v2df_mask3_round */
13517 : :
13518 : : case 3:
13519 : : if (pattern1730 (x2,
13520 : : E_V8HFmode) != 0
13521 : : || !(
13522 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13523 : : (TARGET_AVX512F) && (
13524 : : #line 6710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13525 : : (TARGET_AVX512F) &&
13526 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13527 : : (TARGET_AVX512FP16))))
13528 : : return -1;
13529 : : return 4254; /* avx512f_vmfmadd_v8hf_maskz_1_round */
13530 : :
13531 : : case 4:
13532 : : if (pattern1730 (x2,
13533 : : E_V4SFmode) != 0
13534 : : || !
13535 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13536 : : (TARGET_AVX512F))
13537 : : return -1;
13538 : : return 4256; /* avx512f_vmfmadd_v4sf_maskz_1_round */
13539 : :
13540 : : case 5:
13541 : : if (pattern1730 (x2,
13542 : : E_V2DFmode) != 0
13543 : : || !(
13544 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13545 : : (TARGET_AVX512F) && (
13546 : : #line 6710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13547 : : (TARGET_AVX512F) &&
13548 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13549 : : (TARGET_SSE2))))
13550 : : return -1;
13551 : : return 4258; /* avx512f_vmfmadd_v2df_maskz_1_round */
13552 : :
13553 : : default:
13554 : : return -1;
13555 : : }
13556 : :
13557 : : case NEG:
13558 : : x14 = XEXP (x11, 0);
13559 : : operands[3] = x14;
13560 : : switch (pattern1518 (x2))
13561 : : {
13562 : : case 0:
13563 : : if (pattern1667 (x2,
13564 : : E_V8HFmode) != 0)
13565 : : return -1;
13566 : : if (nonimmediate_operand (operands[1], E_V8HFmode)
13567 : : && register_operand (operands[3], E_V8HFmode))
13568 : : {
13569 : : x12 = XEXP (x5, 1);
13570 : : if (rtx_equal_p (x12, operands[1]))
13571 : : {
13572 : : x13 = XEXP (x3, 1);
13573 : : if (rtx_equal_p (x13, operands[1])
13574 : : && (
13575 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13576 : : (TARGET_AVX512F) && (
13577 : : #line 6731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13578 : : (TARGET_AVX512F) &&
13579 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13580 : : (TARGET_AVX512FP16))))
13581 : : return 4260; /* *avx512f_vmfmsub_v8hf_mask_round */
13582 : : }
13583 : : }
13584 : : if (!register_operand (operands[1], E_V8HFmode)
13585 : : || !nonimmediate_operand (operands[3], E_V8HFmode))
13586 : : return -1;
13587 : : x12 = XEXP (x5, 1);
13588 : : if (!rtx_equal_p (x12, operands[3]))
13589 : : return -1;
13590 : : x13 = XEXP (x3, 1);
13591 : : if (!rtx_equal_p (x13, operands[3])
13592 : : || !(
13593 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13594 : : (TARGET_AVX512F) && (
13595 : : #line 6752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13596 : : (TARGET_AVX512F) &&
13597 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13598 : : (TARGET_AVX512FP16))))
13599 : : return -1;
13600 : : return 4266; /* avx512f_vmfmsub_v8hf_mask3_round */
13601 : :
13602 : : case 1:
13603 : : if (pattern1667 (x2,
13604 : : E_V4SFmode) != 0)
13605 : : return -1;
13606 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
13607 : : && register_operand (operands[3], E_V4SFmode))
13608 : : {
13609 : : x12 = XEXP (x5, 1);
13610 : : if (rtx_equal_p (x12, operands[1]))
13611 : : {
13612 : : x13 = XEXP (x3, 1);
13613 : : if (rtx_equal_p (x13, operands[1])
13614 : : &&
13615 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13616 : : (TARGET_AVX512F))
13617 : : return 4262; /* *avx512f_vmfmsub_v4sf_mask_round */
13618 : : }
13619 : : }
13620 : : if (!register_operand (operands[1], E_V4SFmode)
13621 : : || !nonimmediate_operand (operands[3], E_V4SFmode))
13622 : : return -1;
13623 : : x12 = XEXP (x5, 1);
13624 : : if (!rtx_equal_p (x12, operands[3]))
13625 : : return -1;
13626 : : x13 = XEXP (x3, 1);
13627 : : if (!rtx_equal_p (x13, operands[3])
13628 : : || !
13629 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13630 : : (TARGET_AVX512F))
13631 : : return -1;
13632 : : return 4268; /* avx512f_vmfmsub_v4sf_mask3_round */
13633 : :
13634 : : case 2:
13635 : : if (pattern1667 (x2,
13636 : : E_V2DFmode) != 0)
13637 : : return -1;
13638 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
13639 : : && register_operand (operands[3], E_V2DFmode))
13640 : : {
13641 : : x12 = XEXP (x5, 1);
13642 : : if (rtx_equal_p (x12, operands[1]))
13643 : : {
13644 : : x13 = XEXP (x3, 1);
13645 : : if (rtx_equal_p (x13, operands[1])
13646 : : && (
13647 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13648 : : (TARGET_AVX512F) && (
13649 : : #line 6731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13650 : : (TARGET_AVX512F) &&
13651 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13652 : : (TARGET_SSE2))))
13653 : : return 4264; /* *avx512f_vmfmsub_v2df_mask_round */
13654 : : }
13655 : : }
13656 : : if (!register_operand (operands[1], E_V2DFmode)
13657 : : || !nonimmediate_operand (operands[3], E_V2DFmode))
13658 : : return -1;
13659 : : x12 = XEXP (x5, 1);
13660 : : if (!rtx_equal_p (x12, operands[3]))
13661 : : return -1;
13662 : : x13 = XEXP (x3, 1);
13663 : : if (!rtx_equal_p (x13, operands[3])
13664 : : || !(
13665 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13666 : : (TARGET_AVX512F) && (
13667 : : #line 6752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13668 : : (TARGET_AVX512F) &&
13669 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13670 : : (TARGET_SSE2))))
13671 : : return -1;
13672 : : return 4270; /* avx512f_vmfmsub_v2df_mask3_round */
13673 : :
13674 : : case 3:
13675 : : if (pattern1731 (x2,
13676 : : E_V8HFmode) != 0
13677 : : || !(
13678 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13679 : : (TARGET_AVX512F) && (
13680 : : #line 6771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13681 : : (TARGET_AVX512F) &&
13682 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13683 : : (TARGET_AVX512FP16))))
13684 : : return -1;
13685 : : return 4272; /* *avx512f_vmfmsub_v8hf_maskz_1_round */
13686 : :
13687 : : case 4:
13688 : : if (pattern1731 (x2,
13689 : : E_V4SFmode) != 0
13690 : : || !
13691 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13692 : : (TARGET_AVX512F))
13693 : : return -1;
13694 : : return 4274; /* *avx512f_vmfmsub_v4sf_maskz_1_round */
13695 : :
13696 : : case 5:
13697 : : if (pattern1731 (x2,
13698 : : E_V2DFmode) != 0
13699 : : || !(
13700 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13701 : : (TARGET_AVX512F) && (
13702 : : #line 6771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13703 : : (TARGET_AVX512F) &&
13704 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13705 : : (TARGET_SSE2))))
13706 : : return -1;
13707 : : return 4276; /* *avx512f_vmfmsub_v2df_maskz_1_round */
13708 : :
13709 : : default:
13710 : : return -1;
13711 : : }
13712 : :
13713 : : default:
13714 : : return -1;
13715 : : }
13716 : :
13717 : : case NEG:
13718 : : x11 = XEXP (x8, 2);
13719 : : switch (GET_CODE (x11))
13720 : : {
13721 : : case REG:
13722 : : case SUBREG:
13723 : : case MEM:
13724 : : operands[3] = x11;
13725 : : switch (pattern1400 (x2))
13726 : : {
13727 : : case 0:
13728 : : x10 = XEXP (x8, 1);
13729 : : operands[2] = x10;
13730 : : if (pattern1806 (x3,
13731 : : E_V8HFmode) == 0
13732 : : && (
13733 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13734 : : (TARGET_AVX512F) && (
13735 : : #line 6792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13736 : : (TARGET_AVX512F) &&
13737 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13738 : : (TARGET_AVX512FP16))))
13739 : : return 4278; /* avx512f_vmfnmadd_v8hf_mask_round */
13740 : : operands[1] = x10;
13741 : : if (pattern1807 (x3,
13742 : : E_V8HFmode) != 0
13743 : : || !(
13744 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13745 : : (TARGET_AVX512F) && (
13746 : : #line 6813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13747 : : (TARGET_AVX512F) &&
13748 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13749 : : (TARGET_AVX512FP16))))
13750 : : return -1;
13751 : : return 4284; /* avx512f_vmfnmadd_v8hf_mask3_round */
13752 : :
13753 : : case 1:
13754 : : x10 = XEXP (x8, 1);
13755 : : operands[2] = x10;
13756 : : if (pattern1806 (x3,
13757 : : E_V4SFmode) == 0
13758 : : &&
13759 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13760 : : (TARGET_AVX512F))
13761 : : return 4280; /* avx512f_vmfnmadd_v4sf_mask_round */
13762 : : operands[1] = x10;
13763 : : if (pattern1807 (x3,
13764 : : E_V4SFmode) != 0
13765 : : || !
13766 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13767 : : (TARGET_AVX512F))
13768 : : return -1;
13769 : : return 4286; /* avx512f_vmfnmadd_v4sf_mask3_round */
13770 : :
13771 : : case 2:
13772 : : x10 = XEXP (x8, 1);
13773 : : operands[2] = x10;
13774 : : if (pattern1806 (x3,
13775 : : E_V2DFmode) == 0
13776 : : && (
13777 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13778 : : (TARGET_AVX512F) && (
13779 : : #line 6792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13780 : : (TARGET_AVX512F) &&
13781 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13782 : : (TARGET_SSE2))))
13783 : : return 4282; /* avx512f_vmfnmadd_v2df_mask_round */
13784 : : operands[1] = x10;
13785 : : if (pattern1807 (x3,
13786 : : E_V2DFmode) != 0
13787 : : || !(
13788 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13789 : : (TARGET_AVX512F) && (
13790 : : #line 6813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13791 : : (TARGET_AVX512F) &&
13792 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13793 : : (TARGET_SSE2))))
13794 : : return -1;
13795 : : return 4288; /* avx512f_vmfnmadd_v2df_mask3_round */
13796 : :
13797 : : case 3:
13798 : : if (pattern1732 (x2,
13799 : : E_V8HFmode) != 0
13800 : : || !(
13801 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13802 : : (TARGET_AVX512F) && (
13803 : : #line 6846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13804 : : (TARGET_AVX512F) &&
13805 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13806 : : (TARGET_AVX512FP16))))
13807 : : return -1;
13808 : : return 4290; /* avx512f_vmfnmadd_v8hf_maskz_1_round */
13809 : :
13810 : : case 4:
13811 : : if (pattern1732 (x2,
13812 : : E_V4SFmode) != 0
13813 : : || !
13814 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13815 : : (TARGET_AVX512F))
13816 : : return -1;
13817 : : return 4292; /* avx512f_vmfnmadd_v4sf_maskz_1_round */
13818 : :
13819 : : case 5:
13820 : : if (pattern1732 (x2,
13821 : : E_V2DFmode) != 0
13822 : : || !(
13823 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13824 : : (TARGET_AVX512F) && (
13825 : : #line 6846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13826 : : (TARGET_AVX512F) &&
13827 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13828 : : (TARGET_SSE2))))
13829 : : return -1;
13830 : : return 4294; /* avx512f_vmfnmadd_v2df_maskz_1_round */
13831 : :
13832 : : default:
13833 : : return -1;
13834 : : }
13835 : :
13836 : : case NEG:
13837 : : x14 = XEXP (x11, 0);
13838 : : operands[3] = x14;
13839 : : switch (pattern1400 (x2))
13840 : : {
13841 : : case 0:
13842 : : x10 = XEXP (x8, 1);
13843 : : operands[2] = x10;
13844 : : if (pattern1808 (x3,
13845 : : E_V8HFmode) == 0
13846 : : && (
13847 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13848 : : (TARGET_AVX512F) && (
13849 : : #line 6868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13850 : : (TARGET_AVX512F) &&
13851 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13852 : : (TARGET_AVX512FP16))))
13853 : : return 4296; /* *avx512f_vmfnmsub_v8hf_mask_round */
13854 : : operands[1] = x10;
13855 : : if (pattern1809 (x3,
13856 : : E_V8HFmode) != 0
13857 : : || !(
13858 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13859 : : (TARGET_AVX512F) && (
13860 : : #line 6890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13861 : : (TARGET_AVX512F) &&
13862 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13863 : : (TARGET_AVX512FP16))))
13864 : : return -1;
13865 : : return 4302; /* *avx512f_vmfnmsub_v8hf_mask3_round */
13866 : :
13867 : : case 1:
13868 : : x10 = XEXP (x8, 1);
13869 : : operands[2] = x10;
13870 : : if (pattern1808 (x3,
13871 : : E_V4SFmode) == 0
13872 : : &&
13873 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13874 : : (TARGET_AVX512F))
13875 : : return 4298; /* *avx512f_vmfnmsub_v4sf_mask_round */
13876 : : operands[1] = x10;
13877 : : if (pattern1809 (x3,
13878 : : E_V4SFmode) != 0
13879 : : || !
13880 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13881 : : (TARGET_AVX512F))
13882 : : return -1;
13883 : : return 4304; /* *avx512f_vmfnmsub_v4sf_mask3_round */
13884 : :
13885 : : case 2:
13886 : : x10 = XEXP (x8, 1);
13887 : : operands[2] = x10;
13888 : : if (pattern1808 (x3,
13889 : : E_V2DFmode) == 0
13890 : : && (
13891 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13892 : : (TARGET_AVX512F) && (
13893 : : #line 6868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13894 : : (TARGET_AVX512F) &&
13895 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13896 : : (TARGET_SSE2))))
13897 : : return 4300; /* *avx512f_vmfnmsub_v2df_mask_round */
13898 : : operands[1] = x10;
13899 : : if (pattern1809 (x3,
13900 : : E_V2DFmode) != 0
13901 : : || !(
13902 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13903 : : (TARGET_AVX512F) && (
13904 : : #line 6890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13905 : : (TARGET_AVX512F) &&
13906 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13907 : : (TARGET_SSE2))))
13908 : : return -1;
13909 : : return 4306; /* *avx512f_vmfnmsub_v2df_mask3_round */
13910 : :
13911 : : case 3:
13912 : : if (pattern1733 (x2,
13913 : : E_V8HFmode) != 0
13914 : : || !(
13915 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13916 : : (TARGET_AVX512F) && (
13917 : : #line 6910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13918 : : (TARGET_AVX512F) &&
13919 : : #line 479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13920 : : (TARGET_AVX512FP16))))
13921 : : return -1;
13922 : : return 4308; /* *avx512f_vmfnmsub_v8hf_maskz_1_round */
13923 : :
13924 : : case 4:
13925 : : if (pattern1733 (x2,
13926 : : E_V4SFmode) != 0
13927 : : || !
13928 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13929 : : (TARGET_AVX512F))
13930 : : return -1;
13931 : : return 4310; /* *avx512f_vmfnmsub_v4sf_maskz_1_round */
13932 : :
13933 : : case 5:
13934 : : if (pattern1733 (x2,
13935 : : E_V2DFmode) != 0
13936 : : || !(
13937 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13938 : : (TARGET_AVX512F) && (
13939 : : #line 6910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13940 : : (TARGET_AVX512F) &&
13941 : : #line 480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13942 : : (TARGET_SSE2))))
13943 : : return -1;
13944 : : return 4312; /* *avx512f_vmfnmsub_v2df_maskz_1_round */
13945 : :
13946 : : default:
13947 : : return -1;
13948 : : }
13949 : :
13950 : : default:
13951 : : return -1;
13952 : : }
13953 : :
13954 : : default:
13955 : : return -1;
13956 : : }
13957 : : }
13958 : :
13959 : : int
13960 : : recog_229 (rtx x1 ATTRIBUTE_UNUSED,
13961 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13962 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13963 : : {
13964 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13965 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13966 : : int res ATTRIBUTE_UNUSED;
13967 : : x2 = XEXP (x1, 1);
13968 : : x3 = XVECEXP (x2, 0, 0);
13969 : : switch (XVECLEN (x3, 0))
13970 : : {
13971 : : case 2:
13972 : : x4 = XVECEXP (x3, 0, 0);
13973 : : operands[1] = x4;
13974 : : x5 = XVECEXP (x3, 0, 1);
13975 : : operands[2] = x5;
13976 : : x6 = XVECEXP (x2, 0, 1);
13977 : : operands[3] = x6;
13978 : : switch (XINT (x3, 1))
13979 : : {
13980 : : case 63:
13981 : : switch (pattern1133 (x2))
13982 : : {
13983 : : case 0:
13984 : : if (!(
13985 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13986 : : (TARGET_AVX512F) && (
13987 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13988 : : (TARGET_SSE
13989 : : && 1
13990 : : && ((V32HFmode == V16SFmode
13991 : : || V32HFmode == V8DFmode
13992 : : || V32HFmode == V8DImode
13993 : : || V32HFmode == V16SImode
13994 : : || V32HFmode == V32HImode
13995 : : || V32HFmode == V32HFmode)
13996 : : || (TARGET_AVX10_2_256
13997 : : && (V32HFmode == V8SFmode
13998 : : || V32HFmode == V4DFmode
13999 : : || V32HFmode == V4DImode
14000 : : || V32HFmode == V8SImode
14001 : : || V32HFmode == V16HImode
14002 : : || V32HFmode == V16HFmode)))) &&
14003 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14004 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
14005 : : return -1;
14006 : : return 3062; /* ieee_maxv32hf3_round */
14007 : :
14008 : : case 1:
14009 : : if (!(
14010 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14011 : : (TARGET_AVX512F) && (
14012 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14013 : : (TARGET_SSE
14014 : : && 1
14015 : : && ((V16HFmode == V16SFmode
14016 : : || V16HFmode == V8DFmode
14017 : : || V16HFmode == V8DImode
14018 : : || V16HFmode == V16SImode
14019 : : || V16HFmode == V32HImode
14020 : : || V16HFmode == V32HFmode)
14021 : : || (TARGET_AVX10_2_256
14022 : : && (V16HFmode == V8SFmode
14023 : : || V16HFmode == V4DFmode
14024 : : || V16HFmode == V4DImode
14025 : : || V16HFmode == V8SImode
14026 : : || V16HFmode == V16HImode
14027 : : || V16HFmode == V16HFmode)))) &&
14028 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14029 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14030 : : return -1;
14031 : : return 3070; /* ieee_maxv16hf3_round */
14032 : :
14033 : : case 2:
14034 : : if (!(
14035 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14036 : : (TARGET_AVX512F) && (
14037 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14038 : : (TARGET_SSE
14039 : : && 1
14040 : : && ((V16SFmode == V16SFmode
14041 : : || V16SFmode == V8DFmode
14042 : : || V16SFmode == V8DImode
14043 : : || V16SFmode == V16SImode
14044 : : || V16SFmode == V32HImode
14045 : : || V16SFmode == V32HFmode)
14046 : : || (TARGET_AVX10_2_256
14047 : : && (V16SFmode == V8SFmode
14048 : : || V16SFmode == V4DFmode
14049 : : || V16SFmode == V4DImode
14050 : : || V16SFmode == V8SImode
14051 : : || V16SFmode == V16HImode
14052 : : || V16SFmode == V16HFmode)))) &&
14053 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14054 : : (TARGET_AVX512F && TARGET_EVEX512))))
14055 : : return -1;
14056 : : return 3082; /* ieee_maxv16sf3_round */
14057 : :
14058 : : case 3:
14059 : : if (!(
14060 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14061 : : (TARGET_AVX512F) && (
14062 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14063 : : (TARGET_SSE
14064 : : && 1
14065 : : && ((V8SFmode == V16SFmode
14066 : : || V8SFmode == V8DFmode
14067 : : || V8SFmode == V8DImode
14068 : : || V8SFmode == V16SImode
14069 : : || V8SFmode == V32HImode
14070 : : || V8SFmode == V32HFmode)
14071 : : || (TARGET_AVX10_2_256
14072 : : && (V8SFmode == V8SFmode
14073 : : || V8SFmode == V4DFmode
14074 : : || V8SFmode == V4DImode
14075 : : || V8SFmode == V8SImode
14076 : : || V8SFmode == V16HImode
14077 : : || V8SFmode == V16HFmode)))) &&
14078 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14079 : : (TARGET_AVX))))
14080 : : return -1;
14081 : : return 3090; /* ieee_maxv8sf3_round */
14082 : :
14083 : : case 4:
14084 : : if (!(
14085 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14086 : : (TARGET_AVX512F) && (
14087 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14088 : : (TARGET_SSE
14089 : : && 1
14090 : : && ((V8DFmode == V16SFmode
14091 : : || V8DFmode == V8DFmode
14092 : : || V8DFmode == V8DImode
14093 : : || V8DFmode == V16SImode
14094 : : || V8DFmode == V32HImode
14095 : : || V8DFmode == V32HFmode)
14096 : : || (TARGET_AVX10_2_256
14097 : : && (V8DFmode == V8SFmode
14098 : : || V8DFmode == V4DFmode
14099 : : || V8DFmode == V4DImode
14100 : : || V8DFmode == V8SImode
14101 : : || V8DFmode == V16HImode
14102 : : || V8DFmode == V16HFmode)))) &&
14103 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14104 : : (TARGET_AVX512F && TARGET_EVEX512))))
14105 : : return -1;
14106 : : return 3102; /* ieee_maxv8df3_round */
14107 : :
14108 : : case 5:
14109 : : if (!(
14110 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14111 : : (TARGET_AVX512F) && (
14112 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14113 : : (TARGET_SSE
14114 : : && 1
14115 : : && ((V4DFmode == V16SFmode
14116 : : || V4DFmode == V8DFmode
14117 : : || V4DFmode == V8DImode
14118 : : || V4DFmode == V16SImode
14119 : : || V4DFmode == V32HImode
14120 : : || V4DFmode == V32HFmode)
14121 : : || (TARGET_AVX10_2_256
14122 : : && (V4DFmode == V8SFmode
14123 : : || V4DFmode == V4DFmode
14124 : : || V4DFmode == V4DImode
14125 : : || V4DFmode == V8SImode
14126 : : || V4DFmode == V16HImode
14127 : : || V4DFmode == V16HFmode)))) &&
14128 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14129 : : (TARGET_AVX))))
14130 : : return -1;
14131 : : return 3110; /* ieee_maxv4df3_round */
14132 : :
14133 : : default:
14134 : : return -1;
14135 : : }
14136 : :
14137 : : case 62:
14138 : : switch (pattern1133 (x2))
14139 : : {
14140 : : case 0:
14141 : : if (!(
14142 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14143 : : (TARGET_AVX512F) && (
14144 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14145 : : (TARGET_SSE
14146 : : && 1
14147 : : && ((V32HFmode == V16SFmode
14148 : : || V32HFmode == V8DFmode
14149 : : || V32HFmode == V8DImode
14150 : : || V32HFmode == V16SImode
14151 : : || V32HFmode == V32HImode
14152 : : || V32HFmode == V32HFmode)
14153 : : || (TARGET_AVX10_2_256
14154 : : && (V32HFmode == V8SFmode
14155 : : || V32HFmode == V4DFmode
14156 : : || V32HFmode == V4DImode
14157 : : || V32HFmode == V8SImode
14158 : : || V32HFmode == V16HImode
14159 : : || V32HFmode == V16HFmode)))) &&
14160 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14161 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
14162 : : return -1;
14163 : : return 3066; /* ieee_minv32hf3_round */
14164 : :
14165 : : case 1:
14166 : : if (!(
14167 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14168 : : (TARGET_AVX512F) && (
14169 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14170 : : (TARGET_SSE
14171 : : && 1
14172 : : && ((V16HFmode == V16SFmode
14173 : : || V16HFmode == V8DFmode
14174 : : || V16HFmode == V8DImode
14175 : : || V16HFmode == V16SImode
14176 : : || V16HFmode == V32HImode
14177 : : || V16HFmode == V32HFmode)
14178 : : || (TARGET_AVX10_2_256
14179 : : && (V16HFmode == V8SFmode
14180 : : || V16HFmode == V4DFmode
14181 : : || V16HFmode == V4DImode
14182 : : || V16HFmode == V8SImode
14183 : : || V16HFmode == V16HImode
14184 : : || V16HFmode == V16HFmode)))) &&
14185 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14186 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14187 : : return -1;
14188 : : return 3074; /* ieee_minv16hf3_round */
14189 : :
14190 : : case 2:
14191 : : if (!(
14192 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14193 : : (TARGET_AVX512F) && (
14194 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14195 : : (TARGET_SSE
14196 : : && 1
14197 : : && ((V16SFmode == V16SFmode
14198 : : || V16SFmode == V8DFmode
14199 : : || V16SFmode == V8DImode
14200 : : || V16SFmode == V16SImode
14201 : : || V16SFmode == V32HImode
14202 : : || V16SFmode == V32HFmode)
14203 : : || (TARGET_AVX10_2_256
14204 : : && (V16SFmode == V8SFmode
14205 : : || V16SFmode == V4DFmode
14206 : : || V16SFmode == V4DImode
14207 : : || V16SFmode == V8SImode
14208 : : || V16SFmode == V16HImode
14209 : : || V16SFmode == V16HFmode)))) &&
14210 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14211 : : (TARGET_AVX512F && TARGET_EVEX512))))
14212 : : return -1;
14213 : : return 3086; /* ieee_minv16sf3_round */
14214 : :
14215 : : case 3:
14216 : : if (!(
14217 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14218 : : (TARGET_AVX512F) && (
14219 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14220 : : (TARGET_SSE
14221 : : && 1
14222 : : && ((V8SFmode == V16SFmode
14223 : : || V8SFmode == V8DFmode
14224 : : || V8SFmode == V8DImode
14225 : : || V8SFmode == V16SImode
14226 : : || V8SFmode == V32HImode
14227 : : || V8SFmode == V32HFmode)
14228 : : || (TARGET_AVX10_2_256
14229 : : && (V8SFmode == V8SFmode
14230 : : || V8SFmode == V4DFmode
14231 : : || V8SFmode == V4DImode
14232 : : || V8SFmode == V8SImode
14233 : : || V8SFmode == V16HImode
14234 : : || V8SFmode == V16HFmode)))) &&
14235 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14236 : : (TARGET_AVX))))
14237 : : return -1;
14238 : : return 3094; /* ieee_minv8sf3_round */
14239 : :
14240 : : case 4:
14241 : : if (!(
14242 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14243 : : (TARGET_AVX512F) && (
14244 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14245 : : (TARGET_SSE
14246 : : && 1
14247 : : && ((V8DFmode == V16SFmode
14248 : : || V8DFmode == V8DFmode
14249 : : || V8DFmode == V8DImode
14250 : : || V8DFmode == V16SImode
14251 : : || V8DFmode == V32HImode
14252 : : || V8DFmode == V32HFmode)
14253 : : || (TARGET_AVX10_2_256
14254 : : && (V8DFmode == V8SFmode
14255 : : || V8DFmode == V4DFmode
14256 : : || V8DFmode == V4DImode
14257 : : || V8DFmode == V8SImode
14258 : : || V8DFmode == V16HImode
14259 : : || V8DFmode == V16HFmode)))) &&
14260 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14261 : : (TARGET_AVX512F && TARGET_EVEX512))))
14262 : : return -1;
14263 : : return 3106; /* ieee_minv8df3_round */
14264 : :
14265 : : case 5:
14266 : : if (!(
14267 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14268 : : (TARGET_AVX512F) && (
14269 : : #line 3394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14270 : : (TARGET_SSE
14271 : : && 1
14272 : : && ((V4DFmode == V16SFmode
14273 : : || V4DFmode == V8DFmode
14274 : : || V4DFmode == V8DImode
14275 : : || V4DFmode == V16SImode
14276 : : || V4DFmode == V32HImode
14277 : : || V4DFmode == V32HFmode)
14278 : : || (TARGET_AVX10_2_256
14279 : : && (V4DFmode == V8SFmode
14280 : : || V4DFmode == V4DFmode
14281 : : || V4DFmode == V4DImode
14282 : : || V4DFmode == V8SImode
14283 : : || V4DFmode == V16HImode
14284 : : || V4DFmode == V16HFmode)))) &&
14285 : : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14286 : : (TARGET_AVX))))
14287 : : return -1;
14288 : : return 3114; /* ieee_minv4df3_round */
14289 : :
14290 : : default:
14291 : : return -1;
14292 : : }
14293 : :
14294 : : case 192:
14295 : : if (!const_0_to_255_operand (operands[2], E_SImode)
14296 : : || !const48_operand (operands[3], E_SImode))
14297 : : return -1;
14298 : : switch (GET_MODE (operands[0]))
14299 : : {
14300 : : case E_V32HFmode:
14301 : : if (pattern1226 (x2,
14302 : : E_V32HFmode) != 0
14303 : : || !(
14304 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14305 : : (TARGET_AVX512F) && (
14306 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14307 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) && ((V32HFmode == V16SFmode
14308 : : || V32HFmode == V8DFmode
14309 : : || V32HFmode == V8DImode
14310 : : || V32HFmode == V16SImode
14311 : : || V32HFmode == V32HImode
14312 : : || V32HFmode == V32HFmode)
14313 : : || (TARGET_AVX10_2_256
14314 : : && (V32HFmode == V8SFmode
14315 : : || V32HFmode == V4DFmode
14316 : : || V32HFmode == V4DImode
14317 : : || V32HFmode == V8SImode
14318 : : || V32HFmode == V16HImode
14319 : : || V32HFmode == V16HFmode)))) &&
14320 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14321 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
14322 : : return -1;
14323 : : return 3190; /* *reducepv32hf_round */
14324 : :
14325 : : case E_V16HFmode:
14326 : : if (pattern1226 (x2,
14327 : : E_V16HFmode) != 0
14328 : : || !(
14329 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14330 : : (TARGET_AVX512F) && (
14331 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14332 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) && ((V16HFmode == V16SFmode
14333 : : || V16HFmode == V8DFmode
14334 : : || V16HFmode == V8DImode
14335 : : || V16HFmode == V16SImode
14336 : : || V16HFmode == V32HImode
14337 : : || V16HFmode == V32HFmode)
14338 : : || (TARGET_AVX10_2_256
14339 : : && (V16HFmode == V8SFmode
14340 : : || V16HFmode == V4DFmode
14341 : : || V16HFmode == V4DImode
14342 : : || V16HFmode == V8SImode
14343 : : || V16HFmode == V16HImode
14344 : : || V16HFmode == V16HFmode)))) &&
14345 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14346 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14347 : : return -1;
14348 : : return 3194; /* *reducepv16hf_round */
14349 : :
14350 : : case E_V16SFmode:
14351 : : if (pattern1226 (x2,
14352 : : E_V16SFmode) != 0
14353 : : || !(
14354 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14355 : : (TARGET_AVX512F) && (
14356 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14357 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode))) && ((V16SFmode == V16SFmode
14358 : : || V16SFmode == V8DFmode
14359 : : || V16SFmode == V8DImode
14360 : : || V16SFmode == V16SImode
14361 : : || V16SFmode == V32HImode
14362 : : || V16SFmode == V32HFmode)
14363 : : || (TARGET_AVX10_2_256
14364 : : && (V16SFmode == V8SFmode
14365 : : || V16SFmode == V4DFmode
14366 : : || V16SFmode == V4DImode
14367 : : || V16SFmode == V8SImode
14368 : : || V16SFmode == V16HImode
14369 : : || V16SFmode == V16HFmode)))) &&
14370 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14371 : : (TARGET_EVEX512))))
14372 : : return -1;
14373 : : return 3200; /* *reducepv16sf_round */
14374 : :
14375 : : case E_V8SFmode:
14376 : : if (pattern1226 (x2,
14377 : : E_V8SFmode) != 0
14378 : : || !(
14379 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14380 : : (TARGET_AVX512F) && (
14381 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14382 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) && ((V8SFmode == V16SFmode
14383 : : || V8SFmode == V8DFmode
14384 : : || V8SFmode == V8DImode
14385 : : || V8SFmode == V16SImode
14386 : : || V8SFmode == V32HImode
14387 : : || V8SFmode == V32HFmode)
14388 : : || (TARGET_AVX10_2_256
14389 : : && (V8SFmode == V8SFmode
14390 : : || V8SFmode == V4DFmode
14391 : : || V8SFmode == V4DImode
14392 : : || V8SFmode == V8SImode
14393 : : || V8SFmode == V16HImode
14394 : : || V8SFmode == V16HFmode)))) &&
14395 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14396 : : (TARGET_AVX512VL))))
14397 : : return -1;
14398 : : return 3204; /* *reducepv8sf_round */
14399 : :
14400 : : case E_V8DFmode:
14401 : : if (pattern1226 (x2,
14402 : : E_V8DFmode) != 0
14403 : : || !(
14404 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14405 : : (TARGET_AVX512F) && (
14406 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14407 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode))) && ((V8DFmode == V16SFmode
14408 : : || V8DFmode == V8DFmode
14409 : : || V8DFmode == V8DImode
14410 : : || V8DFmode == V16SImode
14411 : : || V8DFmode == V32HImode
14412 : : || V8DFmode == V32HFmode)
14413 : : || (TARGET_AVX10_2_256
14414 : : && (V8DFmode == V8SFmode
14415 : : || V8DFmode == V4DFmode
14416 : : || V8DFmode == V4DImode
14417 : : || V8DFmode == V8SImode
14418 : : || V8DFmode == V16HImode
14419 : : || V8DFmode == V16HFmode)))) &&
14420 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14421 : : (TARGET_EVEX512))))
14422 : : return -1;
14423 : : return 3210; /* *reducepv8df_round */
14424 : :
14425 : : case E_V4DFmode:
14426 : : if (pattern1226 (x2,
14427 : : E_V4DFmode) != 0
14428 : : || !(
14429 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14430 : : (TARGET_AVX512F) && (
14431 : : #line 4025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14432 : : ((TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) && ((V4DFmode == V16SFmode
14433 : : || V4DFmode == V8DFmode
14434 : : || V4DFmode == V8DImode
14435 : : || V4DFmode == V16SImode
14436 : : || V4DFmode == V32HImode
14437 : : || V4DFmode == V32HFmode)
14438 : : || (TARGET_AVX10_2_256
14439 : : && (V4DFmode == V8SFmode
14440 : : || V4DFmode == V4DFmode
14441 : : || V4DFmode == V4DImode
14442 : : || V4DFmode == V8SImode
14443 : : || V4DFmode == V16HImode
14444 : : || V4DFmode == V16HFmode)))) &&
14445 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14446 : : (TARGET_AVX512VL))))
14447 : : return -1;
14448 : : return 3214; /* *reducepv4df_round */
14449 : :
14450 : : default:
14451 : : return -1;
14452 : : }
14453 : :
14454 : : case 221:
14455 : : switch (pattern1134 (x2))
14456 : : {
14457 : : case 0:
14458 : : if (!(
14459 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14460 : : (TARGET_AVX512F) && (
14461 : : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14462 : : (TARGET_AVX512FP16 && ((V32HFmode == V16SFmode
14463 : : || V32HFmode == V8DFmode
14464 : : || V32HFmode == V8DImode
14465 : : || V32HFmode == V16SImode
14466 : : || V32HFmode == V32HImode
14467 : : || V32HFmode == V32HFmode)
14468 : : || (TARGET_AVX10_2_256
14469 : : && (V32HFmode == V8SFmode
14470 : : || V32HFmode == V4DFmode
14471 : : || V32HFmode == V4DImode
14472 : : || V32HFmode == V8SImode
14473 : : || V32HFmode == V16HImode
14474 : : || V32HFmode == V16HFmode)))) &&
14475 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14476 : : (TARGET_EVEX512))))
14477 : : return -1;
14478 : : return 4377; /* avx512bw_fmulc_v32hf_round */
14479 : :
14480 : : case 1:
14481 : : if (!(
14482 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14483 : : (TARGET_AVX512F) && (
14484 : : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14485 : : (TARGET_AVX512FP16 && ((V16HFmode == V16SFmode
14486 : : || V16HFmode == V8DFmode
14487 : : || V16HFmode == V8DImode
14488 : : || V16HFmode == V16SImode
14489 : : || V16HFmode == V32HImode
14490 : : || V16HFmode == V32HFmode)
14491 : : || (TARGET_AVX10_2_256
14492 : : && (V16HFmode == V8SFmode
14493 : : || V16HFmode == V4DFmode
14494 : : || V16HFmode == V4DImode
14495 : : || V16HFmode == V8SImode
14496 : : || V16HFmode == V16HImode
14497 : : || V16HFmode == V16HFmode)))) &&
14498 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14499 : : (TARGET_AVX512VL))))
14500 : : return -1;
14501 : : return 4385; /* avx512vl_fmulc_v16hf_round */
14502 : :
14503 : : default:
14504 : : return -1;
14505 : : }
14506 : :
14507 : : case 222:
14508 : : switch (pattern1134 (x2))
14509 : : {
14510 : : case 0:
14511 : : if (!(
14512 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14513 : : (TARGET_AVX512F) && (
14514 : : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14515 : : (TARGET_AVX512FP16 && ((V32HFmode == V16SFmode
14516 : : || V32HFmode == V8DFmode
14517 : : || V32HFmode == V8DImode
14518 : : || V32HFmode == V16SImode
14519 : : || V32HFmode == V32HImode
14520 : : || V32HFmode == V32HFmode)
14521 : : || (TARGET_AVX10_2_256
14522 : : && (V32HFmode == V8SFmode
14523 : : || V32HFmode == V4DFmode
14524 : : || V32HFmode == V4DImode
14525 : : || V32HFmode == V8SImode
14526 : : || V32HFmode == V16HImode
14527 : : || V32HFmode == V16HFmode)))) &&
14528 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14529 : : (TARGET_EVEX512))))
14530 : : return -1;
14531 : : return 4381; /* avx512bw_fcmulc_v32hf_round */
14532 : :
14533 : : case 1:
14534 : : if (!(
14535 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14536 : : (TARGET_AVX512F) && (
14537 : : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14538 : : (TARGET_AVX512FP16 && ((V16HFmode == V16SFmode
14539 : : || V16HFmode == V8DFmode
14540 : : || V16HFmode == V8DImode
14541 : : || V16HFmode == V16SImode
14542 : : || V16HFmode == V32HImode
14543 : : || V16HFmode == V32HFmode)
14544 : : || (TARGET_AVX10_2_256
14545 : : && (V16HFmode == V8SFmode
14546 : : || V16HFmode == V4DFmode
14547 : : || V16HFmode == V4DImode
14548 : : || V16HFmode == V8SImode
14549 : : || V16HFmode == V16HImode
14550 : : || V16HFmode == V16HFmode)))) &&
14551 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14552 : : (TARGET_AVX512VL))))
14553 : : return -1;
14554 : : return 4389; /* avx512vl_fcmulc_v16hf_round */
14555 : :
14556 : : default:
14557 : : return -1;
14558 : : }
14559 : :
14560 : : case 58:
14561 : : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
14562 : : return -1;
14563 : : switch (GET_MODE (operands[0]))
14564 : : {
14565 : : case E_V32HFmode:
14566 : : if (pattern1311 (x2,
14567 : : E_V32HFmode) != 0
14568 : : || !(
14569 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14570 : : (TARGET_AVX512F) && (
14571 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14572 : : (TARGET_AVX512F && ((V32HFmode == V16SFmode
14573 : : || V32HFmode == V8DFmode
14574 : : || V32HFmode == V8DImode
14575 : : || V32HFmode == V16SImode
14576 : : || V32HFmode == V32HImode
14577 : : || V32HFmode == V32HFmode)
14578 : : || (TARGET_AVX10_2_256
14579 : : && (V32HFmode == V8SFmode
14580 : : || V32HFmode == V4DFmode
14581 : : || V32HFmode == V4DImode
14582 : : || V32HFmode == V8SImode
14583 : : || V32HFmode == V16HImode
14584 : : || V32HFmode == V16HFmode)))) &&
14585 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14586 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
14587 : : return -1;
14588 : : return 5427; /* avx512bw_scalefv32hf_round */
14589 : :
14590 : : case E_V16HFmode:
14591 : : if (pattern1311 (x2,
14592 : : E_V16HFmode) != 0
14593 : : || !(
14594 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14595 : : (TARGET_AVX512F) && (
14596 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14597 : : (TARGET_AVX512F && ((V16HFmode == V16SFmode
14598 : : || V16HFmode == V8DFmode
14599 : : || V16HFmode == V8DImode
14600 : : || V16HFmode == V16SImode
14601 : : || V16HFmode == V32HImode
14602 : : || V16HFmode == V32HFmode)
14603 : : || (TARGET_AVX10_2_256
14604 : : && (V16HFmode == V8SFmode
14605 : : || V16HFmode == V4DFmode
14606 : : || V16HFmode == V4DImode
14607 : : || V16HFmode == V8SImode
14608 : : || V16HFmode == V16HImode
14609 : : || V16HFmode == V16HFmode)))) &&
14610 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14611 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14612 : : return -1;
14613 : : return 5431; /* avx512vl_scalefv16hf_round */
14614 : :
14615 : : case E_V16SFmode:
14616 : : if (pattern1311 (x2,
14617 : : E_V16SFmode) != 0
14618 : : || !(
14619 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14620 : : (TARGET_AVX512F) && (
14621 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14622 : : (TARGET_AVX512F && ((V16SFmode == V16SFmode
14623 : : || V16SFmode == V8DFmode
14624 : : || V16SFmode == V8DImode
14625 : : || V16SFmode == V16SImode
14626 : : || V16SFmode == V32HImode
14627 : : || V16SFmode == V32HFmode)
14628 : : || (TARGET_AVX10_2_256
14629 : : && (V16SFmode == V8SFmode
14630 : : || V16SFmode == V4DFmode
14631 : : || V16SFmode == V4DImode
14632 : : || V16SFmode == V8SImode
14633 : : || V16SFmode == V16HImode
14634 : : || V16SFmode == V16HFmode)))) &&
14635 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14636 : : (TARGET_EVEX512))))
14637 : : return -1;
14638 : : return 5437; /* avx512f_scalefv16sf_round */
14639 : :
14640 : : case E_V8SFmode:
14641 : : if (pattern1311 (x2,
14642 : : E_V8SFmode) != 0
14643 : : || !(
14644 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14645 : : (TARGET_AVX512F) && (
14646 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14647 : : (TARGET_AVX512F && ((V8SFmode == V16SFmode
14648 : : || V8SFmode == V8DFmode
14649 : : || V8SFmode == V8DImode
14650 : : || V8SFmode == V16SImode
14651 : : || V8SFmode == V32HImode
14652 : : || V8SFmode == V32HFmode)
14653 : : || (TARGET_AVX10_2_256
14654 : : && (V8SFmode == V8SFmode
14655 : : || V8SFmode == V4DFmode
14656 : : || V8SFmode == V4DImode
14657 : : || V8SFmode == V8SImode
14658 : : || V8SFmode == V16HImode
14659 : : || V8SFmode == V16HFmode)))) &&
14660 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14661 : : (TARGET_AVX512VL))))
14662 : : return -1;
14663 : : return 5441; /* avx512vl_scalefv8sf_round */
14664 : :
14665 : : case E_V8DFmode:
14666 : : if (pattern1311 (x2,
14667 : : E_V8DFmode) != 0
14668 : : || !(
14669 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14670 : : (TARGET_AVX512F) && (
14671 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14672 : : (TARGET_AVX512F && ((V8DFmode == V16SFmode
14673 : : || V8DFmode == V8DFmode
14674 : : || V8DFmode == V8DImode
14675 : : || V8DFmode == V16SImode
14676 : : || V8DFmode == V32HImode
14677 : : || V8DFmode == V32HFmode)
14678 : : || (TARGET_AVX10_2_256
14679 : : && (V8DFmode == V8SFmode
14680 : : || V8DFmode == V4DFmode
14681 : : || V8DFmode == V4DImode
14682 : : || V8DFmode == V8SImode
14683 : : || V8DFmode == V16HImode
14684 : : || V8DFmode == V16HFmode)))) &&
14685 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14686 : : (TARGET_EVEX512))))
14687 : : return -1;
14688 : : return 5447; /* avx512f_scalefv8df_round */
14689 : :
14690 : : case E_V4DFmode:
14691 : : if (pattern1311 (x2,
14692 : : E_V4DFmode) != 0
14693 : : || !(
14694 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14695 : : (TARGET_AVX512F) && (
14696 : : #line 13623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14697 : : (TARGET_AVX512F && ((V4DFmode == V16SFmode
14698 : : || V4DFmode == V8DFmode
14699 : : || V4DFmode == V8DImode
14700 : : || V4DFmode == V16SImode
14701 : : || V4DFmode == V32HImode
14702 : : || V4DFmode == V32HFmode)
14703 : : || (TARGET_AVX10_2_256
14704 : : && (V4DFmode == V8SFmode
14705 : : || V4DFmode == V4DFmode
14706 : : || V4DFmode == V4DImode
14707 : : || V4DFmode == V8SImode
14708 : : || V4DFmode == V16HImode
14709 : : || V4DFmode == V16HFmode)))) &&
14710 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14711 : : (TARGET_AVX512VL))))
14712 : : return -1;
14713 : : return 5451; /* avx512vl_scalefv4df_round */
14714 : :
14715 : : default:
14716 : : return -1;
14717 : : }
14718 : :
14719 : : case 94:
14720 : : if (!const_0_to_255_operand (operands[2], E_SImode))
14721 : : return -1;
14722 : : switch (pattern1219 (x2))
14723 : : {
14724 : : case 0:
14725 : : if (!(
14726 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14727 : : (TARGET_AVX512F) && (
14728 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14729 : : (TARGET_AVX512F && ((V32HFmode == V16SFmode
14730 : : || V32HFmode == V8DFmode
14731 : : || V32HFmode == V8DImode
14732 : : || V32HFmode == V16SImode
14733 : : || V32HFmode == V32HImode
14734 : : || V32HFmode == V32HFmode)
14735 : : || (TARGET_AVX10_2_256
14736 : : && (V32HFmode == V8SFmode
14737 : : || V32HFmode == V4DFmode
14738 : : || V32HFmode == V4DImode
14739 : : || V32HFmode == V8SImode
14740 : : || V32HFmode == V16HImode
14741 : : || V32HFmode == V16HFmode)))) &&
14742 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14743 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
14744 : : return -1;
14745 : : return 7139; /* avx512bw_rndscalev32hf_round */
14746 : :
14747 : : case 1:
14748 : : if (!(
14749 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14750 : : (TARGET_AVX512F) && (
14751 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14752 : : (TARGET_AVX512F && ((V16HFmode == V16SFmode
14753 : : || V16HFmode == V8DFmode
14754 : : || V16HFmode == V8DImode
14755 : : || V16HFmode == V16SImode
14756 : : || V16HFmode == V32HImode
14757 : : || V16HFmode == V32HFmode)
14758 : : || (TARGET_AVX10_2_256
14759 : : && (V16HFmode == V8SFmode
14760 : : || V16HFmode == V4DFmode
14761 : : || V16HFmode == V4DImode
14762 : : || V16HFmode == V8SImode
14763 : : || V16HFmode == V16HImode
14764 : : || V16HFmode == V16HFmode)))) &&
14765 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14766 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14767 : : return -1;
14768 : : return 7143; /* avx512vl_rndscalev16hf_round */
14769 : :
14770 : : case 2:
14771 : : if (!(
14772 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14773 : : (TARGET_AVX512F) && (
14774 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14775 : : (TARGET_AVX512F && ((V16SFmode == V16SFmode
14776 : : || V16SFmode == V8DFmode
14777 : : || V16SFmode == V8DImode
14778 : : || V16SFmode == V16SImode
14779 : : || V16SFmode == V32HImode
14780 : : || V16SFmode == V32HFmode)
14781 : : || (TARGET_AVX10_2_256
14782 : : && (V16SFmode == V8SFmode
14783 : : || V16SFmode == V4DFmode
14784 : : || V16SFmode == V4DImode
14785 : : || V16SFmode == V8SImode
14786 : : || V16SFmode == V16HImode
14787 : : || V16SFmode == V16HFmode)))) &&
14788 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14789 : : (TARGET_EVEX512))))
14790 : : return -1;
14791 : : return 7149; /* avx512f_rndscalev16sf_round */
14792 : :
14793 : : case 3:
14794 : : if (!(
14795 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14796 : : (TARGET_AVX512F) && (
14797 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14798 : : (TARGET_AVX512F && ((V8SFmode == V16SFmode
14799 : : || V8SFmode == V8DFmode
14800 : : || V8SFmode == V8DImode
14801 : : || V8SFmode == V16SImode
14802 : : || V8SFmode == V32HImode
14803 : : || V8SFmode == V32HFmode)
14804 : : || (TARGET_AVX10_2_256
14805 : : && (V8SFmode == V8SFmode
14806 : : || V8SFmode == V4DFmode
14807 : : || V8SFmode == V4DImode
14808 : : || V8SFmode == V8SImode
14809 : : || V8SFmode == V16HImode
14810 : : || V8SFmode == V16HFmode)))) &&
14811 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14812 : : (TARGET_AVX512VL))))
14813 : : return -1;
14814 : : return 7153; /* avx512vl_rndscalev8sf_round */
14815 : :
14816 : : case 4:
14817 : : if (!(
14818 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14819 : : (TARGET_AVX512F) && (
14820 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14821 : : (TARGET_AVX512F && ((V8DFmode == V16SFmode
14822 : : || V8DFmode == V8DFmode
14823 : : || V8DFmode == V8DImode
14824 : : || V8DFmode == V16SImode
14825 : : || V8DFmode == V32HImode
14826 : : || V8DFmode == V32HFmode)
14827 : : || (TARGET_AVX10_2_256
14828 : : && (V8DFmode == V8SFmode
14829 : : || V8DFmode == V4DFmode
14830 : : || V8DFmode == V4DImode
14831 : : || V8DFmode == V8SImode
14832 : : || V8DFmode == V16HImode
14833 : : || V8DFmode == V16HFmode)))) &&
14834 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14835 : : (TARGET_EVEX512))))
14836 : : return -1;
14837 : : return 7159; /* avx512f_rndscalev8df_round */
14838 : :
14839 : : case 5:
14840 : : if (!(
14841 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14842 : : (TARGET_AVX512F) && (
14843 : : #line 14224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14844 : : (TARGET_AVX512F && ((V4DFmode == V16SFmode
14845 : : || V4DFmode == V8DFmode
14846 : : || V4DFmode == V8DImode
14847 : : || V4DFmode == V16SImode
14848 : : || V4DFmode == V32HImode
14849 : : || V4DFmode == V32HFmode)
14850 : : || (TARGET_AVX10_2_256
14851 : : && (V4DFmode == V8SFmode
14852 : : || V4DFmode == V4DFmode
14853 : : || V4DFmode == V4DImode
14854 : : || V4DFmode == V8SImode
14855 : : || V4DFmode == V16HImode
14856 : : || V4DFmode == V16HFmode)))) &&
14857 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14858 : : (TARGET_AVX512VL))))
14859 : : return -1;
14860 : : return 7163; /* avx512vl_rndscalev4df_round */
14861 : :
14862 : : default:
14863 : : return -1;
14864 : : }
14865 : :
14866 : : case 150:
14867 : : if (GET_MODE (x3) != E_V16HImode
14868 : : || !register_operand (operands[0], E_V16HImode)
14869 : : || GET_MODE (x2) != E_V16HImode
14870 : : || !register_operand (operands[1], E_V16SFmode)
14871 : : || !const_0_to_255_operand (operands[2], E_SImode)
14872 : : || !const48_operand (operands[3], E_SImode)
14873 : : || !(
14874 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14875 : : (TARGET_AVX512F) &&
14876 : : #line 29218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14877 : : (TARGET_AVX512F && TARGET_EVEX512)))
14878 : : return -1;
14879 : : return 9663; /* *avx512f_vcvtps2ph512_round */
14880 : :
14881 : : case 166:
14882 : : if (!const_0_to_15_operand (operands[2], E_SImode))
14883 : : return -1;
14884 : : switch (pattern1219 (x2))
14885 : : {
14886 : : case 0:
14887 : : if (!(
14888 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14889 : : (TARGET_AVX512F) && (
14890 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14891 : : (TARGET_AVX512F && ((V32HFmode == V16SFmode
14892 : : || V32HFmode == V8DFmode
14893 : : || V32HFmode == V8DImode
14894 : : || V32HFmode == V16SImode
14895 : : || V32HFmode == V32HImode
14896 : : || V32HFmode == V32HFmode)
14897 : : || (TARGET_AVX10_2_256
14898 : : && (V32HFmode == V8SFmode
14899 : : || V32HFmode == V4DFmode
14900 : : || V32HFmode == V4DImode
14901 : : || V32HFmode == V8SImode
14902 : : || V32HFmode == V16HImode
14903 : : || V32HFmode == V16HFmode)))) &&
14904 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14905 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
14906 : : return -1;
14907 : : return 10009; /* avx512bw_getmantv32hf_round */
14908 : :
14909 : : case 1:
14910 : : if (!(
14911 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14912 : : (TARGET_AVX512F) && (
14913 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14914 : : (TARGET_AVX512F && ((V16HFmode == V16SFmode
14915 : : || V16HFmode == V8DFmode
14916 : : || V16HFmode == V8DImode
14917 : : || V16HFmode == V16SImode
14918 : : || V16HFmode == V32HImode
14919 : : || V16HFmode == V32HFmode)
14920 : : || (TARGET_AVX10_2_256
14921 : : && (V16HFmode == V8SFmode
14922 : : || V16HFmode == V4DFmode
14923 : : || V16HFmode == V4DImode
14924 : : || V16HFmode == V8SImode
14925 : : || V16HFmode == V16HImode
14926 : : || V16HFmode == V16HFmode)))) &&
14927 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14928 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14929 : : return -1;
14930 : : return 10013; /* avx512vl_getmantv16hf_round */
14931 : :
14932 : : case 2:
14933 : : if (!(
14934 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14935 : : (TARGET_AVX512F) && (
14936 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14937 : : (TARGET_AVX512F && ((V16SFmode == V16SFmode
14938 : : || V16SFmode == V8DFmode
14939 : : || V16SFmode == V8DImode
14940 : : || V16SFmode == V16SImode
14941 : : || V16SFmode == V32HImode
14942 : : || V16SFmode == V32HFmode)
14943 : : || (TARGET_AVX10_2_256
14944 : : && (V16SFmode == V8SFmode
14945 : : || V16SFmode == V4DFmode
14946 : : || V16SFmode == V4DImode
14947 : : || V16SFmode == V8SImode
14948 : : || V16SFmode == V16HImode
14949 : : || V16SFmode == V16HFmode)))) &&
14950 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14951 : : (TARGET_EVEX512))))
14952 : : return -1;
14953 : : return 10019; /* avx512f_getmantv16sf_round */
14954 : :
14955 : : case 3:
14956 : : if (!(
14957 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14958 : : (TARGET_AVX512F) && (
14959 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14960 : : (TARGET_AVX512F && ((V8SFmode == V16SFmode
14961 : : || V8SFmode == V8DFmode
14962 : : || V8SFmode == V8DImode
14963 : : || V8SFmode == V16SImode
14964 : : || V8SFmode == V32HImode
14965 : : || V8SFmode == V32HFmode)
14966 : : || (TARGET_AVX10_2_256
14967 : : && (V8SFmode == V8SFmode
14968 : : || V8SFmode == V4DFmode
14969 : : || V8SFmode == V4DImode
14970 : : || V8SFmode == V8SImode
14971 : : || V8SFmode == V16HImode
14972 : : || V8SFmode == V16HFmode)))) &&
14973 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14974 : : (TARGET_AVX512VL))))
14975 : : return -1;
14976 : : return 10023; /* avx512vl_getmantv8sf_round */
14977 : :
14978 : : case 4:
14979 : : if (!(
14980 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14981 : : (TARGET_AVX512F) && (
14982 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14983 : : (TARGET_AVX512F && ((V8DFmode == V16SFmode
14984 : : || V8DFmode == V8DFmode
14985 : : || V8DFmode == V8DImode
14986 : : || V8DFmode == V16SImode
14987 : : || V8DFmode == V32HImode
14988 : : || V8DFmode == V32HFmode)
14989 : : || (TARGET_AVX10_2_256
14990 : : && (V8DFmode == V8SFmode
14991 : : || V8DFmode == V4DFmode
14992 : : || V8DFmode == V4DImode
14993 : : || V8DFmode == V8SImode
14994 : : || V8DFmode == V16HImode
14995 : : || V8DFmode == V16HFmode)))) &&
14996 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14997 : : (TARGET_EVEX512))))
14998 : : return -1;
14999 : : return 10029; /* avx512f_getmantv8df_round */
15000 : :
15001 : : case 5:
15002 : : if (!(
15003 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15004 : : (TARGET_AVX512F) && (
15005 : : #line 29882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15006 : : (TARGET_AVX512F && ((V4DFmode == V16SFmode
15007 : : || V4DFmode == V8DFmode
15008 : : || V4DFmode == V8DImode
15009 : : || V4DFmode == V16SImode
15010 : : || V4DFmode == V32HImode
15011 : : || V4DFmode == V32HFmode)
15012 : : || (TARGET_AVX10_2_256
15013 : : && (V4DFmode == V8SFmode
15014 : : || V4DFmode == V4DFmode
15015 : : || V4DFmode == V4DImode
15016 : : || V4DFmode == V8SImode
15017 : : || V4DFmode == V16HImode
15018 : : || V4DFmode == V16HFmode)))) &&
15019 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15020 : : (TARGET_AVX512VL))))
15021 : : return -1;
15022 : : return 10033; /* avx512vl_getmantv4df_round */
15023 : :
15024 : : default:
15025 : : return -1;
15026 : : }
15027 : :
15028 : : default:
15029 : : return -1;
15030 : : }
15031 : :
15032 : : case 3:
15033 : : x4 = XVECEXP (x3, 0, 0);
15034 : : operands[1] = x4;
15035 : : x5 = XVECEXP (x3, 0, 1);
15036 : : operands[2] = x5;
15037 : : x6 = XVECEXP (x2, 0, 1);
15038 : : operands[4] = x6;
15039 : : switch (XINT (x3, 1))
15040 : : {
15041 : : case 133:
15042 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
15043 : : return -1;
15044 : : x7 = XVECEXP (x3, 0, 2);
15045 : : switch (GET_CODE (x7))
15046 : : {
15047 : : case REG:
15048 : : case SUBREG:
15049 : : operands[3] = x7;
15050 : : switch (GET_MODE (operands[0]))
15051 : : {
15052 : : case E_V32HFmode:
15053 : : if (pattern1135 (x2,
15054 : : E_V32HFmode) != 0
15055 : : || !(
15056 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15057 : : (TARGET_AVX512F) && (
15058 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15059 : : (TARGET_AVX512F && 1 && ((V32HFmode == V16SFmode
15060 : : || V32HFmode == V8DFmode
15061 : : || V32HFmode == V8DImode
15062 : : || V32HFmode == V16SImode
15063 : : || V32HFmode == V32HImode
15064 : : || V32HFmode == V32HFmode)
15065 : : || (TARGET_AVX10_2_256
15066 : : && (V32HFmode == V8SFmode
15067 : : || V32HFmode == V4DFmode
15068 : : || V32HFmode == V4DImode
15069 : : || V32HFmode == V8SImode
15070 : : || V32HFmode == V16HImode
15071 : : || V32HFmode == V16HFmode)))) &&
15072 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15073 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
15074 : : return -1;
15075 : : return 4089; /* *fma_fmaddsub_v32hf_round */
15076 : :
15077 : : case E_V16HFmode:
15078 : : if (pattern1135 (x2,
15079 : : E_V16HFmode) != 0
15080 : : || !(
15081 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15082 : : (TARGET_AVX512F) && (
15083 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15084 : : (TARGET_AVX512F && 1 && ((V16HFmode == V16SFmode
15085 : : || V16HFmode == V8DFmode
15086 : : || V16HFmode == V8DImode
15087 : : || V16HFmode == V16SImode
15088 : : || V16HFmode == V32HImode
15089 : : || V16HFmode == V32HFmode)
15090 : : || (TARGET_AVX10_2_256
15091 : : && (V16HFmode == V8SFmode
15092 : : || V16HFmode == V4DFmode
15093 : : || V16HFmode == V4DImode
15094 : : || V16HFmode == V8SImode
15095 : : || V16HFmode == V16HImode
15096 : : || V16HFmode == V16HFmode)))) &&
15097 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15098 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
15099 : : return -1;
15100 : : return 4093; /* *fma_fmaddsub_v16hf_round */
15101 : :
15102 : : case E_V16SFmode:
15103 : : if (pattern1135 (x2,
15104 : : E_V16SFmode) != 0
15105 : : || !(
15106 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15107 : : (TARGET_AVX512F) && (
15108 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15109 : : (TARGET_AVX512F && 1 && ((V16SFmode == V16SFmode
15110 : : || V16SFmode == V8DFmode
15111 : : || V16SFmode == V8DImode
15112 : : || V16SFmode == V16SImode
15113 : : || V16SFmode == V32HImode
15114 : : || V16SFmode == V32HFmode)
15115 : : || (TARGET_AVX10_2_256
15116 : : && (V16SFmode == V8SFmode
15117 : : || V16SFmode == V4DFmode
15118 : : || V16SFmode == V4DImode
15119 : : || V16SFmode == V8SImode
15120 : : || V16SFmode == V16HImode
15121 : : || V16SFmode == V16HFmode)))) &&
15122 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15123 : : (TARGET_EVEX512))))
15124 : : return -1;
15125 : : return 4099; /* *fma_fmaddsub_v16sf_round */
15126 : :
15127 : : case E_V8SFmode:
15128 : : if (pattern1135 (x2,
15129 : : E_V8SFmode) != 0
15130 : : || !(
15131 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15132 : : (TARGET_AVX512F) && (
15133 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15134 : : (TARGET_AVX512F && 1 && ((V8SFmode == V16SFmode
15135 : : || V8SFmode == V8DFmode
15136 : : || V8SFmode == V8DImode
15137 : : || V8SFmode == V16SImode
15138 : : || V8SFmode == V32HImode
15139 : : || V8SFmode == V32HFmode)
15140 : : || (TARGET_AVX10_2_256
15141 : : && (V8SFmode == V8SFmode
15142 : : || V8SFmode == V4DFmode
15143 : : || V8SFmode == V4DImode
15144 : : || V8SFmode == V8SImode
15145 : : || V8SFmode == V16HImode
15146 : : || V8SFmode == V16HFmode)))) &&
15147 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15148 : : (TARGET_AVX512VL))))
15149 : : return -1;
15150 : : return 4103; /* *fma_fmaddsub_v8sf_round */
15151 : :
15152 : : case E_V8DFmode:
15153 : : if (pattern1135 (x2,
15154 : : E_V8DFmode) != 0
15155 : : || !(
15156 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15157 : : (TARGET_AVX512F) && (
15158 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15159 : : (TARGET_AVX512F && 1 && ((V8DFmode == V16SFmode
15160 : : || V8DFmode == V8DFmode
15161 : : || V8DFmode == V8DImode
15162 : : || V8DFmode == V16SImode
15163 : : || V8DFmode == V32HImode
15164 : : || V8DFmode == V32HFmode)
15165 : : || (TARGET_AVX10_2_256
15166 : : && (V8DFmode == V8SFmode
15167 : : || V8DFmode == V4DFmode
15168 : : || V8DFmode == V4DImode
15169 : : || V8DFmode == V8SImode
15170 : : || V8DFmode == V16HImode
15171 : : || V8DFmode == V16HFmode)))) &&
15172 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15173 : : (TARGET_EVEX512))))
15174 : : return -1;
15175 : : return 4109; /* *fma_fmaddsub_v8df_round */
15176 : :
15177 : : case E_V4DFmode:
15178 : : if (pattern1135 (x2,
15179 : : E_V4DFmode) != 0
15180 : : || !(
15181 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15182 : : (TARGET_AVX512F) && (
15183 : : #line 6408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15184 : : (TARGET_AVX512F && 1 && ((V4DFmode == V16SFmode
15185 : : || V4DFmode == V8DFmode
15186 : : || V4DFmode == V8DImode
15187 : : || V4DFmode == V16SImode
15188 : : || V4DFmode == V32HImode
15189 : : || V4DFmode == V32HFmode)
15190 : : || (TARGET_AVX10_2_256
15191 : : && (V4DFmode == V8SFmode
15192 : : || V4DFmode == V4DFmode
15193 : : || V4DFmode == V4DImode
15194 : : || V4DFmode == V8SImode
15195 : : || V4DFmode == V16HImode
15196 : : || V4DFmode == V16HFmode)))) &&
15197 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15198 : : (TARGET_AVX512VL))))
15199 : : return -1;
15200 : : return 4113; /* *fma_fmaddsub_v4df_round */
15201 : :
15202 : : default:
15203 : : return -1;
15204 : : }
15205 : :
15206 : : case NEG:
15207 : : x8 = XEXP (x7, 0);
15208 : : operands[3] = x8;
15209 : : switch (GET_MODE (operands[0]))
15210 : : {
15211 : : case E_V32HFmode:
15212 : : if (pattern1484 (x2,
15213 : : E_V32HFmode) != 0
15214 : : || !(
15215 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15216 : : (TARGET_AVX512F) && (
15217 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15218 : : (TARGET_AVX512F && 1 && ((V32HFmode == V16SFmode
15219 : : || V32HFmode == V8DFmode
15220 : : || V32HFmode == V8DImode
15221 : : || V32HFmode == V16SImode
15222 : : || V32HFmode == V32HImode
15223 : : || V32HFmode == V32HFmode)
15224 : : || (TARGET_AVX10_2_256
15225 : : && (V32HFmode == V8SFmode
15226 : : || V32HFmode == V4DFmode
15227 : : || V32HFmode == V4DImode
15228 : : || V32HFmode == V8SImode
15229 : : || V32HFmode == V16HImode
15230 : : || V32HFmode == V16HFmode)))) &&
15231 : : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15232 : : (TARGET_AVX512FP16 && TARGET_EVEX512))))
15233 : : return -1;
15234 : : return 4153; /* *fma_fmsubadd_v32hf_round */
15235 : :
15236 : : case E_V16HFmode:
15237 : : if (pattern1484 (x2,
15238 : : E_V16HFmode) != 0
15239 : : || !(
15240 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15241 : : (TARGET_AVX512F) && (
15242 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15243 : : (TARGET_AVX512F && 1 && ((V16HFmode == V16SFmode
15244 : : || V16HFmode == V8DFmode
15245 : : || V16HFmode == V8DImode
15246 : : || V16HFmode == V16SImode
15247 : : || V16HFmode == V32HImode
15248 : : || V16HFmode == V32HFmode)
15249 : : || (TARGET_AVX10_2_256
15250 : : && (V16HFmode == V8SFmode
15251 : : || V16HFmode == V4DFmode
15252 : : || V16HFmode == V4DImode
15253 : : || V16HFmode == V8SImode
15254 : : || V16HFmode == V16HImode
15255 : : || V16HFmode == V16HFmode)))) &&
15256 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15257 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
15258 : : return -1;
15259 : : return 4157; /* *fma_fmsubadd_v16hf_round */
15260 : :
15261 : : case E_V16SFmode:
15262 : : if (pattern1484 (x2,
15263 : : E_V16SFmode) != 0
15264 : : || !(
15265 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15266 : : (TARGET_AVX512F) && (
15267 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15268 : : (TARGET_AVX512F && 1 && ((V16SFmode == V16SFmode
15269 : : || V16SFmode == V8DFmode
15270 : : || V16SFmode == V8DImode
15271 : : || V16SFmode == V16SImode
15272 : : || V16SFmode == V32HImode
15273 : : || V16SFmode == V32HFmode)
15274 : : || (TARGET_AVX10_2_256
15275 : : && (V16SFmode == V8SFmode
15276 : : || V16SFmode == V4DFmode
15277 : : || V16SFmode == V4DImode
15278 : : || V16SFmode == V8SImode
15279 : : || V16SFmode == V16HImode
15280 : : || V16SFmode == V16HFmode)))) &&
15281 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15282 : : (TARGET_EVEX512))))
15283 : : return -1;
15284 : : return 4163; /* *fma_fmsubadd_v16sf_round */
15285 : :
15286 : : case E_V8SFmode:
15287 : : if (pattern1484 (x2,
15288 : : E_V8SFmode) != 0
15289 : : || !(
15290 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15291 : : (TARGET_AVX512F) && (
15292 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15293 : : (TARGET_AVX512F && 1 && ((V8SFmode == V16SFmode
15294 : : || V8SFmode == V8DFmode
15295 : : || V8SFmode == V8DImode
15296 : : || V8SFmode == V16SImode
15297 : : || V8SFmode == V32HImode
15298 : : || V8SFmode == V32HFmode)
15299 : : || (TARGET_AVX10_2_256
15300 : : && (V8SFmode == V8SFmode
15301 : : || V8SFmode == V4DFmode
15302 : : || V8SFmode == V4DImode
15303 : : || V8SFmode == V8SImode
15304 : : || V8SFmode == V16HImode
15305 : : || V8SFmode == V16HFmode)))) &&
15306 : : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15307 : : (TARGET_AVX512VL))))
15308 : : return -1;
15309 : : return 4167; /* *fma_fmsubadd_v8sf_round */
15310 : :
15311 : : case E_V8DFmode:
15312 : : if (pattern1484 (x2,
15313 : : E_V8DFmode) != 0
15314 : : || !(
15315 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15316 : : (TARGET_AVX512F) && (
15317 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15318 : : (TARGET_AVX512F && 1 && ((V8DFmode == V16SFmode
15319 : : || V8DFmode == V8DFmode
15320 : : || V8DFmode == V8DImode
15321 : : || V8DFmode == V16SImode
15322 : : || V8DFmode == V32HImode
15323 : : || V8DFmode == V32HFmode)
15324 : : || (TARGET_AVX10_2_256
15325 : : && (V8DFmode == V8SFmode
15326 : : || V8DFmode == V4DFmode
15327 : : || V8DFmode == V4DImode
15328 : : || V8DFmode == V8SImode
15329 : : || V8DFmode == V16HImode
15330 : : || V8DFmode == V16HFmode)))) &&
15331 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15332 : : (TARGET_EVEX512))))
15333 : : return -1;
15334 : : return 4173; /* *fma_fmsubadd_v8df_round */
15335 : :
15336 : : case E_V4DFmode:
15337 : : if (pattern1484 (x2,
15338 : : E_V4DFmode) != 0
15339 : : || !(
15340 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15341 : : (TARGET_AVX512F) && (
15342 : : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15343 : : (TARGET_AVX512F && 1 && ((V4DFmode == V16SFmode
15344 : : || V4DFmode == V8DFmode
15345 : : || V4DFmode == V8DImode
15346 : : || V4DFmode == V16SImode
15347 : : || V4DFmode == V32HImode
15348 : : || V4DFmode == V32HFmode)
15349 : : || (TARGET_AVX10_2_256
15350 : : && (V4DFmode == V8SFmode
15351 : : || V4DFmode == V4DFmode
15352 : : || V4DFmode == V4DImode
15353 : : || V4DFmode == V8SImode
15354 : : || V4DFmode == V16HImode
15355 : : || V4DFmode == V16HFmode)))) &&
15356 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15357 : : (TARGET_AVX512VL))))
15358 : : return -1;
15359 : : return 4177; /* *fma_fmsubadd_v4df_round */
15360 : :
15361 : : default:
15362 : : return -1;
15363 : : }
15364 : :
15365 : : default:
15366 : : return -1;
15367 : : }
15368 : :
15369 : : case 217:
15370 : : switch (pattern1136 (x2))
15371 : : {
15372 : : case 0:
15373 : : if (!(
15374 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15375 : : (TARGET_AVX512F) && (
15376 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15377 : : (TARGET_AVX512FP16 && 1 && ((V32HFmode == V16SFmode
15378 : : || V32HFmode == V8DFmode
15379 : : || V32HFmode == V8DImode
15380 : : || V32HFmode == V16SImode
15381 : : || V32HFmode == V32HImode
15382 : : || V32HFmode == V32HFmode)
15383 : : || (TARGET_AVX10_2_256
15384 : : && (V32HFmode == V8SFmode
15385 : : || V32HFmode == V4DFmode
15386 : : || V32HFmode == V4DImode
15387 : : || V32HFmode == V8SImode
15388 : : || V32HFmode == V16HImode
15389 : : || V32HFmode == V16HFmode)))) &&
15390 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15391 : : (TARGET_EVEX512))))
15392 : : return -1;
15393 : : return 4322; /* fma_fmaddc_v32hf_round */
15394 : :
15395 : : case 1:
15396 : : if (!(
15397 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15398 : : (TARGET_AVX512F) && (
15399 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15400 : : (TARGET_AVX512FP16 && 1 && ((V16HFmode == V16SFmode
15401 : : || V16HFmode == V8DFmode
15402 : : || V16HFmode == V8DImode
15403 : : || V16HFmode == V16SImode
15404 : : || V16HFmode == V32HImode
15405 : : || V16HFmode == V32HFmode)
15406 : : || (TARGET_AVX10_2_256
15407 : : && (V16HFmode == V8SFmode
15408 : : || V16HFmode == V4DFmode
15409 : : || V16HFmode == V4DImode
15410 : : || V16HFmode == V8SImode
15411 : : || V16HFmode == V16HImode
15412 : : || V16HFmode == V16HFmode)))) &&
15413 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15414 : : (TARGET_AVX512VL))))
15415 : : return -1;
15416 : : return 4330; /* fma_fmaddc_v16hf_round */
15417 : :
15418 : : default:
15419 : : return -1;
15420 : : }
15421 : :
15422 : : case 219:
15423 : : switch (pattern1136 (x2))
15424 : : {
15425 : : case 0:
15426 : : if (!(
15427 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15428 : : (TARGET_AVX512F) && (
15429 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15430 : : (TARGET_AVX512FP16 && 1 && ((V32HFmode == V16SFmode
15431 : : || V32HFmode == V8DFmode
15432 : : || V32HFmode == V8DImode
15433 : : || V32HFmode == V16SImode
15434 : : || V32HFmode == V32HImode
15435 : : || V32HFmode == V32HFmode)
15436 : : || (TARGET_AVX10_2_256
15437 : : && (V32HFmode == V8SFmode
15438 : : || V32HFmode == V4DFmode
15439 : : || V32HFmode == V4DImode
15440 : : || V32HFmode == V8SImode
15441 : : || V32HFmode == V16HImode
15442 : : || V32HFmode == V16HFmode)))) &&
15443 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15444 : : (TARGET_EVEX512))))
15445 : : return -1;
15446 : : return 4326; /* fma_fcmaddc_v32hf_round */
15447 : :
15448 : : case 1:
15449 : : if (!(
15450 : : #line 234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15451 : : (TARGET_AVX512F) && (
15452 : : #line 7147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15453 : : (TARGET_AVX512FP16 && 1 && ((V16HFmode == V16SFmode
15454 : : || V16HFmode == V8DFmode
15455 : : || V16HFmode == V8DImode
15456 : : || V16HFmode == V16SImode
15457 : : || V16HFmode == V32HImode
15458 : : || V16HFmode == V32HFmode)
15459 : : || (TARGET_AVX10_2_256
15460 : : && (V16HFmode == V8SFmode
15461 : : || V16HFmode == V4DFmode
15462 : : || V16HFmode == V4DImode
15463 : : || V16HFmode == V8SImode
15464 : : || V16HFmode == V16HImode
15465 : : || V16HFmode == V16HFmode)))) &&
15466 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15467 : : (TARGET_AVX512VL))))
15468 : : return -1;
15469 : : return 4334; /* fma_fcmaddc_v16hf_round */
15470 : :
15471 : : default:
15472 : : return -1;
15473 : : }
15474 : :
15475 : : case 194:
15476 : : x7 = XVECEXP (x3, 0, 2);
15477 : : operands[3] = x7;
15478 : : if (!const_0_to_15_operand (operands[3], E_SImode)
15479 : : || !const48_operand (operands[4], E_SImode))
15480 : : return -1;
15481 : : switch (GET_MODE (operands[0]))
15482 : : {
15483 : : case E_V16SFmode:
15484 : : if (pattern1132 (x2,
15485 : : E_V16SFmode) != 0
15486 : : || !(
15487 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15488 : : (TARGET_AVX512F) && (
15489 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15490 : : (TARGET_AVX512DQ && ((V16SFmode == V16SFmode
15491 : : || V16SFmode == V8DFmode
15492 : : || V16SFmode == V8DImode
15493 : : || V16SFmode == V16SImode
15494 : : || V16SFmode == V32HImode
15495 : : || V16SFmode == V32HFmode)
15496 : : || (TARGET_AVX10_2_256
15497 : : && (V16SFmode == V8SFmode
15498 : : || V16SFmode == V4DFmode
15499 : : || V16SFmode == V4DImode
15500 : : || V16SFmode == V8SImode
15501 : : || V16SFmode == V16HImode
15502 : : || V16SFmode == V16HFmode)))) &&
15503 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15504 : : (TARGET_EVEX512))))
15505 : : return -1;
15506 : : return 9957; /* avx512dq_rangepv16sf_round */
15507 : :
15508 : : case E_V8SFmode:
15509 : : if (pattern1132 (x2,
15510 : : E_V8SFmode) != 0
15511 : : || !(
15512 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15513 : : (TARGET_AVX512F) && (
15514 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15515 : : (TARGET_AVX512DQ && ((V8SFmode == V16SFmode
15516 : : || V8SFmode == V8DFmode
15517 : : || V8SFmode == V8DImode
15518 : : || V8SFmode == V16SImode
15519 : : || V8SFmode == V32HImode
15520 : : || V8SFmode == V32HFmode)
15521 : : || (TARGET_AVX10_2_256
15522 : : && (V8SFmode == V8SFmode
15523 : : || V8SFmode == V4DFmode
15524 : : || V8SFmode == V4DImode
15525 : : || V8SFmode == V8SImode
15526 : : || V8SFmode == V16HImode
15527 : : || V8SFmode == V16HFmode)))) &&
15528 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15529 : : (TARGET_AVX512VL))))
15530 : : return -1;
15531 : : return 9961; /* avx512dq_rangepv8sf_round */
15532 : :
15533 : : case E_V8DFmode:
15534 : : if (pattern1132 (x2,
15535 : : E_V8DFmode) != 0
15536 : : || !(
15537 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15538 : : (TARGET_AVX512F) && (
15539 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15540 : : (TARGET_AVX512DQ && ((V8DFmode == V16SFmode
15541 : : || V8DFmode == V8DFmode
15542 : : || V8DFmode == V8DImode
15543 : : || V8DFmode == V16SImode
15544 : : || V8DFmode == V32HImode
15545 : : || V8DFmode == V32HFmode)
15546 : : || (TARGET_AVX10_2_256
15547 : : && (V8DFmode == V8SFmode
15548 : : || V8DFmode == V4DFmode
15549 : : || V8DFmode == V4DImode
15550 : : || V8DFmode == V8SImode
15551 : : || V8DFmode == V16HImode
15552 : : || V8DFmode == V16HFmode)))) &&
15553 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15554 : : (TARGET_EVEX512))))
15555 : : return -1;
15556 : : return 9967; /* avx512dq_rangepv8df_round */
15557 : :
15558 : : case E_V4DFmode:
15559 : : if (pattern1132 (x2,
15560 : : E_V4DFmode) != 0
15561 : : || !(
15562 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15563 : : (TARGET_AVX512F) && (
15564 : : #line 29812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15565 : : (TARGET_AVX512DQ && ((V4DFmode == V16SFmode
15566 : : || V4DFmode == V8DFmode
15567 : : || V4DFmode == V8DImode
15568 : : || V4DFmode == V16SImode
15569 : : || V4DFmode == V32HImode
15570 : : || V4DFmode == V32HFmode)
15571 : : || (TARGET_AVX10_2_256
15572 : : && (V4DFmode == V8SFmode
15573 : : || V4DFmode == V4DFmode
15574 : : || V4DFmode == V4DImode
15575 : : || V4DFmode == V8SImode
15576 : : || V4DFmode == V16HImode
15577 : : || V4DFmode == V16HFmode)))) &&
15578 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15579 : : (TARGET_AVX512VL))))
15580 : : return -1;
15581 : : return 9971; /* avx512dq_rangepv4df_round */
15582 : :
15583 : : default:
15584 : : return -1;
15585 : : }
15586 : :
15587 : : case 279:
15588 : : x7 = XVECEXP (x3, 0, 2);
15589 : : operands[3] = x7;
15590 : : if (!const_0_to_255_operand (operands[3], E_SImode)
15591 : : || !const48_operand (operands[4], E_SImode))
15592 : : return -1;
15593 : : switch (GET_MODE (operands[0]))
15594 : : {
15595 : : case E_V32HFmode:
15596 : : if (pattern1132 (x2,
15597 : : E_V32HFmode) != 0
15598 : : || !(
15599 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15600 : : (TARGET_AVX512F) && (
15601 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15602 : : (TARGET_AVX10_2_256) &&
15603 : : #line 532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15604 : : (TARGET_AVX10_2_512))))
15605 : : return -1;
15606 : : return 10936; /* avx10_2_minmaxpv32hf_round */
15607 : :
15608 : : case E_V16HFmode:
15609 : : if (pattern1132 (x2,
15610 : : E_V16HFmode) != 0
15611 : : || !(
15612 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15613 : : (TARGET_AVX512F) &&
15614 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15615 : : (TARGET_AVX10_2_256)))
15616 : : return -1;
15617 : : return 10940; /* avx10_2_minmaxpv16hf_round */
15618 : :
15619 : : case E_V8HFmode:
15620 : : if (pattern1132 (x2,
15621 : : E_V8HFmode) != 0
15622 : : || !(
15623 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15624 : : (TARGET_AVX512F) &&
15625 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15626 : : (TARGET_AVX10_2_256)))
15627 : : return -1;
15628 : : return 10944; /* avx10_2_minmaxpv8hf_round */
15629 : :
15630 : : case E_V16SFmode:
15631 : : if (pattern1132 (x2,
15632 : : E_V16SFmode) != 0
15633 : : || !(
15634 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15635 : : (TARGET_AVX512F) && (
15636 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15637 : : (TARGET_AVX10_2_256) &&
15638 : : #line 533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15639 : : (TARGET_AVX10_2_512))))
15640 : : return -1;
15641 : : return 10948; /* avx10_2_minmaxpv16sf_round */
15642 : :
15643 : : case E_V8SFmode:
15644 : : if (pattern1132 (x2,
15645 : : E_V8SFmode) != 0
15646 : : || !(
15647 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15648 : : (TARGET_AVX512F) &&
15649 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15650 : : (TARGET_AVX10_2_256)))
15651 : : return -1;
15652 : : return 10952; /* avx10_2_minmaxpv8sf_round */
15653 : :
15654 : : case E_V4SFmode:
15655 : : if (pattern1132 (x2,
15656 : : E_V4SFmode) != 0
15657 : : || !(
15658 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15659 : : (TARGET_AVX512F) &&
15660 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15661 : : (TARGET_AVX10_2_256)))
15662 : : return -1;
15663 : : return 10956; /* avx10_2_minmaxpv4sf_round */
15664 : :
15665 : : case E_V8DFmode:
15666 : : if (pattern1132 (x2,
15667 : : E_V8DFmode) != 0
15668 : : || !(
15669 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15670 : : (TARGET_AVX512F) && (
15671 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15672 : : (TARGET_AVX10_2_256) &&
15673 : : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15674 : : (TARGET_AVX10_2_512))))
15675 : : return -1;
15676 : : return 10960; /* avx10_2_minmaxpv8df_round */
15677 : :
15678 : : case E_V4DFmode:
15679 : : if (pattern1132 (x2,
15680 : : E_V4DFmode) != 0
15681 : : || !(
15682 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15683 : : (TARGET_AVX512F) &&
15684 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15685 : : (TARGET_AVX10_2_256)))
15686 : : return -1;
15687 : : return 10964; /* avx10_2_minmaxpv4df_round */
15688 : :
15689 : : case E_V2DFmode:
15690 : : if (pattern1132 (x2,
15691 : : E_V2DFmode) != 0
15692 : : || !(
15693 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15694 : : (TARGET_AVX512F) &&
15695 : : #line 32649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15696 : : (TARGET_AVX10_2_256)))
15697 : : return -1;
15698 : : return 10968; /* avx10_2_minmaxpv2df_round */
15699 : :
15700 : : default:
15701 : : return -1;
15702 : : }
15703 : :
15704 : : default:
15705 : : return -1;
15706 : : }
15707 : :
15708 : : case 1:
15709 : : return recog_227 (x1, insn, pnum_clobbers);
15710 : :
15711 : : case 4:
15712 : : if (XINT (x3, 1) != 163)
15713 : : return -1;
15714 : : x4 = XVECEXP (x3, 0, 0);
15715 : : operands[1] = x4;
15716 : : x5 = XVECEXP (x3, 0, 1);
15717 : : operands[2] = x5;
15718 : : x7 = XVECEXP (x3, 0, 2);
15719 : : operands[3] = x7;
15720 : : x9 = XVECEXP (x3, 0, 3);
15721 : : operands[4] = x9;
15722 : : if (!const_0_to_255_operand (operands[4], E_SImode))
15723 : : return -1;
15724 : : x6 = XVECEXP (x2, 0, 1);
15725 : : operands[5] = x6;
15726 : : if (!const48_operand (operands[5], E_SImode))
15727 : : return -1;
15728 : : switch (GET_MODE (operands[0]))
15729 : : {
15730 : : case E_V16SFmode:
15731 : : if (pattern1520 (x2,
15732 : : E_V16SImode,
15733 : : E_V16SFmode) != 0
15734 : : || !(
15735 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15736 : : (TARGET_AVX512F) && (
15737 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15738 : : (TARGET_AVX512F && ((V16SFmode == V16SFmode
15739 : : || V16SFmode == V8DFmode
15740 : : || V16SFmode == V8DImode
15741 : : || V16SFmode == V16SImode
15742 : : || V16SFmode == V32HImode
15743 : : || V16SFmode == V32HFmode)
15744 : : || (TARGET_AVX10_2_256
15745 : : && (V16SFmode == V8SFmode
15746 : : || V16SFmode == V4DFmode
15747 : : || V16SFmode == V4DImode
15748 : : || V16SFmode == V8SImode
15749 : : || V16SFmode == V16HImode
15750 : : || V16SFmode == V16HFmode)))) &&
15751 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15752 : : (TARGET_EVEX512))))
15753 : : return -1;
15754 : : return 7097; /* avx512f_fixupimmv16sf_round */
15755 : :
15756 : : case E_V8SFmode:
15757 : : if (pattern1520 (x2,
15758 : : E_V8SImode,
15759 : : E_V8SFmode) != 0
15760 : : || !(
15761 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15762 : : (TARGET_AVX512F) && (
15763 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15764 : : (TARGET_AVX512F && ((V8SFmode == V16SFmode
15765 : : || V8SFmode == V8DFmode
15766 : : || V8SFmode == V8DImode
15767 : : || V8SFmode == V16SImode
15768 : : || V8SFmode == V32HImode
15769 : : || V8SFmode == V32HFmode)
15770 : : || (TARGET_AVX10_2_256
15771 : : && (V8SFmode == V8SFmode
15772 : : || V8SFmode == V4DFmode
15773 : : || V8SFmode == V4DImode
15774 : : || V8SFmode == V8SImode
15775 : : || V8SFmode == V16HImode
15776 : : || V8SFmode == V16HFmode)))) &&
15777 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15778 : : (TARGET_AVX512VL))))
15779 : : return -1;
15780 : : return 7101; /* avx512vl_fixupimmv8sf_round */
15781 : :
15782 : : case E_V8DFmode:
15783 : : if (pattern1520 (x2,
15784 : : E_V8DImode,
15785 : : E_V8DFmode) != 0
15786 : : || !(
15787 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15788 : : (TARGET_AVX512F) && (
15789 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15790 : : (TARGET_AVX512F && ((V8DFmode == V16SFmode
15791 : : || V8DFmode == V8DFmode
15792 : : || V8DFmode == V8DImode
15793 : : || V8DFmode == V16SImode
15794 : : || V8DFmode == V32HImode
15795 : : || V8DFmode == V32HFmode)
15796 : : || (TARGET_AVX10_2_256
15797 : : && (V8DFmode == V8SFmode
15798 : : || V8DFmode == V4DFmode
15799 : : || V8DFmode == V4DImode
15800 : : || V8DFmode == V8SImode
15801 : : || V8DFmode == V16HImode
15802 : : || V8DFmode == V16HFmode)))) &&
15803 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15804 : : (TARGET_EVEX512))))
15805 : : return -1;
15806 : : return 7107; /* avx512f_fixupimmv8df_round */
15807 : :
15808 : : case E_V4DFmode:
15809 : : if (pattern1520 (x2,
15810 : : E_V4DImode,
15811 : : E_V4DFmode) != 0
15812 : : || !(
15813 : : #line 286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15814 : : (TARGET_AVX512F) && (
15815 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15816 : : (TARGET_AVX512F && ((V4DFmode == V16SFmode
15817 : : || V4DFmode == V8DFmode
15818 : : || V4DFmode == V8DImode
15819 : : || V4DFmode == V16SImode
15820 : : || V4DFmode == V32HImode
15821 : : || V4DFmode == V32HFmode)
15822 : : || (TARGET_AVX10_2_256
15823 : : && (V4DFmode == V8SFmode
15824 : : || V4DFmode == V4DFmode
15825 : : || V4DFmode == V4DImode
15826 : : || V4DFmode == V8SImode
15827 : : || V4DFmode == V16HImode
15828 : : || V4DFmode == V16HFmode)))) &&
15829 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15830 : : (TARGET_AVX512VL))))
15831 : : return -1;
15832 : : return 7111; /* avx512vl_fixupimmv4df_round */
15833 : :
15834 : : default:
15835 : : return -1;
15836 : : }
15837 : :
15838 : : default:
15839 : : return -1;
15840 : : }
15841 : : }
15842 : :
15843 : : int
15844 : : recog_255 (rtx x1 ATTRIBUTE_UNUSED,
15845 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15846 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15847 : : {
15848 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15849 : : rtx x2, x3, x4, x5, x6;
15850 : : int res ATTRIBUTE_UNUSED;
15851 : : x2 = XEXP (x1, 0);
15852 : : operands[0] = x2;
15853 : : x3 = XEXP (x1, 1);
15854 : : x4 = XVECEXP (x3, 0, 0);
15855 : : operands[1] = x4;
15856 : : x5 = XVECEXP (x3, 0, 1);
15857 : : operands[2] = x5;
15858 : : x6 = XVECEXP (x3, 0, 2);
15859 : : operands[3] = x6;
15860 : : if (!const_0_to_255_operand (operands[3], E_SImode))
15861 : : return -1;
15862 : : switch (GET_MODE (operands[0]))
15863 : : {
15864 : : case E_V16SImode:
15865 : : if (pattern60 (x3,
15866 : : E_V16SImode) != 0
15867 : : || !(
15868 : : #line 14056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15869 : : (TARGET_AVX512F) &&
15870 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15871 : : (TARGET_EVEX512)))
15872 : : return -1;
15873 : : return 7076; /* *avx512f_alignv16si */
15874 : :
15875 : : case E_V8SImode:
15876 : : if (pattern60 (x3,
15877 : : E_V8SImode) != 0
15878 : : || !(
15879 : : #line 14056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15880 : : (TARGET_AVX512F) &&
15881 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15882 : : (TARGET_AVX512VL)))
15883 : : return -1;
15884 : : return 7078; /* *avx512vl_alignv8si */
15885 : :
15886 : : case E_V4SImode:
15887 : : if (pattern60 (x3,
15888 : : E_V4SImode) != 0
15889 : : || !(
15890 : : #line 14056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15891 : : (TARGET_AVX512F) &&
15892 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15893 : : (TARGET_AVX512VL)))
15894 : : return -1;
15895 : : return 7080; /* *avx512vl_alignv4si */
15896 : :
15897 : : case E_V8DImode:
15898 : : if (pattern60 (x3,
15899 : : E_V8DImode) != 0
15900 : : || !(
15901 : : #line 14056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15902 : : (TARGET_AVX512F) &&
15903 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15904 : : (TARGET_EVEX512)))
15905 : : return -1;
15906 : : return 7082; /* *avx512f_alignv8di */
15907 : :
15908 : : case E_V4DImode:
15909 : : if (pattern60 (x3,
15910 : : E_V4DImode) != 0
15911 : : || !(
15912 : : #line 14056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15913 : : (TARGET_AVX512F) &&
15914 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15915 : : (TARGET_AVX512VL)))
15916 : : return -1;
15917 : : return 7084; /* *avx512vl_alignv4di */
15918 : :
15919 : : case E_V2DImode:
15920 : : if (pattern60 (x3,
15921 : : E_V2DImode) != 0
15922 : : || !(
15923 : : #line 14056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15924 : : (TARGET_AVX512F) &&
15925 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15926 : : (TARGET_AVX512VL)))
15927 : : return -1;
15928 : : return 7086; /* *avx512vl_alignv2di */
15929 : :
15930 : : default:
15931 : : return -1;
15932 : : }
15933 : : }
15934 : :
15935 : : int
15936 : : recog_260 (rtx x1 ATTRIBUTE_UNUSED,
15937 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15938 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15939 : : {
15940 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15941 : : rtx x2, x3, x4, x5, x6;
15942 : : int res ATTRIBUTE_UNUSED;
15943 : : x2 = XEXP (x1, 0);
15944 : : operands[0] = x2;
15945 : : x3 = XEXP (x1, 1);
15946 : : x4 = XVECEXP (x3, 0, 0);
15947 : : operands[1] = x4;
15948 : : x5 = XVECEXP (x3, 0, 1);
15949 : : operands[2] = x5;
15950 : : x6 = XVECEXP (x3, 0, 2);
15951 : : operands[3] = x6;
15952 : : if (!const_int_operand (operands[3], E_SImode))
15953 : : return -1;
15954 : : switch (GET_MODE (operands[0]))
15955 : : {
15956 : : case E_V16QImode:
15957 : : if (pattern60 (x3,
15958 : : E_V16QImode) != 0
15959 : : || !
15960 : : #line 27068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15961 : : (TARGET_XOP))
15962 : : return -1;
15963 : : return 9070; /* xop_pcom_tfv16qi3 */
15964 : :
15965 : : case E_V8HImode:
15966 : : if (pattern60 (x3,
15967 : : E_V8HImode) != 0
15968 : : || !
15969 : : #line 27068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15970 : : (TARGET_XOP))
15971 : : return -1;
15972 : : return 9071; /* xop_pcom_tfv8hi3 */
15973 : :
15974 : : case E_V4SImode:
15975 : : if (pattern60 (x3,
15976 : : E_V4SImode) != 0
15977 : : || !
15978 : : #line 27068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15979 : : (TARGET_XOP))
15980 : : return -1;
15981 : : return 9072; /* xop_pcom_tfv4si3 */
15982 : :
15983 : : case E_V2DImode:
15984 : : if (pattern60 (x3,
15985 : : E_V2DImode) != 0
15986 : : || !
15987 : : #line 27068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15988 : : (TARGET_XOP))
15989 : : return -1;
15990 : : return 9073; /* xop_pcom_tfv2di3 */
15991 : :
15992 : : default:
15993 : : return -1;
15994 : : }
15995 : : }
15996 : :
15997 : : int
15998 : : recog_264 (rtx x1 ATTRIBUTE_UNUSED,
15999 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16000 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16001 : : {
16002 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16003 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16004 : : rtx x10, x11, x12;
16005 : : int res ATTRIBUTE_UNUSED;
16006 : : x2 = XEXP (x1, 0);
16007 : : operands[0] = x2;
16008 : : x3 = XEXP (x1, 1);
16009 : : switch (XINT (x3, 1))
16010 : : {
16011 : : case 164:
16012 : : x4 = XVECEXP (x3, 0, 0);
16013 : : operands[1] = x4;
16014 : : x5 = XVECEXP (x3, 0, 1);
16015 : : operands[2] = x5;
16016 : : x6 = XVECEXP (x3, 0, 2);
16017 : : operands[3] = x6;
16018 : : x7 = XVECEXP (x3, 0, 3);
16019 : : operands[4] = x7;
16020 : : if (!const_0_to_255_operand (operands[4], E_SImode))
16021 : : return -1;
16022 : : switch (GET_MODE (operands[0]))
16023 : : {
16024 : : case E_V16SImode:
16025 : : if (pattern1137 (x3,
16026 : : E_V16SImode) != 0)
16027 : : return -1;
16028 : : if ((
16029 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16030 : : (TARGET_AVX512F) &&
16031 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16032 : : (TARGET_EVEX512)))
16033 : : return 5456; /* avx512f_vternlogv16si */
16034 : : if (!(
16035 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16036 : : ((64 == 64 || TARGET_AVX512VL
16037 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16038 : : /* Disallow embeded broadcast for vector HFmode since
16039 : : it's not real AVX512FP16 instruction. */
16040 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16SImode)) >= 4
16041 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16042 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16043 : : (TARGET_AVX512F && TARGET_EVEX512)))
16044 : : return -1;
16045 : : return 5474; /* *avx512f_vternlogv16si_all */
16046 : :
16047 : : case E_V8SImode:
16048 : : if (pattern1137 (x3,
16049 : : E_V8SImode) != 0)
16050 : : return -1;
16051 : : if ((
16052 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16053 : : (TARGET_AVX512F) &&
16054 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16055 : : (TARGET_AVX512VL)))
16056 : : return 5458; /* avx512vl_vternlogv8si */
16057 : : if (!(
16058 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16059 : : ((32 == 64 || TARGET_AVX512VL
16060 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16061 : : /* Disallow embeded broadcast for vector HFmode since
16062 : : it's not real AVX512FP16 instruction. */
16063 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8SImode)) >= 4
16064 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16065 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16066 : : (TARGET_AVX)))
16067 : : return -1;
16068 : : return 5475; /* *avx512vl_vternlogv8si_all */
16069 : :
16070 : : case E_V4SImode:
16071 : : if (pattern1137 (x3,
16072 : : E_V4SImode) != 0)
16073 : : return -1;
16074 : : if ((
16075 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16076 : : (TARGET_AVX512F) &&
16077 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16078 : : (TARGET_AVX512VL)))
16079 : : return 5460; /* avx512vl_vternlogv4si */
16080 : : if (!
16081 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16082 : : ((16 == 64 || TARGET_AVX512VL
16083 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16084 : : /* Disallow embeded broadcast for vector HFmode since
16085 : : it's not real AVX512FP16 instruction. */
16086 : : && (GET_MODE_SIZE (GET_MODE_INNER (V4SImode)) >= 4
16087 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16088 : : return -1;
16089 : : return 5476; /* *avx512vl_vternlogv4si_all */
16090 : :
16091 : : case E_V8DImode:
16092 : : if (pattern1137 (x3,
16093 : : E_V8DImode) != 0)
16094 : : return -1;
16095 : : if ((
16096 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16097 : : (TARGET_AVX512F) &&
16098 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16099 : : (TARGET_EVEX512)))
16100 : : return 5462; /* avx512f_vternlogv8di */
16101 : : if (!(
16102 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16103 : : ((64 == 64 || TARGET_AVX512VL
16104 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16105 : : /* Disallow embeded broadcast for vector HFmode since
16106 : : it's not real AVX512FP16 instruction. */
16107 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8DImode)) >= 4
16108 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16109 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16110 : : (TARGET_AVX512F && TARGET_EVEX512)))
16111 : : return -1;
16112 : : return 5477; /* *avx512f_vternlogv8di_all */
16113 : :
16114 : : case E_V4DImode:
16115 : : if (pattern1137 (x3,
16116 : : E_V4DImode) != 0)
16117 : : return -1;
16118 : : if ((
16119 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16120 : : (TARGET_AVX512F) &&
16121 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16122 : : (TARGET_AVX512VL)))
16123 : : return 5464; /* avx512vl_vternlogv4di */
16124 : : if (!(
16125 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16126 : : ((32 == 64 || TARGET_AVX512VL
16127 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16128 : : /* Disallow embeded broadcast for vector HFmode since
16129 : : it's not real AVX512FP16 instruction. */
16130 : : && (GET_MODE_SIZE (GET_MODE_INNER (V4DImode)) >= 4
16131 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16132 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16133 : : (TARGET_AVX)))
16134 : : return -1;
16135 : : return 5478; /* *avx512vl_vternlogv4di_all */
16136 : :
16137 : : case E_V2DImode:
16138 : : if (pattern1137 (x3,
16139 : : E_V2DImode) != 0)
16140 : : return -1;
16141 : : if ((
16142 : : #line 13651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16143 : : (TARGET_AVX512F) &&
16144 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16145 : : (TARGET_AVX512VL)))
16146 : : return 5466; /* avx512vl_vternlogv2di */
16147 : : if (!
16148 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16149 : : ((16 == 64 || TARGET_AVX512VL
16150 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16151 : : /* Disallow embeded broadcast for vector HFmode since
16152 : : it's not real AVX512FP16 instruction. */
16153 : : && (GET_MODE_SIZE (GET_MODE_INNER (V2DImode)) >= 4
16154 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16155 : : return -1;
16156 : : return 5479; /* *avx512vl_vternlogv2di_all */
16157 : :
16158 : : case E_V64QImode:
16159 : : if (pattern1137 (x3,
16160 : : E_V64QImode) != 0
16161 : : || !(
16162 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16163 : : ((64 == 64 || TARGET_AVX512VL
16164 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16165 : : /* Disallow embeded broadcast for vector HFmode since
16166 : : it's not real AVX512FP16 instruction. */
16167 : : && (GET_MODE_SIZE (GET_MODE_INNER (V64QImode)) >= 4
16168 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16169 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16170 : : (TARGET_AVX512F && TARGET_EVEX512)))
16171 : : return -1;
16172 : : return 5468; /* *avx512bw_vternlogv64qi_all */
16173 : :
16174 : : case E_V32QImode:
16175 : : if (pattern1137 (x3,
16176 : : E_V32QImode) != 0
16177 : : || !(
16178 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16179 : : ((32 == 64 || TARGET_AVX512VL
16180 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16181 : : /* Disallow embeded broadcast for vector HFmode since
16182 : : it's not real AVX512FP16 instruction. */
16183 : : && (GET_MODE_SIZE (GET_MODE_INNER (V32QImode)) >= 4
16184 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16185 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16186 : : (TARGET_AVX)))
16187 : : return -1;
16188 : : return 5469; /* *avx512vl_vternlogv32qi_all */
16189 : :
16190 : : case E_V16QImode:
16191 : : if (pattern1137 (x3,
16192 : : E_V16QImode) != 0
16193 : : || !
16194 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16195 : : ((16 == 64 || TARGET_AVX512VL
16196 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16197 : : /* Disallow embeded broadcast for vector HFmode since
16198 : : it's not real AVX512FP16 instruction. */
16199 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16QImode)) >= 4
16200 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16201 : : return -1;
16202 : : return 5470; /* *avx512vl_vternlogv16qi_all */
16203 : :
16204 : : case E_V32HImode:
16205 : : if (pattern1137 (x3,
16206 : : E_V32HImode) != 0
16207 : : || !(
16208 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16209 : : ((64 == 64 || TARGET_AVX512VL
16210 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16211 : : /* Disallow embeded broadcast for vector HFmode since
16212 : : it's not real AVX512FP16 instruction. */
16213 : : && (GET_MODE_SIZE (GET_MODE_INNER (V32HImode)) >= 4
16214 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16215 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16216 : : (TARGET_AVX512F && TARGET_EVEX512)))
16217 : : return -1;
16218 : : return 5471; /* *avx512bw_vternlogv32hi_all */
16219 : :
16220 : : case E_V16HImode:
16221 : : if (pattern1137 (x3,
16222 : : E_V16HImode) != 0
16223 : : || !(
16224 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16225 : : ((32 == 64 || TARGET_AVX512VL
16226 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16227 : : /* Disallow embeded broadcast for vector HFmode since
16228 : : it's not real AVX512FP16 instruction. */
16229 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16HImode)) >= 4
16230 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16231 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16232 : : (TARGET_AVX)))
16233 : : return -1;
16234 : : return 5472; /* *avx512vl_vternlogv16hi_all */
16235 : :
16236 : : case E_V8HImode:
16237 : : if (pattern1137 (x3,
16238 : : E_V8HImode) != 0
16239 : : || !
16240 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16241 : : ((16 == 64 || TARGET_AVX512VL
16242 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16243 : : /* Disallow embeded broadcast for vector HFmode since
16244 : : it's not real AVX512FP16 instruction. */
16245 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8HImode)) >= 4
16246 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16247 : : return -1;
16248 : : return 5473; /* *avx512vl_vternlogv8hi_all */
16249 : :
16250 : : case E_V32HFmode:
16251 : : if (pattern1137 (x3,
16252 : : E_V32HFmode) != 0
16253 : : || !(
16254 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16255 : : ((64 == 64 || TARGET_AVX512VL
16256 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16257 : : /* Disallow embeded broadcast for vector HFmode since
16258 : : it's not real AVX512FP16 instruction. */
16259 : : && (GET_MODE_SIZE (GET_MODE_INNER (V32HFmode)) >= 4
16260 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16261 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16262 : : (TARGET_AVX512F && TARGET_EVEX512)))
16263 : : return -1;
16264 : : return 5480; /* *avx512bw_vternlogv32hf_all */
16265 : :
16266 : : case E_V16HFmode:
16267 : : if (pattern1137 (x3,
16268 : : E_V16HFmode) != 0
16269 : : || !(
16270 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16271 : : ((32 == 64 || TARGET_AVX512VL
16272 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16273 : : /* Disallow embeded broadcast for vector HFmode since
16274 : : it's not real AVX512FP16 instruction. */
16275 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16HFmode)) >= 4
16276 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16277 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16278 : : (TARGET_AVX)))
16279 : : return -1;
16280 : : return 5481; /* *avx512vl_vternlogv16hf_all */
16281 : :
16282 : : case E_V8HFmode:
16283 : : if (pattern1137 (x3,
16284 : : E_V8HFmode) != 0
16285 : : || !
16286 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16287 : : ((16 == 64 || TARGET_AVX512VL
16288 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16289 : : /* Disallow embeded broadcast for vector HFmode since
16290 : : it's not real AVX512FP16 instruction. */
16291 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8HFmode)) >= 4
16292 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16293 : : return -1;
16294 : : return 5482; /* *avx512fp16_vternlogv8hf_all */
16295 : :
16296 : : case E_V32BFmode:
16297 : : if (pattern1137 (x3,
16298 : : E_V32BFmode) != 0
16299 : : || !(
16300 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16301 : : ((64 == 64 || TARGET_AVX512VL
16302 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16303 : : /* Disallow embeded broadcast for vector HFmode since
16304 : : it's not real AVX512FP16 instruction. */
16305 : : && (GET_MODE_SIZE (GET_MODE_INNER (V32BFmode)) >= 4
16306 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16307 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16308 : : (TARGET_AVX512F && TARGET_EVEX512)))
16309 : : return -1;
16310 : : return 5483; /* *avx512bw_vternlogv32bf_all */
16311 : :
16312 : : case E_V16BFmode:
16313 : : if (pattern1137 (x3,
16314 : : E_V16BFmode) != 0
16315 : : || !(
16316 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16317 : : ((32 == 64 || TARGET_AVX512VL
16318 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16319 : : /* Disallow embeded broadcast for vector HFmode since
16320 : : it's not real AVX512FP16 instruction. */
16321 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16BFmode)) >= 4
16322 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16323 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16324 : : (TARGET_AVX)))
16325 : : return -1;
16326 : : return 5484; /* *avx512vl_vternlogv16bf_all */
16327 : :
16328 : : case E_V8BFmode:
16329 : : if (pattern1137 (x3,
16330 : : E_V8BFmode) != 0
16331 : : || !
16332 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16333 : : ((16 == 64 || TARGET_AVX512VL
16334 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16335 : : /* Disallow embeded broadcast for vector HFmode since
16336 : : it's not real AVX512FP16 instruction. */
16337 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8BFmode)) >= 4
16338 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16339 : : return -1;
16340 : : return 5485; /* *avx512vl_vternlogv8bf_all */
16341 : :
16342 : : case E_V16SFmode:
16343 : : if (pattern1137 (x3,
16344 : : E_V16SFmode) != 0
16345 : : || !(
16346 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16347 : : ((64 == 64 || TARGET_AVX512VL
16348 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16349 : : /* Disallow embeded broadcast for vector HFmode since
16350 : : it's not real AVX512FP16 instruction. */
16351 : : && (GET_MODE_SIZE (GET_MODE_INNER (V16SFmode)) >= 4
16352 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16353 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16354 : : (TARGET_AVX512F && TARGET_EVEX512)))
16355 : : return -1;
16356 : : return 5486; /* *avx512f_vternlogv16sf_all */
16357 : :
16358 : : case E_V8SFmode:
16359 : : if (pattern1137 (x3,
16360 : : E_V8SFmode) != 0
16361 : : || !(
16362 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16363 : : ((32 == 64 || TARGET_AVX512VL
16364 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16365 : : /* Disallow embeded broadcast for vector HFmode since
16366 : : it's not real AVX512FP16 instruction. */
16367 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8SFmode)) >= 4
16368 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16369 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16370 : : (TARGET_AVX)))
16371 : : return -1;
16372 : : return 5487; /* *avx512vl_vternlogv8sf_all */
16373 : :
16374 : : case E_V4SFmode:
16375 : : if (pattern1137 (x3,
16376 : : E_V4SFmode) != 0
16377 : : || !
16378 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16379 : : ((16 == 64 || TARGET_AVX512VL
16380 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16381 : : /* Disallow embeded broadcast for vector HFmode since
16382 : : it's not real AVX512FP16 instruction. */
16383 : : && (GET_MODE_SIZE (GET_MODE_INNER (V4SFmode)) >= 4
16384 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16385 : : return -1;
16386 : : return 5488; /* *avx512vl_vternlogv4sf_all */
16387 : :
16388 : : case E_V8DFmode:
16389 : : if (pattern1137 (x3,
16390 : : E_V8DFmode) != 0
16391 : : || !(
16392 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16393 : : ((64 == 64 || TARGET_AVX512VL
16394 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16395 : : /* Disallow embeded broadcast for vector HFmode since
16396 : : it's not real AVX512FP16 instruction. */
16397 : : && (GET_MODE_SIZE (GET_MODE_INNER (V8DFmode)) >= 4
16398 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16399 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16400 : : (TARGET_AVX512F && TARGET_EVEX512)))
16401 : : return -1;
16402 : : return 5489; /* *avx512f_vternlogv8df_all */
16403 : :
16404 : : case E_V4DFmode:
16405 : : if (pattern1137 (x3,
16406 : : E_V4DFmode) != 0
16407 : : || !(
16408 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16409 : : ((32 == 64 || TARGET_AVX512VL
16410 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16411 : : /* Disallow embeded broadcast for vector HFmode since
16412 : : it's not real AVX512FP16 instruction. */
16413 : : && (GET_MODE_SIZE (GET_MODE_INNER (V4DFmode)) >= 4
16414 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16415 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16416 : : (TARGET_AVX)))
16417 : : return -1;
16418 : : return 5490; /* *avx512vl_vternlogv4df_all */
16419 : :
16420 : : case E_V2DFmode:
16421 : : if (pattern1137 (x3,
16422 : : E_V2DFmode) != 0
16423 : : || !(
16424 : : #line 13665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16425 : : ((16 == 64 || TARGET_AVX512VL
16426 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
16427 : : /* Disallow embeded broadcast for vector HFmode since
16428 : : it's not real AVX512FP16 instruction. */
16429 : : && (GET_MODE_SIZE (GET_MODE_INNER (V2DFmode)) >= 4
16430 : : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16431 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16432 : : (TARGET_SSE2)))
16433 : : return -1;
16434 : : return 5491; /* *avx512vl_vternlogv2df_all */
16435 : :
16436 : : default:
16437 : : return -1;
16438 : : }
16439 : :
16440 : : case 163:
16441 : : x4 = XVECEXP (x3, 0, 0);
16442 : : operands[1] = x4;
16443 : : x5 = XVECEXP (x3, 0, 1);
16444 : : operands[2] = x5;
16445 : : x6 = XVECEXP (x3, 0, 2);
16446 : : operands[3] = x6;
16447 : : x7 = XVECEXP (x3, 0, 3);
16448 : : operands[4] = x7;
16449 : : if (!const_0_to_255_operand (operands[4], E_SImode))
16450 : : return -1;
16451 : : switch (GET_MODE (operands[0]))
16452 : : {
16453 : : case E_V16SFmode:
16454 : : if (pattern1138 (x3,
16455 : : E_V16SImode,
16456 : : E_V16SFmode) != 0
16457 : : || !(
16458 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16459 : : (TARGET_AVX512F && 1) &&
16460 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16461 : : (TARGET_EVEX512)))
16462 : : return -1;
16463 : : return 7096; /* avx512f_fixupimmv16sf */
16464 : :
16465 : : case E_V8SFmode:
16466 : : if (pattern1138 (x3,
16467 : : E_V8SImode,
16468 : : E_V8SFmode) != 0
16469 : : || !(
16470 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16471 : : (TARGET_AVX512F && 1) &&
16472 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16473 : : (TARGET_AVX512VL)))
16474 : : return -1;
16475 : : return 7100; /* avx512vl_fixupimmv8sf */
16476 : :
16477 : : case E_V4SFmode:
16478 : : if (pattern1138 (x3,
16479 : : E_V4SImode,
16480 : : E_V4SFmode) != 0
16481 : : || !(
16482 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16483 : : (TARGET_AVX512F && 1) &&
16484 : : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16485 : : (TARGET_AVX512VL)))
16486 : : return -1;
16487 : : return 7104; /* avx512vl_fixupimmv4sf */
16488 : :
16489 : : case E_V8DFmode:
16490 : : if (pattern1138 (x3,
16491 : : E_V8DImode,
16492 : : E_V8DFmode) != 0
16493 : : || !(
16494 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16495 : : (TARGET_AVX512F && 1) &&
16496 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16497 : : (TARGET_EVEX512)))
16498 : : return -1;
16499 : : return 7106; /* avx512f_fixupimmv8df */
16500 : :
16501 : : case E_V4DFmode:
16502 : : if (pattern1138 (x3,
16503 : : E_V4DImode,
16504 : : E_V4DFmode) != 0
16505 : : || !(
16506 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16507 : : (TARGET_AVX512F && 1) &&
16508 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16509 : : (TARGET_AVX512VL)))
16510 : : return -1;
16511 : : return 7110; /* avx512vl_fixupimmv4df */
16512 : :
16513 : : case E_V2DFmode:
16514 : : if (pattern1138 (x3,
16515 : : E_V2DImode,
16516 : : E_V2DFmode) != 0
16517 : : || !(
16518 : : #line 14146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16519 : : (TARGET_AVX512F && 1) &&
16520 : : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16521 : : (TARGET_AVX512VL)))
16522 : : return -1;
16523 : : return 7114; /* avx512vl_fixupimmv2df */
16524 : :
16525 : : default:
16526 : : return -1;
16527 : : }
16528 : :
16529 : : case 124:
16530 : : if (GET_MODE (x3) != E_V2DImode
16531 : : || !register_operand (operands[0], E_V2DImode))
16532 : : return -1;
16533 : : x4 = XVECEXP (x3, 0, 0);
16534 : : operands[1] = x4;
16535 : : if (!register_operand (operands[1], E_V2DImode))
16536 : : return -1;
16537 : : x5 = XVECEXP (x3, 0, 1);
16538 : : operands[2] = x5;
16539 : : if (!register_operand (operands[2], E_V2DImode))
16540 : : return -1;
16541 : : x6 = XVECEXP (x3, 0, 2);
16542 : : operands[3] = x6;
16543 : : if (!const_0_to_255_operand (operands[3], E_VOIDmode))
16544 : : return -1;
16545 : : x7 = XVECEXP (x3, 0, 3);
16546 : : operands[4] = x7;
16547 : : if (!const_0_to_255_operand (operands[4], E_VOIDmode)
16548 : : || !
16549 : : #line 23460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16550 : : (TARGET_SSE4A))
16551 : : return -1;
16552 : : return 8674; /* sse4a_insertqi */
16553 : :
16554 : : case 145:
16555 : : x4 = XVECEXP (x3, 0, 0);
16556 : : operands[1] = x4;
16557 : : x5 = XVECEXP (x3, 0, 1);
16558 : : operands[2] = x5;
16559 : : x6 = XVECEXP (x3, 0, 2);
16560 : : operands[3] = x6;
16561 : : x7 = XVECEXP (x3, 0, 3);
16562 : : operands[4] = x7;
16563 : : if (!const_0_to_3_operand (operands[4], E_SImode))
16564 : : return -1;
16565 : : switch (GET_MODE (operands[0]))
16566 : : {
16567 : : case E_V8SFmode:
16568 : : if (pattern1139 (x3,
16569 : : E_V8SImode,
16570 : : E_V8SFmode) != 0
16571 : : || !(
16572 : : #line 27085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16573 : : (TARGET_XOP) &&
16574 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16575 : : (TARGET_AVX)))
16576 : : return -1;
16577 : : return 9074; /* xop_vpermil2v8sf3 */
16578 : :
16579 : : case E_V4SFmode:
16580 : : if (pattern1139 (x3,
16581 : : E_V4SImode,
16582 : : E_V4SFmode) != 0
16583 : : || !
16584 : : #line 27085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16585 : : (TARGET_XOP))
16586 : : return -1;
16587 : : return 9075; /* xop_vpermil2v4sf3 */
16588 : :
16589 : : case E_V4DFmode:
16590 : : if (pattern1139 (x3,
16591 : : E_V4DImode,
16592 : : E_V4DFmode) != 0
16593 : : || !(
16594 : : #line 27085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16595 : : (TARGET_XOP) &&
16596 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16597 : : (TARGET_AVX)))
16598 : : return -1;
16599 : : return 9076; /* xop_vpermil2v4df3 */
16600 : :
16601 : : case E_V2DFmode:
16602 : : if (pattern1139 (x3,
16603 : : E_V2DImode,
16604 : : E_V2DFmode) != 0
16605 : : || !(
16606 : : #line 27085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16607 : : (TARGET_XOP) &&
16608 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16609 : : (TARGET_SSE2)))
16610 : : return -1;
16611 : : return 9077; /* xop_vpermil2v2df3 */
16612 : :
16613 : : default:
16614 : : return -1;
16615 : : }
16616 : :
16617 : : case 153:
16618 : : if (pnum_clobbers == NULL)
16619 : : return -1;
16620 : : x5 = XVECEXP (x3, 0, 1);
16621 : : if (GET_CODE (x5) != MEM)
16622 : : return -1;
16623 : : x8 = XEXP (x5, 0);
16624 : : if (GET_CODE (x8) != UNSPEC
16625 : : || XVECLEN (x8, 0) != 3
16626 : : || XINT (x8, 1) != 154)
16627 : : return -1;
16628 : : x6 = XVECEXP (x3, 0, 2);
16629 : : if (GET_CODE (x6) != MEM
16630 : : || GET_MODE (x6) != E_BLKmode)
16631 : : return -1;
16632 : : x9 = XEXP (x6, 0);
16633 : : if (GET_CODE (x9) != SCRATCH)
16634 : : return -1;
16635 : : x10 = XVECEXP (x8, 0, 2);
16636 : : if (!const1248_operand (x10, E_SImode))
16637 : : return -1;
16638 : : x4 = XVECEXP (x3, 0, 0);
16639 : : switch (GET_CODE (x4))
16640 : : {
16641 : : case REG:
16642 : : case SUBREG:
16643 : : operands[2] = x4;
16644 : : operands[7] = x5;
16645 : : x11 = XVECEXP (x8, 0, 0);
16646 : : operands[3] = x11;
16647 : : x12 = XVECEXP (x8, 0, 1);
16648 : : operands[4] = x12;
16649 : : operands[6] = x10;
16650 : : x7 = XVECEXP (x3, 0, 3);
16651 : : operands[5] = x7;
16652 : : switch (GET_MODE (operands[0]))
16653 : : {
16654 : : case E_V2DImode:
16655 : : switch (pattern1737 (x3,
16656 : : E_V2DImode,
16657 : : E_DImode))
16658 : : {
16659 : : case 0:
16660 : : if (!(
16661 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16662 : : (TARGET_AVX2) &&
16663 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16664 : : (Pmode == SImode)))
16665 : : return -1;
16666 : : *pnum_clobbers = 1;
16667 : : return 9668; /* *avx2_gathersiv2di */
16668 : :
16669 : : case 1:
16670 : : if (!(
16671 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16672 : : (TARGET_AVX2) &&
16673 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16674 : : (Pmode == SImode)))
16675 : : return -1;
16676 : : *pnum_clobbers = 1;
16677 : : return 9700; /* *avx2_gatherdiv2di */
16678 : :
16679 : : case 2:
16680 : : if (!(
16681 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16682 : : (TARGET_AVX2) &&
16683 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16684 : : (Pmode == DImode)))
16685 : : return -1;
16686 : : *pnum_clobbers = 1;
16687 : : return 9676; /* *avx2_gathersiv2di */
16688 : :
16689 : : case 3:
16690 : : if (!(
16691 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16692 : : (TARGET_AVX2) &&
16693 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16694 : : (Pmode == DImode)))
16695 : : return -1;
16696 : : *pnum_clobbers = 1;
16697 : : return 9708; /* *avx2_gatherdiv2di */
16698 : :
16699 : : default:
16700 : : return -1;
16701 : : }
16702 : :
16703 : : case E_V2DFmode:
16704 : : switch (pattern1737 (x3,
16705 : : E_V2DFmode,
16706 : : E_DFmode))
16707 : : {
16708 : : case 0:
16709 : : if (!(
16710 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16711 : : (TARGET_AVX2) &&
16712 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16713 : : (Pmode == SImode)))
16714 : : return -1;
16715 : : *pnum_clobbers = 1;
16716 : : return 9669; /* *avx2_gathersiv2df */
16717 : :
16718 : : case 1:
16719 : : if (!(
16720 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16721 : : (TARGET_AVX2) &&
16722 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16723 : : (Pmode == SImode)))
16724 : : return -1;
16725 : : *pnum_clobbers = 1;
16726 : : return 9701; /* *avx2_gatherdiv2df */
16727 : :
16728 : : case 2:
16729 : : if (!(
16730 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16731 : : (TARGET_AVX2) &&
16732 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16733 : : (Pmode == DImode)))
16734 : : return -1;
16735 : : *pnum_clobbers = 1;
16736 : : return 9677; /* *avx2_gathersiv2df */
16737 : :
16738 : : case 3:
16739 : : if (!(
16740 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16741 : : (TARGET_AVX2) &&
16742 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16743 : : (Pmode == DImode)))
16744 : : return -1;
16745 : : *pnum_clobbers = 1;
16746 : : return 9709; /* *avx2_gatherdiv2df */
16747 : :
16748 : : default:
16749 : : return -1;
16750 : : }
16751 : :
16752 : : case E_V4DImode:
16753 : : switch (pattern1739 (x3,
16754 : : E_V4DImode,
16755 : : E_DImode))
16756 : : {
16757 : : case 0:
16758 : : if (!(
16759 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16760 : : (TARGET_AVX2) &&
16761 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16762 : : (Pmode == SImode)))
16763 : : return -1;
16764 : : *pnum_clobbers = 1;
16765 : : return 9670; /* *avx2_gathersiv4di */
16766 : :
16767 : : case 1:
16768 : : if (!(
16769 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16770 : : (TARGET_AVX2) &&
16771 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16772 : : (Pmode == SImode)))
16773 : : return -1;
16774 : : *pnum_clobbers = 1;
16775 : : return 9702; /* *avx2_gatherdiv4di */
16776 : :
16777 : : case 2:
16778 : : if (!(
16779 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16780 : : (TARGET_AVX2) &&
16781 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16782 : : (Pmode == DImode)))
16783 : : return -1;
16784 : : *pnum_clobbers = 1;
16785 : : return 9678; /* *avx2_gathersiv4di */
16786 : :
16787 : : case 3:
16788 : : if (!(
16789 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16790 : : (TARGET_AVX2) &&
16791 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16792 : : (Pmode == DImode)))
16793 : : return -1;
16794 : : *pnum_clobbers = 1;
16795 : : return 9710; /* *avx2_gatherdiv4di */
16796 : :
16797 : : default:
16798 : : return -1;
16799 : : }
16800 : :
16801 : : case E_V4DFmode:
16802 : : switch (pattern1739 (x3,
16803 : : E_V4DFmode,
16804 : : E_DFmode))
16805 : : {
16806 : : case 0:
16807 : : if (!(
16808 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16809 : : (TARGET_AVX2) &&
16810 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16811 : : (Pmode == SImode)))
16812 : : return -1;
16813 : : *pnum_clobbers = 1;
16814 : : return 9671; /* *avx2_gathersiv4df */
16815 : :
16816 : : case 1:
16817 : : if (!(
16818 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16819 : : (TARGET_AVX2) &&
16820 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16821 : : (Pmode == SImode)))
16822 : : return -1;
16823 : : *pnum_clobbers = 1;
16824 : : return 9703; /* *avx2_gatherdiv4df */
16825 : :
16826 : : case 2:
16827 : : if (!(
16828 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16829 : : (TARGET_AVX2) &&
16830 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16831 : : (Pmode == DImode)))
16832 : : return -1;
16833 : : *pnum_clobbers = 1;
16834 : : return 9679; /* *avx2_gathersiv4df */
16835 : :
16836 : : case 3:
16837 : : if (!(
16838 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16839 : : (TARGET_AVX2) &&
16840 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16841 : : (Pmode == DImode)))
16842 : : return -1;
16843 : : *pnum_clobbers = 1;
16844 : : return 9711; /* *avx2_gatherdiv4df */
16845 : :
16846 : : default:
16847 : : return -1;
16848 : : }
16849 : :
16850 : : case E_V4SImode:
16851 : : switch (pattern1737 (x3,
16852 : : E_V4SImode,
16853 : : E_SImode))
16854 : : {
16855 : : case 0:
16856 : : if (!(
16857 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16858 : : (TARGET_AVX2) &&
16859 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16860 : : (Pmode == SImode)))
16861 : : return -1;
16862 : : *pnum_clobbers = 1;
16863 : : return 9672; /* *avx2_gathersiv4si */
16864 : :
16865 : : case 1:
16866 : : if (!(
16867 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16868 : : (TARGET_AVX2) &&
16869 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16870 : : (Pmode == SImode)))
16871 : : return -1;
16872 : : *pnum_clobbers = 1;
16873 : : return 9704; /* *avx2_gatherdiv4si */
16874 : :
16875 : : case 2:
16876 : : if (!(
16877 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16878 : : (TARGET_AVX2) &&
16879 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16880 : : (Pmode == DImode)))
16881 : : return -1;
16882 : : *pnum_clobbers = 1;
16883 : : return 9680; /* *avx2_gathersiv4si */
16884 : :
16885 : : case 3:
16886 : : if (!(
16887 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16888 : : (TARGET_AVX2) &&
16889 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16890 : : (Pmode == DImode)))
16891 : : return -1;
16892 : : *pnum_clobbers = 1;
16893 : : return 9712; /* *avx2_gatherdiv4si */
16894 : :
16895 : : default:
16896 : : return -1;
16897 : : }
16898 : :
16899 : : case E_V4SFmode:
16900 : : switch (pattern1737 (x3,
16901 : : E_V4SFmode,
16902 : : E_SFmode))
16903 : : {
16904 : : case 0:
16905 : : if (!(
16906 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16907 : : (TARGET_AVX2) &&
16908 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16909 : : (Pmode == SImode)))
16910 : : return -1;
16911 : : *pnum_clobbers = 1;
16912 : : return 9673; /* *avx2_gathersiv4sf */
16913 : :
16914 : : case 1:
16915 : : if (!(
16916 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16917 : : (TARGET_AVX2) &&
16918 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16919 : : (Pmode == SImode)))
16920 : : return -1;
16921 : : *pnum_clobbers = 1;
16922 : : return 9705; /* *avx2_gatherdiv4sf */
16923 : :
16924 : : case 2:
16925 : : if (!(
16926 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16927 : : (TARGET_AVX2) &&
16928 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16929 : : (Pmode == DImode)))
16930 : : return -1;
16931 : : *pnum_clobbers = 1;
16932 : : return 9681; /* *avx2_gathersiv4sf */
16933 : :
16934 : : case 3:
16935 : : if (!(
16936 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16937 : : (TARGET_AVX2) &&
16938 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16939 : : (Pmode == DImode)))
16940 : : return -1;
16941 : : *pnum_clobbers = 1;
16942 : : return 9713; /* *avx2_gatherdiv4sf */
16943 : :
16944 : : default:
16945 : : return -1;
16946 : : }
16947 : :
16948 : : case E_V8SImode:
16949 : : if (!register_operand (operands[0], E_V8SImode)
16950 : : || GET_MODE (x3) != E_V8SImode
16951 : : || !vsib_mem_operator (operands[7], E_SImode))
16952 : : return -1;
16953 : : switch (GET_MODE (operands[2]))
16954 : : {
16955 : : case E_V8SImode:
16956 : : if (!register_operand (operands[2], E_V8SImode)
16957 : : || !register_operand (operands[4], E_V8SImode))
16958 : : return -1;
16959 : : switch (pattern1810 (x8,
16960 : : E_V8SImode))
16961 : : {
16962 : : case 0:
16963 : : if (!(
16964 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16965 : : (TARGET_AVX2) &&
16966 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16967 : : (Pmode == SImode)))
16968 : : return -1;
16969 : : *pnum_clobbers = 1;
16970 : : return 9674; /* *avx2_gathersiv8si */
16971 : :
16972 : : case 1:
16973 : : if (!(
16974 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16975 : : (TARGET_AVX2) &&
16976 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16977 : : (Pmode == DImode)))
16978 : : return -1;
16979 : : *pnum_clobbers = 1;
16980 : : return 9682; /* *avx2_gathersiv8si */
16981 : :
16982 : : default:
16983 : : return -1;
16984 : : }
16985 : :
16986 : : case E_V4SImode:
16987 : : switch (pattern1811 (x8,
16988 : : E_V4SImode,
16989 : : E_V4DImode))
16990 : : {
16991 : : case 0:
16992 : : if (!(
16993 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16994 : : (TARGET_AVX2) &&
16995 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16996 : : (Pmode == SImode)))
16997 : : return -1;
16998 : : *pnum_clobbers = 1;
16999 : : return 9706; /* *avx2_gatherdiv8si */
17000 : :
17001 : : case 1:
17002 : : if (!(
17003 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17004 : : (TARGET_AVX2) &&
17005 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17006 : : (Pmode == DImode)))
17007 : : return -1;
17008 : : *pnum_clobbers = 1;
17009 : : return 9714; /* *avx2_gatherdiv8si */
17010 : :
17011 : : default:
17012 : : return -1;
17013 : : }
17014 : :
17015 : : default:
17016 : : return -1;
17017 : : }
17018 : :
17019 : : case E_V8SFmode:
17020 : : if (!register_operand (operands[0], E_V8SFmode)
17021 : : || GET_MODE (x3) != E_V8SFmode
17022 : : || !vsib_mem_operator (operands[7], E_SFmode))
17023 : : return -1;
17024 : : switch (GET_MODE (operands[2]))
17025 : : {
17026 : : case E_V8SFmode:
17027 : : switch (pattern1811 (x8,
17028 : : E_V8SFmode,
17029 : : E_V8SImode))
17030 : : {
17031 : : case 0:
17032 : : if (!(
17033 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17034 : : (TARGET_AVX2) &&
17035 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17036 : : (Pmode == SImode)))
17037 : : return -1;
17038 : : *pnum_clobbers = 1;
17039 : : return 9675; /* *avx2_gathersiv8sf */
17040 : :
17041 : : case 1:
17042 : : if (!(
17043 : : #line 29292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17044 : : (TARGET_AVX2) &&
17045 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17046 : : (Pmode == DImode)))
17047 : : return -1;
17048 : : *pnum_clobbers = 1;
17049 : : return 9683; /* *avx2_gathersiv8sf */
17050 : :
17051 : : default:
17052 : : return -1;
17053 : : }
17054 : :
17055 : : case E_V4SFmode:
17056 : : switch (pattern1811 (x8,
17057 : : E_V4SFmode,
17058 : : E_V4DImode))
17059 : : {
17060 : : case 0:
17061 : : if (!(
17062 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17063 : : (TARGET_AVX2) &&
17064 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17065 : : (Pmode == SImode)))
17066 : : return -1;
17067 : : *pnum_clobbers = 1;
17068 : : return 9707; /* *avx2_gatherdiv8sf */
17069 : :
17070 : : case 1:
17071 : : if (!(
17072 : : #line 29355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17073 : : (TARGET_AVX2) &&
17074 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17075 : : (Pmode == DImode)))
17076 : : return -1;
17077 : : *pnum_clobbers = 1;
17078 : : return 9715; /* *avx2_gatherdiv8sf */
17079 : :
17080 : : default:
17081 : : return -1;
17082 : : }
17083 : :
17084 : : default:
17085 : : return -1;
17086 : : }
17087 : :
17088 : : default:
17089 : : return -1;
17090 : : }
17091 : :
17092 : : case PC:
17093 : : operands[6] = x5;
17094 : : x11 = XVECEXP (x8, 0, 0);
17095 : : operands[2] = x11;
17096 : : x12 = XVECEXP (x8, 0, 1);
17097 : : operands[3] = x12;
17098 : : operands[5] = x10;
17099 : : x7 = XVECEXP (x3, 0, 3);
17100 : : operands[4] = x7;
17101 : : switch (GET_MODE (operands[0]))
17102 : : {
17103 : : case E_V2DImode:
17104 : : switch (pattern1700 (x3,
17105 : : E_V2DImode,
17106 : : E_DImode))
17107 : : {
17108 : : case 0:
17109 : : if (!(
17110 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17111 : : (TARGET_AVX2) &&
17112 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17113 : : (Pmode == SImode)))
17114 : : return -1;
17115 : : *pnum_clobbers = 1;
17116 : : return 9684; /* *avx2_gathersiv2di_2 */
17117 : :
17118 : : case 1:
17119 : : if (!(
17120 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17121 : : (TARGET_AVX2) &&
17122 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17123 : : (Pmode == SImode)))
17124 : : return -1;
17125 : : *pnum_clobbers = 1;
17126 : : return 9716; /* *avx2_gatherdiv2di_2 */
17127 : :
17128 : : case 2:
17129 : : if (!(
17130 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17131 : : (TARGET_AVX2) &&
17132 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17133 : : (Pmode == DImode)))
17134 : : return -1;
17135 : : *pnum_clobbers = 1;
17136 : : return 9692; /* *avx2_gathersiv2di_2 */
17137 : :
17138 : : case 3:
17139 : : if (!(
17140 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17141 : : (TARGET_AVX2) &&
17142 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17143 : : (Pmode == DImode)))
17144 : : return -1;
17145 : : *pnum_clobbers = 1;
17146 : : return 9724; /* *avx2_gatherdiv2di_2 */
17147 : :
17148 : : default:
17149 : : return -1;
17150 : : }
17151 : :
17152 : : case E_V2DFmode:
17153 : : switch (pattern1700 (x3,
17154 : : E_V2DFmode,
17155 : : E_DFmode))
17156 : : {
17157 : : case 0:
17158 : : if (!(
17159 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17160 : : (TARGET_AVX2) &&
17161 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17162 : : (Pmode == SImode)))
17163 : : return -1;
17164 : : *pnum_clobbers = 1;
17165 : : return 9685; /* *avx2_gathersiv2df_2 */
17166 : :
17167 : : case 1:
17168 : : if (!(
17169 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17170 : : (TARGET_AVX2) &&
17171 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17172 : : (Pmode == SImode)))
17173 : : return -1;
17174 : : *pnum_clobbers = 1;
17175 : : return 9717; /* *avx2_gatherdiv2df_2 */
17176 : :
17177 : : case 2:
17178 : : if (!(
17179 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17180 : : (TARGET_AVX2) &&
17181 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17182 : : (Pmode == DImode)))
17183 : : return -1;
17184 : : *pnum_clobbers = 1;
17185 : : return 9693; /* *avx2_gathersiv2df_2 */
17186 : :
17187 : : case 3:
17188 : : if (!(
17189 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17190 : : (TARGET_AVX2) &&
17191 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17192 : : (Pmode == DImode)))
17193 : : return -1;
17194 : : *pnum_clobbers = 1;
17195 : : return 9725; /* *avx2_gatherdiv2df_2 */
17196 : :
17197 : : default:
17198 : : return -1;
17199 : : }
17200 : :
17201 : : case E_V4DImode:
17202 : : switch (pattern1702 (x3,
17203 : : E_V4DImode,
17204 : : E_DImode))
17205 : : {
17206 : : case 0:
17207 : : if (!(
17208 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17209 : : (TARGET_AVX2) &&
17210 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17211 : : (Pmode == SImode)))
17212 : : return -1;
17213 : : *pnum_clobbers = 1;
17214 : : return 9686; /* *avx2_gathersiv4di_2 */
17215 : :
17216 : : case 1:
17217 : : if (!(
17218 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17219 : : (TARGET_AVX2) &&
17220 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17221 : : (Pmode == SImode)))
17222 : : return -1;
17223 : : *pnum_clobbers = 1;
17224 : : return 9718; /* *avx2_gatherdiv4di_2 */
17225 : :
17226 : : case 2:
17227 : : if (!(
17228 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17229 : : (TARGET_AVX2) &&
17230 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17231 : : (Pmode == DImode)))
17232 : : return -1;
17233 : : *pnum_clobbers = 1;
17234 : : return 9694; /* *avx2_gathersiv4di_2 */
17235 : :
17236 : : case 3:
17237 : : if (!(
17238 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17239 : : (TARGET_AVX2) &&
17240 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17241 : : (Pmode == DImode)))
17242 : : return -1;
17243 : : *pnum_clobbers = 1;
17244 : : return 9726; /* *avx2_gatherdiv4di_2 */
17245 : :
17246 : : default:
17247 : : return -1;
17248 : : }
17249 : :
17250 : : case E_V4DFmode:
17251 : : switch (pattern1702 (x3,
17252 : : E_V4DFmode,
17253 : : E_DFmode))
17254 : : {
17255 : : case 0:
17256 : : if (!(
17257 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17258 : : (TARGET_AVX2) &&
17259 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17260 : : (Pmode == SImode)))
17261 : : return -1;
17262 : : *pnum_clobbers = 1;
17263 : : return 9687; /* *avx2_gathersiv4df_2 */
17264 : :
17265 : : case 1:
17266 : : if (!(
17267 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17268 : : (TARGET_AVX2) &&
17269 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17270 : : (Pmode == SImode)))
17271 : : return -1;
17272 : : *pnum_clobbers = 1;
17273 : : return 9719; /* *avx2_gatherdiv4df_2 */
17274 : :
17275 : : case 2:
17276 : : if (!(
17277 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17278 : : (TARGET_AVX2) &&
17279 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17280 : : (Pmode == DImode)))
17281 : : return -1;
17282 : : *pnum_clobbers = 1;
17283 : : return 9695; /* *avx2_gathersiv4df_2 */
17284 : :
17285 : : case 3:
17286 : : if (!(
17287 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17288 : : (TARGET_AVX2) &&
17289 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17290 : : (Pmode == DImode)))
17291 : : return -1;
17292 : : *pnum_clobbers = 1;
17293 : : return 9727; /* *avx2_gatherdiv4df_2 */
17294 : :
17295 : : default:
17296 : : return -1;
17297 : : }
17298 : :
17299 : : case E_V4SImode:
17300 : : switch (pattern1700 (x3,
17301 : : E_V4SImode,
17302 : : E_SImode))
17303 : : {
17304 : : case 0:
17305 : : if (!(
17306 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17307 : : (TARGET_AVX2) &&
17308 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17309 : : (Pmode == SImode)))
17310 : : return -1;
17311 : : *pnum_clobbers = 1;
17312 : : return 9688; /* *avx2_gathersiv4si_2 */
17313 : :
17314 : : case 1:
17315 : : if (!(
17316 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17317 : : (TARGET_AVX2) &&
17318 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17319 : : (Pmode == SImode)))
17320 : : return -1;
17321 : : *pnum_clobbers = 1;
17322 : : return 9720; /* *avx2_gatherdiv4si_2 */
17323 : :
17324 : : case 2:
17325 : : if (!(
17326 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17327 : : (TARGET_AVX2) &&
17328 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17329 : : (Pmode == DImode)))
17330 : : return -1;
17331 : : *pnum_clobbers = 1;
17332 : : return 9696; /* *avx2_gathersiv4si_2 */
17333 : :
17334 : : case 3:
17335 : : if (!(
17336 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17337 : : (TARGET_AVX2) &&
17338 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17339 : : (Pmode == DImode)))
17340 : : return -1;
17341 : : *pnum_clobbers = 1;
17342 : : return 9728; /* *avx2_gatherdiv4si_2 */
17343 : :
17344 : : default:
17345 : : return -1;
17346 : : }
17347 : :
17348 : : case E_V4SFmode:
17349 : : switch (pattern1700 (x3,
17350 : : E_V4SFmode,
17351 : : E_SFmode))
17352 : : {
17353 : : case 0:
17354 : : if (!(
17355 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17356 : : (TARGET_AVX2) &&
17357 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17358 : : (Pmode == SImode)))
17359 : : return -1;
17360 : : *pnum_clobbers = 1;
17361 : : return 9689; /* *avx2_gathersiv4sf_2 */
17362 : :
17363 : : case 1:
17364 : : if (!(
17365 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17366 : : (TARGET_AVX2) &&
17367 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17368 : : (Pmode == SImode)))
17369 : : return -1;
17370 : : *pnum_clobbers = 1;
17371 : : return 9721; /* *avx2_gatherdiv4sf_2 */
17372 : :
17373 : : case 2:
17374 : : if (!(
17375 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17376 : : (TARGET_AVX2) &&
17377 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17378 : : (Pmode == DImode)))
17379 : : return -1;
17380 : : *pnum_clobbers = 1;
17381 : : return 9697; /* *avx2_gathersiv4sf_2 */
17382 : :
17383 : : case 3:
17384 : : if (!(
17385 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17386 : : (TARGET_AVX2) &&
17387 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17388 : : (Pmode == DImode)))
17389 : : return -1;
17390 : : *pnum_clobbers = 1;
17391 : : return 9729; /* *avx2_gatherdiv4sf_2 */
17392 : :
17393 : : default:
17394 : : return -1;
17395 : : }
17396 : :
17397 : : case E_V8SImode:
17398 : : switch (pattern1703 (x3,
17399 : : E_SImode,
17400 : : E_V8SImode))
17401 : : {
17402 : : case 0:
17403 : : switch (pattern1783 (
17404 : : E_SImode))
17405 : : {
17406 : : case 0:
17407 : : if (!(
17408 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17409 : : (TARGET_AVX2) &&
17410 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17411 : : (Pmode == SImode)))
17412 : : return -1;
17413 : : *pnum_clobbers = 1;
17414 : : return 9690; /* *avx2_gathersiv8si_2 */
17415 : :
17416 : : case 1:
17417 : : if (!(
17418 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17419 : : (TARGET_AVX2) &&
17420 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17421 : : (Pmode == SImode)))
17422 : : return -1;
17423 : : *pnum_clobbers = 1;
17424 : : return 9722; /* *avx2_gatherdiv8si_2 */
17425 : :
17426 : : default:
17427 : : return -1;
17428 : : }
17429 : :
17430 : : case 1:
17431 : : switch (pattern1783 (
17432 : : E_DImode))
17433 : : {
17434 : : case 0:
17435 : : if (!(
17436 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17437 : : (TARGET_AVX2) &&
17438 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17439 : : (Pmode == DImode)))
17440 : : return -1;
17441 : : *pnum_clobbers = 1;
17442 : : return 9698; /* *avx2_gathersiv8si_2 */
17443 : :
17444 : : case 1:
17445 : : if (!(
17446 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17447 : : (TARGET_AVX2) &&
17448 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17449 : : (Pmode == DImode)))
17450 : : return -1;
17451 : : *pnum_clobbers = 1;
17452 : : return 9730; /* *avx2_gatherdiv8si_2 */
17453 : :
17454 : : default:
17455 : : return -1;
17456 : : }
17457 : :
17458 : : default:
17459 : : return -1;
17460 : : }
17461 : :
17462 : : case E_V8SFmode:
17463 : : switch (pattern1703 (x3,
17464 : : E_SFmode,
17465 : : E_V8SFmode))
17466 : : {
17467 : : case 0:
17468 : : switch (pattern1784 (
17469 : : E_SImode))
17470 : : {
17471 : : case 0:
17472 : : if (!(
17473 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17474 : : (TARGET_AVX2) &&
17475 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17476 : : (Pmode == SImode)))
17477 : : return -1;
17478 : : *pnum_clobbers = 1;
17479 : : return 9691; /* *avx2_gathersiv8sf_2 */
17480 : :
17481 : : case 1:
17482 : : if (!(
17483 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17484 : : (TARGET_AVX2) &&
17485 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17486 : : (Pmode == SImode)))
17487 : : return -1;
17488 : : *pnum_clobbers = 1;
17489 : : return 9723; /* *avx2_gatherdiv8sf_2 */
17490 : :
17491 : : default:
17492 : : return -1;
17493 : : }
17494 : :
17495 : : case 1:
17496 : : switch (pattern1784 (
17497 : : E_DImode))
17498 : : {
17499 : : case 0:
17500 : : if (!(
17501 : : #line 29313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17502 : : (TARGET_AVX2) &&
17503 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17504 : : (Pmode == DImode)))
17505 : : return -1;
17506 : : *pnum_clobbers = 1;
17507 : : return 9699; /* *avx2_gathersiv8sf_2 */
17508 : :
17509 : : case 1:
17510 : : if (!(
17511 : : #line 29376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17512 : : (TARGET_AVX2) &&
17513 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17514 : : (Pmode == DImode)))
17515 : : return -1;
17516 : : *pnum_clobbers = 1;
17517 : : return 9731; /* *avx2_gatherdiv8sf_2 */
17518 : :
17519 : : default:
17520 : : return -1;
17521 : : }
17522 : :
17523 : : default:
17524 : : return -1;
17525 : : }
17526 : :
17527 : : default:
17528 : : return -1;
17529 : : }
17530 : :
17531 : : default:
17532 : : return -1;
17533 : : }
17534 : :
17535 : : case 226:
17536 : : if (GET_MODE (x3) != E_V4SImode
17537 : : || pattern167 (x3) != 0)
17538 : : return -1;
17539 : : x7 = XVECEXP (x3, 0, 3);
17540 : : operands[4] = x7;
17541 : : if (!const_0_to_255_operand (operands[4], E_SImode)
17542 : : || !
17543 : : #line 30065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17544 : : (TARGET_SM3))
17545 : : return -1;
17546 : : return 10089; /* vsm3rnds2 */
17547 : :
17548 : : default:
17549 : : return -1;
17550 : : }
17551 : : }
17552 : :
17553 : : int
17554 : : recog_308 (rtx x1 ATTRIBUTE_UNUSED,
17555 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17556 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17557 : : {
17558 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17559 : : rtx x2, x3, x4, x5;
17560 : : int res ATTRIBUTE_UNUSED;
17561 : : x2 = XEXP (x1, 1);
17562 : : x3 = XEXP (x2, 0);
17563 : : switch (GET_CODE (x3))
17564 : : {
17565 : : case REG:
17566 : : case SUBREG:
17567 : : case MEM:
17568 : : case VEC_DUPLICATE:
17569 : : operands[1] = x3;
17570 : : x4 = XEXP (x2, 1);
17571 : : operands[2] = x4;
17572 : : switch (GET_CODE (operands[2]))
17573 : : {
17574 : : case REG:
17575 : : case SUBREG:
17576 : : case MEM:
17577 : : case VEC_DUPLICATE:
17578 : : switch (GET_MODE (operands[0]))
17579 : : {
17580 : : case E_V16BFmode:
17581 : : if (pattern25 (x2,
17582 : : E_V16BFmode) != 0
17583 : : || !(
17584 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17585 : : (TARGET_SSE && 1
17586 : : && (!false || 16 != 16)
17587 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17588 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17589 : : (TARGET_AVX)))
17590 : : return -1;
17591 : : return 3708; /* *xorv16bf3 */
17592 : :
17593 : : case E_V8BFmode:
17594 : : if (pattern25 (x2,
17595 : : E_V8BFmode) != 0
17596 : : || !(
17597 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17598 : : (TARGET_SSE && 1
17599 : : && (!false || 16 != 16)
17600 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17601 : : #line 427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17602 : : (TARGET_SSE2)))
17603 : : return -1;
17604 : : return 3711; /* *xorv8bf3 */
17605 : :
17606 : : case E_V16HFmode:
17607 : : if (pattern25 (x2,
17608 : : E_V16HFmode) != 0
17609 : : || !(
17610 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17611 : : (TARGET_SSE && 1
17612 : : && (!false || 16 != 16)
17613 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17614 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17615 : : (TARGET_AVX)))
17616 : : return -1;
17617 : : return 3714; /* *xorv16hf3 */
17618 : :
17619 : : case E_V8HFmode:
17620 : : if (pattern25 (x2,
17621 : : E_V8HFmode) != 0
17622 : : || !(
17623 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17624 : : (TARGET_SSE && 1
17625 : : && (!false || 16 != 16)
17626 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17627 : : #line 428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17628 : : (TARGET_SSE2)))
17629 : : return -1;
17630 : : return 3717; /* *xorv8hf3 */
17631 : :
17632 : : case E_V8SFmode:
17633 : : if (pattern25 (x2,
17634 : : E_V8SFmode) != 0
17635 : : || !(
17636 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17637 : : (TARGET_SSE && 1
17638 : : && (!false || 32 != 16)
17639 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17640 : : #line 429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17641 : : (TARGET_AVX)))
17642 : : return -1;
17643 : : return 3722; /* *xorv8sf3 */
17644 : :
17645 : : case E_V4SFmode:
17646 : : if (pattern25 (x2,
17647 : : E_V4SFmode) != 0
17648 : : || !
17649 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17650 : : (TARGET_SSE && 1
17651 : : && (!false || 32 != 16)
17652 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17653 : : return -1;
17654 : : return 3728; /* *xorv4sf3 */
17655 : :
17656 : : case E_V4DFmode:
17657 : : if (pattern25 (x2,
17658 : : E_V4DFmode) != 0
17659 : : || !(
17660 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17661 : : (TARGET_SSE && 1
17662 : : && (!false || 64 != 16)
17663 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17664 : : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17665 : : (TARGET_AVX)))
17666 : : return -1;
17667 : : return 3734; /* *xorv4df3 */
17668 : :
17669 : : case E_V2DFmode:
17670 : : if (pattern25 (x2,
17671 : : E_V2DFmode) != 0
17672 : : || !(
17673 : : #line 5349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17674 : : (TARGET_SSE && 1
17675 : : && (!false || 64 != 16)
17676 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17677 : : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17678 : : (TARGET_SSE2)))
17679 : : return -1;
17680 : : return 3740; /* *xorv2df3 */
17681 : :
17682 : : case E_V32BFmode:
17683 : : if (pattern5 (x2,
17684 : : E_V32BFmode) != 0
17685 : : || !(
17686 : : #line 5419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17687 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17688 : : && (!false || 16 != 16)) &&
17689 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17690 : : (TARGET_EVEX512)))
17691 : : return -1;
17692 : : return 3744; /* *xorv32bf3 */
17693 : :
17694 : : case E_V32HFmode:
17695 : : if (pattern5 (x2,
17696 : : E_V32HFmode) != 0
17697 : : || !(
17698 : : #line 5419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17699 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17700 : : && (!false || 16 != 16)) &&
17701 : : #line 493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17702 : : (TARGET_EVEX512)))
17703 : : return -1;
17704 : : return 3747; /* *xorv32hf3 */
17705 : :
17706 : : case E_V16SFmode:
17707 : : if (pattern5 (x2,
17708 : : E_V16SFmode) != 0
17709 : : || !(
17710 : : #line 5419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17711 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17712 : : && (!false || 32 != 16)) &&
17713 : : #line 494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17714 : : (TARGET_EVEX512)))
17715 : : return -1;
17716 : : return 3752; /* *xorv16sf3 */
17717 : :
17718 : : case E_V8DFmode:
17719 : : if (pattern5 (x2,
17720 : : E_V8DFmode) != 0
17721 : : || !(
17722 : : #line 5419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17723 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17724 : : && (!false || 64 != 16)) &&
17725 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17726 : : (TARGET_EVEX512)))
17727 : : return -1;
17728 : : return 3758; /* *xorv8df3 */
17729 : :
17730 : : case E_V16SImode:
17731 : : if (pattern179 (x2,
17732 : : E_V16SImode) != 0
17733 : : || !(
17734 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17735 : : (TARGET_SSE && 1
17736 : : && ix86_binary_operator_ok (XOR, V16SImode, operands)) &&
17737 : : #line 808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17738 : : (TARGET_AVX512F && TARGET_EVEX512)))
17739 : : return -1;
17740 : : return 8005; /* *xorv16si3 */
17741 : :
17742 : : case E_V8SImode:
17743 : : if (pattern179 (x2,
17744 : : E_V8SImode) != 0
17745 : : || !(
17746 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17747 : : (TARGET_SSE && 1
17748 : : && ix86_binary_operator_ok (XOR, V8SImode, operands)) &&
17749 : : #line 808 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17750 : : (TARGET_AVX)))
17751 : : return -1;
17752 : : return 8011; /* *xorv8si3 */
17753 : :
17754 : : case E_V4SImode:
17755 : : if (pattern179 (x2,
17756 : : E_V4SImode) != 0
17757 : : || !
17758 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17759 : : (TARGET_SSE && 1
17760 : : && ix86_binary_operator_ok (XOR, V4SImode, operands)))
17761 : : return -1;
17762 : : return 8017; /* *xorv4si3 */
17763 : :
17764 : : case E_V8DImode:
17765 : : if (pattern179 (x2,
17766 : : E_V8DImode) != 0
17767 : : || !(
17768 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17769 : : (TARGET_SSE && 1
17770 : : && ix86_binary_operator_ok (XOR, V8DImode, operands)) &&
17771 : : #line 809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17772 : : (TARGET_AVX512F && TARGET_EVEX512)))
17773 : : return -1;
17774 : : return 8023; /* *xorv8di3 */
17775 : :
17776 : : case E_V4DImode:
17777 : : if (pattern179 (x2,
17778 : : E_V4DImode) != 0
17779 : : || !(
17780 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17781 : : (TARGET_SSE && 1
17782 : : && ix86_binary_operator_ok (XOR, V4DImode, operands)) &&
17783 : : #line 809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17784 : : (TARGET_AVX)))
17785 : : return -1;
17786 : : return 8029; /* *xorv4di3 */
17787 : :
17788 : : case E_V2DImode:
17789 : : if (pattern179 (x2,
17790 : : E_V2DImode) != 0
17791 : : || !
17792 : : #line 18731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17793 : : (TARGET_SSE && 1
17794 : : && ix86_binary_operator_ok (XOR, V2DImode, operands)))
17795 : : return -1;
17796 : : return 8035; /* *xorv2di3 */
17797 : :
17798 : : case E_V64QImode:
17799 : : if (pattern25 (x2,
17800 : : E_V64QImode) != 0
17801 : : || !(
17802 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17803 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17804 : : #line 812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17805 : : (TARGET_AVX512F && TARGET_EVEX512)))
17806 : : return -1;
17807 : : return 8039; /* *xorv64qi3 */
17808 : :
17809 : : case E_V32QImode:
17810 : : if (pattern25 (x2,
17811 : : E_V32QImode) != 0
17812 : : || !(
17813 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17814 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17815 : : #line 812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17816 : : (TARGET_AVX)))
17817 : : return -1;
17818 : : return 8042; /* *xorv32qi3 */
17819 : :
17820 : : case E_V16QImode:
17821 : : if (pattern25 (x2,
17822 : : E_V16QImode) != 0
17823 : : || !
17824 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17825 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17826 : : return -1;
17827 : : return 8045; /* *xorv16qi3 */
17828 : :
17829 : : case E_V32HImode:
17830 : : if (pattern25 (x2,
17831 : : E_V32HImode) != 0
17832 : : || !(
17833 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17834 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17835 : : #line 813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17836 : : (TARGET_AVX512F && TARGET_EVEX512)))
17837 : : return -1;
17838 : : return 8048; /* *xorv32hi3 */
17839 : :
17840 : : case E_V16HImode:
17841 : : if (pattern25 (x2,
17842 : : E_V16HImode) != 0
17843 : : || !(
17844 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17845 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17846 : : #line 813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17847 : : (TARGET_AVX)))
17848 : : return -1;
17849 : : return 8051; /* *xorv16hi3 */
17850 : :
17851 : : case E_V8HImode:
17852 : : if (pattern25 (x2,
17853 : : E_V8HImode) != 0
17854 : : || !
17855 : : #line 18833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17856 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17857 : : return -1;
17858 : : return 8054; /* *xorv8hi3 */
17859 : :
17860 : : case E_V1TImode:
17861 : : if (pattern670 (x2,
17862 : : E_V1TImode) != 0
17863 : : || !
17864 : : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17865 : : (TARGET_SSE2))
17866 : : return -1;
17867 : : return 8057; /* xorv1ti3 */
17868 : :
17869 : : default:
17870 : : return -1;
17871 : : }
17872 : :
17873 : : case CONST_VECTOR:
17874 : : switch (GET_MODE (operands[0]))
17875 : : {
17876 : : case E_V16SImode:
17877 : : if (pattern935 (x2,
17878 : : E_V16SImode) != 0
17879 : : || !(
17880 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17881 : : (TARGET_AVX512F
17882 : : && (64 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17883 : : && (!false
17884 : : || SImode == SImode
17885 : : || SImode == DImode)) &&
17886 : : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17887 : : (TARGET_AVX512F && TARGET_EVEX512)))
17888 : : return -1;
17889 : : return 7953; /* *one_cmplv16si2 */
17890 : :
17891 : : case E_V8DImode:
17892 : : if (pattern935 (x2,
17893 : : E_V8DImode) != 0
17894 : : || !(
17895 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17896 : : (TARGET_AVX512F
17897 : : && (64 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17898 : : && (!false
17899 : : || DImode == SImode
17900 : : || DImode == DImode)) &&
17901 : : #line 570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17902 : : (TARGET_AVX512F && TARGET_EVEX512)))
17903 : : return -1;
17904 : : return 7955; /* *one_cmplv8di2 */
17905 : :
17906 : : case E_V64QImode:
17907 : : if (pattern935 (x2,
17908 : : E_V64QImode) != 0
17909 : : || !(
17910 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17911 : : (TARGET_AVX512F
17912 : : && (64 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17913 : : && (!false
17914 : : || QImode == SImode
17915 : : || QImode == DImode)) &&
17916 : : #line 571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17917 : : (TARGET_AVX512BW && TARGET_EVEX512)))
17918 : : return -1;
17919 : : return 7957; /* *one_cmplv64qi2 */
17920 : :
17921 : : case E_V32QImode:
17922 : : if (pattern935 (x2,
17923 : : E_V32QImode) != 0
17924 : : || !(
17925 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17926 : : (TARGET_AVX512F
17927 : : && (32 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17928 : : && (!false
17929 : : || QImode == SImode
17930 : : || QImode == DImode)) &&
17931 : : #line 571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17932 : : (TARGET_AVX)))
17933 : : return -1;
17934 : : return 7958; /* *one_cmplv32qi2 */
17935 : :
17936 : : case E_V16QImode:
17937 : : if (pattern935 (x2,
17938 : : E_V16QImode) != 0
17939 : : || !
17940 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17941 : : (TARGET_AVX512F
17942 : : && (16 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17943 : : && (!false
17944 : : || QImode == SImode
17945 : : || QImode == DImode)))
17946 : : return -1;
17947 : : return 7959; /* *one_cmplv16qi2 */
17948 : :
17949 : : case E_V32HImode:
17950 : : if (pattern935 (x2,
17951 : : E_V32HImode) != 0
17952 : : || !(
17953 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17954 : : (TARGET_AVX512F
17955 : : && (64 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17956 : : && (!false
17957 : : || HImode == SImode
17958 : : || HImode == DImode)) &&
17959 : : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17960 : : (TARGET_AVX512BW && TARGET_EVEX512)))
17961 : : return -1;
17962 : : return 7960; /* *one_cmplv32hi2 */
17963 : :
17964 : : case E_V16HImode:
17965 : : if (pattern935 (x2,
17966 : : E_V16HImode) != 0
17967 : : || !(
17968 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17969 : : (TARGET_AVX512F
17970 : : && (32 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17971 : : && (!false
17972 : : || HImode == SImode
17973 : : || HImode == DImode)) &&
17974 : : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17975 : : (TARGET_AVX)))
17976 : : return -1;
17977 : : return 7961; /* *one_cmplv16hi2 */
17978 : :
17979 : : case E_V8HImode:
17980 : : if (pattern935 (x2,
17981 : : E_V8HImode) != 0
17982 : : || !
17983 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17984 : : (TARGET_AVX512F
17985 : : && (16 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17986 : : && (!false
17987 : : || HImode == SImode
17988 : : || HImode == DImode)))
17989 : : return -1;
17990 : : return 7962; /* *one_cmplv8hi2 */
17991 : :
17992 : : case E_V8SImode:
17993 : : if (pattern935 (x2,
17994 : : E_V8SImode) != 0
17995 : : || !(
17996 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17997 : : (TARGET_AVX512F
17998 : : && (32 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
17999 : : && (!false
18000 : : || SImode == SImode
18001 : : || SImode == DImode)) &&
18002 : : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18003 : : (TARGET_AVX)))
18004 : : return -1;
18005 : : return 7963; /* *one_cmplv8si2 */
18006 : :
18007 : : case E_V4SImode:
18008 : : if (pattern935 (x2,
18009 : : E_V4SImode) != 0
18010 : : || !
18011 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18012 : : (TARGET_AVX512F
18013 : : && (16 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
18014 : : && (!false
18015 : : || SImode == SImode
18016 : : || SImode == DImode)))
18017 : : return -1;
18018 : : return 7965; /* *one_cmplv4si2 */
18019 : :
18020 : : case E_V4DImode:
18021 : : if (pattern935 (x2,
18022 : : E_V4DImode) != 0
18023 : : || !(
18024 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18025 : : (TARGET_AVX512F
18026 : : && (32 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
18027 : : && (!false
18028 : : || DImode == SImode
18029 : : || DImode == DImode)) &&
18030 : : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18031 : : (TARGET_AVX)))
18032 : : return -1;
18033 : : return 7967; /* *one_cmplv4di2 */
18034 : :
18035 : : case E_V2DImode:
18036 : : if (pattern935 (x2,
18037 : : E_V2DImode) != 0
18038 : : || !
18039 : : #line 18358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18040 : : (TARGET_AVX512F
18041 : : && (16 == 64 || TARGET_AVX512VL || TARGET_EVEX512)
18042 : : && (!false
18043 : : || DImode == SImode
18044 : : || DImode == DImode)))
18045 : : return -1;
18046 : : return 7969; /* *one_cmplv2di2 */
18047 : :
18048 : : default:
18049 : : return -1;
18050 : : }
18051 : :
18052 : : default:
18053 : : return -1;
18054 : : }
18055 : :
18056 : : case AND:
18057 : : x5 = XEXP (x3, 0);
18058 : : switch (GET_CODE (x5))
18059 : : {
18060 : : case REG:
18061 : : case SUBREG:
18062 : : case MEM:
18063 : : case NOT:
18064 : : switch (pattern533 (x2))
18065 : : {
18066 : : case 0:
18067 : : if (!(
18068 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18069 : : ((64 == 64 || TARGET_AVX512VL
18070 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18071 : : && ix86_pre_reload_split ()
18072 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18073 : : STRIP_UNARY (operands[4]))
18074 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18075 : : STRIP_UNARY (operands[4]))
18076 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18077 : : STRIP_UNARY (operands[3]))
18078 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18079 : : STRIP_UNARY (operands[3])))) &&
18080 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18081 : : (TARGET_AVX512F && TARGET_EVEX512)))
18082 : : return -1;
18083 : : return 5518; /* *avx512bw_vpternlogv64qi_1 */
18084 : :
18085 : : case 1:
18086 : : if (!(
18087 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18088 : : ((32 == 64 || TARGET_AVX512VL
18089 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18090 : : && ix86_pre_reload_split ()
18091 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18092 : : STRIP_UNARY (operands[4]))
18093 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18094 : : STRIP_UNARY (operands[4]))
18095 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18096 : : STRIP_UNARY (operands[3]))
18097 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18098 : : STRIP_UNARY (operands[3])))) &&
18099 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18100 : : (TARGET_AVX)))
18101 : : return -1;
18102 : : return 5545; /* *avx512vl_vpternlogv32qi_1 */
18103 : :
18104 : : case 2:
18105 : : if (!
18106 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18107 : : ((16 == 64 || TARGET_AVX512VL
18108 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18109 : : && ix86_pre_reload_split ()
18110 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18111 : : STRIP_UNARY (operands[4]))
18112 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18113 : : STRIP_UNARY (operands[4]))
18114 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18115 : : STRIP_UNARY (operands[3]))
18116 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18117 : : STRIP_UNARY (operands[3])))))
18118 : : return -1;
18119 : : return 5572; /* *avx512vl_vpternlogv16qi_1 */
18120 : :
18121 : : case 3:
18122 : : if (!(
18123 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18124 : : ((64 == 64 || TARGET_AVX512VL
18125 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18126 : : && ix86_pre_reload_split ()
18127 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18128 : : STRIP_UNARY (operands[4]))
18129 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18130 : : STRIP_UNARY (operands[4]))
18131 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18132 : : STRIP_UNARY (operands[3]))
18133 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18134 : : STRIP_UNARY (operands[3])))) &&
18135 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18136 : : (TARGET_AVX512F && TARGET_EVEX512)))
18137 : : return -1;
18138 : : return 5599; /* *avx512bw_vpternlogv32hi_1 */
18139 : :
18140 : : case 4:
18141 : : if (!(
18142 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18143 : : ((32 == 64 || TARGET_AVX512VL
18144 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18145 : : && ix86_pre_reload_split ()
18146 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18147 : : STRIP_UNARY (operands[4]))
18148 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18149 : : STRIP_UNARY (operands[4]))
18150 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18151 : : STRIP_UNARY (operands[3]))
18152 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18153 : : STRIP_UNARY (operands[3])))) &&
18154 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18155 : : (TARGET_AVX)))
18156 : : return -1;
18157 : : return 5626; /* *avx512vl_vpternlogv16hi_1 */
18158 : :
18159 : : case 5:
18160 : : if (!
18161 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18162 : : ((16 == 64 || TARGET_AVX512VL
18163 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18164 : : && ix86_pre_reload_split ()
18165 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18166 : : STRIP_UNARY (operands[4]))
18167 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18168 : : STRIP_UNARY (operands[4]))
18169 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18170 : : STRIP_UNARY (operands[3]))
18171 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18172 : : STRIP_UNARY (operands[3])))))
18173 : : return -1;
18174 : : return 5653; /* *avx512vl_vpternlogv8hi_1 */
18175 : :
18176 : : case 6:
18177 : : if (!(
18178 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18179 : : ((64 == 64 || TARGET_AVX512VL
18180 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18181 : : && ix86_pre_reload_split ()
18182 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18183 : : STRIP_UNARY (operands[4]))
18184 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18185 : : STRIP_UNARY (operands[4]))
18186 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18187 : : STRIP_UNARY (operands[3]))
18188 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18189 : : STRIP_UNARY (operands[3])))) &&
18190 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18191 : : (TARGET_AVX512F && TARGET_EVEX512)))
18192 : : return -1;
18193 : : return 5680; /* *avx512f_vpternlogv16si_1 */
18194 : :
18195 : : case 7:
18196 : : if (!(
18197 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18198 : : ((32 == 64 || TARGET_AVX512VL
18199 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18200 : : && ix86_pre_reload_split ()
18201 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18202 : : STRIP_UNARY (operands[4]))
18203 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18204 : : STRIP_UNARY (operands[4]))
18205 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18206 : : STRIP_UNARY (operands[3]))
18207 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18208 : : STRIP_UNARY (operands[3])))) &&
18209 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18210 : : (TARGET_AVX)))
18211 : : return -1;
18212 : : return 5707; /* *avx512vl_vpternlogv8si_1 */
18213 : :
18214 : : case 8:
18215 : : if (!
18216 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18217 : : ((16 == 64 || TARGET_AVX512VL
18218 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18219 : : && ix86_pre_reload_split ()
18220 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18221 : : STRIP_UNARY (operands[4]))
18222 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18223 : : STRIP_UNARY (operands[4]))
18224 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18225 : : STRIP_UNARY (operands[3]))
18226 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18227 : : STRIP_UNARY (operands[3])))))
18228 : : return -1;
18229 : : return 5734; /* *avx512vl_vpternlogv4si_1 */
18230 : :
18231 : : case 9:
18232 : : if (!(
18233 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18234 : : ((64 == 64 || TARGET_AVX512VL
18235 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18236 : : && ix86_pre_reload_split ()
18237 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18238 : : STRIP_UNARY (operands[4]))
18239 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18240 : : STRIP_UNARY (operands[4]))
18241 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18242 : : STRIP_UNARY (operands[3]))
18243 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18244 : : STRIP_UNARY (operands[3])))) &&
18245 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18246 : : (TARGET_AVX512F && TARGET_EVEX512)))
18247 : : return -1;
18248 : : return 5761; /* *avx512f_vpternlogv8di_1 */
18249 : :
18250 : : case 10:
18251 : : if (!(
18252 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18253 : : ((32 == 64 || TARGET_AVX512VL
18254 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18255 : : && ix86_pre_reload_split ()
18256 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18257 : : STRIP_UNARY (operands[4]))
18258 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18259 : : STRIP_UNARY (operands[4]))
18260 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18261 : : STRIP_UNARY (operands[3]))
18262 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18263 : : STRIP_UNARY (operands[3])))) &&
18264 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18265 : : (TARGET_AVX)))
18266 : : return -1;
18267 : : return 5788; /* *avx512vl_vpternlogv4di_1 */
18268 : :
18269 : : case 11:
18270 : : if (!
18271 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18272 : : ((16 == 64 || TARGET_AVX512VL
18273 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18274 : : && ix86_pre_reload_split ()
18275 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18276 : : STRIP_UNARY (operands[4]))
18277 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18278 : : STRIP_UNARY (operands[4]))
18279 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18280 : : STRIP_UNARY (operands[3]))
18281 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18282 : : STRIP_UNARY (operands[3])))))
18283 : : return -1;
18284 : : return 5815; /* *avx512vl_vpternlogv2di_1 */
18285 : :
18286 : : case 12:
18287 : : if (!(
18288 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18289 : : ((64 == 64 || TARGET_AVX512VL
18290 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18291 : : && ix86_pre_reload_split ()
18292 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18293 : : STRIP_UNARY (operands[4]))
18294 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18295 : : STRIP_UNARY (operands[4]))
18296 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18297 : : STRIP_UNARY (operands[3]))
18298 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18299 : : STRIP_UNARY (operands[3])))) &&
18300 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18301 : : (TARGET_AVX512F && TARGET_EVEX512)))
18302 : : return -1;
18303 : : return 5521; /* *avx512bw_vpternlogv64qi_1 */
18304 : :
18305 : : case 13:
18306 : : if (!(
18307 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18308 : : ((32 == 64 || TARGET_AVX512VL
18309 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18310 : : && ix86_pre_reload_split ()
18311 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18312 : : STRIP_UNARY (operands[4]))
18313 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18314 : : STRIP_UNARY (operands[4]))
18315 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18316 : : STRIP_UNARY (operands[3]))
18317 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18318 : : STRIP_UNARY (operands[3])))) &&
18319 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18320 : : (TARGET_AVX)))
18321 : : return -1;
18322 : : return 5548; /* *avx512vl_vpternlogv32qi_1 */
18323 : :
18324 : : case 14:
18325 : : if (!
18326 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18327 : : ((16 == 64 || TARGET_AVX512VL
18328 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18329 : : && ix86_pre_reload_split ()
18330 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18331 : : STRIP_UNARY (operands[4]))
18332 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18333 : : STRIP_UNARY (operands[4]))
18334 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18335 : : STRIP_UNARY (operands[3]))
18336 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18337 : : STRIP_UNARY (operands[3])))))
18338 : : return -1;
18339 : : return 5575; /* *avx512vl_vpternlogv16qi_1 */
18340 : :
18341 : : case 15:
18342 : : if (!(
18343 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18344 : : ((64 == 64 || TARGET_AVX512VL
18345 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18346 : : && ix86_pre_reload_split ()
18347 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18348 : : STRIP_UNARY (operands[4]))
18349 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18350 : : STRIP_UNARY (operands[4]))
18351 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18352 : : STRIP_UNARY (operands[3]))
18353 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18354 : : STRIP_UNARY (operands[3])))) &&
18355 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18356 : : (TARGET_AVX512F && TARGET_EVEX512)))
18357 : : return -1;
18358 : : return 5602; /* *avx512bw_vpternlogv32hi_1 */
18359 : :
18360 : : case 16:
18361 : : if (!(
18362 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18363 : : ((32 == 64 || TARGET_AVX512VL
18364 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18365 : : && ix86_pre_reload_split ()
18366 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18367 : : STRIP_UNARY (operands[4]))
18368 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18369 : : STRIP_UNARY (operands[4]))
18370 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18371 : : STRIP_UNARY (operands[3]))
18372 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18373 : : STRIP_UNARY (operands[3])))) &&
18374 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18375 : : (TARGET_AVX)))
18376 : : return -1;
18377 : : return 5629; /* *avx512vl_vpternlogv16hi_1 */
18378 : :
18379 : : case 17:
18380 : : if (!
18381 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18382 : : ((16 == 64 || TARGET_AVX512VL
18383 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18384 : : && ix86_pre_reload_split ()
18385 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18386 : : STRIP_UNARY (operands[4]))
18387 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18388 : : STRIP_UNARY (operands[4]))
18389 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18390 : : STRIP_UNARY (operands[3]))
18391 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18392 : : STRIP_UNARY (operands[3])))))
18393 : : return -1;
18394 : : return 5656; /* *avx512vl_vpternlogv8hi_1 */
18395 : :
18396 : : case 18:
18397 : : if (!(
18398 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18399 : : ((64 == 64 || TARGET_AVX512VL
18400 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18401 : : && ix86_pre_reload_split ()
18402 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18403 : : STRIP_UNARY (operands[4]))
18404 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18405 : : STRIP_UNARY (operands[4]))
18406 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18407 : : STRIP_UNARY (operands[3]))
18408 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18409 : : STRIP_UNARY (operands[3])))) &&
18410 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18411 : : (TARGET_AVX512F && TARGET_EVEX512)))
18412 : : return -1;
18413 : : return 5683; /* *avx512f_vpternlogv16si_1 */
18414 : :
18415 : : case 19:
18416 : : if (!(
18417 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18418 : : ((32 == 64 || TARGET_AVX512VL
18419 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18420 : : && ix86_pre_reload_split ()
18421 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18422 : : STRIP_UNARY (operands[4]))
18423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18424 : : STRIP_UNARY (operands[4]))
18425 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18426 : : STRIP_UNARY (operands[3]))
18427 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18428 : : STRIP_UNARY (operands[3])))) &&
18429 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18430 : : (TARGET_AVX)))
18431 : : return -1;
18432 : : return 5710; /* *avx512vl_vpternlogv8si_1 */
18433 : :
18434 : : case 20:
18435 : : if (!
18436 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18437 : : ((16 == 64 || TARGET_AVX512VL
18438 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18439 : : && ix86_pre_reload_split ()
18440 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18441 : : STRIP_UNARY (operands[4]))
18442 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18443 : : STRIP_UNARY (operands[4]))
18444 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18445 : : STRIP_UNARY (operands[3]))
18446 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18447 : : STRIP_UNARY (operands[3])))))
18448 : : return -1;
18449 : : return 5737; /* *avx512vl_vpternlogv4si_1 */
18450 : :
18451 : : case 21:
18452 : : if (!(
18453 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18454 : : ((64 == 64 || TARGET_AVX512VL
18455 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18456 : : && ix86_pre_reload_split ()
18457 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18458 : : STRIP_UNARY (operands[4]))
18459 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18460 : : STRIP_UNARY (operands[4]))
18461 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18462 : : STRIP_UNARY (operands[3]))
18463 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18464 : : STRIP_UNARY (operands[3])))) &&
18465 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18466 : : (TARGET_AVX512F && TARGET_EVEX512)))
18467 : : return -1;
18468 : : return 5764; /* *avx512f_vpternlogv8di_1 */
18469 : :
18470 : : case 22:
18471 : : if (!(
18472 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18473 : : ((32 == 64 || TARGET_AVX512VL
18474 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18475 : : && ix86_pre_reload_split ()
18476 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18477 : : STRIP_UNARY (operands[4]))
18478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18479 : : STRIP_UNARY (operands[4]))
18480 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18481 : : STRIP_UNARY (operands[3]))
18482 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18483 : : STRIP_UNARY (operands[3])))) &&
18484 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18485 : : (TARGET_AVX)))
18486 : : return -1;
18487 : : return 5791; /* *avx512vl_vpternlogv4di_1 */
18488 : :
18489 : : case 23:
18490 : : if (!
18491 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18492 : : ((16 == 64 || TARGET_AVX512VL
18493 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18494 : : && ix86_pre_reload_split ()
18495 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18496 : : STRIP_UNARY (operands[4]))
18497 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18498 : : STRIP_UNARY (operands[4]))
18499 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18500 : : STRIP_UNARY (operands[3]))
18501 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18502 : : STRIP_UNARY (operands[3])))))
18503 : : return -1;
18504 : : return 5818; /* *avx512vl_vpternlogv2di_1 */
18505 : :
18506 : : case 24:
18507 : : if (!(
18508 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18509 : : ((64 == 64 || TARGET_AVX512VL
18510 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18511 : : && ix86_pre_reload_split ()
18512 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18513 : : STRIP_UNARY (operands[4]))
18514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18515 : : STRIP_UNARY (operands[4]))
18516 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18517 : : STRIP_UNARY (operands[3]))
18518 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18519 : : STRIP_UNARY (operands[3])))) &&
18520 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18521 : : (TARGET_AVX512F && TARGET_EVEX512)))
18522 : : return -1;
18523 : : return 5524; /* *avx512bw_vpternlogv64qi_1 */
18524 : :
18525 : : case 25:
18526 : : if (!(
18527 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18528 : : ((32 == 64 || TARGET_AVX512VL
18529 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18530 : : && ix86_pre_reload_split ()
18531 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18532 : : STRIP_UNARY (operands[4]))
18533 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18534 : : STRIP_UNARY (operands[4]))
18535 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18536 : : STRIP_UNARY (operands[3]))
18537 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18538 : : STRIP_UNARY (operands[3])))) &&
18539 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18540 : : (TARGET_AVX)))
18541 : : return -1;
18542 : : return 5551; /* *avx512vl_vpternlogv32qi_1 */
18543 : :
18544 : : case 26:
18545 : : if (!
18546 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18547 : : ((16 == 64 || TARGET_AVX512VL
18548 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18549 : : && ix86_pre_reload_split ()
18550 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18551 : : STRIP_UNARY (operands[4]))
18552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18553 : : STRIP_UNARY (operands[4]))
18554 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18555 : : STRIP_UNARY (operands[3]))
18556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18557 : : STRIP_UNARY (operands[3])))))
18558 : : return -1;
18559 : : return 5578; /* *avx512vl_vpternlogv16qi_1 */
18560 : :
18561 : : case 27:
18562 : : if (!(
18563 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18564 : : ((64 == 64 || TARGET_AVX512VL
18565 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18566 : : && ix86_pre_reload_split ()
18567 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18568 : : STRIP_UNARY (operands[4]))
18569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18570 : : STRIP_UNARY (operands[4]))
18571 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18572 : : STRIP_UNARY (operands[3]))
18573 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18574 : : STRIP_UNARY (operands[3])))) &&
18575 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18576 : : (TARGET_AVX512F && TARGET_EVEX512)))
18577 : : return -1;
18578 : : return 5605; /* *avx512bw_vpternlogv32hi_1 */
18579 : :
18580 : : case 28:
18581 : : if (!(
18582 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18583 : : ((32 == 64 || TARGET_AVX512VL
18584 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18585 : : && ix86_pre_reload_split ()
18586 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18587 : : STRIP_UNARY (operands[4]))
18588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18589 : : STRIP_UNARY (operands[4]))
18590 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18591 : : STRIP_UNARY (operands[3]))
18592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18593 : : STRIP_UNARY (operands[3])))) &&
18594 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18595 : : (TARGET_AVX)))
18596 : : return -1;
18597 : : return 5632; /* *avx512vl_vpternlogv16hi_1 */
18598 : :
18599 : : case 29:
18600 : : if (!
18601 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18602 : : ((16 == 64 || TARGET_AVX512VL
18603 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18604 : : && ix86_pre_reload_split ()
18605 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18606 : : STRIP_UNARY (operands[4]))
18607 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18608 : : STRIP_UNARY (operands[4]))
18609 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18610 : : STRIP_UNARY (operands[3]))
18611 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18612 : : STRIP_UNARY (operands[3])))))
18613 : : return -1;
18614 : : return 5659; /* *avx512vl_vpternlogv8hi_1 */
18615 : :
18616 : : case 30:
18617 : : if (!(
18618 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18619 : : ((64 == 64 || TARGET_AVX512VL
18620 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18621 : : && ix86_pre_reload_split ()
18622 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18623 : : STRIP_UNARY (operands[4]))
18624 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18625 : : STRIP_UNARY (operands[4]))
18626 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18627 : : STRIP_UNARY (operands[3]))
18628 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18629 : : STRIP_UNARY (operands[3])))) &&
18630 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18631 : : (TARGET_AVX512F && TARGET_EVEX512)))
18632 : : return -1;
18633 : : return 5686; /* *avx512f_vpternlogv16si_1 */
18634 : :
18635 : : case 31:
18636 : : if (!(
18637 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18638 : : ((32 == 64 || TARGET_AVX512VL
18639 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18640 : : && ix86_pre_reload_split ()
18641 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18642 : : STRIP_UNARY (operands[4]))
18643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18644 : : STRIP_UNARY (operands[4]))
18645 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18646 : : STRIP_UNARY (operands[3]))
18647 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18648 : : STRIP_UNARY (operands[3])))) &&
18649 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18650 : : (TARGET_AVX)))
18651 : : return -1;
18652 : : return 5713; /* *avx512vl_vpternlogv8si_1 */
18653 : :
18654 : : case 32:
18655 : : if (!
18656 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18657 : : ((16 == 64 || TARGET_AVX512VL
18658 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18659 : : && ix86_pre_reload_split ()
18660 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18661 : : STRIP_UNARY (operands[4]))
18662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18663 : : STRIP_UNARY (operands[4]))
18664 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18665 : : STRIP_UNARY (operands[3]))
18666 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18667 : : STRIP_UNARY (operands[3])))))
18668 : : return -1;
18669 : : return 5740; /* *avx512vl_vpternlogv4si_1 */
18670 : :
18671 : : case 33:
18672 : : if (!(
18673 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18674 : : ((64 == 64 || TARGET_AVX512VL
18675 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18676 : : && ix86_pre_reload_split ()
18677 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18678 : : STRIP_UNARY (operands[4]))
18679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18680 : : STRIP_UNARY (operands[4]))
18681 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18682 : : STRIP_UNARY (operands[3]))
18683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18684 : : STRIP_UNARY (operands[3])))) &&
18685 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18686 : : (TARGET_AVX512F && TARGET_EVEX512)))
18687 : : return -1;
18688 : : return 5767; /* *avx512f_vpternlogv8di_1 */
18689 : :
18690 : : case 34:
18691 : : if (!(
18692 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18693 : : ((32 == 64 || TARGET_AVX512VL
18694 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18695 : : && ix86_pre_reload_split ()
18696 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18697 : : STRIP_UNARY (operands[4]))
18698 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18699 : : STRIP_UNARY (operands[4]))
18700 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18701 : : STRIP_UNARY (operands[3]))
18702 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18703 : : STRIP_UNARY (operands[3])))) &&
18704 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18705 : : (TARGET_AVX)))
18706 : : return -1;
18707 : : return 5794; /* *avx512vl_vpternlogv4di_1 */
18708 : :
18709 : : case 35:
18710 : : if (!
18711 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18712 : : ((16 == 64 || TARGET_AVX512VL
18713 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18714 : : && ix86_pre_reload_split ()
18715 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18716 : : STRIP_UNARY (operands[4]))
18717 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18718 : : STRIP_UNARY (operands[4]))
18719 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18720 : : STRIP_UNARY (operands[3]))
18721 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18722 : : STRIP_UNARY (operands[3])))))
18723 : : return -1;
18724 : : return 5821; /* *avx512vl_vpternlogv2di_1 */
18725 : :
18726 : : case 36:
18727 : : if (!(
18728 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18729 : : ((64 == 64 || TARGET_AVX512VL
18730 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18731 : : && ix86_pre_reload_split ()) &&
18732 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18733 : : (TARGET_AVX512F && TARGET_EVEX512)))
18734 : : return -1;
18735 : : return 6814; /* *avx512bw_vpternlogv64qi_3 */
18736 : :
18737 : : case 37:
18738 : : if (!(
18739 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18740 : : ((32 == 64 || TARGET_AVX512VL
18741 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18742 : : && ix86_pre_reload_split ()) &&
18743 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18744 : : (TARGET_AVX)))
18745 : : return -1;
18746 : : return 6823; /* *avx512vl_vpternlogv32qi_3 */
18747 : :
18748 : : case 38:
18749 : : if (!
18750 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18751 : : ((16 == 64 || TARGET_AVX512VL
18752 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18753 : : && ix86_pre_reload_split ()))
18754 : : return -1;
18755 : : return 6832; /* *avx512vl_vpternlogv16qi_3 */
18756 : :
18757 : : case 39:
18758 : : if (!(
18759 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18760 : : ((64 == 64 || TARGET_AVX512VL
18761 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18762 : : && ix86_pre_reload_split ()) &&
18763 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18764 : : (TARGET_AVX512F && TARGET_EVEX512)))
18765 : : return -1;
18766 : : return 6841; /* *avx512bw_vpternlogv32hi_3 */
18767 : :
18768 : : case 40:
18769 : : if (!(
18770 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18771 : : ((32 == 64 || TARGET_AVX512VL
18772 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18773 : : && ix86_pre_reload_split ()) &&
18774 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18775 : : (TARGET_AVX)))
18776 : : return -1;
18777 : : return 6850; /* *avx512vl_vpternlogv16hi_3 */
18778 : :
18779 : : case 41:
18780 : : if (!
18781 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18782 : : ((16 == 64 || TARGET_AVX512VL
18783 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18784 : : && ix86_pre_reload_split ()))
18785 : : return -1;
18786 : : return 6859; /* *avx512vl_vpternlogv8hi_3 */
18787 : :
18788 : : case 42:
18789 : : if (!(
18790 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18791 : : ((64 == 64 || TARGET_AVX512VL
18792 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18793 : : && ix86_pre_reload_split ()) &&
18794 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18795 : : (TARGET_AVX512F && TARGET_EVEX512)))
18796 : : return -1;
18797 : : return 6868; /* *avx512f_vpternlogv16si_3 */
18798 : :
18799 : : case 43:
18800 : : if (!(
18801 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18802 : : ((32 == 64 || TARGET_AVX512VL
18803 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18804 : : && ix86_pre_reload_split ()) &&
18805 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18806 : : (TARGET_AVX)))
18807 : : return -1;
18808 : : return 6877; /* *avx512vl_vpternlogv8si_3 */
18809 : :
18810 : : case 44:
18811 : : if (!
18812 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18813 : : ((16 == 64 || TARGET_AVX512VL
18814 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18815 : : && ix86_pre_reload_split ()))
18816 : : return -1;
18817 : : return 6886; /* *avx512vl_vpternlogv4si_3 */
18818 : :
18819 : : case 45:
18820 : : if (!(
18821 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18822 : : ((64 == 64 || TARGET_AVX512VL
18823 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18824 : : && ix86_pre_reload_split ()) &&
18825 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18826 : : (TARGET_AVX512F && TARGET_EVEX512)))
18827 : : return -1;
18828 : : return 6895; /* *avx512f_vpternlogv8di_3 */
18829 : :
18830 : : case 46:
18831 : : if (!(
18832 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18833 : : ((32 == 64 || TARGET_AVX512VL
18834 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18835 : : && ix86_pre_reload_split ()) &&
18836 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18837 : : (TARGET_AVX)))
18838 : : return -1;
18839 : : return 6904; /* *avx512vl_vpternlogv4di_3 */
18840 : :
18841 : : case 47:
18842 : : if (!
18843 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18844 : : ((16 == 64 || TARGET_AVX512VL
18845 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18846 : : && ix86_pre_reload_split ()))
18847 : : return -1;
18848 : : return 6913; /* *avx512vl_vpternlogv2di_3 */
18849 : :
18850 : : default:
18851 : : return -1;
18852 : : }
18853 : :
18854 : : case AND:
18855 : : switch (pattern535 (x2))
18856 : : {
18857 : : case 0:
18858 : : if (!(
18859 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18860 : : ((64 == 64 || TARGET_AVX512VL
18861 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18862 : : && ix86_pre_reload_split ()
18863 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18864 : : STRIP_UNARY (operands[4]))
18865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18866 : : STRIP_UNARY (operands[4]))
18867 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18868 : : STRIP_UNARY (operands[3]))
18869 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18870 : : STRIP_UNARY (operands[3])))) &&
18871 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18872 : : (TARGET_AVX512F && TARGET_EVEX512)))
18873 : : return -1;
18874 : : return 6166; /* *avx512bw_vpternlogv64qi_2 */
18875 : :
18876 : : case 1:
18877 : : if (!(
18878 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18879 : : ((32 == 64 || TARGET_AVX512VL
18880 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18881 : : && ix86_pre_reload_split ()
18882 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18883 : : STRIP_UNARY (operands[4]))
18884 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18885 : : STRIP_UNARY (operands[4]))
18886 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18887 : : STRIP_UNARY (operands[3]))
18888 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18889 : : STRIP_UNARY (operands[3])))) &&
18890 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18891 : : (TARGET_AVX)))
18892 : : return -1;
18893 : : return 6193; /* *avx512vl_vpternlogv32qi_2 */
18894 : :
18895 : : case 2:
18896 : : if (!
18897 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18898 : : ((16 == 64 || TARGET_AVX512VL
18899 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18900 : : && ix86_pre_reload_split ()
18901 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18902 : : STRIP_UNARY (operands[4]))
18903 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18904 : : STRIP_UNARY (operands[4]))
18905 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18906 : : STRIP_UNARY (operands[3]))
18907 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18908 : : STRIP_UNARY (operands[3])))))
18909 : : return -1;
18910 : : return 6220; /* *avx512vl_vpternlogv16qi_2 */
18911 : :
18912 : : case 3:
18913 : : if (!(
18914 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18915 : : ((64 == 64 || TARGET_AVX512VL
18916 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18917 : : && ix86_pre_reload_split ()
18918 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18919 : : STRIP_UNARY (operands[4]))
18920 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18921 : : STRIP_UNARY (operands[4]))
18922 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18923 : : STRIP_UNARY (operands[3]))
18924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18925 : : STRIP_UNARY (operands[3])))) &&
18926 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18927 : : (TARGET_AVX512F && TARGET_EVEX512)))
18928 : : return -1;
18929 : : return 6247; /* *avx512bw_vpternlogv32hi_2 */
18930 : :
18931 : : case 4:
18932 : : if (!(
18933 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18934 : : ((32 == 64 || TARGET_AVX512VL
18935 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18936 : : && ix86_pre_reload_split ()
18937 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18938 : : STRIP_UNARY (operands[4]))
18939 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18940 : : STRIP_UNARY (operands[4]))
18941 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18942 : : STRIP_UNARY (operands[3]))
18943 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18944 : : STRIP_UNARY (operands[3])))) &&
18945 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18946 : : (TARGET_AVX)))
18947 : : return -1;
18948 : : return 6274; /* *avx512vl_vpternlogv16hi_2 */
18949 : :
18950 : : case 5:
18951 : : if (!
18952 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18953 : : ((16 == 64 || TARGET_AVX512VL
18954 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18955 : : && ix86_pre_reload_split ()
18956 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18957 : : STRIP_UNARY (operands[4]))
18958 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18959 : : STRIP_UNARY (operands[4]))
18960 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18961 : : STRIP_UNARY (operands[3]))
18962 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18963 : : STRIP_UNARY (operands[3])))))
18964 : : return -1;
18965 : : return 6301; /* *avx512vl_vpternlogv8hi_2 */
18966 : :
18967 : : case 6:
18968 : : if (!(
18969 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18970 : : ((64 == 64 || TARGET_AVX512VL
18971 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18972 : : && ix86_pre_reload_split ()
18973 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18974 : : STRIP_UNARY (operands[4]))
18975 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18976 : : STRIP_UNARY (operands[4]))
18977 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18978 : : STRIP_UNARY (operands[3]))
18979 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18980 : : STRIP_UNARY (operands[3])))) &&
18981 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18982 : : (TARGET_AVX512F && TARGET_EVEX512)))
18983 : : return -1;
18984 : : return 6328; /* *avx512f_vpternlogv16si_2 */
18985 : :
18986 : : case 7:
18987 : : if (!(
18988 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18989 : : ((32 == 64 || TARGET_AVX512VL
18990 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
18991 : : && ix86_pre_reload_split ()
18992 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18993 : : STRIP_UNARY (operands[4]))
18994 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18995 : : STRIP_UNARY (operands[4]))
18996 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18997 : : STRIP_UNARY (operands[3]))
18998 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18999 : : STRIP_UNARY (operands[3])))) &&
19000 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19001 : : (TARGET_AVX)))
19002 : : return -1;
19003 : : return 6355; /* *avx512vl_vpternlogv8si_2 */
19004 : :
19005 : : case 8:
19006 : : if (!
19007 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19008 : : ((16 == 64 || TARGET_AVX512VL
19009 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19010 : : && ix86_pre_reload_split ()
19011 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19012 : : STRIP_UNARY (operands[4]))
19013 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19014 : : STRIP_UNARY (operands[4]))
19015 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19016 : : STRIP_UNARY (operands[3]))
19017 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19018 : : STRIP_UNARY (operands[3])))))
19019 : : return -1;
19020 : : return 6382; /* *avx512vl_vpternlogv4si_2 */
19021 : :
19022 : : case 9:
19023 : : if (!(
19024 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19025 : : ((64 == 64 || TARGET_AVX512VL
19026 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19027 : : && ix86_pre_reload_split ()
19028 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19029 : : STRIP_UNARY (operands[4]))
19030 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19031 : : STRIP_UNARY (operands[4]))
19032 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19033 : : STRIP_UNARY (operands[3]))
19034 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19035 : : STRIP_UNARY (operands[3])))) &&
19036 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19037 : : (TARGET_AVX512F && TARGET_EVEX512)))
19038 : : return -1;
19039 : : return 6409; /* *avx512f_vpternlogv8di_2 */
19040 : :
19041 : : case 10:
19042 : : if (!(
19043 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19044 : : ((32 == 64 || TARGET_AVX512VL
19045 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19046 : : && ix86_pre_reload_split ()
19047 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19048 : : STRIP_UNARY (operands[4]))
19049 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19050 : : STRIP_UNARY (operands[4]))
19051 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19052 : : STRIP_UNARY (operands[3]))
19053 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19054 : : STRIP_UNARY (operands[3])))) &&
19055 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19056 : : (TARGET_AVX)))
19057 : : return -1;
19058 : : return 6436; /* *avx512vl_vpternlogv4di_2 */
19059 : :
19060 : : case 11:
19061 : : if (!
19062 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19063 : : ((16 == 64 || TARGET_AVX512VL
19064 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19065 : : && ix86_pre_reload_split ()
19066 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19067 : : STRIP_UNARY (operands[4]))
19068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19069 : : STRIP_UNARY (operands[4]))
19070 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19071 : : STRIP_UNARY (operands[3]))
19072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19073 : : STRIP_UNARY (operands[3])))))
19074 : : return -1;
19075 : : return 6463; /* *avx512vl_vpternlogv2di_2 */
19076 : :
19077 : : default:
19078 : : return -1;
19079 : : }
19080 : :
19081 : : case IOR:
19082 : : switch (pattern535 (x2))
19083 : : {
19084 : : case 0:
19085 : : if (!(
19086 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19087 : : ((64 == 64 || TARGET_AVX512VL
19088 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19089 : : && ix86_pre_reload_split ()
19090 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19091 : : STRIP_UNARY (operands[4]))
19092 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19093 : : STRIP_UNARY (operands[4]))
19094 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19095 : : STRIP_UNARY (operands[3]))
19096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19097 : : STRIP_UNARY (operands[3])))) &&
19098 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19099 : : (TARGET_AVX512F && TARGET_EVEX512)))
19100 : : return -1;
19101 : : return 6169; /* *avx512bw_vpternlogv64qi_2 */
19102 : :
19103 : : case 1:
19104 : : if (!(
19105 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19106 : : ((32 == 64 || TARGET_AVX512VL
19107 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19108 : : && ix86_pre_reload_split ()
19109 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19110 : : STRIP_UNARY (operands[4]))
19111 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19112 : : STRIP_UNARY (operands[4]))
19113 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19114 : : STRIP_UNARY (operands[3]))
19115 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19116 : : STRIP_UNARY (operands[3])))) &&
19117 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19118 : : (TARGET_AVX)))
19119 : : return -1;
19120 : : return 6196; /* *avx512vl_vpternlogv32qi_2 */
19121 : :
19122 : : case 2:
19123 : : if (!
19124 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19125 : : ((16 == 64 || TARGET_AVX512VL
19126 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19127 : : && ix86_pre_reload_split ()
19128 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19129 : : STRIP_UNARY (operands[4]))
19130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19131 : : STRIP_UNARY (operands[4]))
19132 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19133 : : STRIP_UNARY (operands[3]))
19134 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19135 : : STRIP_UNARY (operands[3])))))
19136 : : return -1;
19137 : : return 6223; /* *avx512vl_vpternlogv16qi_2 */
19138 : :
19139 : : case 3:
19140 : : if (!(
19141 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19142 : : ((64 == 64 || TARGET_AVX512VL
19143 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19154 : : (TARGET_AVX512F && TARGET_EVEX512)))
19155 : : return -1;
19156 : : return 6250; /* *avx512bw_vpternlogv32hi_2 */
19157 : :
19158 : : case 4:
19159 : : if (!(
19160 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19161 : : ((32 == 64 || TARGET_AVX512VL
19162 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19173 : : (TARGET_AVX)))
19174 : : return -1;
19175 : : return 6277; /* *avx512vl_vpternlogv16hi_2 */
19176 : :
19177 : : case 5:
19178 : : if (!
19179 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19180 : : ((16 == 64 || TARGET_AVX512VL
19181 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19182 : : && ix86_pre_reload_split ()
19183 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19184 : : STRIP_UNARY (operands[4]))
19185 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19186 : : STRIP_UNARY (operands[4]))
19187 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19188 : : STRIP_UNARY (operands[3]))
19189 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19190 : : STRIP_UNARY (operands[3])))))
19191 : : return -1;
19192 : : return 6304; /* *avx512vl_vpternlogv8hi_2 */
19193 : :
19194 : : case 6:
19195 : : if (!(
19196 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19197 : : ((64 == 64 || TARGET_AVX512VL
19198 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19209 : : (TARGET_AVX512F && TARGET_EVEX512)))
19210 : : return -1;
19211 : : return 6331; /* *avx512f_vpternlogv16si_2 */
19212 : :
19213 : : case 7:
19214 : : if (!(
19215 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19216 : : ((32 == 64 || TARGET_AVX512VL
19217 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19228 : : (TARGET_AVX)))
19229 : : return -1;
19230 : : return 6358; /* *avx512vl_vpternlogv8si_2 */
19231 : :
19232 : : case 8:
19233 : : if (!
19234 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19235 : : ((16 == 64 || TARGET_AVX512VL
19236 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19237 : : && ix86_pre_reload_split ()
19238 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19239 : : STRIP_UNARY (operands[4]))
19240 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19241 : : STRIP_UNARY (operands[4]))
19242 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19243 : : STRIP_UNARY (operands[3]))
19244 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19245 : : STRIP_UNARY (operands[3])))))
19246 : : return -1;
19247 : : return 6385; /* *avx512vl_vpternlogv4si_2 */
19248 : :
19249 : : case 9:
19250 : : if (!(
19251 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19252 : : ((64 == 64 || TARGET_AVX512VL
19253 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19264 : : (TARGET_AVX512F && TARGET_EVEX512)))
19265 : : return -1;
19266 : : return 6412; /* *avx512f_vpternlogv8di_2 */
19267 : :
19268 : : case 10:
19269 : : if (!(
19270 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19271 : : ((32 == 64 || TARGET_AVX512VL
19272 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19283 : : (TARGET_AVX)))
19284 : : return -1;
19285 : : return 6439; /* *avx512vl_vpternlogv4di_2 */
19286 : :
19287 : : case 11:
19288 : : if (!
19289 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19290 : : ((16 == 64 || TARGET_AVX512VL
19291 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19292 : : && ix86_pre_reload_split ()
19293 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19294 : : STRIP_UNARY (operands[4]))
19295 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19296 : : STRIP_UNARY (operands[4]))
19297 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19298 : : STRIP_UNARY (operands[3]))
19299 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19300 : : STRIP_UNARY (operands[3])))))
19301 : : return -1;
19302 : : return 6466; /* *avx512vl_vpternlogv2di_2 */
19303 : :
19304 : : default:
19305 : : return -1;
19306 : : }
19307 : :
19308 : : case XOR:
19309 : : switch (pattern535 (x2))
19310 : : {
19311 : : case 0:
19312 : : if (!(
19313 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19314 : : ((64 == 64 || TARGET_AVX512VL
19315 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19316 : : && ix86_pre_reload_split ()
19317 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19318 : : STRIP_UNARY (operands[4]))
19319 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19320 : : STRIP_UNARY (operands[4]))
19321 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19322 : : STRIP_UNARY (operands[3]))
19323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19324 : : STRIP_UNARY (operands[3])))) &&
19325 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19326 : : (TARGET_AVX512F && TARGET_EVEX512)))
19327 : : return -1;
19328 : : return 6172; /* *avx512bw_vpternlogv64qi_2 */
19329 : :
19330 : : case 1:
19331 : : if (!(
19332 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19333 : : ((32 == 64 || TARGET_AVX512VL
19334 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19335 : : && ix86_pre_reload_split ()
19336 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19337 : : STRIP_UNARY (operands[4]))
19338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19339 : : STRIP_UNARY (operands[4]))
19340 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19341 : : STRIP_UNARY (operands[3]))
19342 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19343 : : STRIP_UNARY (operands[3])))) &&
19344 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19345 : : (TARGET_AVX)))
19346 : : return -1;
19347 : : return 6199; /* *avx512vl_vpternlogv32qi_2 */
19348 : :
19349 : : case 2:
19350 : : if (!
19351 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19352 : : ((16 == 64 || TARGET_AVX512VL
19353 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 : : return -1;
19364 : : return 6226; /* *avx512vl_vpternlogv16qi_2 */
19365 : :
19366 : : case 3:
19367 : : if (!(
19368 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19369 : : ((64 == 64 || TARGET_AVX512VL
19370 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19371 : : && ix86_pre_reload_split ()
19372 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19373 : : STRIP_UNARY (operands[4]))
19374 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19375 : : STRIP_UNARY (operands[4]))
19376 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19377 : : STRIP_UNARY (operands[3]))
19378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19379 : : STRIP_UNARY (operands[3])))) &&
19380 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19381 : : (TARGET_AVX512F && TARGET_EVEX512)))
19382 : : return -1;
19383 : : return 6253; /* *avx512bw_vpternlogv32hi_2 */
19384 : :
19385 : : case 4:
19386 : : if (!(
19387 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19388 : : ((32 == 64 || TARGET_AVX512VL
19389 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19390 : : && ix86_pre_reload_split ()
19391 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19392 : : STRIP_UNARY (operands[4]))
19393 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19394 : : STRIP_UNARY (operands[4]))
19395 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19396 : : STRIP_UNARY (operands[3]))
19397 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19398 : : STRIP_UNARY (operands[3])))) &&
19399 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19400 : : (TARGET_AVX)))
19401 : : return -1;
19402 : : return 6280; /* *avx512vl_vpternlogv16hi_2 */
19403 : :
19404 : : case 5:
19405 : : if (!
19406 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19407 : : ((16 == 64 || TARGET_AVX512VL
19408 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 : : return -1;
19419 : : return 6307; /* *avx512vl_vpternlogv8hi_2 */
19420 : :
19421 : : case 6:
19422 : : if (!(
19423 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19424 : : ((64 == 64 || TARGET_AVX512VL
19425 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19426 : : && ix86_pre_reload_split ()
19427 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19428 : : STRIP_UNARY (operands[4]))
19429 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19430 : : STRIP_UNARY (operands[4]))
19431 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19432 : : STRIP_UNARY (operands[3]))
19433 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19434 : : STRIP_UNARY (operands[3])))) &&
19435 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19436 : : (TARGET_AVX512F && TARGET_EVEX512)))
19437 : : return -1;
19438 : : return 6334; /* *avx512f_vpternlogv16si_2 */
19439 : :
19440 : : case 7:
19441 : : if (!(
19442 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19443 : : ((32 == 64 || TARGET_AVX512VL
19444 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19445 : : && ix86_pre_reload_split ()
19446 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19447 : : STRIP_UNARY (operands[4]))
19448 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19449 : : STRIP_UNARY (operands[4]))
19450 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19451 : : STRIP_UNARY (operands[3]))
19452 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19453 : : STRIP_UNARY (operands[3])))) &&
19454 : : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19455 : : (TARGET_AVX)))
19456 : : return -1;
19457 : : return 6361; /* *avx512vl_vpternlogv8si_2 */
19458 : :
19459 : : case 8:
19460 : : if (!
19461 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19462 : : ((16 == 64 || TARGET_AVX512VL
19463 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 : : return -1;
19474 : : return 6388; /* *avx512vl_vpternlogv4si_2 */
19475 : :
19476 : : case 9:
19477 : : if (!(
19478 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19479 : : ((64 == 64 || TARGET_AVX512VL
19480 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19481 : : && ix86_pre_reload_split ()
19482 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19483 : : STRIP_UNARY (operands[4]))
19484 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19485 : : STRIP_UNARY (operands[4]))
19486 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19487 : : STRIP_UNARY (operands[3]))
19488 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19489 : : STRIP_UNARY (operands[3])))) &&
19490 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19491 : : (TARGET_AVX512F && TARGET_EVEX512)))
19492 : : return -1;
19493 : : return 6415; /* *avx512f_vpternlogv8di_2 */
19494 : :
19495 : : case 10:
19496 : : if (!(
19497 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19498 : : ((32 == 64 || TARGET_AVX512VL
19499 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
19500 : : && ix86_pre_reload_split ()
19501 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19502 : : STRIP_UNARY (operands[4]))
19503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19504 : : STRIP_UNARY (operands[4]))
19505 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19506 : : STRIP_UNARY (operands[3]))
19507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19508 : : STRIP_UNARY (operands[3])))) &&
19509 : : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19510 : : (TARGET_AVX)))
19511 : : return -1;
19512 : : return 6442; /* *avx512vl_vpternlogv4di_2 */
19513 : :
19514 : : case 11:
19515 : : if (!
19516 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19517 : : ((16 == 64 || TARGET_AVX512VL
19518 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 : : return -1;
19529 : : return 6469; /* *avx512vl_vpternlogv2di_2 */
19530 : :
19531 : : default:
19532 : : return -1;
19533 : : }
19534 : :
19535 : : default:
19536 : : return -1;
19537 : : }
19538 : :
19539 : : case IOR:
19540 : : return recog_307 (x1, insn, pnum_clobbers);
19541 : :
19542 : : case XOR:
19543 : : return recog_306 (x1, insn, pnum_clobbers);
19544 : :
19545 : : default:
19546 : : return -1;
19547 : : }
19548 : : }
19549 : :
19550 : : int
19551 : : recog_320 (rtx x1 ATTRIBUTE_UNUSED,
19552 : : rtx_insn *insn ATTRIBUTE_UNUSED,
19553 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
19554 : : {
19555 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19556 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
19557 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
19558 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
19559 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
19560 : : rtx x34, x35, x36, x37, x38, x39, x40, x41;
19561 : : rtx x42, x43, x44, x45, x46, x47, x48, x49;
19562 : : rtx x50, x51, x52, x53, x54, x55, x56, x57;
19563 : : rtx x58, x59, x60, x61, x62, x63, x64, x65;
19564 : : rtx x66, x67, x68, x69;
19565 : : int res ATTRIBUTE_UNUSED;
19566 : : x2 = XEXP (x1, 1);
19567 : : x3 = XEXP (x2, 1);
19568 : : if (GET_CODE (x3) != PARALLEL)
19569 : : return -1;
19570 : : x4 = XEXP (x1, 0);
19571 : : operands[0] = x4;
19572 : : x5 = XEXP (x2, 0);
19573 : : switch (GET_CODE (x5))
19574 : : {
19575 : : case VEC_CONCAT:
19576 : : x6 = XEXP (x5, 0);
19577 : : switch (GET_CODE (x6))
19578 : : {
19579 : : case REG:
19580 : : case SUBREG:
19581 : : case MEM:
19582 : : operands[1] = x6;
19583 : : res = recog_284 (x1, insn, pnum_clobbers);
19584 : : if (res >= 0)
19585 : : return res;
19586 : : if (XVECLEN (x3, 0) < 1)
19587 : : return -1;
19588 : : operands[4] = x3;
19589 : : switch (pattern807 (x2))
19590 : : {
19591 : : case 0:
19592 : : if (
19593 : : #line 24152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19594 : : (TARGET_AVX2))
19595 : : return 8755; /* *avx2_zero_extendv16qiv16hi2_2 */
19596 : : break;
19597 : :
19598 : : case 1:
19599 : : if (
19600 : : #line 24152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19601 : : (TARGET_AVX2))
19602 : : return 8756; /* *avx2_zero_extendv16qiv16hi2_2 */
19603 : : break;
19604 : :
19605 : : case 2:
19606 : : if (
19607 : : #line 24152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19608 : : (TARGET_AVX2))
19609 : : return 8757; /* *avx2_zero_extendv16qiv16hi2_2 */
19610 : : break;
19611 : :
19612 : : case 3:
19613 : : if ((
19614 : : #line 24205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19615 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
19616 : : #line 954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19617 : : (TARGET_EVEX512)))
19618 : : return 8763; /* *avx512bw_zero_extendv32qiv32hi2_2 */
19619 : : break;
19620 : :
19621 : : case 4:
19622 : : if ((
19623 : : #line 24205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19624 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
19625 : : #line 954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19626 : : (TARGET_EVEX512)))
19627 : : return 8764; /* *avx512bw_zero_extendv32qiv32hi2_2 */
19628 : : break;
19629 : :
19630 : : case 5:
19631 : : if ((
19632 : : #line 24205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19633 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
19634 : : #line 954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19635 : : (TARGET_EVEX512)))
19636 : : return 8765; /* *avx512bw_zero_extendv32qiv32hi2_2 */
19637 : : break;
19638 : :
19639 : : case 6:
19640 : : if (
19641 : : #line 24316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19642 : : (TARGET_SSE4_1))
19643 : : return 8779; /* *sse4_1_zero_extendv8qiv8hi2_4 */
19644 : : break;
19645 : :
19646 : : case 7:
19647 : : if (
19648 : : #line 24316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19649 : : (TARGET_SSE4_1))
19650 : : return 8780; /* *sse4_1_zero_extendv8qiv8hi2_4 */
19651 : : break;
19652 : :
19653 : : case 8:
19654 : : if (
19655 : : #line 24316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19656 : : (TARGET_SSE4_1))
19657 : : return 8781; /* *sse4_1_zero_extendv8qiv8hi2_4 */
19658 : : break;
19659 : :
19660 : : case 9:
19661 : : if ((
19662 : : #line 24549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19663 : : (TARGET_AVX512F) &&
19664 : : #line 957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19665 : : (TARGET_EVEX512)))
19666 : : return 8815; /* *avx512f_zero_extendv16hiv16si2_2 */
19667 : : break;
19668 : :
19669 : : case 10:
19670 : : if ((
19671 : : #line 24549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19672 : : (TARGET_AVX512F) &&
19673 : : #line 957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19674 : : (TARGET_EVEX512)))
19675 : : return 8816; /* *avx512f_zero_extendv16hiv16si2_2 */
19676 : : break;
19677 : :
19678 : : case 11:
19679 : : if ((
19680 : : #line 24549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19681 : : (TARGET_AVX512F) &&
19682 : : #line 957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19683 : : (TARGET_EVEX512)))
19684 : : return 8817; /* *avx512f_zero_extendv16hiv16si2_2 */
19685 : : break;
19686 : :
19687 : : case 12:
19688 : : if (
19689 : : #line 24603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19690 : : (TARGET_AVX2))
19691 : : return 8823; /* *avx2_zero_extendv8hiv8si2_2 */
19692 : : break;
19693 : :
19694 : : case 13:
19695 : : if (
19696 : : #line 24603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19697 : : (TARGET_AVX2))
19698 : : return 8824; /* *avx2_zero_extendv8hiv8si2_2 */
19699 : : break;
19700 : :
19701 : : case 14:
19702 : : if (
19703 : : #line 24603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19704 : : (TARGET_AVX2))
19705 : : return 8825; /* *avx2_zero_extendv8hiv8si2_2 */
19706 : : break;
19707 : :
19708 : : case 15:
19709 : : if (
19710 : : #line 24721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19711 : : (TARGET_SSE4_1))
19712 : : return 8839; /* *sse4_1_zero_extendv4hiv4si2_4 */
19713 : : break;
19714 : :
19715 : : case 16:
19716 : : if (
19717 : : #line 24721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19718 : : (TARGET_SSE4_1))
19719 : : return 8840; /* *sse4_1_zero_extendv4hiv4si2_4 */
19720 : : break;
19721 : :
19722 : : case 17:
19723 : : if (
19724 : : #line 24721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19725 : : (TARGET_SSE4_1))
19726 : : return 8841; /* *sse4_1_zero_extendv4hiv4si2_4 */
19727 : : break;
19728 : :
19729 : : default:
19730 : : break;
19731 : : }
19732 : : operands[3] = x3;
19733 : : switch (pattern808 (x2))
19734 : : {
19735 : : case 0:
19736 : : if (!(
19737 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19738 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19739 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19740 : : (TARGET_AVX512F && TARGET_EVEX512)))
19741 : : return -1;
19742 : : return 9619; /* *vec_concatv64qi_0_1 */
19743 : :
19744 : : case 1:
19745 : : if (!(
19746 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19747 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19748 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19749 : : (TARGET_AVX)))
19750 : : return -1;
19751 : : return 9620; /* *vec_concatv32qi_0_1 */
19752 : :
19753 : : case 2:
19754 : : if (!
19755 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19756 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
19757 : : return -1;
19758 : : return 9621; /* *vec_concatv16qi_0_1 */
19759 : :
19760 : : case 3:
19761 : : if (!(
19762 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19763 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19764 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19765 : : (TARGET_AVX512F && TARGET_EVEX512)))
19766 : : return -1;
19767 : : return 9622; /* *vec_concatv32hi_0_1 */
19768 : :
19769 : : case 4:
19770 : : if (!(
19771 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19772 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19773 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19774 : : (TARGET_AVX)))
19775 : : return -1;
19776 : : return 9623; /* *vec_concatv16hi_0_1 */
19777 : :
19778 : : case 5:
19779 : : if (!
19780 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19781 : : (TARGET_SSE2 && ix86_pre_reload_split ()))
19782 : : return -1;
19783 : : return 9624; /* *vec_concatv8hi_0_1 */
19784 : :
19785 : : default:
19786 : : return -1;
19787 : : }
19788 : :
19789 : : case SS_TRUNCATE:
19790 : : x7 = XEXP (x5, 1);
19791 : : if (GET_CODE (x7) != SS_TRUNCATE)
19792 : : return -1;
19793 : : x8 = XEXP (x6, 0);
19794 : : operands[1] = x8;
19795 : : x9 = XEXP (x7, 0);
19796 : : operands[2] = x9;
19797 : : switch (XVECLEN (x3, 0))
19798 : : {
19799 : : case 32:
19800 : : if (pattern835 (x3) != 0)
19801 : : return -1;
19802 : : x10 = XVECEXP (x3, 0, 4);
19803 : : if (GET_CODE (x10) != CONST_INT)
19804 : : return -1;
19805 : : x11 = XVECEXP (x3, 0, 5);
19806 : : if (GET_CODE (x11) != CONST_INT)
19807 : : return -1;
19808 : : x12 = XVECEXP (x3, 0, 6);
19809 : : if (GET_CODE (x12) != CONST_INT)
19810 : : return -1;
19811 : : x13 = XVECEXP (x3, 0, 7);
19812 : : if (GET_CODE (x13) != CONST_INT)
19813 : : return -1;
19814 : : x14 = XVECEXP (x3, 0, 8);
19815 : : if (GET_CODE (x14) != CONST_INT)
19816 : : return -1;
19817 : : x15 = XVECEXP (x3, 0, 9);
19818 : : if (GET_CODE (x15) != CONST_INT)
19819 : : return -1;
19820 : : x16 = XVECEXP (x3, 0, 10);
19821 : : if (GET_CODE (x16) != CONST_INT)
19822 : : return -1;
19823 : : x17 = XVECEXP (x3, 0, 11);
19824 : : if (GET_CODE (x17) != CONST_INT
19825 : : || pattern1687 (x3,
19826 : : 23,
19827 : : 22,
19828 : : 21,
19829 : : 20,
19830 : : 8) != 0)
19831 : : return -1;
19832 : : x18 = XVECEXP (x3, 0, 17);
19833 : : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
19834 : : return -1;
19835 : : x19 = XVECEXP (x3, 0, 18);
19836 : : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
19837 : : return -1;
19838 : : x20 = XVECEXP (x3, 0, 19);
19839 : : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
19840 : : return -1;
19841 : : x21 = XVECEXP (x3, 0, 20);
19842 : : if (GET_CODE (x21) != CONST_INT)
19843 : : return -1;
19844 : : x22 = XVECEXP (x3, 0, 21);
19845 : : if (GET_CODE (x22) != CONST_INT)
19846 : : return -1;
19847 : : x23 = XVECEXP (x3, 0, 22);
19848 : : if (GET_CODE (x23) != CONST_INT)
19849 : : return -1;
19850 : : x24 = XVECEXP (x3, 0, 23);
19851 : : if (GET_CODE (x24) != CONST_INT)
19852 : : return -1;
19853 : : x25 = XVECEXP (x3, 0, 24);
19854 : : if (GET_CODE (x25) != CONST_INT)
19855 : : return -1;
19856 : : x26 = XVECEXP (x3, 0, 25);
19857 : : if (GET_CODE (x26) != CONST_INT)
19858 : : return -1;
19859 : : x27 = XVECEXP (x3, 0, 26);
19860 : : if (GET_CODE (x27) != CONST_INT)
19861 : : return -1;
19862 : : x28 = XVECEXP (x3, 0, 27);
19863 : : if (GET_CODE (x28) != CONST_INT
19864 : : || pattern1857 (x3,
19865 : : 31,
19866 : : 30,
19867 : : 29,
19868 : : 28) != 0)
19869 : : return -1;
19870 : : switch (XWINT (x10, 0))
19871 : : {
19872 : : case 4L:
19873 : : if (XWINT (x11, 0) != 5L
19874 : : || XWINT (x12, 0) != 6L
19875 : : || XWINT (x13, 0) != 7L
19876 : : || XWINT (x14, 0) != 16L
19877 : : || XWINT (x15, 0) != 17L
19878 : : || XWINT (x16, 0) != 18L
19879 : : || XWINT (x17, 0) != 19L
19880 : : || XWINT (x21, 0) != 12L
19881 : : || XWINT (x22, 0) != 13L
19882 : : || XWINT (x23, 0) != 14L
19883 : : || XWINT (x24, 0) != 15L
19884 : : || pattern1882 (x3) != 0
19885 : : || pattern1814 (x2,
19886 : : E_V16HImode,
19887 : : E_V16QImode,
19888 : : E_V32QImode) != 0
19889 : : || !
19890 : : #line 19246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19891 : : (TARGET_AVX2 && 1 && 1))
19892 : : return -1;
19893 : : return 8300; /* avx2_packsswb */
19894 : :
19895 : : case 16L:
19896 : : if (XWINT (x11, 0) != 17L
19897 : : || XWINT (x12, 0) != 18L
19898 : : || XWINT (x13, 0) != 19L
19899 : : || XWINT (x14, 0) != 4L
19900 : : || XWINT (x15, 0) != 5L
19901 : : || XWINT (x16, 0) != 6L
19902 : : || XWINT (x17, 0) != 7L
19903 : : || XWINT (x21, 0) != 24L
19904 : : || XWINT (x22, 0) != 25L
19905 : : || XWINT (x23, 0) != 26L
19906 : : || XWINT (x24, 0) != 27L
19907 : : || XWINT (x25, 0) != 12L
19908 : : || XWINT (x26, 0) != 13L
19909 : : || XWINT (x27, 0) != 14L
19910 : : || XWINT (x28, 0) != 15L
19911 : : || pattern1814 (x2,
19912 : : E_V16SImode,
19913 : : E_V16HImode,
19914 : : E_V32HImode) != 0
19915 : : || !
19916 : : #line 19362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19917 : : (TARGET_AVX512BW && TARGET_EVEX512))
19918 : : return -1;
19919 : : return 8308; /* avx512bw_packssdw */
19920 : :
19921 : : default:
19922 : : return -1;
19923 : : }
19924 : :
19925 : : case 64:
19926 : : if (pattern838 (x3,
19927 : : 35,
19928 : : 34,
19929 : : 33,
19930 : : 32) != 0
19931 : : || pattern1687 (x3,
19932 : : 39,
19933 : : 38,
19934 : : 37,
19935 : : 36,
19936 : : 8) != 0
19937 : : || pattern1797 (x3,
19938 : : 13,
19939 : : 12,
19940 : : 11,
19941 : : 10,
19942 : : 9) != 0
19943 : : || pattern1839 (x3,
19944 : : 42,
19945 : : 41,
19946 : : 40,
19947 : : 15,
19948 : : 14) != 0)
19949 : : return -1;
19950 : : x28 = XVECEXP (x3, 0, 27);
19951 : : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 43]
19952 : : || pattern1857 (x3,
19953 : : 47,
19954 : : 46,
19955 : : 45,
19956 : : 44) != 0)
19957 : : return -1;
19958 : : x29 = XVECEXP (x3, 0, 32);
19959 : : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
19960 : : return -1;
19961 : : x30 = XVECEXP (x3, 0, 33);
19962 : : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
19963 : : return -1;
19964 : : x31 = XVECEXP (x3, 0, 34);
19965 : : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
19966 : : return -1;
19967 : : x32 = XVECEXP (x3, 0, 35);
19968 : : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
19969 : : return -1;
19970 : : x33 = XVECEXP (x3, 0, 36);
19971 : : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
19972 : : return -1;
19973 : : x34 = XVECEXP (x3, 0, 37);
19974 : : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
19975 : : return -1;
19976 : : x35 = XVECEXP (x3, 0, 38);
19977 : : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
19978 : : return -1;
19979 : : x36 = XVECEXP (x3, 0, 39);
19980 : : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
19981 : : return -1;
19982 : : x37 = XVECEXP (x3, 0, 40);
19983 : : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 48])
19984 : : return -1;
19985 : : x38 = XVECEXP (x3, 0, 41);
19986 : : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 49])
19987 : : return -1;
19988 : : x39 = XVECEXP (x3, 0, 42);
19989 : : if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 50])
19990 : : return -1;
19991 : : x40 = XVECEXP (x3, 0, 43);
19992 : : if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 51])
19993 : : return -1;
19994 : : x41 = XVECEXP (x3, 0, 44);
19995 : : if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 52])
19996 : : return -1;
19997 : : x42 = XVECEXP (x3, 0, 45);
19998 : : if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 53])
19999 : : return -1;
20000 : : x43 = XVECEXP (x3, 0, 46);
20001 : : if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 54])
20002 : : return -1;
20003 : : x44 = XVECEXP (x3, 0, 47);
20004 : : if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 55])
20005 : : return -1;
20006 : : x45 = XVECEXP (x3, 0, 48);
20007 : : if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
20008 : : return -1;
20009 : : x46 = XVECEXP (x3, 0, 49);
20010 : : if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
20011 : : return -1;
20012 : : x47 = XVECEXP (x3, 0, 50);
20013 : : if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
20014 : : return -1;
20015 : : x48 = XVECEXP (x3, 0, 51);
20016 : : if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
20017 : : return -1;
20018 : : x49 = XVECEXP (x3, 0, 52);
20019 : : if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
20020 : : return -1;
20021 : : x50 = XVECEXP (x3, 0, 53);
20022 : : if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
20023 : : return -1;
20024 : : x51 = XVECEXP (x3, 0, 54);
20025 : : if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
20026 : : return -1;
20027 : : x52 = XVECEXP (x3, 0, 55);
20028 : : if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
20029 : : return -1;
20030 : : x53 = XVECEXP (x3, 0, 56);
20031 : : if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 56])
20032 : : return -1;
20033 : : x54 = XVECEXP (x3, 0, 57);
20034 : : if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 57])
20035 : : return -1;
20036 : : x55 = XVECEXP (x3, 0, 58);
20037 : : if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 58])
20038 : : return -1;
20039 : : x56 = XVECEXP (x3, 0, 59);
20040 : : if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 59])
20041 : : return -1;
20042 : : x57 = XVECEXP (x3, 0, 60);
20043 : : if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 60])
20044 : : return -1;
20045 : : x58 = XVECEXP (x3, 0, 61);
20046 : : if (x58 != const_int_rtx[MAX_SAVED_CONST_INT + 61])
20047 : : return -1;
20048 : : x59 = XVECEXP (x3, 0, 62);
20049 : : if (x59 != const_int_rtx[MAX_SAVED_CONST_INT + 62])
20050 : : return -1;
20051 : : x60 = XVECEXP (x3, 0, 63);
20052 : : if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
20053 : : || pattern1814 (x2,
20054 : : E_V32HImode,
20055 : : E_V32QImode,
20056 : : E_V64QImode) != 0
20057 : : || !
20058 : : #line 19293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20059 : : (TARGET_AVX512BW && TARGET_EVEX512))
20060 : : return -1;
20061 : : return 8302; /* avx512bw_packsswb */
20062 : :
20063 : : case 16:
20064 : : if (pattern836 (x3,
20065 : : 10,
20066 : : 9,
20067 : : 8) != 0
20068 : : || pattern1508 (x3,
20069 : : 7,
20070 : : 6,
20071 : : 5,
20072 : : 4,
20073 : : 11) != 0
20074 : : || pattern1814 (x2,
20075 : : E_V8SImode,
20076 : : E_V8HImode,
20077 : : E_V16HImode) != 0
20078 : : || !
20079 : : #line 19332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20080 : : (TARGET_AVX2 && 1 && 1))
20081 : : return -1;
20082 : : return 8306; /* avx2_packssdw */
20083 : :
20084 : : default:
20085 : : return -1;
20086 : : }
20087 : :
20088 : : case VEC_CONCAT:
20089 : : switch (pattern525 (x2))
20090 : : {
20091 : : case 0:
20092 : : if (!
20093 : : #line 25104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20094 : : (TARGET_AVX512F && TARGET_EVEX512))
20095 : : return -1;
20096 : : return 8910; /* *avx512f_zero_extendv8siv8di2_2 */
20097 : :
20098 : : case 1:
20099 : : if (!
20100 : : #line 25156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20101 : : (TARGET_AVX2))
20102 : : return -1;
20103 : : return 8916; /* *avx2_zero_extendv4siv4di2_2 */
20104 : :
20105 : : case 2:
20106 : : if (!
20107 : : #line 25252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20108 : : (TARGET_SSE4_1))
20109 : : return -1;
20110 : : return 8930; /* *sse4_1_zero_extendv2siv2di2_4 */
20111 : :
20112 : : default:
20113 : : return -1;
20114 : : }
20115 : :
20116 : : default:
20117 : : return -1;
20118 : : }
20119 : :
20120 : : case REG:
20121 : : case SUBREG:
20122 : : case MEM:
20123 : : operands[1] = x5;
20124 : : res = recog_298 (x1, insn, pnum_clobbers);
20125 : : if (res >= 0)
20126 : : return res;
20127 : : if (GET_CODE (x5) != SUBREG)
20128 : : return -1;
20129 : : switch (pattern527 (x2))
20130 : : {
20131 : : case 0:
20132 : : if (!
20133 : : #line 15035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20134 : : (TARGET_AVX512BW && TARGET_EVEX512 && ix86_pre_reload_split ()))
20135 : : return -1;
20136 : : return 7233; /* *avx512bw_permvar_truncv16siv16hi_1_hf */
20137 : :
20138 : : case 1:
20139 : : if (!
20140 : : #line 15088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20141 : : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
20142 : : return -1;
20143 : : return 7235; /* *avx512f_permvar_truncv8siv8hi_1_hf */
20144 : :
20145 : : default:
20146 : : return -1;
20147 : : }
20148 : :
20149 : : case UNSPEC:
20150 : : switch (XVECLEN (x5, 0))
20151 : : {
20152 : : case 2:
20153 : : switch (pattern529 (x2))
20154 : : {
20155 : : case 0:
20156 : : if (!
20157 : : #line 15010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20158 : : (TARGET_AVX512BW && TARGET_EVEX512 && ix86_pre_reload_split ()))
20159 : : return -1;
20160 : : return 7232; /* *avx512bw_permvar_truncv16siv16hi_1 */
20161 : :
20162 : : case 1:
20163 : : if (!
20164 : : #line 15272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20165 : : (TARGET_AVX512VL && TARGET_AVX512VBMI
20166 : : && ix86_pre_reload_split ()))
20167 : : return -1;
20168 : : return 7265; /* *avx512f_permvar_truncv16hiv16qi_1 */
20169 : :
20170 : : case 2:
20171 : : if (!
20172 : : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20173 : : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
20174 : : return -1;
20175 : : return 7234; /* *avx512f_permvar_truncv8siv8hi_1 */
20176 : :
20177 : : case 3:
20178 : : if (!
20179 : : #line 15119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20180 : : (TARGET_AVX512F && TARGET_EVEX512 && ix86_pre_reload_split ()))
20181 : : return -1;
20182 : : return 7236; /* *avx512f_vpermvar_truncv8div8si_1 */
20183 : :
20184 : : case 4:
20185 : : if (!
20186 : : #line 15191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20187 : : (TARGET_AVX512VBMI && TARGET_EVEX512 && ix86_pre_reload_split ()))
20188 : : return -1;
20189 : : return 7252; /* *avx512f_permvar_truncv32hiv32qi_1 */
20190 : :
20191 : : case 5:
20192 : : if (!
20193 : : #line 15291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20194 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
20195 : : return -1;
20196 : : return 7266; /* *avx512f_permvar_truncv4div4si_1 */
20197 : :
20198 : : default:
20199 : : return -1;
20200 : : }
20201 : :
20202 : : case 1:
20203 : : if (XINT (x5, 1) != 149
20204 : : || GET_MODE (x5) != E_V8SFmode
20205 : : || XVECLEN (x3, 0) != 4
20206 : : || pattern835 (x3) != 0
20207 : : || !register_operand (operands[0], E_V4SFmode)
20208 : : || GET_MODE (x2) != E_V4SFmode)
20209 : : return -1;
20210 : : x61 = XVECEXP (x5, 0, 0);
20211 : : operands[1] = x61;
20212 : : if (!register_operand (operands[1], E_V8HImode)
20213 : : || !
20214 : : #line 29076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20215 : : (TARGET_F16C || TARGET_AVX512VL))
20216 : : return -1;
20217 : : return 9643; /* vcvtph2ps */
20218 : :
20219 : : case 4:
20220 : : if (pnum_clobbers == NULL
20221 : : || XINT (x5, 1) != 153)
20222 : : return -1;
20223 : : x62 = XVECEXP (x5, 0, 1);
20224 : : if (GET_CODE (x62) != MEM)
20225 : : return -1;
20226 : : x63 = XEXP (x62, 0);
20227 : : if (GET_CODE (x63) != UNSPEC
20228 : : || XVECLEN (x63, 0) != 3
20229 : : || XINT (x63, 1) != 154)
20230 : : return -1;
20231 : : x64 = XVECEXP (x5, 0, 2);
20232 : : if (GET_CODE (x64) != MEM
20233 : : || GET_MODE (x64) != E_BLKmode)
20234 : : return -1;
20235 : : x65 = XEXP (x64, 0);
20236 : : if (GET_CODE (x65) != SCRATCH
20237 : : || XVECLEN (x3, 0) != 4
20238 : : || pattern835 (x3) != 0)
20239 : : return -1;
20240 : : x66 = XVECEXP (x63, 0, 1);
20241 : : if (!register_operand (x66, E_V4DImode))
20242 : : return -1;
20243 : : x67 = XVECEXP (x63, 0, 2);
20244 : : if (!const1248_operand (x67, E_SImode))
20245 : : return -1;
20246 : : x61 = XVECEXP (x5, 0, 0);
20247 : : switch (GET_CODE (x61))
20248 : : {
20249 : : case REG:
20250 : : case SUBREG:
20251 : : operands[2] = x61;
20252 : : operands[7] = x62;
20253 : : x68 = XVECEXP (x63, 0, 0);
20254 : : operands[3] = x68;
20255 : : operands[4] = x66;
20256 : : operands[6] = x67;
20257 : : x69 = XVECEXP (x5, 0, 3);
20258 : : operands[5] = x69;
20259 : : switch (GET_MODE (operands[0]))
20260 : : {
20261 : : case E_V4SImode:
20262 : : switch (pattern1834 (x2,
20263 : : E_V4SImode,
20264 : : E_SImode,
20265 : : E_V8SImode))
20266 : : {
20267 : : case 0:
20268 : : if (!(
20269 : : #line 29404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20270 : : (TARGET_AVX2) &&
20271 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20272 : : (Pmode == SImode)))
20273 : : return -1;
20274 : : *pnum_clobbers = 1;
20275 : : return 9732; /* *avx2_gatherdiv8si_3 */
20276 : :
20277 : : case 1:
20278 : : if (!(
20279 : : #line 29404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20280 : : (TARGET_AVX2) &&
20281 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20282 : : (Pmode == DImode)))
20283 : : return -1;
20284 : : *pnum_clobbers = 1;
20285 : : return 9734; /* *avx2_gatherdiv8si_3 */
20286 : :
20287 : : default:
20288 : : return -1;
20289 : : }
20290 : :
20291 : : case E_V4SFmode:
20292 : : switch (pattern1834 (x2,
20293 : : E_V4SFmode,
20294 : : E_SFmode,
20295 : : E_V8SFmode))
20296 : : {
20297 : : case 0:
20298 : : if (!(
20299 : : #line 29404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20300 : : (TARGET_AVX2) &&
20301 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20302 : : (Pmode == SImode)))
20303 : : return -1;
20304 : : *pnum_clobbers = 1;
20305 : : return 9733; /* *avx2_gatherdiv8sf_3 */
20306 : :
20307 : : case 1:
20308 : : if (!(
20309 : : #line 29404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20310 : : (TARGET_AVX2) &&
20311 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20312 : : (Pmode == DImode)))
20313 : : return -1;
20314 : : *pnum_clobbers = 1;
20315 : : return 9735; /* *avx2_gatherdiv8sf_3 */
20316 : :
20317 : : default:
20318 : : return -1;
20319 : : }
20320 : :
20321 : : default:
20322 : : return -1;
20323 : : }
20324 : :
20325 : : case PC:
20326 : : operands[6] = x62;
20327 : : x68 = XVECEXP (x63, 0, 0);
20328 : : operands[2] = x68;
20329 : : operands[3] = x66;
20330 : : operands[5] = x67;
20331 : : x69 = XVECEXP (x5, 0, 3);
20332 : : operands[4] = x69;
20333 : : switch (GET_MODE (operands[0]))
20334 : : {
20335 : : case E_V4SImode:
20336 : : switch (pattern1828 (x2,
20337 : : E_V4SImode,
20338 : : E_SImode,
20339 : : E_V8SImode))
20340 : : {
20341 : : case 0:
20342 : : if (!(
20343 : : #line 29428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20344 : : (TARGET_AVX2) &&
20345 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20346 : : (Pmode == SImode)))
20347 : : return -1;
20348 : : *pnum_clobbers = 1;
20349 : : return 9736; /* *avx2_gatherdiv8si_4 */
20350 : :
20351 : : case 1:
20352 : : if (!(
20353 : : #line 29428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20354 : : (TARGET_AVX2) &&
20355 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20356 : : (Pmode == DImode)))
20357 : : return -1;
20358 : : *pnum_clobbers = 1;
20359 : : return 9738; /* *avx2_gatherdiv8si_4 */
20360 : :
20361 : : default:
20362 : : return -1;
20363 : : }
20364 : :
20365 : : case E_V4SFmode:
20366 : : switch (pattern1828 (x2,
20367 : : E_V4SFmode,
20368 : : E_SFmode,
20369 : : E_V8SFmode))
20370 : : {
20371 : : case 0:
20372 : : if (!(
20373 : : #line 29428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20374 : : (TARGET_AVX2) &&
20375 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20376 : : (Pmode == SImode)))
20377 : : return -1;
20378 : : *pnum_clobbers = 1;
20379 : : return 9737; /* *avx2_gatherdiv8sf_4 */
20380 : :
20381 : : case 1:
20382 : : if (!(
20383 : : #line 29428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20384 : : (TARGET_AVX2) &&
20385 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20386 : : (Pmode == DImode)))
20387 : : return -1;
20388 : : *pnum_clobbers = 1;
20389 : : return 9739; /* *avx2_gatherdiv8sf_4 */
20390 : :
20391 : : default:
20392 : : return -1;
20393 : : }
20394 : :
20395 : : default:
20396 : : return -1;
20397 : : }
20398 : :
20399 : : default:
20400 : : return -1;
20401 : : }
20402 : :
20403 : : default:
20404 : : return -1;
20405 : : }
20406 : :
20407 : : default:
20408 : : return -1;
20409 : : }
20410 : : }
20411 : :
20412 : : int
20413 : : recog_325 (rtx x1 ATTRIBUTE_UNUSED,
20414 : : rtx_insn *insn ATTRIBUTE_UNUSED,
20415 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
20416 : : {
20417 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20418 : : rtx x2, x3, x4, x5, x6, x7, x8;
20419 : : int res ATTRIBUTE_UNUSED;
20420 : : x2 = XEXP (x1, 0);
20421 : : operands[0] = x2;
20422 : : x3 = XEXP (x1, 1);
20423 : : x4 = XEXP (x3, 1);
20424 : : operands[2] = x4;
20425 : : x5 = XEXP (x3, 0);
20426 : : switch (GET_CODE (x5))
20427 : : {
20428 : : case REG:
20429 : : case SUBREG:
20430 : : case MEM:
20431 : : case VEC_DUPLICATE:
20432 : : return recog_273 (x1, insn, pnum_clobbers);
20433 : :
20434 : : case NEG:
20435 : : x6 = XEXP (x5, 0);
20436 : : operands[1] = x6;
20437 : : x7 = XEXP (x3, 2);
20438 : : switch (GET_CODE (x7))
20439 : : {
20440 : : case REG:
20441 : : case SUBREG:
20442 : : case MEM:
20443 : : case VEC_DUPLICATE:
20444 : : operands[3] = x7;
20445 : : switch (GET_MODE (operands[0]))
20446 : : {
20447 : : case E_V4SFmode:
20448 : : if (!register_operand (operands[0], E_V4SFmode)
20449 : : || GET_MODE (x3) != E_V4SFmode
20450 : : || GET_MODE (x5) != E_V4SFmode)
20451 : : return -1;
20452 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
20453 : : && nonimmediate_operand (operands[2], E_V4SFmode)
20454 : : && nonimmediate_operand (operands[3], E_V4SFmode)
20455 : : &&
20456 : : #line 6106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20457 : : (TARGET_FMA || TARGET_FMA4))
20458 : : return 3933; /* *fma_fnmadd_v4sf */
20459 : : if (!bcst_vector_operand (operands[1], E_V4SFmode)
20460 : : || !bcst_vector_operand (operands[2], E_V4SFmode)
20461 : : || !bcst_vector_operand (operands[3], E_V4SFmode)
20462 : : || !(
20463 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20464 : : (TARGET_AVX512F && 1 && 1) &&
20465 : : #line 5919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20466 : : (TARGET_AVX512VL)))
20467 : : return -1;
20468 : : return 3957; /* *fma_fnmadd_v4sf */
20469 : :
20470 : : case E_V2DFmode:
20471 : : if (!register_operand (operands[0], E_V2DFmode)
20472 : : || GET_MODE (x3) != E_V2DFmode
20473 : : || GET_MODE (x5) != E_V2DFmode)
20474 : : return -1;
20475 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
20476 : : && nonimmediate_operand (operands[2], E_V2DFmode)
20477 : : && nonimmediate_operand (operands[3], E_V2DFmode)
20478 : : &&
20479 : : #line 6106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20480 : : (TARGET_FMA || TARGET_FMA4))
20481 : : return 3934; /* *fma_fnmadd_v2df */
20482 : : if (!bcst_vector_operand (operands[1], E_V2DFmode)
20483 : : || !bcst_vector_operand (operands[2], E_V2DFmode)
20484 : : || !bcst_vector_operand (operands[3], E_V2DFmode)
20485 : : || !(
20486 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20487 : : (TARGET_AVX512F && 1 && 1) &&
20488 : : #line 5921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20489 : : (TARGET_AVX512VL)))
20490 : : return -1;
20491 : : return 3968; /* *fma_fnmadd_v2df */
20492 : :
20493 : : case E_V8SFmode:
20494 : : if (!register_operand (operands[0], E_V8SFmode)
20495 : : || GET_MODE (x3) != E_V8SFmode
20496 : : || GET_MODE (x5) != E_V8SFmode)
20497 : : return -1;
20498 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
20499 : : && nonimmediate_operand (operands[2], E_V8SFmode)
20500 : : && nonimmediate_operand (operands[3], E_V8SFmode)
20501 : : &&
20502 : : #line 6106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20503 : : (TARGET_FMA || TARGET_FMA4))
20504 : : return 3935; /* *fma_fnmadd_v8sf */
20505 : : if (!bcst_vector_operand (operands[1], E_V8SFmode)
20506 : : || !bcst_vector_operand (operands[2], E_V8SFmode)
20507 : : || !bcst_vector_operand (operands[3], E_V8SFmode)
20508 : : || !(
20509 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20510 : : (TARGET_AVX512F && 1 && 1) &&
20511 : : #line 5919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20512 : : (TARGET_AVX512VL)))
20513 : : return -1;
20514 : : return 3953; /* *fma_fnmadd_v8sf */
20515 : :
20516 : : case E_V4DFmode:
20517 : : if (!register_operand (operands[0], E_V4DFmode)
20518 : : || GET_MODE (x3) != E_V4DFmode
20519 : : || GET_MODE (x5) != E_V4DFmode)
20520 : : return -1;
20521 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
20522 : : && nonimmediate_operand (operands[2], E_V4DFmode)
20523 : : && nonimmediate_operand (operands[3], E_V4DFmode)
20524 : : &&
20525 : : #line 6106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20526 : : (TARGET_FMA || TARGET_FMA4))
20527 : : return 3936; /* *fma_fnmadd_v4df */
20528 : : if (!bcst_vector_operand (operands[1], E_V4DFmode)
20529 : : || !bcst_vector_operand (operands[2], E_V4DFmode)
20530 : : || !bcst_vector_operand (operands[3], E_V4DFmode)
20531 : : || !(
20532 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20533 : : (TARGET_AVX512F && 1 && 1) &&
20534 : : #line 5921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20535 : : (TARGET_AVX512VL)))
20536 : : return -1;
20537 : : return 3964; /* *fma_fnmadd_v4df */
20538 : :
20539 : : case E_V32HFmode:
20540 : : if (pattern866 (x3,
20541 : : E_V32HFmode) != 0
20542 : : || !(
20543 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20544 : : (TARGET_AVX512F && 1 && 1) &&
20545 : : #line 5914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20546 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))
20547 : : return -1;
20548 : : return 3937; /* *fma_fnmadd_v32hf */
20549 : :
20550 : : case E_V16HFmode:
20551 : : if (pattern866 (x3,
20552 : : E_V16HFmode) != 0
20553 : : || !(
20554 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20555 : : (TARGET_AVX512F && 1 && 1) &&
20556 : : #line 5915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20557 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20558 : : return -1;
20559 : : return 3941; /* *fma_fnmadd_v16hf */
20560 : :
20561 : : case E_V8HFmode:
20562 : : if (pattern866 (x3,
20563 : : E_V8HFmode) != 0
20564 : : || !(
20565 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20566 : : (TARGET_AVX512F && 1 && 1) &&
20567 : : #line 5916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20568 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20569 : : return -1;
20570 : : return 3945; /* *fma_fnmadd_v8hf */
20571 : :
20572 : : case E_V16SFmode:
20573 : : if (pattern866 (x3,
20574 : : E_V16SFmode) != 0
20575 : : || !(
20576 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20577 : : (TARGET_AVX512F && 1 && 1) &&
20578 : : #line 5918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20579 : : (TARGET_EVEX512)))
20580 : : return -1;
20581 : : return 3949; /* *fma_fnmadd_v16sf */
20582 : :
20583 : : case E_V8DFmode:
20584 : : if (pattern866 (x3,
20585 : : E_V8DFmode) != 0
20586 : : || !(
20587 : : #line 6138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20588 : : (TARGET_AVX512F && 1 && 1) &&
20589 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20590 : : (TARGET_EVEX512)))
20591 : : return -1;
20592 : : return 3960; /* *fma_fnmadd_v8df */
20593 : :
20594 : : case E_V32BFmode:
20595 : : if (pattern926 (x3,
20596 : : E_V32BFmode) != 0
20597 : : || !(
20598 : : #line 32198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20599 : : (TARGET_AVX10_2_256) &&
20600 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20601 : : (TARGET_AVX10_2_512)))
20602 : : return -1;
20603 : : return 10638; /* avx10_2_fnmaddnepbf16_v32bf */
20604 : :
20605 : : case E_V16BFmode:
20606 : : if (pattern926 (x3,
20607 : : E_V16BFmode) != 0
20608 : : || !
20609 : : #line 32198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20610 : : (TARGET_AVX10_2_256))
20611 : : return -1;
20612 : : return 10640; /* avx10_2_fnmaddnepbf16_v16bf */
20613 : :
20614 : : case E_V8BFmode:
20615 : : if (pattern926 (x3,
20616 : : E_V8BFmode) != 0
20617 : : || !
20618 : : #line 32198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20619 : : (TARGET_AVX10_2_256))
20620 : : return -1;
20621 : : return 10642; /* avx10_2_fnmaddnepbf16_v8bf */
20622 : :
20623 : : default:
20624 : : return -1;
20625 : : }
20626 : :
20627 : : case NEG:
20628 : : x8 = XEXP (x7, 0);
20629 : : operands[3] = x8;
20630 : : switch (GET_MODE (operands[0]))
20631 : : {
20632 : : case E_V4SFmode:
20633 : : if (pattern867 (x3,
20634 : : E_V4SFmode) != 0)
20635 : : return -1;
20636 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
20637 : : && nonimmediate_operand (operands[2], E_V4SFmode)
20638 : : && nonimmediate_operand (operands[3], E_V4SFmode)
20639 : : &&
20640 : : #line 6213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20641 : : (TARGET_FMA || TARGET_FMA4))
20642 : : return 4004; /* *fma_fnmsub_v4sf */
20643 : : if (!bcst_vector_operand (operands[1], E_V4SFmode)
20644 : : || !bcst_vector_operand (operands[2], E_V4SFmode)
20645 : : || !bcst_vector_operand (operands[3], E_V4SFmode)
20646 : : || !(
20647 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20648 : : (TARGET_AVX512F && 1 && 1) &&
20649 : : #line 5919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20650 : : (TARGET_AVX512VL)))
20651 : : return -1;
20652 : : return 4040; /* *fma_fnmsub_v4sf */
20653 : :
20654 : : case E_V2DFmode:
20655 : : if (pattern867 (x3,
20656 : : E_V2DFmode) != 0)
20657 : : return -1;
20658 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
20659 : : && nonimmediate_operand (operands[2], E_V2DFmode)
20660 : : && nonimmediate_operand (operands[3], E_V2DFmode)
20661 : : &&
20662 : : #line 6213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20663 : : (TARGET_FMA || TARGET_FMA4))
20664 : : return 4008; /* *fma_fnmsub_v2df */
20665 : : if (!bcst_vector_operand (operands[1], E_V2DFmode)
20666 : : || !bcst_vector_operand (operands[2], E_V2DFmode)
20667 : : || !bcst_vector_operand (operands[3], E_V2DFmode)
20668 : : || !(
20669 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20670 : : (TARGET_AVX512F && 1 && 1) &&
20671 : : #line 5921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20672 : : (TARGET_AVX512VL)))
20673 : : return -1;
20674 : : return 4051; /* *fma_fnmsub_v2df */
20675 : :
20676 : : case E_V8SFmode:
20677 : : if (pattern867 (x3,
20678 : : E_V8SFmode) != 0)
20679 : : return -1;
20680 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
20681 : : && nonimmediate_operand (operands[2], E_V8SFmode)
20682 : : && nonimmediate_operand (operands[3], E_V8SFmode)
20683 : : &&
20684 : : #line 6213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20685 : : (TARGET_FMA || TARGET_FMA4))
20686 : : return 4012; /* *fma_fnmsub_v8sf */
20687 : : if (!bcst_vector_operand (operands[1], E_V8SFmode)
20688 : : || !bcst_vector_operand (operands[2], E_V8SFmode)
20689 : : || !bcst_vector_operand (operands[3], E_V8SFmode)
20690 : : || !(
20691 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20692 : : (TARGET_AVX512F && 1 && 1) &&
20693 : : #line 5919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20694 : : (TARGET_AVX512VL)))
20695 : : return -1;
20696 : : return 4036; /* *fma_fnmsub_v8sf */
20697 : :
20698 : : case E_V4DFmode:
20699 : : if (pattern867 (x3,
20700 : : E_V4DFmode) != 0)
20701 : : return -1;
20702 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
20703 : : && nonimmediate_operand (operands[2], E_V4DFmode)
20704 : : && nonimmediate_operand (operands[3], E_V4DFmode)
20705 : : &&
20706 : : #line 6213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20707 : : (TARGET_FMA || TARGET_FMA4))
20708 : : return 4016; /* *fma_fnmsub_v4df */
20709 : : if (!bcst_vector_operand (operands[1], E_V4DFmode)
20710 : : || !bcst_vector_operand (operands[2], E_V4DFmode)
20711 : : || !bcst_vector_operand (operands[3], E_V4DFmode)
20712 : : || !(
20713 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20714 : : (TARGET_AVX512F && 1 && 1) &&
20715 : : #line 5921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20716 : : (TARGET_AVX512VL)))
20717 : : return -1;
20718 : : return 4047; /* *fma_fnmsub_v4df */
20719 : :
20720 : : case E_V32HFmode:
20721 : : if (pattern868 (x3,
20722 : : E_V32HFmode) != 0
20723 : : || !(
20724 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20725 : : (TARGET_AVX512F && 1 && 1) &&
20726 : : #line 5914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20727 : : (TARGET_AVX512FP16 && TARGET_EVEX512)))
20728 : : return -1;
20729 : : return 4020; /* *fma_fnmsub_v32hf */
20730 : :
20731 : : case E_V16HFmode:
20732 : : if (pattern868 (x3,
20733 : : E_V16HFmode) != 0
20734 : : || !(
20735 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20736 : : (TARGET_AVX512F && 1 && 1) &&
20737 : : #line 5915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20738 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20739 : : return -1;
20740 : : return 4024; /* *fma_fnmsub_v16hf */
20741 : :
20742 : : case E_V8HFmode:
20743 : : if (pattern868 (x3,
20744 : : E_V8HFmode) != 0
20745 : : || !(
20746 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20747 : : (TARGET_AVX512F && 1 && 1) &&
20748 : : #line 5916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20749 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20750 : : return -1;
20751 : : return 4028; /* *fma_fnmsub_v8hf */
20752 : :
20753 : : case E_V16SFmode:
20754 : : if (pattern868 (x3,
20755 : : E_V16SFmode) != 0
20756 : : || !(
20757 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20758 : : (TARGET_AVX512F && 1 && 1) &&
20759 : : #line 5918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20760 : : (TARGET_EVEX512)))
20761 : : return -1;
20762 : : return 4032; /* *fma_fnmsub_v16sf */
20763 : :
20764 : : case E_V8DFmode:
20765 : : if (pattern868 (x3,
20766 : : E_V8DFmode) != 0
20767 : : || !(
20768 : : #line 6246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20769 : : (TARGET_AVX512F && 1 && 1) &&
20770 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20771 : : (TARGET_EVEX512)))
20772 : : return -1;
20773 : : return 4043; /* *fma_fnmsub_v8df */
20774 : :
20775 : : case E_V32BFmode:
20776 : : if (pattern927 (x3,
20777 : : E_V32BFmode) != 0
20778 : : || !(
20779 : : #line 32329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20780 : : (TARGET_AVX10_2_256) &&
20781 : : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20782 : : (TARGET_AVX10_2_512)))
20783 : : return -1;
20784 : : return 10662; /* avx10_2_fnmsubnepbf16_v32bf */
20785 : :
20786 : : case E_V16BFmode:
20787 : : if (pattern927 (x3,
20788 : : E_V16BFmode) != 0
20789 : : || !
20790 : : #line 32329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20791 : : (TARGET_AVX10_2_256))
20792 : : return -1;
20793 : : return 10664; /* avx10_2_fnmsubnepbf16_v16bf */
20794 : :
20795 : : case E_V8BFmode:
20796 : : if (pattern927 (x3,
20797 : : E_V8BFmode) != 0
20798 : : || !
20799 : : #line 32329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20800 : : (TARGET_AVX10_2_256))
20801 : : return -1;
20802 : : return 10666; /* avx10_2_fnmsubnepbf16_v8bf */
20803 : :
20804 : : default:
20805 : : return -1;
20806 : : }
20807 : :
20808 : : default:
20809 : : return -1;
20810 : : }
20811 : :
20812 : : default:
20813 : : return -1;
20814 : : }
20815 : : }
20816 : :
20817 : : int
20818 : : recog_329 (rtx x1 ATTRIBUTE_UNUSED,
20819 : : rtx_insn *insn ATTRIBUTE_UNUSED,
20820 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
20821 : : {
20822 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20823 : : int res ATTRIBUTE_UNUSED;
20824 : : switch (pattern29 (x1))
20825 : : {
20826 : : case 0:
20827 : : if (nonimmediate_operand (operands[1], E_V16HImode)
20828 : : && nonmemory_operand (operands[2], E_DImode)
20829 : : && (
20830 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20831 : : (TARGET_AVX512VL) &&
20832 : : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20833 : : (TARGET_AVX512BW)))
20834 : : return 7640; /* *ashlv16hi3 */
20835 : : if (!register_operand (operands[1], E_V16HImode))
20836 : : return -1;
20837 : : if (nonmemory_operand (operands[2], E_DImode)
20838 : : && (
20839 : : #line 17304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20840 : : (TARGET_SSE2) &&
20841 : : #line 775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20842 : : (TARGET_AVX2)))
20843 : : return 7664; /* ashlv16hi3 */
20844 : : if (!nonimmediate_operand (operands[2], E_V16HImode)
20845 : : || !(
20846 : : #line 28934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20847 : : (TARGET_AVX512BW) &&
20848 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20849 : : (TARGET_AVX512VL)))
20850 : : return -1;
20851 : : return 9595; /* avx512vl_ashlvv16hi */
20852 : :
20853 : : case 1:
20854 : : if (nonimmediate_operand (operands[1], E_V8HImode)
20855 : : && nonmemory_operand (operands[2], E_DImode)
20856 : : && (
20857 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20858 : : (TARGET_AVX512VL) &&
20859 : : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20860 : : (TARGET_AVX512BW)))
20861 : : return 7644; /* *ashlv8hi3 */
20862 : : if (!register_operand (operands[1], E_V8HImode))
20863 : : return -1;
20864 : : if (nonmemory_operand (operands[2], E_DImode)
20865 : : &&
20866 : : #line 17304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20867 : : (TARGET_SSE2))
20868 : : return 7666; /* ashlv8hi3 */
20869 : : if (!nonimmediate_operand (operands[2], E_V8HImode)
20870 : : || !(
20871 : : #line 28934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20872 : : (TARGET_AVX512BW) &&
20873 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20874 : : (TARGET_AVX512VL)))
20875 : : return -1;
20876 : : return 9591; /* avx512vl_ashlvv8hi */
20877 : :
20878 : : case 2:
20879 : : if (nonimmediate_operand (operands[1], E_V8SImode)
20880 : : && nonmemory_operand (operands[2], E_DImode)
20881 : : &&
20882 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20883 : : (TARGET_AVX512VL))
20884 : : return 7648; /* *ashlv8si3 */
20885 : : if (!register_operand (operands[1], E_V8SImode))
20886 : : return -1;
20887 : : if (nonmemory_operand (operands[2], E_DImode)
20888 : : && (
20889 : : #line 17304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20890 : : (TARGET_SSE2) &&
20891 : : #line 776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20892 : : (TARGET_AVX2)))
20893 : : return 7668; /* ashlv8si3 */
20894 : : if (!nonimmediate_operand (operands[2], E_V8SImode)
20895 : : || !
20896 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20897 : : (TARGET_AVX2 && 1))
20898 : : return -1;
20899 : : return 9571; /* avx2_ashlvv8si */
20900 : :
20901 : : case 3:
20902 : : if (nonimmediate_operand (operands[1], E_V4SImode)
20903 : : && nonmemory_operand (operands[2], E_DImode)
20904 : : &&
20905 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20906 : : (TARGET_AVX512VL))
20907 : : return 7652; /* *ashlv4si3 */
20908 : : if (!register_operand (operands[1], E_V4SImode))
20909 : : return -1;
20910 : : if (nonmemory_operand (operands[2], E_DImode)
20911 : : &&
20912 : : #line 17304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20913 : : (TARGET_SSE2))
20914 : : return 7670; /* ashlv4si3 */
20915 : : if (!nonimmediate_operand (operands[2], E_V4SImode)
20916 : : || !
20917 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20918 : : (TARGET_AVX2 && 1))
20919 : : return -1;
20920 : : return 9575; /* avx2_ashlvv4si */
20921 : :
20922 : : case 4:
20923 : : if (nonimmediate_operand (operands[1], E_V4DImode)
20924 : : && nonmemory_operand (operands[2], E_DImode)
20925 : : &&
20926 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20927 : : (TARGET_AVX512VL))
20928 : : return 7656; /* *ashlv4di3 */
20929 : : if (!register_operand (operands[1], E_V4DImode))
20930 : : return -1;
20931 : : if (nonmemory_operand (operands[2], E_DImode)
20932 : : && (
20933 : : #line 17304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20934 : : (TARGET_SSE2) &&
20935 : : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20936 : : (TARGET_AVX2)))
20937 : : return 7672; /* ashlv4di3 */
20938 : : if (!nonimmediate_operand (operands[2], E_V4DImode)
20939 : : || !
20940 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20941 : : (TARGET_AVX2 && 1))
20942 : : return -1;
20943 : : return 9583; /* avx2_ashlvv4di */
20944 : :
20945 : : case 5:
20946 : : if (nonimmediate_operand (operands[1], E_V2DImode)
20947 : : && nonmemory_operand (operands[2], E_DImode)
20948 : : &&
20949 : : #line 17290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20950 : : (TARGET_AVX512VL))
20951 : : return 7660; /* *ashlv2di3 */
20952 : : if (!register_operand (operands[1], E_V2DImode))
20953 : : return -1;
20954 : : if (nonmemory_operand (operands[2], E_DImode)
20955 : : &&
20956 : : #line 17304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20957 : : (TARGET_SSE2))
20958 : : return 7674; /* ashlv2di3 */
20959 : : if (!nonimmediate_operand (operands[2], E_V2DImode)
20960 : : || !
20961 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20962 : : (TARGET_AVX2 && 1))
20963 : : return -1;
20964 : : return 9587; /* avx2_ashlvv2di */
20965 : :
20966 : : case 6:
20967 : : if (nonimmediate_operand (operands[1], E_V32HImode)
20968 : : && nonmemory_operand (operands[2], E_DImode)
20969 : : && (
20970 : : #line 17378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20971 : : (TARGET_AVX512F) &&
20972 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20973 : : (TARGET_AVX512BW && TARGET_EVEX512)))
20974 : : return 7680; /* ashlv32hi3 */
20975 : : if (!register_operand (operands[1], E_V32HImode)
20976 : : || !nonimmediate_operand (operands[2], E_V32HImode)
20977 : : || !(
20978 : : #line 28934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20979 : : (TARGET_AVX512BW) &&
20980 : : #line 686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20981 : : (TARGET_EVEX512)))
20982 : : return -1;
20983 : : return 9599; /* avx512bw_ashlvv32hi */
20984 : :
20985 : : case 7:
20986 : : if (nonimmediate_operand (operands[1], E_V16SImode)
20987 : : && nonmemory_operand (operands[2], E_DImode)
20988 : : && (
20989 : : #line 17378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20990 : : (TARGET_AVX512F) &&
20991 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20992 : : (TARGET_EVEX512)))
20993 : : return 7684; /* ashlv16si3 */
20994 : : if (!register_operand (operands[1], E_V16SImode)
20995 : : || !nonimmediate_operand (operands[2], E_V16SImode)
20996 : : || !(
20997 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20998 : : (TARGET_AVX2 && 1) &&
20999 : : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21000 : : (TARGET_AVX512F && TARGET_EVEX512)))
21001 : : return -1;
21002 : : return 9567; /* avx512f_ashlvv16si */
21003 : :
21004 : : case 8:
21005 : : if (nonimmediate_operand (operands[1], E_V8DImode)
21006 : : && nonmemory_operand (operands[2], E_DImode)
21007 : : && (
21008 : : #line 17378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21009 : : (TARGET_AVX512F) &&
21010 : : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21011 : : (TARGET_EVEX512)))
21012 : : return 7688; /* ashlv8di3 */
21013 : : if (!register_operand (operands[1], E_V8DImode)
21014 : : || !nonimmediate_operand (operands[2], E_V8DImode)
21015 : : || !(
21016 : : #line 28923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21017 : : (TARGET_AVX2 && 1) &&
21018 : : #line 805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21019 : : (TARGET_AVX512F && TARGET_EVEX512)))
21020 : : return -1;
21021 : : return 9579; /* avx512f_ashlvv8di */
21022 : :
21023 : : case 9:
21024 : : if (register_operand (operands[1], E_V1TImode)
21025 : : && const_0_to_255_not_mul_8_operand (operands[2], E_SImode)
21026 : : &&
21027 : : #line 17453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21028 : : (TARGET_SSE2 && TARGET_64BIT
21029 : : && ix86_pre_reload_split ()))
21030 : : return 7692; /* *ashlv1ti3_internal */
21031 : : if (!const_0_to_255_mul_8_operand (operands[2], E_SImode))
21032 : : return -1;
21033 : : if (nonimmediate_operand (operands[1], E_V1TImode)
21034 : : && (
21035 : : #line 17597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21036 : : (TARGET_AVX512BW) &&
21037 : : #line 730 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21038 : : (TARGET_AVX512VL)))
21039 : : return 7701; /* avx512bw_ashlv1ti3 */
21040 : : if (!register_operand (operands[1], E_V1TImode)
21041 : : || !
21042 : : #line 17612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21043 : : (TARGET_SSE2))
21044 : : return -1;
21045 : : return 7705; /* sse2_ashlv1ti3 */
21046 : :
21047 : : case 10:
21048 : : if (!(
21049 : : #line 17597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21050 : : (TARGET_AVX512BW) &&
21051 : : #line 730 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21052 : : (TARGET_EVEX512)))
21053 : : return -1;
21054 : : return 7697; /* avx512bw_ashlv4ti3 */
21055 : :
21056 : : case 11:
21057 : : if (nonimmediate_operand (operands[1], E_V2TImode)
21058 : : && (
21059 : : #line 17597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21060 : : (TARGET_AVX512BW) &&
21061 : : #line 730 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21062 : : (TARGET_AVX512VL)))
21063 : : return 7699; /* avx512bw_ashlv2ti3 */
21064 : : if (!register_operand (operands[1], E_V2TImode)
21065 : : || !(
21066 : : #line 17612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21067 : : (TARGET_SSE2) &&
21068 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21069 : : (TARGET_AVX2)))
21070 : : return -1;
21071 : : return 7703; /* avx2_ashlv2ti3 */
21072 : :
21073 : : default:
21074 : : return -1;
21075 : : }
21076 : : }
21077 : :
21078 : : int
21079 : : recog_335 (rtx x1 ATTRIBUTE_UNUSED,
21080 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21081 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21082 : : {
21083 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21084 : : rtx x2, x3, x4;
21085 : : int res ATTRIBUTE_UNUSED;
21086 : : x2 = XEXP (x1, 0);
21087 : : operands[0] = x2;
21088 : : x3 = XEXP (x1, 1);
21089 : : x4 = XEXP (x3, 0);
21090 : : operands[1] = x4;
21091 : : switch (GET_MODE (operands[0]))
21092 : : {
21093 : : case E_V64QImode:
21094 : : if (!register_operand (operands[0], E_V64QImode)
21095 : : || GET_MODE (x3) != E_V64QImode
21096 : : || !vector_operand (operands[1], E_V64QImode)
21097 : : || !(
21098 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21099 : : (TARGET_SSSE3) &&
21100 : : #line 23341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21101 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21102 : : return -1;
21103 : : return 8644; /* *absv64qi2 */
21104 : :
21105 : : case E_V32QImode:
21106 : : if (!register_operand (operands[0], E_V32QImode)
21107 : : || GET_MODE (x3) != E_V32QImode
21108 : : || !vector_operand (operands[1], E_V32QImode)
21109 : : || !(
21110 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21111 : : (TARGET_SSSE3) &&
21112 : : #line 23341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21113 : : (TARGET_AVX2)))
21114 : : return -1;
21115 : : return 8645; /* *absv32qi2 */
21116 : :
21117 : : case E_V16QImode:
21118 : : if (!register_operand (operands[0], E_V16QImode)
21119 : : || GET_MODE (x3) != E_V16QImode
21120 : : || !vector_operand (operands[1], E_V16QImode)
21121 : : || !
21122 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21123 : : (TARGET_SSSE3))
21124 : : return -1;
21125 : : return 8646; /* *absv16qi2 */
21126 : :
21127 : : case E_V32HImode:
21128 : : if (!register_operand (operands[0], E_V32HImode)
21129 : : || GET_MODE (x3) != E_V32HImode
21130 : : || !vector_operand (operands[1], E_V32HImode)
21131 : : || !(
21132 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21133 : : (TARGET_SSSE3) &&
21134 : : #line 23342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21135 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21136 : : return -1;
21137 : : return 8647; /* *absv32hi2 */
21138 : :
21139 : : case E_V16HImode:
21140 : : if (!register_operand (operands[0], E_V16HImode)
21141 : : || GET_MODE (x3) != E_V16HImode
21142 : : || !vector_operand (operands[1], E_V16HImode)
21143 : : || !(
21144 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21145 : : (TARGET_SSSE3) &&
21146 : : #line 23342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21147 : : (TARGET_AVX2)))
21148 : : return -1;
21149 : : return 8648; /* *absv16hi2 */
21150 : :
21151 : : case E_V8HImode:
21152 : : if (!register_operand (operands[0], E_V8HImode)
21153 : : || GET_MODE (x3) != E_V8HImode
21154 : : || !vector_operand (operands[1], E_V8HImode)
21155 : : || !
21156 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21157 : : (TARGET_SSSE3))
21158 : : return -1;
21159 : : return 8649; /* *absv8hi2 */
21160 : :
21161 : : case E_V16SImode:
21162 : : if (!register_operand (operands[0], E_V16SImode)
21163 : : || GET_MODE (x3) != E_V16SImode
21164 : : || !vector_operand (operands[1], E_V16SImode)
21165 : : || !(
21166 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21167 : : (TARGET_SSSE3) &&
21168 : : #line 23343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21169 : : (TARGET_AVX512F && TARGET_EVEX512)))
21170 : : return -1;
21171 : : return 8650; /* *absv16si2 */
21172 : :
21173 : : case E_V8SImode:
21174 : : if (!register_operand (operands[0], E_V8SImode)
21175 : : || GET_MODE (x3) != E_V8SImode
21176 : : || !vector_operand (operands[1], E_V8SImode)
21177 : : || !(
21178 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21179 : : (TARGET_SSSE3) &&
21180 : : #line 23343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21181 : : (TARGET_AVX2)))
21182 : : return -1;
21183 : : return 8651; /* *absv8si2 */
21184 : :
21185 : : case E_V4SImode:
21186 : : if (!register_operand (operands[0], E_V4SImode)
21187 : : || GET_MODE (x3) != E_V4SImode
21188 : : || !vector_operand (operands[1], E_V4SImode)
21189 : : || !
21190 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21191 : : (TARGET_SSSE3))
21192 : : return -1;
21193 : : return 8652; /* *absv4si2 */
21194 : :
21195 : : case E_V8DImode:
21196 : : if (!register_operand (operands[0], E_V8DImode)
21197 : : || GET_MODE (x3) != E_V8DImode
21198 : : || !vector_operand (operands[1], E_V8DImode)
21199 : : || !(
21200 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21201 : : (TARGET_SSSE3) &&
21202 : : #line 23344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21203 : : (TARGET_AVX512F && TARGET_EVEX512)))
21204 : : return -1;
21205 : : return 8653; /* *absv8di2 */
21206 : :
21207 : : case E_V4DImode:
21208 : : if (!register_operand (operands[0], E_V4DImode)
21209 : : || GET_MODE (x3) != E_V4DImode
21210 : : || !vector_operand (operands[1], E_V4DImode)
21211 : : || !(
21212 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21213 : : (TARGET_SSSE3) &&
21214 : : #line 23344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21215 : : (TARGET_AVX512VL)))
21216 : : return -1;
21217 : : return 8654; /* *absv4di2 */
21218 : :
21219 : : case E_V2DImode:
21220 : : if (!register_operand (operands[0], E_V2DImode)
21221 : : || GET_MODE (x3) != E_V2DImode
21222 : : || !vector_operand (operands[1], E_V2DImode)
21223 : : || !(
21224 : : #line 23351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21225 : : (TARGET_SSSE3) &&
21226 : : #line 23345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21227 : : (TARGET_AVX512VL)))
21228 : : return -1;
21229 : : return 8655; /* *absv2di2 */
21230 : :
21231 : : default:
21232 : : return -1;
21233 : : }
21234 : : }
21235 : :
21236 : : int
21237 : : recog_339 (rtx x1 ATTRIBUTE_UNUSED,
21238 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21239 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21240 : : {
21241 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21242 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21243 : : rtx x10, x11, x12, x13, x14, x15;
21244 : : int res ATTRIBUTE_UNUSED;
21245 : : x2 = XEXP (x1, 0);
21246 : : operands[0] = x2;
21247 : : x3 = XEXP (x1, 1);
21248 : : x4 = XEXP (x3, 0);
21249 : : switch (GET_CODE (x4))
21250 : : {
21251 : : case REG:
21252 : : case SUBREG:
21253 : : switch (pattern49 (x3))
21254 : : {
21255 : : case 0:
21256 : : if (!
21257 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21258 : : (TARGET_AVX512F && TARGET_EVEX512))
21259 : : return -1;
21260 : : return 7221; /* *avx512f_truncatev16siv16qi2 */
21261 : :
21262 : : case 1:
21263 : : if (!(
21264 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21265 : : (TARGET_AVX512VL) &&
21266 : : #line 15224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21267 : : (TARGET_AVX512BW)))
21268 : : return -1;
21269 : : return 7263; /* *avx512vl_truncatev16hiv16qi2 */
21270 : :
21271 : : case 2:
21272 : : if (!
21273 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21274 : : (TARGET_AVX512F && TARGET_EVEX512))
21275 : : return -1;
21276 : : return 7224; /* *avx512f_truncatev16siv16hi2 */
21277 : :
21278 : : case 3:
21279 : : if (!
21280 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21281 : : (TARGET_AVX512F && TARGET_EVEX512))
21282 : : return -1;
21283 : : return 7227; /* *avx512f_truncatev8div8si2 */
21284 : :
21285 : : case 4:
21286 : : if (!
21287 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21288 : : (TARGET_AVX512F && TARGET_EVEX512))
21289 : : return -1;
21290 : : return 7230; /* *avx512f_truncatev8div8hi2 */
21291 : :
21292 : : case 5:
21293 : : if (!
21294 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21295 : : (TARGET_AVX512VL))
21296 : : return -1;
21297 : : return 7260; /* *avx512vl_truncatev8siv8hi2 */
21298 : :
21299 : : case 6:
21300 : : if (!
21301 : : #line 15161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21302 : : (TARGET_AVX512BW && TARGET_EVEX512))
21303 : : return -1;
21304 : : return 7250; /* avx512bw_truncatev32hiv32qi2 */
21305 : :
21306 : : case 7:
21307 : : if (!
21308 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21309 : : (TARGET_AVX512VL))
21310 : : return -1;
21311 : : return 7257; /* *avx512vl_truncatev4div4si2 */
21312 : :
21313 : : default:
21314 : : return -1;
21315 : : }
21316 : :
21317 : : case LSHIFTRT:
21318 : : x5 = XEXP (x4, 1);
21319 : : if (GET_CODE (x5) != CONST_INT)
21320 : : return -1;
21321 : : x6 = XEXP (x4, 0);
21322 : : switch (GET_CODE (x6))
21323 : : {
21324 : : case MULT:
21325 : : if (XWINT (x5, 0) != 16L)
21326 : : return -1;
21327 : : x7 = XEXP (x6, 0);
21328 : : switch (GET_CODE (x7))
21329 : : {
21330 : : case SIGN_EXTEND:
21331 : : switch (pattern811 (x3,
21332 : : SIGN_EXTEND))
21333 : : {
21334 : : case 0:
21335 : : if (!(
21336 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21337 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21338 : : && 1 && 1) &&
21339 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21340 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21341 : : return -1;
21342 : : return 7561; /* *smulv32hi3_highpart */
21343 : :
21344 : : case 1:
21345 : : if (!(
21346 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21347 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21348 : : && 1 && 1) &&
21349 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21350 : : (TARGET_AVX2)))
21351 : : return -1;
21352 : : return 7565; /* *smulv16hi3_highpart */
21353 : :
21354 : : case 2:
21355 : : if (!
21356 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21357 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21358 : : && 1 && 1))
21359 : : return -1;
21360 : : return 7569; /* *smulv8hi3_highpart */
21361 : :
21362 : : default:
21363 : : return -1;
21364 : : }
21365 : :
21366 : : case ZERO_EXTEND:
21367 : : switch (pattern811 (x3,
21368 : : ZERO_EXTEND))
21369 : : {
21370 : : case 0:
21371 : : if (!(
21372 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21373 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21374 : : && 1 && 1) &&
21375 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21376 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21377 : : return -1;
21378 : : return 7563; /* *umulv32hi3_highpart */
21379 : :
21380 : : case 1:
21381 : : if (!(
21382 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21383 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21384 : : && 1 && 1) &&
21385 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21386 : : (TARGET_AVX2)))
21387 : : return -1;
21388 : : return 7567; /* *umulv16hi3_highpart */
21389 : :
21390 : : case 2:
21391 : : if (!
21392 : : #line 16420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21393 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21394 : : && 1 && 1))
21395 : : return -1;
21396 : : return 7571; /* *umulv8hi3_highpart */
21397 : :
21398 : : default:
21399 : : return -1;
21400 : : }
21401 : :
21402 : : default:
21403 : : return -1;
21404 : : }
21405 : :
21406 : : case PLUS:
21407 : : if (XWINT (x5, 0) != 1L)
21408 : : return -1;
21409 : : x7 = XEXP (x6, 0);
21410 : : switch (GET_CODE (x7))
21411 : : {
21412 : : case PLUS:
21413 : : x8 = XEXP (x7, 0);
21414 : : if (GET_CODE (x8) != ZERO_EXTEND)
21415 : : return -1;
21416 : : x9 = XEXP (x7, 1);
21417 : : if (GET_CODE (x9) != ZERO_EXTEND)
21418 : : return -1;
21419 : : x10 = XEXP (x8, 0);
21420 : : operands[1] = x10;
21421 : : x11 = XEXP (x9, 0);
21422 : : operands[2] = x11;
21423 : : x12 = XEXP (x6, 1);
21424 : : operands[3] = x12;
21425 : : switch (GET_MODE (operands[0]))
21426 : : {
21427 : : case E_V64QImode:
21428 : : if (pattern1416 (x3,
21429 : : E_V64HImode,
21430 : : E_V64QImode) != 0
21431 : : || !(
21432 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21433 : : (TARGET_SSE2 && 1 && 1
21434 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21435 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21436 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21437 : : return -1;
21438 : : return 8490; /* *avx512bw_uavgv64qi3 */
21439 : :
21440 : : case E_V32QImode:
21441 : : if (pattern1416 (x3,
21442 : : E_V32HImode,
21443 : : E_V32QImode) != 0
21444 : : || !(
21445 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21446 : : (TARGET_SSE2 && 1 && 1
21447 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21448 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21449 : : (TARGET_AVX2)))
21450 : : return -1;
21451 : : return 8492; /* *avx2_uavgv32qi3 */
21452 : :
21453 : : case E_V16QImode:
21454 : : if (pattern1416 (x3,
21455 : : E_V16HImode,
21456 : : E_V16QImode) != 0
21457 : : || !
21458 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21459 : : (TARGET_SSE2 && 1 && 1
21460 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21461 : : return -1;
21462 : : return 8494; /* *sse2_uavgv16qi3 */
21463 : :
21464 : : case E_V32HImode:
21465 : : if (pattern1416 (x3,
21466 : : E_V32SImode,
21467 : : E_V32HImode) != 0
21468 : : || !(
21469 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21470 : : (TARGET_SSE2 && 1 && 1
21471 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21472 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21473 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21474 : : return -1;
21475 : : return 8496; /* *avx512bw_uavgv32hi3 */
21476 : :
21477 : : case E_V16HImode:
21478 : : if (pattern1416 (x3,
21479 : : E_V16SImode,
21480 : : E_V16HImode) != 0
21481 : : || !(
21482 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21483 : : (TARGET_SSE2 && 1 && 1
21484 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21485 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21486 : : (TARGET_AVX2)))
21487 : : return -1;
21488 : : return 8498; /* *avx2_uavgv16hi3 */
21489 : :
21490 : : case E_V8HImode:
21491 : : if (pattern1416 (x3,
21492 : : E_V8SImode,
21493 : : E_V8HImode) != 0
21494 : : || !
21495 : : #line 21888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21496 : : (TARGET_SSE2 && 1 && 1
21497 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21498 : : return -1;
21499 : : return 8500; /* *sse2_uavgv8hi3 */
21500 : :
21501 : : default:
21502 : : return -1;
21503 : : }
21504 : :
21505 : : case LSHIFTRT:
21506 : : if (pattern617 (x7) != 0)
21507 : : return -1;
21508 : : x8 = XEXP (x7, 0);
21509 : : x10 = XEXP (x8, 0);
21510 : : x13 = XEXP (x10, 0);
21511 : : operands[1] = x13;
21512 : : if (nonimmediate_operand (operands[1], E_V32HImode))
21513 : : {
21514 : : res = recog_316 (x1, insn, pnum_clobbers);
21515 : : if (res >= 0)
21516 : : return res;
21517 : : }
21518 : : x14 = XEXP (x8, 1);
21519 : : x15 = XEXP (x14, 0);
21520 : : operands[2] = x15;
21521 : : x12 = XEXP (x6, 1);
21522 : : operands[3] = x12;
21523 : : switch (GET_MODE (operands[0]))
21524 : : {
21525 : : case E_V32HImode:
21526 : : if (pattern1524 (x3,
21527 : : E_V32HImode,
21528 : : E_V32SImode) != 0
21529 : : || !(
21530 : : #line 22992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21531 : : (TARGET_SSSE3 && 1 && 1
21532 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21533 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21534 : : (TARGET_AVX512BW && TARGET_EVEX512)))
21535 : : return -1;
21536 : : return 8613; /* *avx512bw_pmulhrswv32hi3 */
21537 : :
21538 : : case E_V16HImode:
21539 : : if (pattern1524 (x3,
21540 : : E_V16HImode,
21541 : : E_V16SImode) != 0
21542 : : || !(
21543 : : #line 22992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21544 : : (TARGET_SSSE3 && 1 && 1
21545 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21546 : : #line 653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21547 : : (TARGET_AVX2)))
21548 : : return -1;
21549 : : return 8615; /* *avx2_pmulhrswv16hi3 */
21550 : :
21551 : : case E_V8HImode:
21552 : : if (pattern1524 (x3,
21553 : : E_V8HImode,
21554 : : E_V8SImode) != 0
21555 : : || !
21556 : : #line 22992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21557 : : (TARGET_SSSE3 && 1 && 1
21558 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21559 : : return -1;
21560 : : return 8617; /* *ssse3_pmulhrswv8hi3 */
21561 : :
21562 : : default:
21563 : : return -1;
21564 : : }
21565 : :
21566 : : default:
21567 : : return -1;
21568 : : }
21569 : :
21570 : : default:
21571 : : return -1;
21572 : : }
21573 : :
21574 : : default:
21575 : : return -1;
21576 : : }
21577 : : }
21578 : :
21579 : : int
21580 : : recog_348 (rtx x1 ATTRIBUTE_UNUSED,
21581 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21582 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21583 : : {
21584 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21585 : : rtx x2, x3, x4;
21586 : : int res ATTRIBUTE_UNUSED;
21587 : : x2 = XEXP (x1, 0);
21588 : : operands[0] = x2;
21589 : : x3 = XEXP (x1, 1);
21590 : : x4 = XEXP (x3, 0);
21591 : : operands[1] = x4;
21592 : : switch (GET_MODE (operands[0]))
21593 : : {
21594 : : case E_V8HFmode:
21595 : : if (!register_operand (operands[0], E_V8HFmode)
21596 : : || GET_MODE (x3) != E_V8HFmode)
21597 : : return -1;
21598 : : switch (GET_MODE (operands[1]))
21599 : : {
21600 : : case E_V8DFmode:
21601 : : if (!vector_operand (operands[1], E_V8DFmode)
21602 : : || !(
21603 : : #line 8112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21604 : : (TARGET_AVX512FP16 && 1) &&
21605 : : #line 1004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21606 : : (TARGET_EVEX512)))
21607 : : return -1;
21608 : : return 4733; /* avx512fp16_vcvtpd2ph_v8df */
21609 : :
21610 : : case E_V8SFmode:
21611 : : if (!vector_operand (operands[1], E_V8SFmode)
21612 : : || !(
21613 : : #line 8112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21614 : : (TARGET_AVX512FP16 && 1) &&
21615 : : #line 1004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21616 : : (TARGET_AVX512VL)))
21617 : : return -1;
21618 : : return 4741; /* avx512fp16_vcvtps2ph_v8sf */
21619 : :
21620 : : default:
21621 : : return -1;
21622 : : }
21623 : :
21624 : : case E_V16HFmode:
21625 : : if (!register_operand (operands[0], E_V16HFmode)
21626 : : || GET_MODE (x3) != E_V16HFmode
21627 : : || !vector_operand (operands[1], E_V16SFmode)
21628 : : || !(
21629 : : #line 8112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21630 : : (TARGET_AVX512FP16 && 1) &&
21631 : : #line 1004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21632 : : (TARGET_EVEX512)))
21633 : : return -1;
21634 : : return 4737; /* avx512fp16_vcvtps2ph_v16sf */
21635 : :
21636 : : case E_V8SFmode:
21637 : : if (!register_operand (operands[0], E_V8SFmode)
21638 : : || GET_MODE (x3) != E_V8SFmode
21639 : : || !vector_operand (operands[1], E_V8DFmode)
21640 : : || !
21641 : : #line 10086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21642 : : (TARGET_AVX512F && TARGET_EVEX512))
21643 : : return -1;
21644 : : return 5171; /* *avx512f_cvtpd2ps512 */
21645 : :
21646 : : case E_V4SFmode:
21647 : : if (!register_operand (operands[0], E_V4SFmode)
21648 : : || GET_MODE (x3) != E_V4SFmode
21649 : : || !vector_operand (operands[1], E_V4DFmode)
21650 : : || !
21651 : : #line 10096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21652 : : (TARGET_AVX && 1
21653 : : && (!false || TARGET_AVX10_2_256)))
21654 : : return -1;
21655 : : return 5175; /* avx_cvtpd2ps256 */
21656 : :
21657 : : case E_V8BFmode:
21658 : : if (!register_operand (operands[0], E_V8BFmode)
21659 : : || GET_MODE (x3) != E_V8BFmode
21660 : : || !nonimmediate_operand (operands[1], E_V8SFmode))
21661 : : return -1;
21662 : : if (
21663 : : #line 31129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21664 : : (TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)))
21665 : : return 10342; /* vcvtneps2bf16_v8sf */
21666 : : if (!(
21667 : : #line 31167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21668 : : (TARGET_AVX512BF16) &&
21669 : : #line 31095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21670 : : (TARGET_AVX512VL)))
21671 : : return -1;
21672 : : return 10345; /* avx512f_cvtneps2bf16_v8sf */
21673 : :
21674 : : case E_V16BFmode:
21675 : : if (!register_operand (operands[0], E_V16BFmode)
21676 : : || GET_MODE (x3) != E_V16BFmode
21677 : : || !nonimmediate_operand (operands[1], E_V16SFmode)
21678 : : || !(
21679 : : #line 31167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21680 : : (TARGET_AVX512BF16) &&
21681 : : #line 31095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21682 : : (TARGET_EVEX512)))
21683 : : return -1;
21684 : : return 10343; /* avx512f_cvtneps2bf16_v16sf */
21685 : :
21686 : : default:
21687 : : return -1;
21688 : : }
21689 : : }
21690 : :
21691 : : int
21692 : : recog_353 (rtx x1 ATTRIBUTE_UNUSED,
21693 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21694 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21695 : : {
21696 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21697 : : rtx x2, x3, x4, x5;
21698 : : int res ATTRIBUTE_UNUSED;
21699 : : x2 = XEXP (x1, 0);
21700 : : operands[0] = x2;
21701 : : x3 = XEXP (x1, 1);
21702 : : x4 = XEXP (x3, 0);
21703 : : operands[1] = x4;
21704 : : res = recog_272 (x1, insn, pnum_clobbers);
21705 : : if (res >= 0)
21706 : : return res;
21707 : : operands[1] = x3;
21708 : : operands[2] = x4;
21709 : : x5 = XEXP (x3, 1);
21710 : : operands[3] = x5;
21711 : : switch (GET_CODE (operands[1]))
21712 : : {
21713 : : case NE:
21714 : : case EQ:
21715 : : case GE:
21716 : : case GT:
21717 : : case LE:
21718 : : case LT:
21719 : : switch (GET_MODE (operands[0]))
21720 : : {
21721 : : case E_V16QImode:
21722 : : if (pattern800 (
21723 : : E_V16QImode) == 0
21724 : : &&
21725 : : #line 27029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21726 : : (TARGET_XOP))
21727 : : return 9058; /* xop_maskcmpv16qi3 */
21728 : : break;
21729 : :
21730 : : case E_V8HImode:
21731 : : if (pattern800 (
21732 : : E_V8HImode) == 0
21733 : : &&
21734 : : #line 27029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21735 : : (TARGET_XOP))
21736 : : return 9059; /* xop_maskcmpv8hi3 */
21737 : : break;
21738 : :
21739 : : case E_V4SImode:
21740 : : if (pattern800 (
21741 : : E_V4SImode) == 0
21742 : : &&
21743 : : #line 27029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21744 : : (TARGET_XOP))
21745 : : return 9060; /* xop_maskcmpv4si3 */
21746 : : break;
21747 : :
21748 : : case E_V2DImode:
21749 : : if (pattern800 (
21750 : : E_V2DImode) == 0
21751 : : &&
21752 : : #line 27029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21753 : : (TARGET_XOP))
21754 : : return 9061; /* xop_maskcmpv2di3 */
21755 : : break;
21756 : :
21757 : : default:
21758 : : break;
21759 : : }
21760 : : break;
21761 : :
21762 : : default:
21763 : : break;
21764 : : }
21765 : : switch (GET_CODE (operands[1]))
21766 : : {
21767 : : case NE:
21768 : : case EQ:
21769 : : case GEU:
21770 : : case GTU:
21771 : : case LEU:
21772 : : case LTU:
21773 : : switch (GET_MODE (operands[0]))
21774 : : {
21775 : : case E_V16QImode:
21776 : : if (pattern801 (
21777 : : E_V16QImode) != 0
21778 : : || !
21779 : : #line 27039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21780 : : (TARGET_XOP))
21781 : : return -1;
21782 : : return 9062; /* xop_maskcmp_unsv16qi3 */
21783 : :
21784 : : case E_V8HImode:
21785 : : if (pattern801 (
21786 : : E_V8HImode) != 0
21787 : : || !
21788 : : #line 27039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21789 : : (TARGET_XOP))
21790 : : return -1;
21791 : : return 9063; /* xop_maskcmp_unsv8hi3 */
21792 : :
21793 : : case E_V4SImode:
21794 : : if (pattern801 (
21795 : : E_V4SImode) != 0
21796 : : || !
21797 : : #line 27039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21798 : : (TARGET_XOP))
21799 : : return -1;
21800 : : return 9064; /* xop_maskcmp_unsv4si3 */
21801 : :
21802 : : case E_V2DImode:
21803 : : if (pattern801 (
21804 : : E_V2DImode) != 0
21805 : : || !
21806 : : #line 27039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21807 : : (TARGET_XOP))
21808 : : return -1;
21809 : : return 9065; /* xop_maskcmp_unsv2di3 */
21810 : :
21811 : : default:
21812 : : return -1;
21813 : : }
21814 : :
21815 : : default:
21816 : : return -1;
21817 : : }
21818 : : }
21819 : :
21820 : : int
21821 : : recog_356 (rtx x1 ATTRIBUTE_UNUSED,
21822 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21823 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21824 : : {
21825 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21826 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21827 : : rtx x10;
21828 : : int res ATTRIBUTE_UNUSED;
21829 : : x2 = XVECEXP (x1, 0, 0);
21830 : : x3 = XEXP (x2, 0);
21831 : : operands[0] = x3;
21832 : : x4 = XVECEXP (x1, 0, 1);
21833 : : switch (GET_CODE (x4))
21834 : : {
21835 : : case CLOBBER:
21836 : : x5 = XEXP (x2, 1);
21837 : : operands[1] = x5;
21838 : : x6 = XEXP (x4, 0);
21839 : : switch (GET_CODE (x6))
21840 : : {
21841 : : case MEM:
21842 : : if (GET_MODE (x6) != E_BLKmode)
21843 : : return -1;
21844 : : x7 = XEXP (x6, 0);
21845 : : if (GET_CODE (x7) != SCRATCH)
21846 : : return -1;
21847 : : switch (GET_MODE (operands[0]))
21848 : : {
21849 : : case E_SImode:
21850 : : if (push_operand (operands[0], E_SImode)
21851 : : && general_no_elim_operand (operands[1], E_SImode)
21852 : : &&
21853 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21854 : : (word_mode == SImode))
21855 : : return 74; /* *pushsi2_prologue */
21856 : : if (!nonimmediate_operand (operands[0], E_SImode)
21857 : : || !pop_operand (operands[1], E_SImode)
21858 : : || !
21859 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21860 : : (word_mode == SImode))
21861 : : return -1;
21862 : : return 78; /* *popsi1_epilogue */
21863 : :
21864 : : case E_DImode:
21865 : : if (push_operand (operands[0], E_DImode)
21866 : : && general_no_elim_operand (operands[1], E_DImode)
21867 : : &&
21868 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21869 : : (word_mode == DImode))
21870 : : return 75; /* *pushdi2_prologue */
21871 : : if (!nonimmediate_operand (operands[0], E_DImode)
21872 : : || !pop_operand (operands[1], E_DImode)
21873 : : || !
21874 : : #line 1403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21875 : : (word_mode == DImode))
21876 : : return -1;
21877 : : return 79; /* *popdi1_epilogue */
21878 : :
21879 : : default:
21880 : : return -1;
21881 : : }
21882 : :
21883 : : case REG:
21884 : : if (REGNO (x6) != 17
21885 : : || GET_MODE (x6) != E_CCmode)
21886 : : return -1;
21887 : : switch (GET_MODE (operands[0]))
21888 : : {
21889 : : case E_SImode:
21890 : : if (const0_operand (operands[1], E_SImode))
21891 : : {
21892 : : if (register_operand (operands[0], E_SImode)
21893 : : &&
21894 : : #line 2424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21895 : : (reload_completed))
21896 : : return 84; /* *movsi_xor */
21897 : : if (memory_operand (operands[0], E_SImode)
21898 : : &&
21899 : : #line 2434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21900 : : (reload_completed))
21901 : : return 87; /* *movsi_and */
21902 : : }
21903 : : if (!nonimmediate_operand (operands[0], E_SImode)
21904 : : || !constm1_operand (operands[1], E_SImode)
21905 : : || !
21906 : : #line 2444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21907 : : (reload_completed))
21908 : : return -1;
21909 : : return 90; /* *movsi_or */
21910 : :
21911 : : case E_DImode:
21912 : : if (const0_operand (operands[1], E_DImode))
21913 : : {
21914 : : if (register_operand (operands[0], E_DImode)
21915 : : && (
21916 : : #line 2424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21917 : : (reload_completed) &&
21918 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21919 : : (TARGET_64BIT)))
21920 : : return 85; /* *movdi_xor */
21921 : : if (memory_operand (operands[0], E_DImode)
21922 : : && (
21923 : : #line 2434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21924 : : (reload_completed) &&
21925 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21926 : : (TARGET_64BIT)))
21927 : : return 88; /* *movdi_and */
21928 : : }
21929 : : if (!nonimmediate_operand (operands[0], E_DImode)
21930 : : || !constm1_operand (operands[1], E_DImode)
21931 : : || !(
21932 : : #line 2444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21933 : : (reload_completed) &&
21934 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21935 : : (TARGET_64BIT)))
21936 : : return -1;
21937 : : return 91; /* *movdi_or */
21938 : :
21939 : : case E_HImode:
21940 : : if (memory_operand (operands[0], E_HImode)
21941 : : && const0_operand (operands[1], E_HImode)
21942 : : &&
21943 : : #line 2434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21944 : : (reload_completed))
21945 : : return 86; /* *movhi_and */
21946 : : if (!nonimmediate_operand (operands[0], E_HImode)
21947 : : || !constm1_operand (operands[1], E_HImode)
21948 : : || !
21949 : : #line 2444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21950 : : (reload_completed))
21951 : : return -1;
21952 : : return 89; /* *movhi_or */
21953 : :
21954 : : default:
21955 : : return -1;
21956 : : }
21957 : :
21958 : : default:
21959 : : return -1;
21960 : : }
21961 : :
21962 : : case SET:
21963 : : x8 = XEXP (x4, 1);
21964 : : switch (GET_CODE (x8))
21965 : : {
21966 : : case REG:
21967 : : case SUBREG:
21968 : : if (!rtx_equal_p (x8, operands[0]))
21969 : : return -1;
21970 : : x5 = XEXP (x2, 1);
21971 : : operands[1] = x5;
21972 : : x6 = XEXP (x4, 0);
21973 : : if (!rtx_equal_p (x6, operands[1]))
21974 : : return -1;
21975 : : switch (GET_MODE (operands[0]))
21976 : : {
21977 : : case E_SImode:
21978 : : if (!register_operand (operands[0], E_SImode)
21979 : : || !register_operand (operands[1], E_SImode))
21980 : : return -1;
21981 : : return 107; /* swapsi */
21982 : :
21983 : : case E_DImode:
21984 : : if (!register_operand (operands[0], E_DImode)
21985 : : || !register_operand (operands[1], E_DImode)
21986 : : || !
21987 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21988 : : (TARGET_64BIT))
21989 : : return -1;
21990 : : return 108; /* swapdi */
21991 : :
21992 : : case E_QImode:
21993 : : if (!register_operand (operands[0], E_QImode)
21994 : : || !register_operand (operands[1], E_QImode))
21995 : : return -1;
21996 : : return 109; /* *swapqi */
21997 : :
21998 : : case E_HImode:
21999 : : if (!register_operand (operands[0], E_HImode)
22000 : : || !register_operand (operands[1], E_HImode))
22001 : : return -1;
22002 : : return 110; /* *swaphi */
22003 : :
22004 : : case E_XFmode:
22005 : : if (!register_operand (operands[0], E_XFmode)
22006 : : || !register_operand (operands[1], E_XFmode)
22007 : : || !
22008 : : #line 4644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22009 : : (TARGET_80387))
22010 : : return -1;
22011 : : return 173; /* *swapxf */
22012 : :
22013 : : default:
22014 : : return -1;
22015 : : }
22016 : :
22017 : : case UNSPEC:
22018 : : if (XVECLEN (x8, 0) != 1
22019 : : || XINT (x8, 1) != 72
22020 : : || GET_MODE (x8) != E_XFmode
22021 : : || !register_operand (operands[0], E_SFmode))
22022 : : return -1;
22023 : : x5 = XEXP (x2, 1);
22024 : : operands[3] = x5;
22025 : : if (!const1_operand (operands[3], E_SFmode))
22026 : : return -1;
22027 : : x6 = XEXP (x4, 0);
22028 : : operands[1] = x6;
22029 : : if (!register_operand (operands[1], E_XFmode))
22030 : : return -1;
22031 : : x9 = XVECEXP (x8, 0, 0);
22032 : : operands[2] = x9;
22033 : : if (!register_operand (operands[2], E_XFmode)
22034 : : || !
22035 : : #line 23964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22036 : : (TARGET_USE_FANCY_MATH_387
22037 : : && flag_unsafe_math_optimizations))
22038 : : return -1;
22039 : : return 1714; /* fptanxf4_i387 */
22040 : :
22041 : : default:
22042 : : return -1;
22043 : : }
22044 : :
22045 : : case UNSPEC:
22046 : : if (XVECLEN (x4, 0) != 1
22047 : : || XINT (x4, 1) != 108
22048 : : || GET_MODE (x4) != E_DImode)
22049 : : return -1;
22050 : : x10 = XVECEXP (x4, 0, 0);
22051 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22052 : : return -1;
22053 : : x5 = XEXP (x2, 1);
22054 : : operands[1] = x5;
22055 : : if (register_operand (operands[1], E_DImode)
22056 : : && push_operand (operands[0], E_DImode)
22057 : : &&
22058 : : #line 3910 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22059 : : (TARGET_64BIT))
22060 : : return 161; /* pushp_di */
22061 : : if (!pop_operand (operands[1], E_DImode)
22062 : : || !register_operand (operands[0], E_DImode)
22063 : : || !
22064 : : #line 3918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22065 : : (TARGET_APX_PPX))
22066 : : return -1;
22067 : : return 162; /* popp_di */
22068 : :
22069 : : default:
22070 : : return -1;
22071 : : }
22072 : : }
22073 : :
22074 : : int
22075 : : recog_368 (rtx x1 ATTRIBUTE_UNUSED,
22076 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22077 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22078 : : {
22079 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22080 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22081 : : rtx x10;
22082 : : int res ATTRIBUTE_UNUSED;
22083 : : if (pattern338 (x1) != 0)
22084 : : return -1;
22085 : : x2 = XVECEXP (x1, 0, 0);
22086 : : x3 = XEXP (x2, 1);
22087 : : x4 = XEXP (x3, 0);
22088 : : x5 = XEXP (x4, 0);
22089 : : switch (GET_CODE (x5))
22090 : : {
22091 : : case REG:
22092 : : case SUBREG:
22093 : : case MEM:
22094 : : operands[1] = x5;
22095 : : x6 = XEXP (x4, 1);
22096 : : operands[2] = x6;
22097 : : switch (GET_MODE (operands[0]))
22098 : : {
22099 : : case E_HImode:
22100 : : if (!register_operand (operands[0], E_HImode)
22101 : : || GET_MODE (x3) != E_HImode
22102 : : || GET_MODE (x4) != E_QImode
22103 : : || !nonimmediate_operand (operands[1], E_QImode)
22104 : : || !general_operand (operands[2], E_QImode)
22105 : : || !
22106 : : #line 6677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22107 : : (TARGET_APX_NDD && true
22108 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22109 : : return -1;
22110 : : return 287; /* *addqi_1_zexthi */
22111 : :
22112 : : case E_SImode:
22113 : : if (!register_operand (operands[0], E_SImode)
22114 : : || GET_MODE (x3) != E_SImode)
22115 : : return -1;
22116 : : switch (GET_MODE (x4))
22117 : : {
22118 : : case E_QImode:
22119 : : if (!nonimmediate_operand (operands[1], E_QImode)
22120 : : || !general_operand (operands[2], E_QImode)
22121 : : || !
22122 : : #line 6677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22123 : : (TARGET_APX_NDD && true
22124 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22125 : : return -1;
22126 : : return 289; /* *addqi_1_zextsi */
22127 : :
22128 : : case E_HImode:
22129 : : if (!nonimmediate_operand (operands[1], E_HImode)
22130 : : || !general_operand (operands[2], E_HImode)
22131 : : || !
22132 : : #line 6715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22133 : : (TARGET_APX_NDD && true
22134 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22135 : : return -1;
22136 : : return 293; /* *addhi_1_zextsi */
22137 : :
22138 : : default:
22139 : : return -1;
22140 : : }
22141 : :
22142 : : case E_DImode:
22143 : : if (!register_operand (operands[0], E_DImode)
22144 : : || GET_MODE (x3) != E_DImode)
22145 : : return -1;
22146 : : switch (GET_MODE (x4))
22147 : : {
22148 : : case E_QImode:
22149 : : if (!nonimmediate_operand (operands[1], E_QImode)
22150 : : || !general_operand (operands[2], E_QImode)
22151 : : || !
22152 : : #line 6677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22153 : : (TARGET_APX_NDD && true
22154 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22155 : : return -1;
22156 : : return 291; /* *addqi_1_zextdi */
22157 : :
22158 : : case E_HImode:
22159 : : if (!nonimmediate_operand (operands[1], E_HImode)
22160 : : || !general_operand (operands[2], E_HImode)
22161 : : || !
22162 : : #line 6715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22163 : : (TARGET_APX_NDD && true
22164 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22165 : : return -1;
22166 : : return 295; /* *addhi_1_zextdi */
22167 : :
22168 : : case E_SImode:
22169 : : if (!nonimmediate_operand (operands[1], E_SImode)
22170 : : || !x86_64_general_operand (operands[2], E_SImode)
22171 : : || !
22172 : : #line 6760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22173 : : (TARGET_64BIT
22174 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22175 : : return -1;
22176 : : return 296; /* addsi_1_zext */
22177 : :
22178 : : default:
22179 : : return -1;
22180 : : }
22181 : :
22182 : : default:
22183 : : return -1;
22184 : : }
22185 : :
22186 : : case PLUS:
22187 : : x7 = XEXP (x5, 0);
22188 : : switch (GET_CODE (x7))
22189 : : {
22190 : : case LTU:
22191 : : case UNLT:
22192 : : operands[3] = x7;
22193 : : x8 = XEXP (x7, 0);
22194 : : if (GET_CODE (x8) != REG
22195 : : || REGNO (x8) != 17)
22196 : : return -1;
22197 : : x9 = XEXP (x7, 1);
22198 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22199 : : return -1;
22200 : : x10 = XEXP (x5, 1);
22201 : : operands[1] = x10;
22202 : : x6 = XEXP (x4, 1);
22203 : : operands[2] = x6;
22204 : : switch (pattern1152 (x3))
22205 : : {
22206 : : case 0:
22207 : : if (pattern1747 (x5,
22208 : : E_QImode) != 0
22209 : : || !
22210 : : #line 8895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22211 : : (TARGET_APX_NDD
22212 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22213 : : return -1;
22214 : : return 465; /* *addqi3_carry_zexthi */
22215 : :
22216 : : case 1:
22217 : : if (pattern1747 (x5,
22218 : : E_QImode) != 0
22219 : : || !
22220 : : #line 8895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22221 : : (TARGET_APX_NDD
22222 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22223 : : return -1;
22224 : : return 466; /* *addqi3_carry_zextsi */
22225 : :
22226 : : case 2:
22227 : : if (pattern1747 (x5,
22228 : : E_HImode) != 0
22229 : : || !
22230 : : #line 8914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22231 : : (TARGET_APX_NDD
22232 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22233 : : return -1;
22234 : : return 468; /* *addhi3_carry_zextsi */
22235 : :
22236 : : case 3:
22237 : : if (pattern1747 (x5,
22238 : : E_QImode) != 0
22239 : : || !
22240 : : #line 8895 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22241 : : (TARGET_APX_NDD
22242 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22243 : : return -1;
22244 : : return 467; /* *addqi3_carry_zextdi */
22245 : :
22246 : : case 4:
22247 : : if (pattern1747 (x5,
22248 : : E_HImode) != 0
22249 : : || !
22250 : : #line 8914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22251 : : (TARGET_APX_NDD
22252 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22253 : : return -1;
22254 : : return 469; /* *addhi3_carry_zextdi */
22255 : :
22256 : : case 5:
22257 : : if (pattern1747 (x5,
22258 : : E_SImode) != 0
22259 : : || !
22260 : : #line 8933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22261 : : (TARGET_64BIT
22262 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22263 : : return -1;
22264 : : return 470; /* *addsi3_carry_zext */
22265 : :
22266 : : default:
22267 : : return -1;
22268 : : }
22269 : :
22270 : : default:
22271 : : return -1;
22272 : : }
22273 : :
22274 : : case LTU:
22275 : : case UNLT:
22276 : : switch (pattern1153 (x3))
22277 : : {
22278 : : case 0:
22279 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
22280 : : || !nonimmediate_operand (operands[1], E_QImode)
22281 : : || !
22282 : : #line 8952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22283 : : (TARGET_APX_NDD))
22284 : : return -1;
22285 : : return 471; /* *addqi3_carry_zexthi_0 */
22286 : :
22287 : : case 1:
22288 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
22289 : : || !nonimmediate_operand (operands[1], E_QImode)
22290 : : || !
22291 : : #line 8952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22292 : : (TARGET_APX_NDD))
22293 : : return -1;
22294 : : return 472; /* *addqi3_carry_zextsi_0 */
22295 : :
22296 : : case 2:
22297 : : if (!ix86_carry_flag_operator (operands[2], E_HImode)
22298 : : || !nonimmediate_operand (operands[1], E_HImode)
22299 : : || !
22300 : : #line 8966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22301 : : (TARGET_APX_NDD))
22302 : : return -1;
22303 : : return 474; /* *addhi3_carry_zextsi_0 */
22304 : :
22305 : : case 3:
22306 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
22307 : : || !nonimmediate_operand (operands[1], E_QImode)
22308 : : || !
22309 : : #line 8952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22310 : : (TARGET_APX_NDD))
22311 : : return -1;
22312 : : return 473; /* *addqi3_carry_zextdi_0 */
22313 : :
22314 : : case 4:
22315 : : if (!ix86_carry_flag_operator (operands[2], E_HImode)
22316 : : || !nonimmediate_operand (operands[1], E_HImode)
22317 : : || !
22318 : : #line 8966 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22319 : : (TARGET_APX_NDD))
22320 : : return -1;
22321 : : return 475; /* *addhi3_carry_zextdi_0 */
22322 : :
22323 : : case 5:
22324 : : if (!ix86_carry_flag_operator (operands[2], E_SImode)
22325 : : || !nonimmediate_operand (operands[1], E_SImode)
22326 : : || !
22327 : : #line 8980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22328 : : (TARGET_64BIT))
22329 : : return -1;
22330 : : return 476; /* *addsi3_carry_zext_0 */
22331 : :
22332 : : default:
22333 : : return -1;
22334 : : }
22335 : :
22336 : : case GE:
22337 : : case GEU:
22338 : : switch (pattern1153 (x3))
22339 : : {
22340 : : case 0:
22341 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
22342 : : || !nonimmediate_operand (operands[1], E_QImode)
22343 : : || !
22344 : : #line 8997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22345 : : (TARGET_APX_NDD))
22346 : : return -1;
22347 : : return 477; /* *addqi3_carry_zexthi_0r */
22348 : :
22349 : : case 1:
22350 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
22351 : : || !nonimmediate_operand (operands[1], E_QImode)
22352 : : || !
22353 : : #line 8997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22354 : : (TARGET_APX_NDD))
22355 : : return -1;
22356 : : return 478; /* *addqi3_carry_zextsi_0r */
22357 : :
22358 : : case 2:
22359 : : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
22360 : : || !nonimmediate_operand (operands[1], E_HImode)
22361 : : || !
22362 : : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22363 : : (TARGET_APX_NDD))
22364 : : return -1;
22365 : : return 480; /* *addhi3_carry_zextsi_0r */
22366 : :
22367 : : case 3:
22368 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
22369 : : || !nonimmediate_operand (operands[1], E_QImode)
22370 : : || !
22371 : : #line 8997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22372 : : (TARGET_APX_NDD))
22373 : : return -1;
22374 : : return 479; /* *addqi3_carry_zextdi_0r */
22375 : :
22376 : : case 4:
22377 : : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
22378 : : || !nonimmediate_operand (operands[1], E_HImode)
22379 : : || !
22380 : : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22381 : : (TARGET_APX_NDD))
22382 : : return -1;
22383 : : return 481; /* *addhi3_carry_zextdi_0r */
22384 : :
22385 : : case 5:
22386 : : if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
22387 : : || !nonimmediate_operand (operands[1], E_SImode)
22388 : : || !
22389 : : #line 9025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22390 : : (TARGET_64BIT))
22391 : : return -1;
22392 : : return 482; /* *addsi3_carry_zext_0r */
22393 : :
22394 : : default:
22395 : : return -1;
22396 : : }
22397 : :
22398 : : case UNSPEC:
22399 : : if (pattern1154 (x5) != 0
22400 : : || !register_operand (operands[0], E_DImode)
22401 : : || GET_MODE (x3) != E_DImode
22402 : : || GET_MODE (x4) != E_SImode)
22403 : : return -1;
22404 : : x6 = XEXP (x4, 1);
22405 : : operands[1] = x6;
22406 : : if (!register_operand (operands[1], E_SImode)
22407 : : || !
22408 : : #line 23110 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22409 : : (TARGET_X32))
22410 : : return -1;
22411 : : return 1657; /* *add_tp_x32_zext */
22412 : :
22413 : : default:
22414 : : return -1;
22415 : : }
22416 : : }
22417 : :
22418 : : int
22419 : : recog_372 (rtx x1 ATTRIBUTE_UNUSED,
22420 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22421 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22422 : : {
22423 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22424 : : rtx x2, x3, x4, x5, x6, x7;
22425 : : int res ATTRIBUTE_UNUSED;
22426 : : x2 = XVECEXP (x1, 0, 0);
22427 : : x3 = XEXP (x2, 0);
22428 : : operands[0] = x3;
22429 : : x4 = XEXP (x2, 1);
22430 : : x5 = XEXP (x4, 0);
22431 : : operands[1] = x5;
22432 : : x6 = XVECEXP (x1, 0, 1);
22433 : : switch (GET_CODE (x6))
22434 : : {
22435 : : case CLOBBER:
22436 : : if (!register_operand (operands[1], E_VOIDmode))
22437 : : return -1;
22438 : : x7 = XEXP (x6, 0);
22439 : : operands[2] = x7;
22440 : : if (scratch_operand (operands[2], E_XFmode))
22441 : : {
22442 : : switch (pattern548 (x4))
22443 : : {
22444 : : case 0:
22445 : : if (
22446 : : #line 5975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22447 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
22448 : : && TARGET_FISTTP
22449 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
22450 : : && (TARGET_64BIT || HImode != DImode))
22451 : : && TARGET_SSE_MATH)))
22452 : : return 229; /* fix_trunchi_i387_fisttp */
22453 : : break;
22454 : :
22455 : : case 1:
22456 : : if (
22457 : : #line 5975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22458 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
22459 : : && TARGET_FISTTP
22460 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
22461 : : && (TARGET_64BIT || SImode != DImode))
22462 : : && TARGET_SSE_MATH)))
22463 : : return 230; /* fix_truncsi_i387_fisttp */
22464 : : break;
22465 : :
22466 : : case 2:
22467 : : if (
22468 : : #line 5975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22469 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
22470 : : && TARGET_FISTTP
22471 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
22472 : : && (TARGET_64BIT || DImode != DImode))
22473 : : && TARGET_SSE_MATH)))
22474 : : return 231; /* fix_truncdi_i387_fisttp */
22475 : : break;
22476 : :
22477 : : default:
22478 : : break;
22479 : : }
22480 : : }
22481 : : if (GET_CODE (x7) != REG
22482 : : || REGNO (x7) != 17
22483 : : || GET_MODE (x7) != E_CCmode)
22484 : : return -1;
22485 : : switch (pattern548 (x4))
22486 : : {
22487 : : case 0:
22488 : : if (!
22489 : : #line 5993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22490 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
22491 : : && !TARGET_FISTTP
22492 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
22493 : : && (TARGET_64BIT || HImode != DImode))
22494 : : && ix86_pre_reload_split ()))
22495 : : return -1;
22496 : : return 232; /* *fix_trunchi_i387_1 */
22497 : :
22498 : : case 1:
22499 : : if (!
22500 : : #line 5993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22501 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
22502 : : && !TARGET_FISTTP
22503 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
22504 : : && (TARGET_64BIT || SImode != DImode))
22505 : : && ix86_pre_reload_split ()))
22506 : : return -1;
22507 : : return 233; /* *fix_truncsi_i387_1 */
22508 : :
22509 : : case 2:
22510 : : if (!
22511 : : #line 5993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22512 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
22513 : : && !TARGET_FISTTP
22514 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
22515 : : && (TARGET_64BIT || DImode != DImode))
22516 : : && ix86_pre_reload_split ()))
22517 : : return -1;
22518 : : return 234; /* *fix_truncdi_i387_1 */
22519 : :
22520 : : default:
22521 : : return -1;
22522 : : }
22523 : :
22524 : : case UNSPEC:
22525 : : if (pattern682 (x1,
22526 : : E_V2SFmode,
22527 : : E_V2SImode) != 0
22528 : : || !
22529 : : #line 1558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22530 : : (TARGET_3DNOW))
22531 : : return -1;
22532 : : return 2074; /* mmx_fix_truncv2sfv2si2 */
22533 : :
22534 : : default:
22535 : : return -1;
22536 : : }
22537 : : }
22538 : :
22539 : : int
22540 : : recog_377 (rtx x1 ATTRIBUTE_UNUSED,
22541 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22542 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22543 : : {
22544 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22545 : : rtx x2, x3, x4, x5, x6, x7, x8;
22546 : : int res ATTRIBUTE_UNUSED;
22547 : : x2 = XVECEXP (x1, 0, 0);
22548 : : x3 = XEXP (x2, 1);
22549 : : x4 = XEXP (x3, 1);
22550 : : if (XWINT (x4, 0) != 0L)
22551 : : return -1;
22552 : : x5 = XVECEXP (x1, 0, 1);
22553 : : switch (GET_CODE (x5))
22554 : : {
22555 : : case SET:
22556 : : x6 = XEXP (x5, 0);
22557 : : operands[0] = x6;
22558 : : x7 = XEXP (x5, 1);
22559 : : switch (GET_CODE (x7))
22560 : : {
22561 : : case PLUS:
22562 : : switch (pattern1425 (x1))
22563 : : {
22564 : : case 0:
22565 : : if (!
22566 : : #line 7128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22567 : : (ix86_match_ccmode (insn, CCGOCmode)
22568 : : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
22569 : : return -1;
22570 : : return 309; /* *addqi_2 */
22571 : :
22572 : : case 1:
22573 : : if (!
22574 : : #line 7128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22575 : : (ix86_match_ccmode (insn, CCGOCmode)
22576 : : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
22577 : : return -1;
22578 : : return 310; /* *addhi_2 */
22579 : :
22580 : : case 2:
22581 : : if (!
22582 : : #line 7128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22583 : : (ix86_match_ccmode (insn, CCGOCmode)
22584 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22585 : : return -1;
22586 : : return 311; /* *addsi_2 */
22587 : :
22588 : : case 3:
22589 : : if (!(
22590 : : #line 7128 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22591 : : (ix86_match_ccmode (insn, CCGOCmode)
22592 : : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22593 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22594 : : (TARGET_64BIT)))
22595 : : return -1;
22596 : : return 312; /* *adddi_2 */
22597 : :
22598 : : default:
22599 : : return -1;
22600 : : }
22601 : :
22602 : : case ZERO_EXTEND:
22603 : : if (pattern1426 (x1,
22604 : : PLUS) != 0
22605 : : || !
22606 : : #line 7178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22607 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
22608 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22609 : : return -1;
22610 : : return 313; /* *addsi_2_zext */
22611 : :
22612 : : default:
22613 : : return -1;
22614 : : }
22615 : :
22616 : : case CLOBBER:
22617 : : x6 = XEXP (x5, 0);
22618 : : operands[0] = x6;
22619 : : x8 = XEXP (x3, 0);
22620 : : switch (pattern951 (x8))
22621 : : {
22622 : : case 0:
22623 : : if (!
22624 : : #line 7410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22625 : : (ix86_match_ccmode (insn, CCGOCmode)
22626 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22627 : : return -1;
22628 : : return 323; /* *addqi_5 */
22629 : :
22630 : : case 1:
22631 : : if (!
22632 : : #line 7410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22633 : : (ix86_match_ccmode (insn, CCGOCmode)
22634 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22635 : : return -1;
22636 : : return 324; /* *addhi_5 */
22637 : :
22638 : : case 2:
22639 : : if (!
22640 : : #line 7410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22641 : : (ix86_match_ccmode (insn, CCGOCmode)
22642 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22643 : : return -1;
22644 : : return 325; /* *addsi_5 */
22645 : :
22646 : : case 3:
22647 : : if (!(
22648 : : #line 7410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22649 : : (ix86_match_ccmode (insn, CCGOCmode)
22650 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22651 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22652 : : (TARGET_64BIT)))
22653 : : return -1;
22654 : : return 326; /* *adddi_5 */
22655 : :
22656 : : default:
22657 : : return -1;
22658 : : }
22659 : :
22660 : : default:
22661 : : return -1;
22662 : : }
22663 : : }
22664 : :
22665 : : int
22666 : : recog_380 (rtx x1 ATTRIBUTE_UNUSED,
22667 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22668 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22669 : : {
22670 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22671 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22672 : : rtx x10, x11;
22673 : : int res ATTRIBUTE_UNUSED;
22674 : : x2 = XVECEXP (x1, 0, 0);
22675 : : x3 = XEXP (x2, 1);
22676 : : x4 = XEXP (x3, 1);
22677 : : x5 = XEXP (x4, 0);
22678 : : x6 = XEXP (x5, 0);
22679 : : if (GET_CODE (x6) != REG
22680 : : || REGNO (x6) != 17
22681 : : || GET_MODE (x6) != E_CCmode)
22682 : : return -1;
22683 : : x7 = XVECEXP (x1, 0, 1);
22684 : : if (GET_CODE (x7) != CLOBBER)
22685 : : return -1;
22686 : : x8 = XEXP (x7, 0);
22687 : : operands[0] = x8;
22688 : : x9 = XEXP (x4, 1);
22689 : : switch (GET_CODE (x9))
22690 : : {
22691 : : case ZERO_EXTEND:
22692 : : x10 = XEXP (x9, 0);
22693 : : operands[2] = x10;
22694 : : x11 = XEXP (x3, 0);
22695 : : switch (GET_MODE (x11))
22696 : : {
22697 : : case E_DImode:
22698 : : if (pattern1754 (x4,
22699 : : E_SImode,
22700 : : E_DImode) != 0
22701 : : || !
22702 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22703 : : (!TARGET_64BIT))
22704 : : return -1;
22705 : : return 517; /* subsi3_carry_ccc */
22706 : :
22707 : : case E_TImode:
22708 : : if (pattern1754 (x4,
22709 : : E_DImode,
22710 : : E_TImode) != 0
22711 : : || !
22712 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22713 : : (TARGET_64BIT))
22714 : : return -1;
22715 : : return 518; /* subdi3_carry_ccc */
22716 : :
22717 : : default:
22718 : : return -1;
22719 : : }
22720 : :
22721 : : case CONST_INT:
22722 : : case CONST_WIDE_INT:
22723 : : operands[2] = x9;
22724 : : x11 = XEXP (x3, 0);
22725 : : switch (GET_MODE (x11))
22726 : : {
22727 : : case E_DImode:
22728 : : if (pattern1755 (x4,
22729 : : E_SImode,
22730 : : E_DImode) != 0
22731 : : || !
22732 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22733 : : (!TARGET_64BIT))
22734 : : return -1;
22735 : : return 519; /* *subsi3_carry_ccc_1 */
22736 : :
22737 : : case E_TImode:
22738 : : if (pattern1755 (x4,
22739 : : E_DImode,
22740 : : E_TImode) != 0
22741 : : || !
22742 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22743 : : (TARGET_64BIT))
22744 : : return -1;
22745 : : return 520; /* *subdi3_carry_ccc_1 */
22746 : :
22747 : : default:
22748 : : return -1;
22749 : : }
22750 : :
22751 : : default:
22752 : : return -1;
22753 : : }
22754 : : }
22755 : :
22756 : : int
22757 : : recog_381 (rtx x1 ATTRIBUTE_UNUSED,
22758 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22759 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22760 : : {
22761 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22762 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22763 : : rtx x10, x11;
22764 : : int res ATTRIBUTE_UNUSED;
22765 : : x2 = XVECEXP (x1, 0, 0);
22766 : : x3 = XEXP (x2, 0);
22767 : : if (GET_CODE (x3) != REG
22768 : : || REGNO (x3) != 17)
22769 : : return -1;
22770 : : x4 = XVECEXP (x1, 0, 1);
22771 : : if (GET_CODE (x4) != SET)
22772 : : return -1;
22773 : : x5 = XEXP (x2, 1);
22774 : : x6 = XEXP (x5, 0);
22775 : : x7 = XEXP (x6, 1);
22776 : : operands[2] = x7;
22777 : : x8 = XEXP (x4, 0);
22778 : : operands[0] = x8;
22779 : : x9 = XEXP (x4, 1);
22780 : : switch (GET_CODE (x9))
22781 : : {
22782 : : case AND:
22783 : : x10 = XEXP (x9, 0);
22784 : : if (!rtx_equal_p (x10, operands[1]))
22785 : : return -1;
22786 : : x11 = XEXP (x9, 1);
22787 : : if (!rtx_equal_p (x11, operands[2]))
22788 : : return -1;
22789 : : switch (GET_MODE (x6))
22790 : : {
22791 : : case E_DImode:
22792 : : if (!nonimmediate_operand (operands[1], E_DImode)
22793 : : || !x86_64_szext_general_operand (operands[2], E_DImode)
22794 : : || !nonimmediate_operand (operands[0], E_DImode)
22795 : : || GET_MODE (x9) != E_DImode
22796 : : || !
22797 : : #line 12908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22798 : : (TARGET_64BIT
22799 : : && ix86_match_ccmode
22800 : : (insn,
22801 : : /* If we are going to emit andl instead of andq, and the operands[2]
22802 : : constant might have the SImode sign bit set, make sure the sign
22803 : : flag isn't tested, because the instruction will set the sign flag
22804 : : based on bit 31 rather than bit 63. If it isn't CONST_INT,
22805 : : conservatively assume it might have bit 31 set. */
22806 : : (satisfies_constraint_Z (operands[2])
22807 : : && (!CONST_INT_P (operands[2])
22808 : : || val_signbit_known_set_p (SImode, INTVAL (operands[2]))))
22809 : : ? CCZmode : CCNOmode)
22810 : : && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)))
22811 : : return -1;
22812 : : return 749; /* *anddi_2 */
22813 : :
22814 : : case E_QImode:
22815 : : if (pattern1423 (x9,
22816 : : E_QImode) != 0)
22817 : : return -1;
22818 : : if (
22819 : : #line 12959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22820 : : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
22821 : : && ix86_match_ccmode (insn,
22822 : : CONST_INT_P (operands[2])
22823 : : && INTVAL (operands[2]) >= 0 ? CCNOmode : CCZmode)))
22824 : : return 751; /* *andqi_2_maybe_si */
22825 : : if (!
22826 : : #line 13001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22827 : : (ix86_match_ccmode (insn, CCNOmode)
22828 : : && ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)))
22829 : : return -1;
22830 : : return 752; /* *andqi_2 */
22831 : :
22832 : : case E_HImode:
22833 : : if (pattern1423 (x9,
22834 : : E_HImode) != 0
22835 : : || !
22836 : : #line 13001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22837 : : (ix86_match_ccmode (insn, CCNOmode)
22838 : : && ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)))
22839 : : return -1;
22840 : : return 753; /* *andhi_2 */
22841 : :
22842 : : case E_SImode:
22843 : : if (pattern1424 (x9,
22844 : : E_SImode) != 0
22845 : : || !
22846 : : #line 13001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22847 : : (ix86_match_ccmode (insn, CCNOmode)
22848 : : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
22849 : : return -1;
22850 : : return 754; /* *andsi_2 */
22851 : :
22852 : : default:
22853 : : return -1;
22854 : : }
22855 : :
22856 : : case ZERO_EXTEND:
22857 : : if (pattern1426 (x1,
22858 : : AND) != 0
22859 : : || !
22860 : : #line 12941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22861 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
22862 : : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
22863 : : return -1;
22864 : : return 750; /* *andsi_2_zext */
22865 : :
22866 : : default:
22867 : : return -1;
22868 : : }
22869 : : }
22870 : :
22871 : : int
22872 : : recog_386 (rtx x1 ATTRIBUTE_UNUSED,
22873 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22874 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22875 : : {
22876 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22877 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22878 : : rtx x10, x11, x12, x13;
22879 : : int res ATTRIBUTE_UNUSED;
22880 : : x2 = XVECEXP (x1, 0, 0);
22881 : : x3 = XEXP (x2, 0);
22882 : : if (GET_CODE (x3) != REG
22883 : : || REGNO (x3) != 17)
22884 : : return -1;
22885 : : x4 = XEXP (x2, 1);
22886 : : x5 = XEXP (x4, 1);
22887 : : switch (GET_CODE (x5))
22888 : : {
22889 : : case REG:
22890 : : case SUBREG:
22891 : : case MEM:
22892 : : operands[1] = x5;
22893 : : x6 = XEXP (x4, 0);
22894 : : x7 = XEXP (x6, 0);
22895 : : operands[2] = x7;
22896 : : x8 = XVECEXP (x1, 0, 1);
22897 : : switch (GET_CODE (x8))
22898 : : {
22899 : : case CLOBBER:
22900 : : x9 = XEXP (x8, 0);
22901 : : operands[0] = x9;
22902 : : switch (GET_MODE (x6))
22903 : : {
22904 : : case E_QImode:
22905 : : if (!general_operand (operands[2], E_QImode)
22906 : : || !nonimmediate_operand (operands[1], E_QImode)
22907 : : || !scratch_operand (operands[0], E_QImode)
22908 : : || !
22909 : : #line 7225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22910 : : (ix86_match_ccmode (insn, CCZmode)
22911 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22912 : : return -1;
22913 : : return 314; /* *addqi_3 */
22914 : :
22915 : : case E_HImode:
22916 : : if (!general_operand (operands[2], E_HImode)
22917 : : || !nonimmediate_operand (operands[1], E_HImode)
22918 : : || !scratch_operand (operands[0], E_HImode)
22919 : : || !
22920 : : #line 7225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22921 : : (ix86_match_ccmode (insn, CCZmode)
22922 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22923 : : return -1;
22924 : : return 315; /* *addhi_3 */
22925 : :
22926 : : case E_SImode:
22927 : : if (!x86_64_general_operand (operands[2], E_SImode)
22928 : : || !nonimmediate_operand (operands[1], E_SImode)
22929 : : || !scratch_operand (operands[0], E_SImode)
22930 : : || !
22931 : : #line 7225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22932 : : (ix86_match_ccmode (insn, CCZmode)
22933 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22934 : : return -1;
22935 : : return 316; /* *addsi_3 */
22936 : :
22937 : : case E_DImode:
22938 : : if (!x86_64_general_operand (operands[2], E_DImode)
22939 : : || !nonimmediate_operand (operands[1], E_DImode)
22940 : : || !scratch_operand (operands[0], E_DImode)
22941 : : || !(
22942 : : #line 7225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22943 : : (ix86_match_ccmode (insn, CCZmode)
22944 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22945 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22946 : : (TARGET_64BIT)))
22947 : : return -1;
22948 : : return 317; /* *adddi_3 */
22949 : :
22950 : : default:
22951 : : return -1;
22952 : : }
22953 : :
22954 : : case SET:
22955 : : x10 = XEXP (x8, 1);
22956 : : if (GET_CODE (x10) != ZERO_EXTEND
22957 : : || pattern1237 (x1,
22958 : : PLUS) != 0
22959 : : || !x86_64_general_operand (operands[2], E_SImode)
22960 : : || !nonimmediate_operand (operands[1], E_SImode))
22961 : : return -1;
22962 : : x9 = XEXP (x8, 0);
22963 : : operands[0] = x9;
22964 : : if (!register_operand (operands[0], E_DImode))
22965 : : return -1;
22966 : : x11 = XEXP (x10, 0);
22967 : : x12 = XEXP (x11, 0);
22968 : : if (!rtx_equal_p (x12, operands[1]))
22969 : : return -1;
22970 : : x13 = XEXP (x11, 1);
22971 : : if (!rtx_equal_p (x13, operands[2])
22972 : : || !
22973 : : #line 7274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22974 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCZmode)
22975 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22976 : : return -1;
22977 : : return 318; /* *addsi_3_zext */
22978 : :
22979 : : default:
22980 : : return -1;
22981 : : }
22982 : :
22983 : : case CONST_INT:
22984 : : if (XWINT (x5, 0) != 0L)
22985 : : return -1;
22986 : : x8 = XVECEXP (x1, 0, 1);
22987 : : if (GET_CODE (x8) != SET)
22988 : : return -1;
22989 : : x6 = XEXP (x4, 0);
22990 : : x7 = XEXP (x6, 0);
22991 : : operands[1] = x7;
22992 : : x9 = XEXP (x8, 0);
22993 : : operands[0] = x9;
22994 : : x10 = XEXP (x8, 1);
22995 : : switch (GET_CODE (x10))
22996 : : {
22997 : : case NEG:
22998 : : switch (pattern1238 (x1))
22999 : : {
23000 : : case 0:
23001 : : if (!
23002 : : #line 14417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23003 : : (ix86_match_ccmode (insn, CCGOCmode)
23004 : : && ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)))
23005 : : return -1;
23006 : : return 975; /* *negqi_2 */
23007 : :
23008 : : case 1:
23009 : : if (!
23010 : : #line 14417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23011 : : (ix86_match_ccmode (insn, CCGOCmode)
23012 : : && ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)))
23013 : : return -1;
23014 : : return 976; /* *neghi_2 */
23015 : :
23016 : : case 2:
23017 : : if (!
23018 : : #line 14417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23019 : : (ix86_match_ccmode (insn, CCGOCmode)
23020 : : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
23021 : : return -1;
23022 : : return 977; /* *negsi_2 */
23023 : :
23024 : : case 3:
23025 : : if (!(
23026 : : #line 14417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23027 : : (ix86_match_ccmode (insn, CCGOCmode)
23028 : : && ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)) &&
23029 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23030 : : (TARGET_64BIT)))
23031 : : return -1;
23032 : : return 978; /* *negdi_2 */
23033 : :
23034 : : default:
23035 : : return -1;
23036 : : }
23037 : :
23038 : : case ZERO_EXTEND:
23039 : : if (pattern1239 (x1,
23040 : : NEG) != 0
23041 : : || !
23042 : : #line 14434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23043 : : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
23044 : : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
23045 : : return -1;
23046 : : return 979; /* *negsi_2_zext */
23047 : :
23048 : : default:
23049 : : return -1;
23050 : : }
23051 : :
23052 : : default:
23053 : : return -1;
23054 : : }
23055 : : }
23056 : :
23057 : : int
23058 : : recog_389 (rtx x1 ATTRIBUTE_UNUSED,
23059 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23060 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23061 : : {
23062 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23063 : : rtx x2, x3, x4, x5, x6;
23064 : : int res ATTRIBUTE_UNUSED;
23065 : : x2 = XVECEXP (x1, 0, 0);
23066 : : x3 = XEXP (x2, 0);
23067 : : switch (GET_CODE (x3))
23068 : : {
23069 : : case REG:
23070 : : case SUBREG:
23071 : : case MEM:
23072 : : operands[0] = x3;
23073 : : x4 = XVECEXP (x1, 0, 1);
23074 : : switch (GET_CODE (x4))
23075 : : {
23076 : : case CLOBBER:
23077 : : x5 = XEXP (x4, 0);
23078 : : if (GET_CODE (x5) != REG
23079 : : || REGNO (x5) != 17
23080 : : || GET_MODE (x5) != E_CCmode)
23081 : : return -1;
23082 : : switch (GET_MODE (operands[0]))
23083 : : {
23084 : : case E_DImode:
23085 : : if (!nonimmediate_operand (operands[0], E_DImode))
23086 : : return -1;
23087 : : x6 = XEXP (x2, 1);
23088 : : if (GET_MODE (x6) != E_DImode
23089 : : || !nonimmediate_operand (operands[1], E_DImode))
23090 : : return -1;
23091 : : if (x86_64_hilo_general_operand (operands[2], E_DImode)
23092 : : && (
23093 : : #line 8069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23094 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
23095 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23096 : : (!TARGET_64BIT)))
23097 : : return 380; /* *subdi3_doubleword */
23098 : : if (!x86_64_general_operand (operands[2], E_DImode)
23099 : : || !(
23100 : : #line 8125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23101 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
23102 : : && true) &&
23103 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23104 : : (TARGET_64BIT)))
23105 : : return -1;
23106 : : return 391; /* *subdi_1 */
23107 : :
23108 : : case E_TImode:
23109 : : x6 = XEXP (x2, 1);
23110 : : if (pattern564 (x6,
23111 : : E_TImode) != 0
23112 : : || !(
23113 : : #line 8069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23114 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
23115 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23116 : : (TARGET_64BIT)))
23117 : : return -1;
23118 : : return 381; /* *subti3_doubleword */
23119 : :
23120 : : case E_QImode:
23121 : : x6 = XEXP (x2, 1);
23122 : : if (pattern565 (x6,
23123 : : E_QImode) != 0
23124 : : || !
23125 : : #line 8125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23126 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
23127 : : && true))
23128 : : return -1;
23129 : : return 385; /* *subqi_1 */
23130 : :
23131 : : case E_HImode:
23132 : : x6 = XEXP (x2, 1);
23133 : : if (pattern565 (x6,
23134 : : E_HImode) != 0
23135 : : || !
23136 : : #line 8125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23137 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
23138 : : && true))
23139 : : return -1;
23140 : : return 387; /* *subhi_1 */
23141 : :
23142 : : case E_SImode:
23143 : : x6 = XEXP (x2, 1);
23144 : : if (pattern566 (x6) != 0
23145 : : || !
23146 : : #line 8125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23147 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
23148 : : && true))
23149 : : return -1;
23150 : : return 389; /* *subsi_1 */
23151 : :
23152 : : case E_V2QImode:
23153 : : x6 = XEXP (x2, 1);
23154 : : if (pattern568 (x6,
23155 : : E_V2QImode) != 0
23156 : : || !
23157 : : #line 3241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23158 : : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
23159 : : return -1;
23160 : : return 2131; /* subv2qi3 */
23161 : :
23162 : : default:
23163 : : return -1;
23164 : : }
23165 : :
23166 : : case UNSPEC:
23167 : : if (pattern210 (x1) != 0
23168 : : || !
23169 : : #line 773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23170 : : (TARGET_3DNOW && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
23171 : : return -1;
23172 : : return 2047; /* *mmx_subv2sf3 */
23173 : :
23174 : : default:
23175 : : return -1;
23176 : : }
23177 : :
23178 : : case STRICT_LOW_PART:
23179 : : x4 = XVECEXP (x1, 0, 1);
23180 : : if (pattern227 (x4,
23181 : : E_CCmode,
23182 : : 17) != 0)
23183 : : return -1;
23184 : : switch (pattern1325 (x2))
23185 : : {
23186 : : case 0:
23187 : : if (!
23188 : : #line 8189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23189 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23190 : : return -1;
23191 : : return 403; /* *subqi_1_slp */
23192 : :
23193 : : case 1:
23194 : : if (!
23195 : : #line 8189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23196 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23197 : : return -1;
23198 : : return 404; /* *subhi_1_slp */
23199 : :
23200 : : default:
23201 : : return -1;
23202 : : }
23203 : :
23204 : : default:
23205 : : return -1;
23206 : : }
23207 : : }
23208 : :
23209 : : int
23210 : : recog_392 (rtx x1 ATTRIBUTE_UNUSED,
23211 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23212 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23213 : : {
23214 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23215 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23216 : : rtx x10, x11;
23217 : : int res ATTRIBUTE_UNUSED;
23218 : : x2 = XVECEXP (x1, 0, 0);
23219 : : x3 = XEXP (x2, 1);
23220 : : x4 = XEXP (x3, 0);
23221 : : x5 = XEXP (x4, 1);
23222 : : if (GET_CODE (x5) != CONST_INT)
23223 : : return -1;
23224 : : switch (pattern692 (x1))
23225 : : {
23226 : : case 0:
23227 : : switch (XWINT (x5, 0))
23228 : : {
23229 : : case 0L:
23230 : : x6 = XEXP (x3, 1);
23231 : : if (GET_CODE (x6) != PLUS)
23232 : : return -1;
23233 : : x7 = XEXP (x6, 1);
23234 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23235 : : return -1;
23236 : : x8 = XEXP (x2, 0);
23237 : : operands[0] = x8;
23238 : : operands[1] = x4;
23239 : : x9 = XEXP (x4, 0);
23240 : : operands[2] = x9;
23241 : : switch (pattern1575 (x3))
23242 : : {
23243 : : case 0:
23244 : : if (!
23245 : : #line 8750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23246 : : (TARGET_CMOVE))
23247 : : return -1;
23248 : : return 449; /* *dec_cmovhi */
23249 : :
23250 : : case 1:
23251 : : if (!
23252 : : #line 8750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23253 : : (TARGET_CMOVE))
23254 : : return -1;
23255 : : return 450; /* *dec_cmovsi */
23256 : :
23257 : : case 2:
23258 : : if (!(
23259 : : #line 8750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23260 : : (TARGET_CMOVE) &&
23261 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23262 : : (TARGET_64BIT)))
23263 : : return -1;
23264 : : return 451; /* *dec_cmovdi */
23265 : :
23266 : : default:
23267 : : return -1;
23268 : : }
23269 : :
23270 : : case -1L:
23271 : : switch (pattern1184 (x2))
23272 : : {
23273 : : case 0:
23274 : : if (!(
23275 : : #line 2419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23276 : : (TARGET_AVX512BW) &&
23277 : : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23278 : : (TARGET_AVX512DQ)))
23279 : : return -1;
23280 : : return 2624; /* *kortest_cmpqi_jcc */
23281 : :
23282 : : case 1:
23283 : : if (!
23284 : : #line 2419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23285 : : (TARGET_AVX512BW))
23286 : : return -1;
23287 : : return 2625; /* *kortest_cmphi_jcc */
23288 : :
23289 : : case 2:
23290 : : if (!
23291 : : #line 2419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23292 : : (TARGET_AVX512BW))
23293 : : return -1;
23294 : : return 2626; /* *kortest_cmpsi_jcc */
23295 : :
23296 : : case 3:
23297 : : if (!(
23298 : : #line 2419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23299 : : (TARGET_AVX512BW) &&
23300 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23301 : : (TARGET_AVX512BW && TARGET_64BIT)))
23302 : : return -1;
23303 : : return 2627; /* *kortest_cmpdi_jcc */
23304 : :
23305 : : case 4:
23306 : : if (!(
23307 : : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23308 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23309 : : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23310 : : (TARGET_AVX512DQ)))
23311 : : return -1;
23312 : : return 2628; /* *kortest_cmpqi_movqicc */
23313 : :
23314 : : case 5:
23315 : : if (!
23316 : : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23317 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
23318 : : return -1;
23319 : : return 2629; /* *kortest_cmphi_movqicc */
23320 : :
23321 : : case 6:
23322 : : if (!(
23323 : : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23324 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23325 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23326 : : (TARGET_AVX512BW)))
23327 : : return -1;
23328 : : return 2630; /* *kortest_cmpsi_movqicc */
23329 : :
23330 : : case 7:
23331 : : if (!(
23332 : : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23333 : : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
23334 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23335 : : (TARGET_AVX512BW && TARGET_64BIT)))
23336 : : return -1;
23337 : : return 2631; /* *kortest_cmpdi_movqicc */
23338 : :
23339 : : case 8:
23340 : : if (!(
23341 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23342 : : (TARGET_AVX512BW && TARGET_CMOVE
23343 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23344 : : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23345 : : (TARGET_AVX512DQ)))
23346 : : return -1;
23347 : : return 2632; /* *kortest_cmpqi_movhicc */
23348 : :
23349 : : case 9:
23350 : : if (!
23351 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23352 : : (TARGET_AVX512BW && TARGET_CMOVE
23353 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23354 : : return -1;
23355 : : return 2635; /* *kortest_cmphi_movhicc */
23356 : :
23357 : : case 10:
23358 : : if (!(
23359 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23360 : : (TARGET_AVX512BW && TARGET_CMOVE
23361 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23362 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23363 : : (TARGET_AVX512BW)))
23364 : : return -1;
23365 : : return 2638; /* *kortest_cmpsi_movhicc */
23366 : :
23367 : : case 11:
23368 : : if (!(
23369 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23370 : : (TARGET_AVX512BW && TARGET_CMOVE
23371 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23372 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23373 : : (TARGET_AVX512BW && TARGET_64BIT)))
23374 : : return -1;
23375 : : return 2641; /* *kortest_cmpdi_movhicc */
23376 : :
23377 : : case 12:
23378 : : if (!(
23379 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23380 : : (TARGET_AVX512BW && TARGET_CMOVE
23381 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23382 : : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23383 : : (TARGET_AVX512DQ)))
23384 : : return -1;
23385 : : return 2633; /* *kortest_cmpqi_movsicc */
23386 : :
23387 : : case 13:
23388 : : if (!
23389 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23390 : : (TARGET_AVX512BW && TARGET_CMOVE
23391 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23392 : : return -1;
23393 : : return 2636; /* *kortest_cmphi_movsicc */
23394 : :
23395 : : case 14:
23396 : : if (!(
23397 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23398 : : (TARGET_AVX512BW && TARGET_CMOVE
23399 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23400 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23401 : : (TARGET_AVX512BW)))
23402 : : return -1;
23403 : : return 2639; /* *kortest_cmpsi_movsicc */
23404 : :
23405 : : case 15:
23406 : : if (!(
23407 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23408 : : (TARGET_AVX512BW && TARGET_CMOVE
23409 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23410 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23411 : : (TARGET_AVX512BW && TARGET_64BIT)))
23412 : : return -1;
23413 : : return 2642; /* *kortest_cmpdi_movsicc */
23414 : :
23415 : : case 16:
23416 : : if (!(
23417 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23418 : : (TARGET_AVX512BW && TARGET_CMOVE
23419 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23420 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23421 : : (TARGET_64BIT) &&
23422 : : #line 1555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23423 : : (TARGET_AVX512DQ)) &&
23424 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23425 : : (TARGET_64BIT)) &&
23426 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23427 : : (TARGET_64BIT)) &&
23428 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23429 : : (TARGET_64BIT))))
23430 : : return -1;
23431 : : return 2634; /* *kortest_cmpqi_movdicc */
23432 : :
23433 : : case 17:
23434 : : if (!(
23435 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23436 : : (TARGET_AVX512BW && TARGET_CMOVE
23437 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
23438 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23439 : : (TARGET_64BIT)))
23440 : : return -1;
23441 : : return 2637; /* *kortest_cmphi_movdicc */
23442 : :
23443 : : case 18:
23444 : : if (!(
23445 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23446 : : (TARGET_AVX512BW && TARGET_CMOVE
23447 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23448 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23449 : : (TARGET_64BIT) &&
23450 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23451 : : (TARGET_AVX512BW)) &&
23452 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23453 : : (TARGET_64BIT)) &&
23454 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23455 : : (TARGET_64BIT)) &&
23456 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23457 : : (TARGET_64BIT))))
23458 : : return -1;
23459 : : return 2640; /* *kortest_cmpsi_movdicc */
23460 : :
23461 : : case 19:
23462 : : if (!(
23463 : : #line 2498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23464 : : (TARGET_AVX512BW && TARGET_CMOVE
23465 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
23466 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23467 : : (TARGET_64BIT) &&
23468 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23469 : : (TARGET_AVX512BW && TARGET_64BIT)) &&
23470 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23471 : : (TARGET_64BIT)) &&
23472 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23473 : : (TARGET_64BIT)) &&
23474 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23475 : : (TARGET_64BIT))))
23476 : : return -1;
23477 : : return 2643; /* *kortest_cmpdi_movdicc */
23478 : :
23479 : : default:
23480 : : return -1;
23481 : : }
23482 : :
23483 : : default:
23484 : : return -1;
23485 : : }
23486 : :
23487 : : case 1:
23488 : : x9 = XEXP (x4, 0);
23489 : : x10 = XEXP (x9, 1);
23490 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
23491 : : || XWINT (x5, 0) != 0L)
23492 : : return -1;
23493 : : switch (pattern1337 (x2))
23494 : : {
23495 : : case 0:
23496 : : x11 = XEXP (x9, 2);
23497 : : operands[2] = x11;
23498 : : switch (pattern1682 (x3))
23499 : : {
23500 : : case 0:
23501 : : if (
23502 : : #line 19209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23503 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23504 : : && (CONST_INT_P (operands[2])
23505 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)
23506 : : && INTVAL (operands[2])
23507 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
23508 : : : !memory_operand (operands[1], SImode))
23509 : : && ix86_pre_reload_split ()))
23510 : : return 1424; /* *jcc_btsi */
23511 : : break;
23512 : :
23513 : : case 1:
23514 : : if ((
23515 : : #line 19209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23516 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23517 : : && (CONST_INT_P (operands[2])
23518 : : ? (INTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)
23519 : : && INTVAL (operands[2])
23520 : : >= (optimize_function_for_size_p (cfun) ? 8 : 32))
23521 : : : !memory_operand (operands[1], DImode))
23522 : : && ix86_pre_reload_split ()) &&
23523 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23524 : : (TARGET_64BIT)))
23525 : : return 1425; /* *jcc_btdi */
23526 : : break;
23527 : :
23528 : : default:
23529 : : break;
23530 : : }
23531 : : if (GET_CODE (x11) != SUBREG)
23532 : : return -1;
23533 : : switch (pattern1684 (x3))
23534 : : {
23535 : : case 0:
23536 : : if (!
23537 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23538 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23539 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23540 : : == GET_MODE_BITSIZE (SImode)-1
23541 : : && ix86_pre_reload_split ()))
23542 : : return -1;
23543 : : return 1428; /* *jcc_btsi_mask_1 */
23544 : :
23545 : : case 1:
23546 : : if (!
23547 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23548 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23549 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23550 : : == GET_MODE_BITSIZE (SImode)-1
23551 : : && ix86_pre_reload_split ()))
23552 : : return -1;
23553 : : return 1430; /* *jcc_btsi_mask_1 */
23554 : :
23555 : : case 2:
23556 : : if (!(
23557 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23558 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23559 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23560 : : == GET_MODE_BITSIZE (SImode)-1
23561 : : && ix86_pre_reload_split ()) &&
23562 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23563 : : (TARGET_64BIT)))
23564 : : return -1;
23565 : : return 1432; /* *jcc_btsi_mask_1 */
23566 : :
23567 : : case 3:
23568 : : if (!(
23569 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23570 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23571 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23572 : : == GET_MODE_BITSIZE (DImode)-1
23573 : : && ix86_pre_reload_split ()) &&
23574 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23575 : : (TARGET_64BIT)))
23576 : : return -1;
23577 : : return 1429; /* *jcc_btdi_mask_1 */
23578 : :
23579 : : case 4:
23580 : : if (!(
23581 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23582 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23583 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23584 : : == GET_MODE_BITSIZE (DImode)-1
23585 : : && ix86_pre_reload_split ()) &&
23586 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23587 : : (TARGET_64BIT)))
23588 : : return -1;
23589 : : return 1431; /* *jcc_btdi_mask_1 */
23590 : :
23591 : : case 5:
23592 : : if (!(
23593 : : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23594 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23595 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23596 : : == GET_MODE_BITSIZE (DImode)-1
23597 : : && ix86_pre_reload_split ()) &&
23598 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23599 : : (TARGET_64BIT)))
23600 : : return -1;
23601 : : return 1433; /* *jcc_btdi_mask_1 */
23602 : :
23603 : : default:
23604 : : return -1;
23605 : : }
23606 : :
23607 : : case 1:
23608 : : if (!
23609 : : #line 19248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23610 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23611 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
23612 : : == GET_MODE_BITSIZE (SImode)-1
23613 : : && ix86_pre_reload_split ()))
23614 : : return -1;
23615 : : return 1426; /* *jcc_btsi_mask */
23616 : :
23617 : : case 2:
23618 : : if (!(
23619 : : #line 19248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23620 : : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
23621 : : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
23622 : : == GET_MODE_BITSIZE (DImode)-1
23623 : : && ix86_pre_reload_split ()) &&
23624 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23625 : : (TARGET_64BIT)))
23626 : : return -1;
23627 : : return 1427; /* *jcc_btdi_mask */
23628 : :
23629 : : default:
23630 : : return -1;
23631 : : }
23632 : :
23633 : : default:
23634 : : return -1;
23635 : : }
23636 : : }
23637 : :
23638 : : int
23639 : : recog_403 (rtx x1 ATTRIBUTE_UNUSED,
23640 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23641 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23642 : : {
23643 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23644 : : rtx x2, x3, x4, x5, x6, x7;
23645 : : int res ATTRIBUTE_UNUSED;
23646 : : x2 = XVECEXP (x1, 0, 0);
23647 : : x3 = XEXP (x2, 0);
23648 : : operands[0] = x3;
23649 : : x4 = XEXP (x2, 1);
23650 : : x5 = XEXP (x4, 0);
23651 : : operands[1] = x5;
23652 : : x6 = XVECEXP (x1, 0, 1);
23653 : : switch (GET_CODE (x6))
23654 : : {
23655 : : case CLOBBER:
23656 : : x7 = XEXP (x6, 0);
23657 : : switch (pattern694 (x7))
23658 : : {
23659 : : case 0:
23660 : : if (!register_operand (operands[0], E_DImode)
23661 : : || GET_MODE (x4) != E_DImode
23662 : : || !general_operand (operands[1], E_DImode))
23663 : : return -1;
23664 : : if ((
23665 : : #line 14600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23666 : : (TARGET_CMOVE
23667 : : && ix86_pre_reload_split ()) &&
23668 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23669 : : (!TARGET_64BIT)))
23670 : : return 995; /* *absdi2_doubleword */
23671 : : if (!(
23672 : : #line 14687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23673 : : (TARGET_CMOVE
23674 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
23675 : : && ix86_pre_reload_split ()) &&
23676 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23677 : : (TARGET_64BIT)))
23678 : : return -1;
23679 : : return 1002; /* *absdi2_1 */
23680 : :
23681 : : case 1:
23682 : : if (!register_operand (operands[0], E_TImode)
23683 : : || GET_MODE (x4) != E_TImode
23684 : : || !general_operand (operands[1], E_TImode)
23685 : : || !(
23686 : : #line 14600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23687 : : (TARGET_CMOVE
23688 : : && ix86_pre_reload_split ()) &&
23689 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23690 : : (TARGET_64BIT)))
23691 : : return -1;
23692 : : return 996; /* *absti2_doubleword */
23693 : :
23694 : : case 2:
23695 : : if (!register_operand (operands[0], E_QImode)
23696 : : || GET_MODE (x4) != E_QImode
23697 : : || !general_operand (operands[1], E_QImode)
23698 : : || !
23699 : : #line 14687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23700 : : (TARGET_CMOVE
23701 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
23702 : : && ix86_pre_reload_split ()))
23703 : : return -1;
23704 : : return 999; /* *absqi2_1 */
23705 : :
23706 : : case 3:
23707 : : if (!register_operand (operands[0], E_HImode)
23708 : : || GET_MODE (x4) != E_HImode
23709 : : || !general_operand (operands[1], E_HImode)
23710 : : || !
23711 : : #line 14687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23712 : : (TARGET_CMOVE
23713 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
23714 : : && ix86_pre_reload_split ()))
23715 : : return -1;
23716 : : return 1000; /* *abshi2_1 */
23717 : :
23718 : : case 4:
23719 : : if (!register_operand (operands[0], E_SImode)
23720 : : || GET_MODE (x4) != E_SImode
23721 : : || !general_operand (operands[1], E_SImode)
23722 : : || !
23723 : : #line 14687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23724 : : (TARGET_CMOVE
23725 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
23726 : : && ix86_pre_reload_split ()))
23727 : : return -1;
23728 : : return 1001; /* *abssi2_1 */
23729 : :
23730 : : case 5:
23731 : : if (!register_operand (operands[0], E_SFmode)
23732 : : || GET_MODE (x4) != E_SFmode
23733 : : || !register_operand (operands[1], E_SFmode)
23734 : : || !
23735 : : #line 14810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23736 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
23737 : : return -1;
23738 : : return 1010; /* *abssf2_i387_1 */
23739 : :
23740 : : case 6:
23741 : : if (!register_operand (operands[0], E_DFmode)
23742 : : || GET_MODE (x4) != E_DFmode
23743 : : || !register_operand (operands[1], E_DFmode)
23744 : : || !
23745 : : #line 14810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23746 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
23747 : : return -1;
23748 : : return 1012; /* *absdf2_i387_1 */
23749 : :
23750 : : case 7:
23751 : : if (!register_operand (operands[0], E_XFmode)
23752 : : || GET_MODE (x4) != E_XFmode
23753 : : || !register_operand (operands[1], E_XFmode)
23754 : : || !
23755 : : #line 14810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23756 : : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
23757 : : return -1;
23758 : : return 1014; /* *absxf2_i387_1 */
23759 : :
23760 : : default:
23761 : : return -1;
23762 : : }
23763 : :
23764 : : case USE:
23765 : : switch (pattern698 (x1, pnum_clobbers))
23766 : : {
23767 : : case 0:
23768 : : if (!
23769 : : #line 14748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23770 : : (TARGET_SSE))
23771 : : return -1;
23772 : : return 1007; /* *abstf2_1 */
23773 : :
23774 : : case 1:
23775 : : if (!
23776 : : #line 14834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23777 : : (TARGET_AVX512FP16))
23778 : : return -1;
23779 : : *pnum_clobbers = 1;
23780 : : return 1016; /* *abshf2_1 */
23781 : :
23782 : : case 2:
23783 : : if (!
23784 : : #line 14850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23785 : : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
23786 : : return -1;
23787 : : *pnum_clobbers = 1;
23788 : : return 1018; /* *abssf2_1 */
23789 : :
23790 : : case 3:
23791 : : if (!
23792 : : #line 14850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23793 : : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
23794 : : return -1;
23795 : : *pnum_clobbers = 1;
23796 : : return 1020; /* *absdf2_1 */
23797 : :
23798 : : case 4:
23799 : : if (!
23800 : : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23801 : : (TARGET_MMX_WITH_SSE))
23802 : : return -1;
23803 : : return 2043; /* *mmx_absv2sf2 */
23804 : :
23805 : : case 5:
23806 : : if (!
23807 : : #line 2239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23808 : : (TARGET_SSE))
23809 : : return -1;
23810 : : return 2089; /* *mmx_absv2bf */
23811 : :
23812 : : case 6:
23813 : : if (!(
23814 : : #line 2239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23815 : : (TARGET_SSE) &&
23816 : : #line 2224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23817 : : (TARGET_MMX_WITH_SSE)))
23818 : : return -1;
23819 : : return 2091; /* *mmx_absv4bf */
23820 : :
23821 : : case 7:
23822 : : if (!
23823 : : #line 2239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23824 : : (TARGET_SSE))
23825 : : return -1;
23826 : : return 2093; /* *mmx_absv2hf */
23827 : :
23828 : : case 8:
23829 : : if (!(
23830 : : #line 2239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23831 : : (TARGET_SSE) &&
23832 : : #line 2225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23833 : : (TARGET_MMX_WITH_SSE)))
23834 : : return -1;
23835 : : return 2095; /* *mmx_absv4hf */
23836 : :
23837 : : case 9:
23838 : : if (!(
23839 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23840 : : (TARGET_SSE) &&
23841 : : #line 412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23842 : : (TARGET_AVX512F && TARGET_EVEX512)))
23843 : : return -1;
23844 : : return 2647; /* *absv32bf2 */
23845 : :
23846 : : case 10:
23847 : : if (!(
23848 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23849 : : (TARGET_SSE) &&
23850 : : #line 413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23851 : : (TARGET_AVX)))
23852 : : return -1;
23853 : : return 2649; /* *absv16bf2 */
23854 : :
23855 : : case 11:
23856 : : if (!(
23857 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23858 : : (TARGET_SSE) &&
23859 : : #line 413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23860 : : (TARGET_SSE2)))
23861 : : return -1;
23862 : : return 2651; /* *absv8bf2 */
23863 : :
23864 : : case 12:
23865 : : if (!(
23866 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23867 : : (TARGET_SSE) &&
23868 : : #line 414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23869 : : (TARGET_AVX512F && TARGET_EVEX512)))
23870 : : return -1;
23871 : : return 2653; /* *absv32hf2 */
23872 : :
23873 : : case 13:
23874 : : if (!(
23875 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23876 : : (TARGET_SSE) &&
23877 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23878 : : (TARGET_AVX)))
23879 : : return -1;
23880 : : return 2655; /* *absv16hf2 */
23881 : :
23882 : : case 14:
23883 : : if (!(
23884 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23885 : : (TARGET_SSE) &&
23886 : : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23887 : : (TARGET_SSE2)))
23888 : : return -1;
23889 : : return 2657; /* *absv8hf2 */
23890 : :
23891 : : case 15:
23892 : : if (!(
23893 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23894 : : (TARGET_SSE) &&
23895 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23896 : : (TARGET_AVX512F && TARGET_EVEX512)))
23897 : : return -1;
23898 : : return 2659; /* *absv16sf2 */
23899 : :
23900 : : case 16:
23901 : : if (!(
23902 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23903 : : (TARGET_SSE) &&
23904 : : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23905 : : (TARGET_AVX)))
23906 : : return -1;
23907 : : return 2661; /* *absv8sf2 */
23908 : :
23909 : : case 17:
23910 : : if (!
23911 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23912 : : (TARGET_SSE))
23913 : : return -1;
23914 : : return 2663; /* *absv4sf2 */
23915 : :
23916 : : case 18:
23917 : : if (!(
23918 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23919 : : (TARGET_SSE) &&
23920 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23921 : : (TARGET_AVX512F && TARGET_EVEX512)))
23922 : : return -1;
23923 : : return 2665; /* *absv8df2 */
23924 : :
23925 : : case 19:
23926 : : if (!(
23927 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23928 : : (TARGET_SSE) &&
23929 : : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23930 : : (TARGET_AVX)))
23931 : : return -1;
23932 : : return 2667; /* *absv4df2 */
23933 : :
23934 : : case 20:
23935 : : if (!(
23936 : : #line 2586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23937 : : (TARGET_SSE) &&
23938 : : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23939 : : (TARGET_SSE2)))
23940 : : return -1;
23941 : : return 2669; /* *absv2df2 */
23942 : :
23943 : : default:
23944 : : return -1;
23945 : : }
23946 : :
23947 : : default:
23948 : : return -1;
23949 : : }
23950 : : }
23951 : :
23952 : : int
23953 : : recog_406 (rtx x1 ATTRIBUTE_UNUSED,
23954 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23955 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23956 : : {
23957 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23958 : : rtx x2, x3, x4;
23959 : : int res ATTRIBUTE_UNUSED;
23960 : : x2 = XVECEXP (x1, 0, 0);
23961 : : x3 = XEXP (x2, 0);
23962 : : switch (GET_CODE (x3))
23963 : : {
23964 : : case REG:
23965 : : case SUBREG:
23966 : : case MEM:
23967 : : operands[0] = x3;
23968 : : switch (GET_MODE (operands[0]))
23969 : : {
23970 : : case E_DImode:
23971 : : x4 = XEXP (x2, 1);
23972 : : if (GET_MODE (x4) != E_DImode)
23973 : : return -1;
23974 : : if (register_operand (operands[0], E_DImode)
23975 : : && register_operand (operands[1], E_DImode)
23976 : : && nonmemory_operand (operands[2], E_QImode)
23977 : : &&
23978 : : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23979 : : (!TARGET_64BIT))
23980 : : return 1131; /* ashrdi3_doubleword */
23981 : : if (!nonimmediate_operand (operands[0], E_DImode)
23982 : : || !nonimmediate_operand (operands[1], E_DImode))
23983 : : return -1;
23984 : : if (const_int_operand (operands[2], E_QImode)
23985 : : && (
23986 : : #line 17264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23987 : : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
23988 : : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
23989 : : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
23990 : : && true) &&
23991 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23992 : : (TARGET_64BIT)))
23993 : : return 1169; /* ashrdi3_cvt */
23994 : : if (!nonmemory_operand (operands[2], E_QImode)
23995 : : || !(
23996 : : #line 17343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23997 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
23998 : : && true) &&
23999 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24000 : : (TARGET_64BIT)))
24001 : : return -1;
24002 : : return 1178; /* *ashrdi3_1 */
24003 : :
24004 : : case E_TImode:
24005 : : x4 = XEXP (x2, 1);
24006 : : if (pattern1250 (x4,
24007 : : E_TImode) != 0
24008 : : || !
24009 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24010 : : (TARGET_64BIT))
24011 : : return -1;
24012 : : return 1133; /* ashrti3_doubleword */
24013 : :
24014 : : case E_SImode:
24015 : : x4 = XEXP (x2, 1);
24016 : : if (pattern1498 (x4,
24017 : : E_SImode) != 0
24018 : : || !
24019 : : #line 17343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24020 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
24021 : : && true))
24022 : : return -1;
24023 : : return 1176; /* *ashrsi3_1 */
24024 : :
24025 : : case E_QImode:
24026 : : x4 = XEXP (x2, 1);
24027 : : if (pattern1498 (x4,
24028 : : E_QImode) != 0
24029 : : || !
24030 : : #line 17552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24031 : : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
24032 : : && true))
24033 : : return -1;
24034 : : return 1209; /* *ashrqi3_1 */
24035 : :
24036 : : case E_HImode:
24037 : : x4 = XEXP (x2, 1);
24038 : : if (pattern1498 (x4,
24039 : : E_HImode) != 0
24040 : : || !
24041 : : #line 17552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24042 : : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
24043 : : && true))
24044 : : return -1;
24045 : : return 1211; /* *ashrhi3_1 */
24046 : :
24047 : : case E_V2QImode:
24048 : : x4 = XEXP (x2, 1);
24049 : : if (pattern1250 (x4,
24050 : : E_V2QImode) != 0
24051 : : || !
24052 : : #line 4007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24053 : : (!TARGET_PARTIAL_REG_STALL || optimize_size))
24054 : : return -1;
24055 : : return 2210; /* ashrv2qi3 */
24056 : :
24057 : : default:
24058 : : return -1;
24059 : : }
24060 : :
24061 : : case STRICT_LOW_PART:
24062 : : switch (pattern1251 (x2))
24063 : : {
24064 : : case 0:
24065 : : if (!
24066 : : #line 17658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24067 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
24068 : : return -1;
24069 : : return 1217; /* *ashrqi3_1_slp */
24070 : :
24071 : : case 1:
24072 : : if (!
24073 : : #line 17658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24074 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
24075 : : return -1;
24076 : : return 1219; /* *ashrhi3_1_slp */
24077 : :
24078 : : default:
24079 : : return -1;
24080 : : }
24081 : :
24082 : : default:
24083 : : return -1;
24084 : : }
24085 : : }
24086 : :
24087 : : int
24088 : : recog_415 (rtx x1 ATTRIBUTE_UNUSED,
24089 : : rtx_insn *insn ATTRIBUTE_UNUSED,
24090 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
24091 : : {
24092 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24093 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24094 : : rtx x10, x11;
24095 : : int res ATTRIBUTE_UNUSED;
24096 : : x2 = XVECEXP (x1, 0, 0);
24097 : : x3 = XEXP (x2, 0);
24098 : : operands[0] = x3;
24099 : : x4 = XEXP (x2, 1);
24100 : : switch (XVECLEN (x4, 0))
24101 : : {
24102 : : case 1:
24103 : : switch (XINT (x4, 1))
24104 : : {
24105 : : case 2:
24106 : : x5 = XVECEXP (x1, 0, 1);
24107 : : if (pattern227 (x5,
24108 : : E_CCmode,
24109 : : 17) != 0)
24110 : : return -1;
24111 : : x6 = XVECEXP (x4, 0, 0);
24112 : : operands[1] = x6;
24113 : : switch (GET_MODE (operands[0]))
24114 : : {
24115 : : case E_SImode:
24116 : : if (!register_operand (operands[0], E_SImode)
24117 : : || GET_MODE (x4) != E_SImode
24118 : : || !register_operand (operands[1], E_SImode)
24119 : : || !(
24120 : : #line 27075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24121 : : (ix86_target_stack_probe ()) &&
24122 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24123 : : (Pmode == SImode)))
24124 : : return -1;
24125 : : return 1853; /* allocate_stack_worker_probe_si */
24126 : :
24127 : : case E_DImode:
24128 : : if (!register_operand (operands[0], E_DImode)
24129 : : || GET_MODE (x4) != E_DImode
24130 : : || !register_operand (operands[1], E_DImode)
24131 : : || !(
24132 : : #line 27075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24133 : : (ix86_target_stack_probe ()) &&
24134 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24135 : : (Pmode == DImode)))
24136 : : return -1;
24137 : : return 1854; /* allocate_stack_worker_probe_di */
24138 : :
24139 : : default:
24140 : : return -1;
24141 : : }
24142 : :
24143 : : case 11:
24144 : : if (pattern705 (x1,
24145 : : 11) != 0
24146 : : || !
24147 : : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24148 : : (TARGET_64BIT))
24149 : : return -1;
24150 : : return 1890; /* rdpmc_rex64 */
24151 : :
24152 : : case 9:
24153 : : if (pattern706 (x1,
24154 : : E_DImode,
24155 : : 9) != 0
24156 : : || !
24157 : : #line 28977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24158 : : (TARGET_64BIT))
24159 : : return -1;
24160 : : return 1892; /* rdtsc_rex64 */
24161 : :
24162 : : case 10:
24163 : : if (pattern706 (x1,
24164 : : E_SImode,
24165 : : 10) != 0
24166 : : || !
24167 : : #line 28987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24168 : : (!TARGET_64BIT))
24169 : : return -1;
24170 : : return 1893; /* rdtscp */
24171 : :
24172 : : case 36:
24173 : : if (pattern705 (x1,
24174 : : 36) != 0
24175 : : || !
24176 : : #line 29201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24177 : : (TARGET_64BIT && TARGET_XSAVE))
24178 : : return -1;
24179 : : return 1920; /* xgetbv_rex64 */
24180 : :
24181 : : case 44:
24182 : : switch (pattern707 (x1,
24183 : : 44))
24184 : : {
24185 : : case 0:
24186 : : if (!
24187 : : #line 29362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24188 : : (TARGET_RDRND))
24189 : : return -1;
24190 : : return 1943; /* rdrandhi */
24191 : :
24192 : : case 1:
24193 : : if (!
24194 : : #line 29362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24195 : : (TARGET_RDRND))
24196 : : return -1;
24197 : : return 1944; /* rdrandsi */
24198 : :
24199 : : case 2:
24200 : : if (!(
24201 : : #line 29362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24202 : : (TARGET_RDRND) &&
24203 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24204 : : (TARGET_64BIT)))
24205 : : return -1;
24206 : : return 1945; /* rdranddi */
24207 : :
24208 : : default:
24209 : : return -1;
24210 : : }
24211 : :
24212 : : case 45:
24213 : : switch (pattern707 (x1,
24214 : : 45))
24215 : : {
24216 : : case 0:
24217 : : if (!
24218 : : #line 29372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24219 : : (TARGET_RDSEED))
24220 : : return -1;
24221 : : return 1946; /* rdseedhi */
24222 : :
24223 : : case 1:
24224 : : if (!
24225 : : #line 29372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24226 : : (TARGET_RDSEED))
24227 : : return -1;
24228 : : return 1947; /* rdseedsi */
24229 : :
24230 : : case 2:
24231 : : if (!(
24232 : : #line 29372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24233 : : (TARGET_RDSEED) &&
24234 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24235 : : (TARGET_64BIT)))
24236 : : return -1;
24237 : : return 1948; /* rdseeddi */
24238 : :
24239 : : default:
24240 : : return -1;
24241 : : }
24242 : :
24243 : : case 56:
24244 : : if (GET_MODE (x4) != E_SImode)
24245 : : return -1;
24246 : : x5 = XVECEXP (x1, 0, 1);
24247 : : if (GET_CODE (x5) != SET)
24248 : : return -1;
24249 : : x7 = XEXP (x5, 1);
24250 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24251 : : || !register_operand (operands[0], E_SImode))
24252 : : return -1;
24253 : : x6 = XVECEXP (x4, 0, 0);
24254 : : operands[2] = x6;
24255 : : if (!register_operand (operands[2], E_SImode))
24256 : : return -1;
24257 : : x8 = XEXP (x5, 0);
24258 : : operands[1] = x8;
24259 : : if (!register_operand (operands[1], E_SImode)
24260 : : || !
24261 : : #line 29615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24262 : : (TARGET_PKU))
24263 : : return -1;
24264 : : return 1974; /* *rdpkru */
24265 : :
24266 : : default:
24267 : : return -1;
24268 : : }
24269 : :
24270 : : case 2:
24271 : : switch (XINT (x4, 1))
24272 : : {
24273 : : case 3:
24274 : : x5 = XVECEXP (x1, 0, 1);
24275 : : if (pattern227 (x5,
24276 : : E_CCmode,
24277 : : 17) != 0)
24278 : : return -1;
24279 : : x6 = XVECEXP (x4, 0, 0);
24280 : : operands[1] = x6;
24281 : : x9 = XVECEXP (x4, 0, 1);
24282 : : operands[2] = x9;
24283 : : switch (GET_MODE (operands[0]))
24284 : : {
24285 : : case E_SImode:
24286 : : if (pattern1438 (x4,
24287 : : E_SImode) != 0
24288 : : || !
24289 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24290 : : (Pmode == SImode))
24291 : : return -1;
24292 : : return 1859; /* probe_stack_range_si */
24293 : :
24294 : : case E_DImode:
24295 : : if (pattern1438 (x4,
24296 : : E_DImode) != 0
24297 : : || !
24298 : : #line 1398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24299 : : (Pmode == DImode))
24300 : : return -1;
24301 : : return 1860; /* probe_stack_range_di */
24302 : :
24303 : : default:
24304 : : return -1;
24305 : : }
24306 : :
24307 : : case 99:
24308 : : if (pattern708 (x1,
24309 : : 99) != 0
24310 : : || !
24311 : : #line 31348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24312 : : (TARGET_KL))
24313 : : return -1;
24314 : : return 10359; /* aesdec128klu8 */
24315 : :
24316 : : case 101:
24317 : : if (pattern708 (x1,
24318 : : 101) != 0
24319 : : || !
24320 : : #line 31348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24321 : : (TARGET_KL))
24322 : : return -1;
24323 : : return 10360; /* aesdec256klu8 */
24324 : :
24325 : : case 100:
24326 : : if (pattern708 (x1,
24327 : : 100) != 0
24328 : : || !
24329 : : #line 31348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24330 : : (TARGET_KL))
24331 : : return -1;
24332 : : return 10361; /* aesenc128klu8 */
24333 : :
24334 : : case 102:
24335 : : if (pattern708 (x1,
24336 : : 102) != 0
24337 : : || !
24338 : : #line 31348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24339 : : (TARGET_KL))
24340 : : return -1;
24341 : : return 10362; /* aesenc256klu8 */
24342 : :
24343 : : case 110:
24344 : : x5 = XVECEXP (x1, 0, 1);
24345 : : if (GET_CODE (x5) != SET)
24346 : : return -1;
24347 : : x6 = XVECEXP (x4, 0, 0);
24348 : : operands[1] = x6;
24349 : : x9 = XVECEXP (x4, 0, 1);
24350 : : operands[3] = x9;
24351 : : if (!const_int_operand (operands[3], E_SImode))
24352 : : return -1;
24353 : : x8 = XEXP (x5, 0);
24354 : : if (!rtx_equal_p (x8, operands[1]))
24355 : : return -1;
24356 : : x7 = XEXP (x5, 1);
24357 : : switch (GET_CODE (x7))
24358 : : {
24359 : : case PLUS:
24360 : : if (pnum_clobbers == NULL)
24361 : : return -1;
24362 : : x10 = XEXP (x7, 1);
24363 : : operands[2] = x10;
24364 : : x11 = XEXP (x7, 0);
24365 : : if (!rtx_equal_p (x11, operands[1]))
24366 : : return -1;
24367 : : switch (GET_MODE (operands[0]))
24368 : : {
24369 : : case E_QImode:
24370 : : if (pattern1570 (x1,
24371 : : E_QImode) != 0
24372 : : || !
24373 : : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24374 : : (TARGET_XADD))
24375 : : return -1;
24376 : : *pnum_clobbers = 1;
24377 : : return 11027; /* atomic_fetch_addqi */
24378 : :
24379 : : case E_HImode:
24380 : : if (pattern1570 (x1,
24381 : : E_HImode) != 0
24382 : : || !
24383 : : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24384 : : (TARGET_XADD))
24385 : : return -1;
24386 : : *pnum_clobbers = 1;
24387 : : return 11028; /* atomic_fetch_addhi */
24388 : :
24389 : : case E_SImode:
24390 : : if (pattern1570 (x1,
24391 : : E_SImode) != 0
24392 : : || !
24393 : : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24394 : : (TARGET_XADD))
24395 : : return -1;
24396 : : *pnum_clobbers = 1;
24397 : : return 11029; /* atomic_fetch_addsi */
24398 : :
24399 : : case E_DImode:
24400 : : if (pattern1570 (x1,
24401 : : E_DImode) != 0
24402 : : || !(
24403 : : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24404 : : (TARGET_XADD) &&
24405 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24406 : : (TARGET_64BIT)))
24407 : : return -1;
24408 : : *pnum_clobbers = 1;
24409 : : return 11030; /* atomic_fetch_adddi */
24410 : :
24411 : : default:
24412 : : return -1;
24413 : : }
24414 : :
24415 : : case REG:
24416 : : case SUBREG:
24417 : : operands[2] = x7;
24418 : : switch (GET_MODE (operands[0]))
24419 : : {
24420 : : case E_QImode:
24421 : : if (pattern1499 (x4,
24422 : : E_QImode) != 0)
24423 : : return -1;
24424 : : return 11035; /* atomic_exchangeqi */
24425 : :
24426 : : case E_HImode:
24427 : : if (pattern1499 (x4,
24428 : : E_HImode) != 0)
24429 : : return -1;
24430 : : return 11036; /* atomic_exchangehi */
24431 : :
24432 : : case E_SImode:
24433 : : if (pattern1499 (x4,
24434 : : E_SImode) != 0)
24435 : : return -1;
24436 : : return 11037; /* atomic_exchangesi */
24437 : :
24438 : : case E_DImode:
24439 : : if (pattern1499 (x4,
24440 : : E_DImode) != 0
24441 : : || !
24442 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24443 : : (TARGET_64BIT))
24444 : : return -1;
24445 : : return 11038; /* atomic_exchangedi */
24446 : :
24447 : : default:
24448 : : return -1;
24449 : : }
24450 : :
24451 : : default:
24452 : : return -1;
24453 : : }
24454 : :
24455 : : case 111:
24456 : : x5 = XVECEXP (x1, 0, 1);
24457 : : if (pattern227 (x5,
24458 : : E_CCmode,
24459 : : 17) != 0)
24460 : : return -1;
24461 : : x9 = XVECEXP (x4, 0, 1);
24462 : : operands[2] = x9;
24463 : : if (!const_int_operand (operands[2], E_SImode))
24464 : : return -1;
24465 : : x6 = XVECEXP (x4, 0, 0);
24466 : : switch (GET_CODE (x6))
24467 : : {
24468 : : case PLUS:
24469 : : switch (pattern1440 (x4))
24470 : : {
24471 : : case 0:
24472 : : return 11047; /* atomic_addqi */
24473 : :
24474 : : case 1:
24475 : : return 11048; /* atomic_addhi */
24476 : :
24477 : : case 2:
24478 : : return 11049; /* atomic_addsi */
24479 : :
24480 : : case 3:
24481 : : if (!
24482 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24483 : : (TARGET_64BIT))
24484 : : return -1;
24485 : : return 11050; /* atomic_adddi */
24486 : :
24487 : : default:
24488 : : return -1;
24489 : : }
24490 : :
24491 : : case MINUS:
24492 : : switch (pattern1440 (x4))
24493 : : {
24494 : : case 0:
24495 : : return 11051; /* atomic_subqi */
24496 : :
24497 : : case 1:
24498 : : return 11052; /* atomic_subhi */
24499 : :
24500 : : case 2:
24501 : : return 11053; /* atomic_subsi */
24502 : :
24503 : : case 3:
24504 : : if (!
24505 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24506 : : (TARGET_64BIT))
24507 : : return -1;
24508 : : return 11054; /* atomic_subdi */
24509 : :
24510 : : default:
24511 : : return -1;
24512 : : }
24513 : :
24514 : : case AND:
24515 : : switch (pattern1440 (x4))
24516 : : {
24517 : : case 0:
24518 : : return 11055; /* atomic_andqi */
24519 : :
24520 : : case 1:
24521 : : return 11058; /* atomic_andhi */
24522 : :
24523 : : case 2:
24524 : : return 11061; /* atomic_andsi */
24525 : :
24526 : : case 3:
24527 : : if (!
24528 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24529 : : (TARGET_64BIT))
24530 : : return -1;
24531 : : return 11064; /* atomic_anddi */
24532 : :
24533 : : default:
24534 : : return -1;
24535 : : }
24536 : :
24537 : : case IOR:
24538 : : switch (pattern1440 (x4))
24539 : : {
24540 : : case 0:
24541 : : return 11056; /* atomic_orqi */
24542 : :
24543 : : case 1:
24544 : : return 11059; /* atomic_orhi */
24545 : :
24546 : : case 2:
24547 : : return 11062; /* atomic_orsi */
24548 : :
24549 : : case 3:
24550 : : if (!
24551 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24552 : : (TARGET_64BIT))
24553 : : return -1;
24554 : : return 11065; /* atomic_ordi */
24555 : :
24556 : : default:
24557 : : return -1;
24558 : : }
24559 : :
24560 : : case XOR:
24561 : : switch (pattern1440 (x4))
24562 : : {
24563 : : case 0:
24564 : : return 11057; /* atomic_xorqi */
24565 : :
24566 : : case 1:
24567 : : return 11060; /* atomic_xorhi */
24568 : :
24569 : : case 2:
24570 : : return 11063; /* atomic_xorsi */
24571 : :
24572 : : case 3:
24573 : : if (!
24574 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24575 : : (TARGET_64BIT))
24576 : : return -1;
24577 : : return 11066; /* atomic_xordi */
24578 : :
24579 : : default:
24580 : : return -1;
24581 : : }
24582 : :
24583 : : default:
24584 : : return -1;
24585 : : }
24586 : :
24587 : : default:
24588 : : return -1;
24589 : : }
24590 : :
24591 : : default:
24592 : : return -1;
24593 : : }
24594 : : }
24595 : :
24596 : : int
24597 : : recog_435 (rtx x1 ATTRIBUTE_UNUSED,
24598 : : rtx_insn *insn ATTRIBUTE_UNUSED,
24599 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
24600 : : {
24601 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24602 : : rtx x2, x3, x4;
24603 : : int res ATTRIBUTE_UNUSED;
24604 : : x2 = XEXP (x1, 1);
24605 : : switch (GET_CODE (x2))
24606 : : {
24607 : : case IF_THEN_ELSE:
24608 : : res = recog_2 (x1, insn, pnum_clobbers);
24609 : : if (res >= 0)
24610 : : return res;
24611 : : break;
24612 : :
24613 : : case COMPARE:
24614 : : res = recog_4 (x1, insn, pnum_clobbers);
24615 : : if (res >= 0)
24616 : : return res;
24617 : : break;
24618 : :
24619 : : case UNSPEC:
24620 : : res = recog_15 (x1, insn, pnum_clobbers);
24621 : : if (res >= 0)
24622 : : return res;
24623 : : break;
24624 : :
24625 : : case CONST_INT:
24626 : : case CONST_WIDE_INT:
24627 : : case CONST_POLY_INT:
24628 : : case CONST_FIXED:
24629 : : case CONST_DOUBLE:
24630 : : case CONST_VECTOR:
24631 : : case CONST:
24632 : : case REG:
24633 : : case SUBREG:
24634 : : case MEM:
24635 : : case LABEL_REF:
24636 : : case SYMBOL_REF:
24637 : : case HIGH:
24638 : : res = recog_19 (x1, insn, pnum_clobbers);
24639 : : if (res >= 0)
24640 : : return res;
24641 : : break;
24642 : :
24643 : : case SIGN_EXTRACT:
24644 : : case ZERO_EXTRACT:
24645 : : res = recog_21 (x1, insn, pnum_clobbers);
24646 : : if (res >= 0)
24647 : : return res;
24648 : : break;
24649 : :
24650 : : case LSHIFTRT:
24651 : : res = recog_22 (x1, insn, pnum_clobbers);
24652 : : if (res >= 0)
24653 : : return res;
24654 : : break;
24655 : :
24656 : : case ASHIFTRT:
24657 : : res = recog_23 (x1, insn, pnum_clobbers);
24658 : : if (res >= 0)
24659 : : return res;
24660 : : break;
24661 : :
24662 : : case IOR:
24663 : : res = recog_24 (x1, insn, pnum_clobbers);
24664 : : if (res >= 0)
24665 : : return res;
24666 : : break;
24667 : :
24668 : : case XOR:
24669 : : res = recog_25 (x1, insn, pnum_clobbers);
24670 : : if (res >= 0)
24671 : : return res;
24672 : : break;
24673 : :
24674 : : case ZERO_EXTEND:
24675 : : res = recog_27 (x1, insn, pnum_clobbers);
24676 : : if (res >= 0)
24677 : : return res;
24678 : : break;
24679 : :
24680 : : case SIGN_EXTEND:
24681 : : res = recog_28 (x1, insn, pnum_clobbers);
24682 : : if (res >= 0)
24683 : : return res;
24684 : : break;
24685 : :
24686 : : case FLOAT_EXTEND:
24687 : : res = recog_29 (x1, insn, pnum_clobbers);
24688 : : if (res >= 0)
24689 : : return res;
24690 : : break;
24691 : :
24692 : : case FLOAT_TRUNCATE:
24693 : : res = recog_30 (x1, insn, pnum_clobbers);
24694 : : if (res >= 0)
24695 : : return res;
24696 : : break;
24697 : :
24698 : : case FIX:
24699 : : res = recog_31 (x1, insn, pnum_clobbers);
24700 : : if (res >= 0)
24701 : : return res;
24702 : : break;
24703 : :
24704 : : case UNSIGNED_FIX:
24705 : : res = recog_32 (x1, insn, pnum_clobbers);
24706 : : if (res >= 0)
24707 : : return res;
24708 : : break;
24709 : :
24710 : : case FLOAT:
24711 : : res = recog_33 (x1, insn, pnum_clobbers);
24712 : : if (res >= 0)
24713 : : return res;
24714 : : break;
24715 : :
24716 : : case UNSIGNED_FLOAT:
24717 : : res = recog_34 (x1, insn, pnum_clobbers);
24718 : : if (res >= 0)
24719 : : return res;
24720 : : break;
24721 : :
24722 : : case AND:
24723 : : res = recog_38 (x1, insn, pnum_clobbers);
24724 : : if (res >= 0)
24725 : : return res;
24726 : : break;
24727 : :
24728 : : case NOT:
24729 : : res = recog_39 (x1, insn, pnum_clobbers);
24730 : : if (res >= 0)
24731 : : return res;
24732 : : break;
24733 : :
24734 : : case NEG:
24735 : : res = recog_40 (x1, insn, pnum_clobbers);
24736 : : if (res >= 0)
24737 : : return res;
24738 : : break;
24739 : :
24740 : : case ABS:
24741 : : res = recog_41 (x1, insn, pnum_clobbers);
24742 : : if (res >= 0)
24743 : : return res;
24744 : : break;
24745 : :
24746 : : case ASHIFT:
24747 : : res = recog_42 (x1, insn, pnum_clobbers);
24748 : : if (res >= 0)
24749 : : return res;
24750 : : break;
24751 : :
24752 : : case ROTATE:
24753 : : res = recog_43 (x1, insn, pnum_clobbers);
24754 : : if (res >= 0)
24755 : : return res;
24756 : : break;
24757 : :
24758 : : case ROTATERT:
24759 : : res = recog_44 (x1, insn, pnum_clobbers);
24760 : : if (res >= 0)
24761 : : return res;
24762 : : break;
24763 : :
24764 : : case NE:
24765 : : case EQ:
24766 : : case GE:
24767 : : case GT:
24768 : : case LE:
24769 : : case LT:
24770 : : case LTGT:
24771 : : case GEU:
24772 : : case GTU:
24773 : : case LEU:
24774 : : case LTU:
24775 : : case UNORDERED:
24776 : : case ORDERED:
24777 : : case UNEQ:
24778 : : case UNGE:
24779 : : case UNGT:
24780 : : case UNLE:
24781 : : case UNLT:
24782 : : res = recog_50 (x1, insn, pnum_clobbers);
24783 : : if (res >= 0)
24784 : : return res;
24785 : : break;
24786 : :
24787 : : case POPCOUNT:
24788 : : res = recog_51 (x1, insn, pnum_clobbers);
24789 : : if (res >= 0)
24790 : : return res;
24791 : : break;
24792 : :
24793 : : case BSWAP:
24794 : : if (GET_MODE (x2) == E_HImode)
24795 : : {
24796 : : x3 = XEXP (x1, 0);
24797 : : operands[0] = x3;
24798 : : x4 = XEXP (x2, 0);
24799 : : operands[1] = x4;
24800 : : if (nonimmediate_operand (operands[1], E_HImode)
24801 : : && nonimmediate_operand (operands[0], E_HImode)
24802 : : &&
24803 : : #line 22474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24804 : : (TARGET_MOVBE
24805 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
24806 : : return 1638; /* *bswaphi2_movbe */
24807 : : if (register_operand (operands[1], E_HImode)
24808 : : && register_operand (operands[0], E_HImode)
24809 : : &&
24810 : : #line 22493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24811 : : (!TARGET_MOVBE))
24812 : : return 1639; /* *bswaphi2 */
24813 : : }
24814 : : break;
24815 : :
24816 : : case PLUS:
24817 : : case MINUS:
24818 : : case MULT:
24819 : : case DIV:
24820 : : res = recog_58 (x1, insn, pnum_clobbers);
24821 : : if (res >= 0)
24822 : : return res;
24823 : : break;
24824 : :
24825 : : case SQRT:
24826 : : res = recog_354 (x1, insn, pnum_clobbers);
24827 : : if (res >= 0)
24828 : : return res;
24829 : : break;
24830 : :
24831 : : case SMAX:
24832 : : switch (pattern9 (x1, pnum_clobbers))
24833 : : {
24834 : : case 0:
24835 : : if (
24836 : : #line 26602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24837 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
24838 : : return 1809; /* smaxsf3 */
24839 : : break;
24840 : :
24841 : : case 1:
24842 : : if (
24843 : : #line 26602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24844 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
24845 : : return 1811; /* smaxdf3 */
24846 : : break;
24847 : :
24848 : : case 2:
24849 : : if (
24850 : : #line 26616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24851 : : (TARGET_AVX512FP16))
24852 : : return 1813; /* smaxhf3 */
24853 : : break;
24854 : :
24855 : : case 3:
24856 : : if ((
24857 : : #line 26779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24858 : : (TARGET_CMOVE
24859 : : && ix86_pre_reload_split ()) &&
24860 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24861 : : (TARGET_64BIT)))
24862 : : {
24863 : : *pnum_clobbers = 1;
24864 : : return 1829; /* *smaxti3_doubleword */
24865 : : }
24866 : : break;
24867 : :
24868 : : case 4:
24869 : : if (
24870 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24871 : : (TARGET_CMOVE
24872 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24873 : : && ix86_pre_reload_split ()))
24874 : : {
24875 : : *pnum_clobbers = 1;
24876 : : return 1833; /* *smaxqi3_1 */
24877 : : }
24878 : : break;
24879 : :
24880 : : case 5:
24881 : : if (
24882 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24883 : : (TARGET_CMOVE
24884 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24885 : : && ix86_pre_reload_split ()))
24886 : : {
24887 : : *pnum_clobbers = 1;
24888 : : return 1837; /* *smaxhi3_1 */
24889 : : }
24890 : : break;
24891 : :
24892 : : case 6:
24893 : : if (
24894 : : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24895 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
24896 : : return 2162; /* smaxv8qi3 */
24897 : : break;
24898 : :
24899 : : case 7:
24900 : : if (
24901 : : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24902 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
24903 : : return 2164; /* smaxv2si3 */
24904 : : break;
24905 : :
24906 : : case 8:
24907 : : if (
24908 : : #line 3684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24909 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
24910 : : && (TARGET_SSE || TARGET_3DNOW_A)
24911 : : && ix86_binary_operator_ok (SMAX, V4HImode, operands)))
24912 : : return 2166; /* *mmx_smaxv4hi3 */
24913 : : break;
24914 : :
24915 : : case 9:
24916 : : if (
24917 : : #line 3708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24918 : : (TARGET_SSE4_1))
24919 : : return 2168; /* smaxv4qi3 */
24920 : : break;
24921 : :
24922 : : case 10:
24923 : : if (
24924 : : #line 3708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24925 : : (TARGET_SSE4_1))
24926 : : return 2170; /* smaxv2qi3 */
24927 : : break;
24928 : :
24929 : : case 11:
24930 : : if (
24931 : : #line 3724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24932 : : (TARGET_SSE2))
24933 : : return 2172; /* smaxv2hi3 */
24934 : : break;
24935 : :
24936 : : default:
24937 : : break;
24938 : : }
24939 : : break;
24940 : :
24941 : : case SMIN:
24942 : : switch (pattern9 (x1, pnum_clobbers))
24943 : : {
24944 : : case 0:
24945 : : if (
24946 : : #line 26602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24947 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
24948 : : return 1810; /* sminsf3 */
24949 : : break;
24950 : :
24951 : : case 1:
24952 : : if (
24953 : : #line 26602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24954 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
24955 : : return 1812; /* smindf3 */
24956 : : break;
24957 : :
24958 : : case 2:
24959 : : if (
24960 : : #line 26616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24961 : : (TARGET_AVX512FP16))
24962 : : return 1814; /* sminhf3 */
24963 : : break;
24964 : :
24965 : : case 3:
24966 : : if ((
24967 : : #line 26779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24968 : : (TARGET_CMOVE
24969 : : && ix86_pre_reload_split ()) &&
24970 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24971 : : (TARGET_64BIT)))
24972 : : {
24973 : : *pnum_clobbers = 1;
24974 : : return 1830; /* *sminti3_doubleword */
24975 : : }
24976 : : break;
24977 : :
24978 : : case 4:
24979 : : if (
24980 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24981 : : (TARGET_CMOVE
24982 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
24983 : : && ix86_pre_reload_split ()))
24984 : : {
24985 : : *pnum_clobbers = 1;
24986 : : return 1834; /* *sminqi3_1 */
24987 : : }
24988 : : break;
24989 : :
24990 : : case 5:
24991 : : if (
24992 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24993 : : (TARGET_CMOVE
24994 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24995 : : && ix86_pre_reload_split ()))
24996 : : {
24997 : : *pnum_clobbers = 1;
24998 : : return 1838; /* *sminhi3_1 */
24999 : : }
25000 : : break;
25001 : :
25002 : : case 6:
25003 : : if (
25004 : : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25005 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
25006 : : return 2163; /* sminv8qi3 */
25007 : : break;
25008 : :
25009 : : case 7:
25010 : : if (
25011 : : #line 3659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25012 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
25013 : : return 2165; /* sminv2si3 */
25014 : : break;
25015 : :
25016 : : case 8:
25017 : : if (
25018 : : #line 3684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25019 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25020 : : && (TARGET_SSE || TARGET_3DNOW_A)
25021 : : && ix86_binary_operator_ok (SMIN, V4HImode, operands)))
25022 : : return 2167; /* *mmx_sminv4hi3 */
25023 : : break;
25024 : :
25025 : : case 9:
25026 : : if (
25027 : : #line 3708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25028 : : (TARGET_SSE4_1))
25029 : : return 2169; /* sminv4qi3 */
25030 : : break;
25031 : :
25032 : : case 10:
25033 : : if (
25034 : : #line 3708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25035 : : (TARGET_SSE4_1))
25036 : : return 2171; /* sminv2qi3 */
25037 : : break;
25038 : :
25039 : : case 11:
25040 : : if (
25041 : : #line 3724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25042 : : (TARGET_SSE2))
25043 : : return 2173; /* sminv2hi3 */
25044 : : break;
25045 : :
25046 : : default:
25047 : : break;
25048 : : }
25049 : : break;
25050 : :
25051 : : case UMAX:
25052 : : switch (pattern10 (x1, pnum_clobbers))
25053 : : {
25054 : : case 0:
25055 : : if ((
25056 : : #line 26779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25057 : : (TARGET_CMOVE
25058 : : && ix86_pre_reload_split ()) &&
25059 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25060 : : (TARGET_64BIT)))
25061 : : {
25062 : : *pnum_clobbers = 1;
25063 : : return 1831; /* *umaxti3_doubleword */
25064 : : }
25065 : : break;
25066 : :
25067 : : case 1:
25068 : : if (
25069 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25070 : : (TARGET_CMOVE
25071 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
25072 : : && ix86_pre_reload_split ()))
25073 : : {
25074 : : *pnum_clobbers = 1;
25075 : : return 1835; /* *umaxqi3_1 */
25076 : : }
25077 : : break;
25078 : :
25079 : : case 2:
25080 : : if (
25081 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25082 : : (TARGET_CMOVE
25083 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
25084 : : && ix86_pre_reload_split ()))
25085 : : {
25086 : : *pnum_clobbers = 1;
25087 : : return 1839; /* *umaxhi3_1 */
25088 : : }
25089 : : break;
25090 : :
25091 : : case 3:
25092 : : if (
25093 : : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25094 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
25095 : : return 2174; /* umaxv4hi3 */
25096 : : break;
25097 : :
25098 : : case 4:
25099 : : if (
25100 : : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25101 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
25102 : : return 2176; /* umaxv2si3 */
25103 : : break;
25104 : :
25105 : : case 5:
25106 : : if (
25107 : : #line 3762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25108 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25109 : : && (TARGET_SSE || TARGET_3DNOW_A)
25110 : : && ix86_binary_operator_ok (UMAX, V8QImode, operands)))
25111 : : return 2178; /* *mmx_umaxv8qi3 */
25112 : : break;
25113 : :
25114 : : case 6:
25115 : : if (
25116 : : #line 3786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25117 : : (TARGET_SSE2))
25118 : : return 2180; /* umaxv4qi3 */
25119 : : break;
25120 : :
25121 : : case 7:
25122 : : if (
25123 : : #line 3786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25124 : : (TARGET_SSE2))
25125 : : return 2182; /* umaxv2qi3 */
25126 : : break;
25127 : :
25128 : : case 8:
25129 : : if (
25130 : : #line 3799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25131 : : (TARGET_SSE4_1))
25132 : : return 2184; /* umaxv2hi3 */
25133 : : break;
25134 : :
25135 : : default:
25136 : : break;
25137 : : }
25138 : : break;
25139 : :
25140 : : case UMIN:
25141 : : switch (pattern10 (x1, pnum_clobbers))
25142 : : {
25143 : : case 0:
25144 : : if ((
25145 : : #line 26779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25146 : : (TARGET_CMOVE
25147 : : && ix86_pre_reload_split ()) &&
25148 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25149 : : (TARGET_64BIT)))
25150 : : {
25151 : : *pnum_clobbers = 1;
25152 : : return 1832; /* *uminti3_doubleword */
25153 : : }
25154 : : break;
25155 : :
25156 : : case 1:
25157 : : if (
25158 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25159 : : (TARGET_CMOVE
25160 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
25161 : : && ix86_pre_reload_split ()))
25162 : : {
25163 : : *pnum_clobbers = 1;
25164 : : return 1836; /* *uminqi3_1 */
25165 : : }
25166 : : break;
25167 : :
25168 : : case 2:
25169 : : if (
25170 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25171 : : (TARGET_CMOVE
25172 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
25173 : : && ix86_pre_reload_split ()))
25174 : : {
25175 : : *pnum_clobbers = 1;
25176 : : return 1840; /* *uminhi3_1 */
25177 : : }
25178 : : break;
25179 : :
25180 : : case 3:
25181 : : if (
25182 : : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25183 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
25184 : : return 2175; /* uminv4hi3 */
25185 : : break;
25186 : :
25187 : : case 4:
25188 : : if (
25189 : : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25190 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
25191 : : return 2177; /* uminv2si3 */
25192 : : break;
25193 : :
25194 : : case 5:
25195 : : if (
25196 : : #line 3762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25197 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25198 : : && (TARGET_SSE || TARGET_3DNOW_A)
25199 : : && ix86_binary_operator_ok (UMIN, V8QImode, operands)))
25200 : : return 2179; /* *mmx_uminv8qi3 */
25201 : : break;
25202 : :
25203 : : case 6:
25204 : : if (
25205 : : #line 3786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25206 : : (TARGET_SSE2))
25207 : : return 2181; /* uminv4qi3 */
25208 : : break;
25209 : :
25210 : : case 7:
25211 : : if (
25212 : : #line 3786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25213 : : (TARGET_SSE2))
25214 : : return 2183; /* uminv2qi3 */
25215 : : break;
25216 : :
25217 : : case 8:
25218 : : if (
25219 : : #line 3799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25220 : : (TARGET_SSE4_1))
25221 : : return 2185; /* uminv2hi3 */
25222 : : break;
25223 : :
25224 : : default:
25225 : : break;
25226 : : }
25227 : : break;
25228 : :
25229 : : case UNSPEC_VOLATILE:
25230 : : res = recog_59 (x1, insn, pnum_clobbers);
25231 : : if (res >= 0)
25232 : : return res;
25233 : : break;
25234 : :
25235 : : case VEC_CONCAT:
25236 : : res = recog_60 (x1, insn, pnum_clobbers);
25237 : : if (res >= 0)
25238 : : return res;
25239 : : break;
25240 : :
25241 : : case VEC_MERGE:
25242 : : res = recog_61 (x1, insn, pnum_clobbers);
25243 : : if (res >= 0)
25244 : : return res;
25245 : : break;
25246 : :
25247 : : case VEC_SELECT:
25248 : : res = recog_63 (x1, insn, pnum_clobbers);
25249 : : if (res >= 0)
25250 : : return res;
25251 : : break;
25252 : :
25253 : : case VEC_DUPLICATE:
25254 : : res = recog_64 (x1, insn, pnum_clobbers);
25255 : : if (res >= 0)
25256 : : return res;
25257 : : break;
25258 : :
25259 : : case SS_PLUS:
25260 : : res = recog_65 (x1, insn, pnum_clobbers);
25261 : : if (res >= 0)
25262 : : return res;
25263 : : break;
25264 : :
25265 : : case US_PLUS:
25266 : : x3 = XEXP (x1, 0);
25267 : : operands[0] = x3;
25268 : : switch (pattern45 (x2))
25269 : : {
25270 : : case 0:
25271 : : if (
25272 : : #line 3323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25273 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25274 : : && ix86_binary_operator_ok (US_PLUS, V8QImode, operands)))
25275 : : return 2133; /* *mmx_usaddv8qi3 */
25276 : : break;
25277 : :
25278 : : case 1:
25279 : : if (
25280 : : #line 3323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25281 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25282 : : && ix86_binary_operator_ok (US_PLUS, V4HImode, operands)))
25283 : : return 2137; /* *mmx_usaddv4hi3 */
25284 : : break;
25285 : :
25286 : : case 2:
25287 : : if (
25288 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25289 : : (TARGET_SSE2))
25290 : : return 2141; /* usaddv4qi3 */
25291 : : break;
25292 : :
25293 : : case 3:
25294 : : if (
25295 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25296 : : (TARGET_SSE2))
25297 : : return 2145; /* usaddv2qi3 */
25298 : : break;
25299 : :
25300 : : case 4:
25301 : : if (
25302 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25303 : : (TARGET_SSE2))
25304 : : return 2149; /* usaddv2hi3 */
25305 : : break;
25306 : :
25307 : : default:
25308 : : break;
25309 : : }
25310 : : break;
25311 : :
25312 : : case SS_MINUS:
25313 : : x3 = XEXP (x1, 0);
25314 : : operands[0] = x3;
25315 : : x4 = XEXP (x2, 0);
25316 : : switch (GET_CODE (x4))
25317 : : {
25318 : : case REG:
25319 : : case SUBREG:
25320 : : case MEM:
25321 : : switch (pattern45 (x2))
25322 : : {
25323 : : case 0:
25324 : : if (
25325 : : #line 3323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25326 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25327 : : && ix86_binary_operator_ok (SS_MINUS, V8QImode, operands)))
25328 : : return 2134; /* *mmx_sssubv8qi3 */
25329 : : break;
25330 : :
25331 : : case 1:
25332 : : if (
25333 : : #line 3323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25334 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25335 : : && ix86_binary_operator_ok (SS_MINUS, V4HImode, operands)))
25336 : : return 2138; /* *mmx_sssubv4hi3 */
25337 : : break;
25338 : :
25339 : : case 2:
25340 : : if (
25341 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25342 : : (TARGET_SSE2))
25343 : : return 2142; /* sssubv4qi3 */
25344 : : break;
25345 : :
25346 : : case 3:
25347 : : if (
25348 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25349 : : (TARGET_SSE2))
25350 : : return 2146; /* sssubv2qi3 */
25351 : : break;
25352 : :
25353 : : case 4:
25354 : : if (
25355 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25356 : : (TARGET_SSE2))
25357 : : return 2150; /* sssubv2hi3 */
25358 : : break;
25359 : :
25360 : : default:
25361 : : break;
25362 : : }
25363 : : break;
25364 : :
25365 : : case VEC_SELECT:
25366 : : if (pattern100 (x2) == 0
25367 : : &&
25368 : : #line 22615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25369 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
25370 : : return 8595; /* ssse3_phsubswv4hi3 */
25371 : : break;
25372 : :
25373 : : default:
25374 : : break;
25375 : : }
25376 : : break;
25377 : :
25378 : : case US_MINUS:
25379 : : x3 = XEXP (x1, 0);
25380 : : operands[0] = x3;
25381 : : switch (pattern45 (x2))
25382 : : {
25383 : : case 0:
25384 : : if (
25385 : : #line 3323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25386 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25387 : : && ix86_binary_operator_ok (US_MINUS, V8QImode, operands)))
25388 : : return 2135; /* *mmx_ussubv8qi3 */
25389 : : break;
25390 : :
25391 : : case 1:
25392 : : if (
25393 : : #line 3323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25394 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
25395 : : && ix86_binary_operator_ok (US_MINUS, V4HImode, operands)))
25396 : : return 2139; /* *mmx_ussubv4hi3 */
25397 : : break;
25398 : :
25399 : : case 2:
25400 : : if (
25401 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25402 : : (TARGET_SSE2))
25403 : : return 2143; /* ussubv4qi3 */
25404 : : break;
25405 : :
25406 : : case 3:
25407 : : if (
25408 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25409 : : (TARGET_SSE2))
25410 : : return 2147; /* ussubv2qi3 */
25411 : : break;
25412 : :
25413 : : case 4:
25414 : : if (
25415 : : #line 3339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25416 : : (TARGET_SSE2))
25417 : : return 2151; /* ussubv2hi3 */
25418 : : break;
25419 : :
25420 : : default:
25421 : : break;
25422 : : }
25423 : : break;
25424 : :
25425 : : case TRUNCATE:
25426 : : res = recog_66 (x1, insn, pnum_clobbers);
25427 : : if (res >= 0)
25428 : : return res;
25429 : : break;
25430 : :
25431 : : case FMA:
25432 : : res = recog_67 (x1, insn, pnum_clobbers);
25433 : : if (res >= 0)
25434 : : return res;
25435 : : break;
25436 : :
25437 : : case SS_TRUNCATE:
25438 : : switch (pattern13 (x1))
25439 : : {
25440 : : case 0:
25441 : : if (
25442 : : #line 15400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25443 : : (TARGET_AVX512VL))
25444 : : return 7292; /* *avx512vl_ss_truncatev2div2qi2_store_1 */
25445 : : break;
25446 : :
25447 : : case 1:
25448 : : if (
25449 : : #line 15495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25450 : : (TARGET_AVX512VL))
25451 : : return 7307; /* *avx512vl_ss_truncatev4siv4qi2_store_1 */
25452 : : break;
25453 : :
25454 : : case 2:
25455 : : if (
25456 : : #line 15495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25457 : : (TARGET_AVX512VL))
25458 : : return 7310; /* *avx512vl_ss_truncatev4div4qi2_store_1 */
25459 : : break;
25460 : :
25461 : : case 3:
25462 : : if ((
25463 : : #line 15593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25464 : : (TARGET_AVX512VL) &&
25465 : : #line 15587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25466 : : (TARGET_AVX512BW)))
25467 : : return 7337; /* *avx512vl_ss_truncatev8hiv8qi2_store_1 */
25468 : : break;
25469 : :
25470 : : case 4:
25471 : : if (
25472 : : #line 15593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25473 : : (TARGET_AVX512VL))
25474 : : return 7340; /* *avx512vl_ss_truncatev8siv8qi2_store_1 */
25475 : : break;
25476 : :
25477 : : case 5:
25478 : : if (
25479 : : #line 16109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25480 : : (TARGET_AVX512F && TARGET_EVEX512))
25481 : : return 7444; /* *avx512f_ss_truncatev8div16qi2_store_1 */
25482 : : break;
25483 : :
25484 : : case 6:
25485 : : if (
25486 : : #line 15755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25487 : : (TARGET_AVX512VL))
25488 : : return 7377; /* *avx512vl_ss_truncatev4siv4hi2_store_1 */
25489 : : break;
25490 : :
25491 : : case 7:
25492 : : if (
25493 : : #line 15755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25494 : : (TARGET_AVX512VL))
25495 : : return 7380; /* *avx512vl_ss_truncatev4div4hi2_store_1 */
25496 : : break;
25497 : :
25498 : : case 8:
25499 : : if (
25500 : : #line 15846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25501 : : (TARGET_AVX512VL))
25502 : : return 7407; /* *avx512vl_ss_truncatev2div2hi2_store_1 */
25503 : : break;
25504 : :
25505 : : case 9:
25506 : : if (
25507 : : #line 15996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25508 : : (TARGET_AVX512VL))
25509 : : return 7426; /* *avx512vl_ss_truncatev2div2si2_store_1 */
25510 : : break;
25511 : :
25512 : : default:
25513 : : break;
25514 : : }
25515 : : break;
25516 : :
25517 : : case US_TRUNCATE:
25518 : : switch (pattern13 (x1))
25519 : : {
25520 : : case 0:
25521 : : if (
25522 : : #line 15400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25523 : : (TARGET_AVX512VL))
25524 : : return 7294; /* *avx512vl_us_truncatev2div2qi2_store_1 */
25525 : : break;
25526 : :
25527 : : case 1:
25528 : : if (
25529 : : #line 15495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25530 : : (TARGET_AVX512VL))
25531 : : return 7309; /* *avx512vl_us_truncatev4siv4qi2_store_1 */
25532 : : break;
25533 : :
25534 : : case 2:
25535 : : if (
25536 : : #line 15495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25537 : : (TARGET_AVX512VL))
25538 : : return 7312; /* *avx512vl_us_truncatev4div4qi2_store_1 */
25539 : : break;
25540 : :
25541 : : case 3:
25542 : : if ((
25543 : : #line 15593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25544 : : (TARGET_AVX512VL) &&
25545 : : #line 15587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25546 : : (TARGET_AVX512BW)))
25547 : : return 7339; /* *avx512vl_us_truncatev8hiv8qi2_store_1 */
25548 : : break;
25549 : :
25550 : : case 4:
25551 : : if (
25552 : : #line 15593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25553 : : (TARGET_AVX512VL))
25554 : : return 7342; /* *avx512vl_us_truncatev8siv8qi2_store_1 */
25555 : : break;
25556 : :
25557 : : case 5:
25558 : : if (
25559 : : #line 16109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25560 : : (TARGET_AVX512F && TARGET_EVEX512))
25561 : : return 7446; /* *avx512f_us_truncatev8div16qi2_store_1 */
25562 : : break;
25563 : :
25564 : : case 6:
25565 : : if (
25566 : : #line 15755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25567 : : (TARGET_AVX512VL))
25568 : : return 7379; /* *avx512vl_us_truncatev4siv4hi2_store_1 */
25569 : : break;
25570 : :
25571 : : case 7:
25572 : : if (
25573 : : #line 15755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25574 : : (TARGET_AVX512VL))
25575 : : return 7382; /* *avx512vl_us_truncatev4div4hi2_store_1 */
25576 : : break;
25577 : :
25578 : : case 8:
25579 : : if (
25580 : : #line 15846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25581 : : (TARGET_AVX512VL))
25582 : : return 7409; /* *avx512vl_us_truncatev2div2hi2_store_1 */
25583 : : break;
25584 : :
25585 : : case 9:
25586 : : if (
25587 : : #line 15996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25588 : : (TARGET_AVX512VL))
25589 : : return 7428; /* *avx512vl_us_truncatev2div2si2_store_1 */
25590 : : break;
25591 : :
25592 : : default:
25593 : : break;
25594 : : }
25595 : : break;
25596 : :
25597 : : default:
25598 : : break;
25599 : : }
25600 : : x3 = XEXP (x1, 0);
25601 : : operands[0] = x3;
25602 : : operands[1] = x2;
25603 : : switch (GET_MODE (operands[0]))
25604 : : {
25605 : : case E_XImode:
25606 : : if (nonimmediate_operand (operands[0], E_XImode)
25607 : : && nonimmediate_or_sse_const_operand (operands[1], E_XImode)
25608 : : &&
25609 : : #line 2453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25610 : : (TARGET_AVX512F && TARGET_EVEX512
25611 : : && (register_operand (operands[0], XImode)
25612 : : || register_operand (operands[1], XImode))))
25613 : : return 92; /* *movxi_internal_avx512f */
25614 : : break;
25615 : :
25616 : : case E_OImode:
25617 : : if (nonimmediate_operand (operands[0], E_OImode)
25618 : : && nonimmediate_or_sse_const_operand (operands[1], E_OImode)
25619 : : &&
25620 : : #line 2476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25621 : : (TARGET_AVX
25622 : : && (register_operand (operands[0], OImode)
25623 : : || register_operand (operands[1], OImode))))
25624 : : return 93; /* *movoi_internal_avx */
25625 : : break;
25626 : :
25627 : : case E_SImode:
25628 : : if (register_operand (operands[0], E_SImode)
25629 : : && address_no_seg_operand (operands[1], E_SImode)
25630 : : &&
25631 : : #line 6372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25632 : : (ix86_hardreg_mov_ok (operands[0], operands[1])))
25633 : : return 264; /* *leasi */
25634 : : break;
25635 : :
25636 : : case E_DImode:
25637 : : if (register_operand (operands[0], E_DImode)
25638 : : && address_no_seg_operand (operands[1], E_DImode)
25639 : : && (
25640 : : #line 6372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25641 : : (ix86_hardreg_mov_ok (operands[0], operands[1])) &&
25642 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25643 : : (TARGET_64BIT)))
25644 : : return 265; /* *leadi */
25645 : : break;
25646 : :
25647 : : default:
25648 : : break;
25649 : : }
25650 : : switch (GET_CODE (x2))
25651 : : {
25652 : : case PLUS:
25653 : : res = recog_68 (x1, insn, pnum_clobbers);
25654 : : if (res >= 0)
25655 : : return res;
25656 : : break;
25657 : :
25658 : : case ZERO_EXTEND:
25659 : : res = recog_76 (x1, insn, pnum_clobbers);
25660 : : if (res >= 0)
25661 : : return res;
25662 : : break;
25663 : :
25664 : : case COMPARE:
25665 : : res = recog_77 (x1, insn, pnum_clobbers);
25666 : : if (res >= 0)
25667 : : return res;
25668 : : break;
25669 : :
25670 : : case IOR:
25671 : : res = recog_81 (x1, insn, pnum_clobbers);
25672 : : if (res >= 0)
25673 : : return res;
25674 : : break;
25675 : :
25676 : : case XOR:
25677 : : res = recog_82 (x1, insn, pnum_clobbers);
25678 : : if (res >= 0)
25679 : : return res;
25680 : : break;
25681 : :
25682 : : case MINUS:
25683 : : res = recog_84 (x1, insn, pnum_clobbers);
25684 : : if (res >= 0)
25685 : : return res;
25686 : : break;
25687 : :
25688 : : case IF_THEN_ELSE:
25689 : : res = recog_87 (x1, insn, pnum_clobbers);
25690 : : if (res >= 0)
25691 : : return res;
25692 : : break;
25693 : :
25694 : : case MULT:
25695 : : res = recog_88 (x1, insn, pnum_clobbers);
25696 : : if (res >= 0)
25697 : : return res;
25698 : : break;
25699 : :
25700 : : case SMUL_HIGHPART:
25701 : : switch (pattern15 (x1, pnum_clobbers))
25702 : : {
25703 : : case 0:
25704 : : if (
25705 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25706 : : (!TARGET_64BIT))
25707 : : {
25708 : : *pnum_clobbers = 2;
25709 : : return 627; /* smulsi3_highpart */
25710 : : }
25711 : : break;
25712 : :
25713 : : case 1:
25714 : : if (
25715 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25716 : : (TARGET_64BIT))
25717 : : {
25718 : : *pnum_clobbers = 2;
25719 : : return 629; /* smuldi3_highpart */
25720 : : }
25721 : : break;
25722 : :
25723 : : default:
25724 : : break;
25725 : : }
25726 : : break;
25727 : :
25728 : : case UMUL_HIGHPART:
25729 : : switch (pattern15 (x1, pnum_clobbers))
25730 : : {
25731 : : case 0:
25732 : : if (
25733 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25734 : : (!TARGET_64BIT))
25735 : : {
25736 : : *pnum_clobbers = 2;
25737 : : return 628; /* umulsi3_highpart */
25738 : : }
25739 : : break;
25740 : :
25741 : : case 1:
25742 : : if (
25743 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25744 : : (TARGET_64BIT))
25745 : : {
25746 : : *pnum_clobbers = 2;
25747 : : return 630; /* umuldi3_highpart */
25748 : : }
25749 : : break;
25750 : :
25751 : : default:
25752 : : break;
25753 : : }
25754 : : break;
25755 : :
25756 : : case TRUNCATE:
25757 : : res = recog_89 (x1, insn, pnum_clobbers);
25758 : : if (res >= 0)
25759 : : return res;
25760 : : break;
25761 : :
25762 : : case AND:
25763 : : res = recog_91 (x1, insn, pnum_clobbers);
25764 : : if (res >= 0)
25765 : : return res;
25766 : : break;
25767 : :
25768 : : case NOT:
25769 : : res = recog_92 (x1, insn, pnum_clobbers);
25770 : : if (res >= 0)
25771 : : return res;
25772 : : break;
25773 : :
25774 : : case NEG:
25775 : : res = recog_93 (x1, insn, pnum_clobbers);
25776 : : if (res >= 0)
25777 : : return res;
25778 : : break;
25779 : :
25780 : : case ABS:
25781 : : res = recog_94 (x1, insn, pnum_clobbers);
25782 : : if (res >= 0)
25783 : : return res;
25784 : : break;
25785 : :
25786 : : case ASHIFT:
25787 : : res = recog_96 (x1, insn, pnum_clobbers);
25788 : : if (res >= 0)
25789 : : return res;
25790 : : break;
25791 : :
25792 : : case LSHIFTRT:
25793 : : res = recog_98 (x1, insn, pnum_clobbers);
25794 : : if (res >= 0)
25795 : : return res;
25796 : : break;
25797 : :
25798 : : case ASHIFTRT:
25799 : : res = recog_100 (x1, insn, pnum_clobbers);
25800 : : if (res >= 0)
25801 : : return res;
25802 : : break;
25803 : :
25804 : : case SUBREG:
25805 : : res = recog_101 (x1, insn, pnum_clobbers);
25806 : : if (res >= 0)
25807 : : return res;
25808 : : break;
25809 : :
25810 : : case ROTATE:
25811 : : res = recog_102 (x1, insn, pnum_clobbers);
25812 : : if (res >= 0)
25813 : : return res;
25814 : : break;
25815 : :
25816 : : case ROTATERT:
25817 : : res = recog_103 (x1, insn, pnum_clobbers);
25818 : : if (res >= 0)
25819 : : return res;
25820 : : break;
25821 : :
25822 : : case ZERO_EXTRACT:
25823 : : res = recog_105 (x1, insn, pnum_clobbers);
25824 : : if (res >= 0)
25825 : : return res;
25826 : : break;
25827 : :
25828 : : case NE:
25829 : : case EQ:
25830 : : case GE:
25831 : : case GT:
25832 : : case LE:
25833 : : case LT:
25834 : : case LTGT:
25835 : : case GEU:
25836 : : case GTU:
25837 : : case LEU:
25838 : : case LTU:
25839 : : case UNORDERED:
25840 : : case ORDERED:
25841 : : case UNEQ:
25842 : : case UNGE:
25843 : : case UNGT:
25844 : : case UNLE:
25845 : : case UNLT:
25846 : : res = recog_106 (x1, insn, pnum_clobbers);
25847 : : if (res >= 0)
25848 : : return res;
25849 : : break;
25850 : :
25851 : : case UNSPEC:
25852 : : res = recog_110 (x1, insn, pnum_clobbers);
25853 : : if (res >= 0)
25854 : : return res;
25855 : : break;
25856 : :
25857 : : case CALL:
25858 : : res = recog_111 (x1, insn, pnum_clobbers);
25859 : : if (res >= 0)
25860 : : return res;
25861 : : break;
25862 : :
25863 : : case FFS:
25864 : : if (pnum_clobbers != NULL
25865 : : && GET_MODE (x2) == E_SImode)
25866 : : {
25867 : : operands[0] = x3;
25868 : : if (register_operand (operands[0], E_SImode))
25869 : : {
25870 : : x4 = XEXP (x2, 0);
25871 : : operands[1] = x4;
25872 : : if (nonimmediate_operand (operands[1], E_SImode)
25873 : : &&
25874 : : #line 20992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25875 : : (!TARGET_CMOVE))
25876 : : {
25877 : : *pnum_clobbers = 2;
25878 : : return 1507; /* ffssi2_no_cmove */
25879 : : }
25880 : : }
25881 : : }
25882 : : break;
25883 : :
25884 : : case CTZ:
25885 : : res = recog_112 (x1, insn, pnum_clobbers);
25886 : : if (res >= 0)
25887 : : return res;
25888 : : break;
25889 : :
25890 : : case SIGN_EXTEND:
25891 : : res = recog_113 (x1, insn, pnum_clobbers);
25892 : : if (res >= 0)
25893 : : return res;
25894 : : break;
25895 : :
25896 : : case CLZ:
25897 : : res = recog_114 (x1, insn, pnum_clobbers);
25898 : : if (res >= 0)
25899 : : return res;
25900 : : break;
25901 : :
25902 : : case POPCOUNT:
25903 : : res = recog_115 (x1, insn, pnum_clobbers);
25904 : : if (res >= 0)
25905 : : return res;
25906 : : break;
25907 : :
25908 : : case BSWAP:
25909 : : res = recog_355 (x1, insn, pnum_clobbers);
25910 : : if (res >= 0)
25911 : : return res;
25912 : : break;
25913 : :
25914 : : case SIGN_EXTRACT:
25915 : : res = recog_116 (x1, insn, pnum_clobbers);
25916 : : if (res >= 0)
25917 : : return res;
25918 : : break;
25919 : :
25920 : : case SMAX:
25921 : : switch (pattern21 (x1, pnum_clobbers))
25922 : : {
25923 : : case 0:
25924 : : if ((
25925 : : #line 26779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25926 : : (TARGET_CMOVE
25927 : : && ix86_pre_reload_split ()) &&
25928 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25929 : : (!TARGET_64BIT)))
25930 : : {
25931 : : *pnum_clobbers = 1;
25932 : : return 1825; /* *smaxdi3_doubleword */
25933 : : }
25934 : : if ((
25935 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25936 : : (TARGET_CMOVE
25937 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
25938 : : && ix86_pre_reload_split ()) &&
25939 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25940 : : (TARGET_64BIT)))
25941 : : {
25942 : : *pnum_clobbers = 1;
25943 : : return 1845; /* *smaxdi3_1 */
25944 : : }
25945 : : break;
25946 : :
25947 : : case 1:
25948 : : if (
25949 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25950 : : (TARGET_CMOVE
25951 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
25952 : : && ix86_pre_reload_split ()))
25953 : : {
25954 : : *pnum_clobbers = 1;
25955 : : return 1841; /* *smaxsi3_1 */
25956 : : }
25957 : : break;
25958 : :
25959 : : default:
25960 : : break;
25961 : : }
25962 : : break;
25963 : :
25964 : : case SMIN:
25965 : : switch (pattern21 (x1, pnum_clobbers))
25966 : : {
25967 : : case 0:
25968 : : if ((
25969 : : #line 26779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25970 : : (TARGET_CMOVE
25971 : : && ix86_pre_reload_split ()) &&
25972 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25973 : : (!TARGET_64BIT)))
25974 : : {
25975 : : *pnum_clobbers = 1;
25976 : : return 1826; /* *smindi3_doubleword */
25977 : : }
25978 : : if ((
25979 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25980 : : (TARGET_CMOVE
25981 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
25982 : : && ix86_pre_reload_split ()) &&
25983 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25984 : : (TARGET_64BIT)))
25985 : : {
25986 : : *pnum_clobbers = 1;
25987 : : return 1846; /* *smindi3_1 */
25988 : : }
25989 : : break;
25990 : :
25991 : : case 1:
25992 : : if (
25993 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25994 : : (TARGET_CMOVE
25995 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
25996 : : && ix86_pre_reload_split ()))
25997 : : {
25998 : : *pnum_clobbers = 1;
25999 : : return 1842; /* *sminsi3_1 */
26000 : : }
26001 : : break;
26002 : :
26003 : : default:
26004 : : break;
26005 : : }
26006 : : break;
26007 : :
26008 : : case UMAX:
26009 : : switch (pattern21 (x1, pnum_clobbers))
26010 : : {
26011 : : case 0:
26012 : : if ((
26013 : : #line 26779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26014 : : (TARGET_CMOVE
26015 : : && ix86_pre_reload_split ()) &&
26016 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26017 : : (!TARGET_64BIT)))
26018 : : {
26019 : : *pnum_clobbers = 1;
26020 : : return 1827; /* *umaxdi3_doubleword */
26021 : : }
26022 : : if ((
26023 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26024 : : (TARGET_CMOVE
26025 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
26026 : : && ix86_pre_reload_split ()) &&
26027 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26028 : : (TARGET_64BIT)))
26029 : : {
26030 : : *pnum_clobbers = 1;
26031 : : return 1847; /* *umaxdi3_1 */
26032 : : }
26033 : : break;
26034 : :
26035 : : case 1:
26036 : : if (
26037 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26038 : : (TARGET_CMOVE
26039 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
26040 : : && ix86_pre_reload_split ()))
26041 : : {
26042 : : *pnum_clobbers = 1;
26043 : : return 1843; /* *umaxsi3_1 */
26044 : : }
26045 : : break;
26046 : :
26047 : : default:
26048 : : break;
26049 : : }
26050 : : break;
26051 : :
26052 : : case UMIN:
26053 : : switch (pattern21 (x1, pnum_clobbers))
26054 : : {
26055 : : case 0:
26056 : : if ((
26057 : : #line 26779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26058 : : (TARGET_CMOVE
26059 : : && ix86_pre_reload_split ()) &&
26060 : : #line 1235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26061 : : (!TARGET_64BIT)))
26062 : : {
26063 : : *pnum_clobbers = 1;
26064 : : return 1828; /* *umindi3_doubleword */
26065 : : }
26066 : : if ((
26067 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26068 : : (TARGET_CMOVE
26069 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
26070 : : && ix86_pre_reload_split ()) &&
26071 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26072 : : (TARGET_64BIT)))
26073 : : {
26074 : : *pnum_clobbers = 1;
26075 : : return 1848; /* *umindi3_1 */
26076 : : }
26077 : : break;
26078 : :
26079 : : case 1:
26080 : : if (
26081 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26082 : : (TARGET_CMOVE
26083 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
26084 : : && ix86_pre_reload_split ()))
26085 : : {
26086 : : *pnum_clobbers = 1;
26087 : : return 1844; /* *uminsi3_1 */
26088 : : }
26089 : : break;
26090 : :
26091 : : default:
26092 : : break;
26093 : : }
26094 : : break;
26095 : :
26096 : : case UNSPEC_VOLATILE:
26097 : : res = recog_117 (x1, insn, pnum_clobbers);
26098 : : if (res >= 0)
26099 : : return res;
26100 : : break;
26101 : :
26102 : : case VEC_SELECT:
26103 : : res = recog_120 (x1, insn, pnum_clobbers);
26104 : : if (res >= 0)
26105 : : return res;
26106 : : break;
26107 : :
26108 : : case FIX:
26109 : : switch (pattern24 (x1))
26110 : : {
26111 : : case 0:
26112 : : if (
26113 : : #line 7988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26114 : : (TARGET_AVX512FP16))
26115 : : return 4695; /* avx512fp16_fix_truncsi2 */
26116 : : break;
26117 : :
26118 : : case 1:
26119 : : if (
26120 : : #line 8595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26121 : : (TARGET_SSE))
26122 : : return 4797; /* sse_cvttss2si */
26123 : : break;
26124 : :
26125 : : case 2:
26126 : : if (
26127 : : #line 9141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26128 : : (TARGET_SSE2))
26129 : : return 4938; /* sse2_cvttsd2si */
26130 : : break;
26131 : :
26132 : : case 3:
26133 : : if ((
26134 : : #line 7988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26135 : : (TARGET_AVX512FP16) &&
26136 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26137 : : (TARGET_64BIT)))
26138 : : return 4699; /* avx512fp16_fix_truncdi2 */
26139 : : break;
26140 : :
26141 : : case 4:
26142 : : if ((
26143 : : #line 8595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26144 : : (TARGET_SSE) &&
26145 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26146 : : (TARGET_64BIT)))
26147 : : return 4799; /* sse_cvttss2siq */
26148 : : break;
26149 : :
26150 : : case 5:
26151 : : if ((
26152 : : #line 9141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26153 : : (TARGET_SSE2) &&
26154 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26155 : : (TARGET_64BIT)))
26156 : : return 4940; /* sse2_cvttsd2siq */
26157 : : break;
26158 : :
26159 : : case 6:
26160 : : if (
26161 : : #line 7998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26162 : : (TARGET_AVX512FP16))
26163 : : return 4703; /* avx512fp16_fix_truncsi2_mem */
26164 : : break;
26165 : :
26166 : : case 7:
26167 : : if ((
26168 : : #line 7998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26169 : : (TARGET_AVX512FP16) &&
26170 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26171 : : (TARGET_64BIT)))
26172 : : return 4705; /* avx512fp16_fix_truncdi2_mem */
26173 : : break;
26174 : :
26175 : : default:
26176 : : break;
26177 : : }
26178 : : break;
26179 : :
26180 : : case UNSIGNED_FIX:
26181 : : switch (pattern24 (x1))
26182 : : {
26183 : : case 0:
26184 : : if (
26185 : : #line 7988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26186 : : (TARGET_AVX512FP16))
26187 : : return 4697; /* avx512fp16_fixuns_truncsi2 */
26188 : : break;
26189 : :
26190 : : case 1:
26191 : : if (
26192 : : #line 9046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26193 : : (TARGET_AVX512F))
26194 : : return 4912; /* avx512f_vcvttss2usi */
26195 : : break;
26196 : :
26197 : : case 2:
26198 : : if (
26199 : : #line 9082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26200 : : (TARGET_AVX512F))
26201 : : return 4924; /* avx512f_vcvttsd2usi */
26202 : : break;
26203 : :
26204 : : case 3:
26205 : : if ((
26206 : : #line 7988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26207 : : (TARGET_AVX512FP16) &&
26208 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26209 : : (TARGET_64BIT)))
26210 : : return 4701; /* avx512fp16_fixuns_truncdi2 */
26211 : : break;
26212 : :
26213 : : case 4:
26214 : : if ((
26215 : : #line 9046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26216 : : (TARGET_AVX512F) &&
26217 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26218 : : (TARGET_64BIT)))
26219 : : return 4914; /* avx512f_vcvttss2usiq */
26220 : : break;
26221 : :
26222 : : case 5:
26223 : : if ((
26224 : : #line 9082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26225 : : (TARGET_AVX512F) &&
26226 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26227 : : (TARGET_64BIT)))
26228 : : return 4926; /* avx512f_vcvttsd2usiq */
26229 : : break;
26230 : :
26231 : : case 6:
26232 : : if (
26233 : : #line 7998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26234 : : (TARGET_AVX512FP16))
26235 : : return 4704; /* avx512fp16_fixuns_truncsi2_mem */
26236 : : break;
26237 : :
26238 : : case 7:
26239 : : if ((
26240 : : #line 7998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26241 : : (TARGET_AVX512FP16) &&
26242 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26243 : : (TARGET_64BIT)))
26244 : : return 4706; /* avx512fp16_fixuns_truncdi2_mem */
26245 : : break;
26246 : :
26247 : : default:
26248 : : break;
26249 : : }
26250 : : break;
26251 : :
26252 : : default:
26253 : : break;
26254 : : }
26255 : : operands[0] = x3;
26256 : : res = recog_324 (x1, insn, pnum_clobbers);
26257 : : if (res >= 0)
26258 : : return res;
26259 : : switch (GET_CODE (x2))
26260 : : {
26261 : : case VEC_MERGE:
26262 : : return recog_321 (x1, insn, pnum_clobbers);
26263 : :
26264 : : case UNSPEC:
26265 : : return recog_317 (x1, insn, pnum_clobbers);
26266 : :
26267 : : case VEC_CONCAT:
26268 : : return recog_318 (x1, insn, pnum_clobbers);
26269 : :
26270 : : case PLUS:
26271 : : return recog_319 (x1, insn, pnum_clobbers);
26272 : :
26273 : : case MINUS:
26274 : : return recog_347 (x1, insn, pnum_clobbers);
26275 : :
26276 : : case MULT:
26277 : : return recog_332 (x1, insn, pnum_clobbers);
26278 : :
26279 : : case DIV:
26280 : : return recog_350 (x1, insn, pnum_clobbers);
26281 : :
26282 : : case SQRT:
26283 : : return recog_338 (x1, insn, pnum_clobbers);
26284 : :
26285 : : case SMAX:
26286 : : return recog_340 (x1, insn, pnum_clobbers);
26287 : :
26288 : : case SMIN:
26289 : : return recog_341 (x1, insn, pnum_clobbers);
26290 : :
26291 : : case NE:
26292 : : case EQ:
26293 : : case GE:
26294 : : case GT:
26295 : : case LE:
26296 : : case LT:
26297 : : case LTGT:
26298 : : case GEU:
26299 : : case GTU:
26300 : : case LEU:
26301 : : case LTU:
26302 : : case UNORDERED:
26303 : : case ORDERED:
26304 : : case UNEQ:
26305 : : case UNGE:
26306 : : case UNGT:
26307 : : case UNLE:
26308 : : case UNLT:
26309 : : return recog_353 (x1, insn, pnum_clobbers);
26310 : :
26311 : : case FMA:
26312 : : return recog_325 (x1, insn, pnum_clobbers);
26313 : :
26314 : : case FLOAT:
26315 : : return recog_331 (x1, insn, pnum_clobbers);
26316 : :
26317 : : case UNSIGNED_FLOAT:
26318 : : return recog_337 (x1, insn, pnum_clobbers);
26319 : :
26320 : : case FIX:
26321 : : return recog_336 (x1, insn, pnum_clobbers);
26322 : :
26323 : : case UNSIGNED_FIX:
26324 : : return recog_342 (x1, insn, pnum_clobbers);
26325 : :
26326 : : case FLOAT_EXTEND:
26327 : : return recog_326 (x1, insn, pnum_clobbers);
26328 : :
26329 : : case FLOAT_TRUNCATE:
26330 : : return recog_348 (x1, insn, pnum_clobbers);
26331 : :
26332 : : case VEC_SELECT:
26333 : : return recog_320 (x1, insn, pnum_clobbers);
26334 : :
26335 : : case VEC_DUPLICATE:
26336 : : return recog_322 (x1, insn, pnum_clobbers);
26337 : :
26338 : : case AND:
26339 : : case IOR:
26340 : : case XOR:
26341 : : case NOT:
26342 : : return recog_344 (x1, insn, pnum_clobbers);
26343 : :
26344 : : case SS_TRUNCATE:
26345 : : operands[0] = x3;
26346 : : switch (pattern49 (x2))
26347 : : {
26348 : : case 0:
26349 : : if (!
26350 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26351 : : (TARGET_AVX512F && TARGET_EVEX512))
26352 : : return -1;
26353 : : return 7220; /* *avx512f_ss_truncatev16siv16qi2 */
26354 : :
26355 : : case 1:
26356 : : if (!(
26357 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26358 : : (TARGET_AVX512VL) &&
26359 : : #line 15224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26360 : : (TARGET_AVX512BW)))
26361 : : return -1;
26362 : : return 7262; /* *avx512vl_ss_truncatev16hiv16qi2 */
26363 : :
26364 : : case 2:
26365 : : if (!
26366 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26367 : : (TARGET_AVX512F && TARGET_EVEX512))
26368 : : return -1;
26369 : : return 7223; /* *avx512f_ss_truncatev16siv16hi2 */
26370 : :
26371 : : case 3:
26372 : : if (!
26373 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26374 : : (TARGET_AVX512F && TARGET_EVEX512))
26375 : : return -1;
26376 : : return 7226; /* *avx512f_ss_truncatev8div8si2 */
26377 : :
26378 : : case 4:
26379 : : if (!
26380 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26381 : : (TARGET_AVX512F && TARGET_EVEX512))
26382 : : return -1;
26383 : : return 7229; /* *avx512f_ss_truncatev8div8hi2 */
26384 : :
26385 : : case 5:
26386 : : if (!
26387 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26388 : : (TARGET_AVX512VL))
26389 : : return -1;
26390 : : return 7259; /* *avx512vl_ss_truncatev8siv8hi2 */
26391 : :
26392 : : case 6:
26393 : : if (!
26394 : : #line 15161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26395 : : (TARGET_AVX512BW && TARGET_EVEX512))
26396 : : return -1;
26397 : : return 7249; /* avx512bw_ss_truncatev32hiv32qi2 */
26398 : :
26399 : : case 7:
26400 : : if (!
26401 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26402 : : (TARGET_AVX512VL))
26403 : : return -1;
26404 : : return 7256; /* *avx512vl_ss_truncatev4div4si2 */
26405 : :
26406 : : default:
26407 : : return -1;
26408 : : }
26409 : :
26410 : : case TRUNCATE:
26411 : : return recog_339 (x1, insn, pnum_clobbers);
26412 : :
26413 : : case US_TRUNCATE:
26414 : : operands[0] = x3;
26415 : : switch (pattern49 (x2))
26416 : : {
26417 : : case 0:
26418 : : if (!
26419 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26420 : : (TARGET_AVX512F && TARGET_EVEX512))
26421 : : return -1;
26422 : : return 7222; /* *avx512f_us_truncatev16siv16qi2 */
26423 : :
26424 : : case 1:
26425 : : if (!(
26426 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26427 : : (TARGET_AVX512VL) &&
26428 : : #line 15224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26429 : : (TARGET_AVX512BW)))
26430 : : return -1;
26431 : : return 7264; /* *avx512vl_us_truncatev16hiv16qi2 */
26432 : :
26433 : : case 2:
26434 : : if (!
26435 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26436 : : (TARGET_AVX512F && TARGET_EVEX512))
26437 : : return -1;
26438 : : return 7225; /* *avx512f_us_truncatev16siv16hi2 */
26439 : :
26440 : : case 3:
26441 : : if (!
26442 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26443 : : (TARGET_AVX512F && TARGET_EVEX512))
26444 : : return -1;
26445 : : return 7228; /* *avx512f_us_truncatev8div8si2 */
26446 : :
26447 : : case 4:
26448 : : if (!
26449 : : #line 14988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26450 : : (TARGET_AVX512F && TARGET_EVEX512))
26451 : : return -1;
26452 : : return 7231; /* *avx512f_us_truncatev8div8hi2 */
26453 : :
26454 : : case 5:
26455 : : if (!
26456 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26457 : : (TARGET_AVX512VL))
26458 : : return -1;
26459 : : return 7261; /* *avx512vl_us_truncatev8siv8hi2 */
26460 : :
26461 : : case 6:
26462 : : if (!
26463 : : #line 15161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26464 : : (TARGET_AVX512BW && TARGET_EVEX512))
26465 : : return -1;
26466 : : return 7251; /* avx512bw_us_truncatev32hiv32qi2 */
26467 : :
26468 : : case 7:
26469 : : if (!
26470 : : #line 15250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26471 : : (TARGET_AVX512VL))
26472 : : return -1;
26473 : : return 7258; /* *avx512vl_us_truncatev4div4si2 */
26474 : :
26475 : : default:
26476 : : return -1;
26477 : : }
26478 : :
26479 : : case SS_PLUS:
26480 : : return recog_323 (x1, insn, pnum_clobbers);
26481 : :
26482 : : case US_PLUS:
26483 : : operands[0] = x3;
26484 : : switch (pattern50 (x2))
26485 : : {
26486 : : case 0:
26487 : : if (!(
26488 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26489 : : (TARGET_SSE2 && 1 && 1
26490 : : && ix86_binary_operator_ok (US_PLUS, V64QImode, operands)) &&
26491 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26492 : : (TARGET_AVX512BW && TARGET_EVEX512)))
26493 : : return -1;
26494 : : return 7509; /* *avx512bw_usaddv64qi3 */
26495 : :
26496 : : case 1:
26497 : : if (!(
26498 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26499 : : (TARGET_SSE2 && 1 && 1
26500 : : && ix86_binary_operator_ok (US_PLUS, V32QImode, operands)) &&
26501 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26502 : : (TARGET_AVX2)))
26503 : : return -1;
26504 : : return 7517; /* *avx2_usaddv32qi3 */
26505 : :
26506 : : case 2:
26507 : : if (!
26508 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26509 : : (TARGET_SSE2 && 1 && 1
26510 : : && ix86_binary_operator_ok (US_PLUS, V16QImode, operands)))
26511 : : return -1;
26512 : : return 7525; /* *sse2_usaddv16qi3 */
26513 : :
26514 : : case 3:
26515 : : if (!(
26516 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26517 : : (TARGET_SSE2 && 1 && 1
26518 : : && ix86_binary_operator_ok (US_PLUS, V32HImode, operands)) &&
26519 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26520 : : (TARGET_AVX512BW && TARGET_EVEX512)))
26521 : : return -1;
26522 : : return 7533; /* *avx512bw_usaddv32hi3 */
26523 : :
26524 : : case 4:
26525 : : if (!(
26526 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26527 : : (TARGET_SSE2 && 1 && 1
26528 : : && ix86_binary_operator_ok (US_PLUS, V16HImode, operands)) &&
26529 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26530 : : (TARGET_AVX2)))
26531 : : return -1;
26532 : : return 7541; /* *avx2_usaddv16hi3 */
26533 : :
26534 : : case 5:
26535 : : if (!
26536 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26537 : : (TARGET_SSE2 && 1 && 1
26538 : : && ix86_binary_operator_ok (US_PLUS, V8HImode, operands)))
26539 : : return -1;
26540 : : return 7549; /* *sse2_usaddv8hi3 */
26541 : :
26542 : : default:
26543 : : return -1;
26544 : : }
26545 : :
26546 : : case SS_MINUS:
26547 : : operands[0] = x3;
26548 : : x4 = XEXP (x2, 0);
26549 : : switch (GET_CODE (x4))
26550 : : {
26551 : : case REG:
26552 : : case SUBREG:
26553 : : case MEM:
26554 : : switch (pattern50 (x2))
26555 : : {
26556 : : case 0:
26557 : : if (!(
26558 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26559 : : (TARGET_SSE2 && 1 && 1
26560 : : && ix86_binary_operator_ok (SS_MINUS, V64QImode, operands)) &&
26561 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26562 : : (TARGET_AVX512BW && TARGET_EVEX512)))
26563 : : return -1;
26564 : : return 7511; /* *avx512bw_sssubv64qi3 */
26565 : :
26566 : : case 1:
26567 : : if (!(
26568 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26569 : : (TARGET_SSE2 && 1 && 1
26570 : : && ix86_binary_operator_ok (SS_MINUS, V32QImode, operands)) &&
26571 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26572 : : (TARGET_AVX2)))
26573 : : return -1;
26574 : : return 7519; /* *avx2_sssubv32qi3 */
26575 : :
26576 : : case 2:
26577 : : if (!
26578 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26579 : : (TARGET_SSE2 && 1 && 1
26580 : : && ix86_binary_operator_ok (SS_MINUS, V16QImode, operands)))
26581 : : return -1;
26582 : : return 7527; /* *sse2_sssubv16qi3 */
26583 : :
26584 : : case 3:
26585 : : if (!(
26586 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26587 : : (TARGET_SSE2 && 1 && 1
26588 : : && ix86_binary_operator_ok (SS_MINUS, V32HImode, operands)) &&
26589 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26590 : : (TARGET_AVX512BW && TARGET_EVEX512)))
26591 : : return -1;
26592 : : return 7535; /* *avx512bw_sssubv32hi3 */
26593 : :
26594 : : case 4:
26595 : : if (!(
26596 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26597 : : (TARGET_SSE2 && 1 && 1
26598 : : && ix86_binary_operator_ok (SS_MINUS, V16HImode, operands)) &&
26599 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26600 : : (TARGET_AVX2)))
26601 : : return -1;
26602 : : return 7543; /* *avx2_sssubv16hi3 */
26603 : :
26604 : : case 5:
26605 : : if (!
26606 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26607 : : (TARGET_SSE2 && 1 && 1
26608 : : && ix86_binary_operator_ok (SS_MINUS, V8HImode, operands)))
26609 : : return -1;
26610 : : return 7551; /* *sse2_sssubv8hi3 */
26611 : :
26612 : : default:
26613 : : return -1;
26614 : : }
26615 : :
26616 : : case VEC_SELECT:
26617 : : switch (pattern193 (x2))
26618 : : {
26619 : : case 0:
26620 : : if (!
26621 : : #line 22567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26622 : : (TARGET_AVX2))
26623 : : return -1;
26624 : : return 8587; /* avx2_phsubswv16hi3 */
26625 : :
26626 : : case 1:
26627 : : if (!
26628 : : #line 22590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26629 : : (TARGET_SSSE3))
26630 : : return -1;
26631 : : return 8591; /* ssse3_phsubswv8hi3 */
26632 : :
26633 : : default:
26634 : : return -1;
26635 : : }
26636 : :
26637 : : default:
26638 : : return -1;
26639 : : }
26640 : :
26641 : : case US_MINUS:
26642 : : operands[0] = x3;
26643 : : switch (pattern50 (x2))
26644 : : {
26645 : : case 0:
26646 : : if (!(
26647 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26648 : : (TARGET_SSE2 && 1 && 1
26649 : : && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)) &&
26650 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26651 : : (TARGET_AVX512BW && TARGET_EVEX512)))
26652 : : return -1;
26653 : : return 7513; /* *avx512bw_ussubv64qi3 */
26654 : :
26655 : : case 1:
26656 : : if (!(
26657 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26658 : : (TARGET_SSE2 && 1 && 1
26659 : : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) &&
26660 : : #line 740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26661 : : (TARGET_AVX2)))
26662 : : return -1;
26663 : : return 7521; /* *avx2_ussubv32qi3 */
26664 : :
26665 : : case 2:
26666 : : if (!
26667 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26668 : : (TARGET_SSE2 && 1 && 1
26669 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)))
26670 : : return -1;
26671 : : return 7529; /* *sse2_ussubv16qi3 */
26672 : :
26673 : : case 3:
26674 : : if (!(
26675 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26676 : : (TARGET_SSE2 && 1 && 1
26677 : : && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)) &&
26678 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26679 : : (TARGET_AVX512BW && TARGET_EVEX512)))
26680 : : return -1;
26681 : : return 7537; /* *avx512bw_ussubv32hi3 */
26682 : :
26683 : : case 4:
26684 : : if (!(
26685 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26686 : : (TARGET_SSE2 && 1 && 1
26687 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) &&
26688 : : #line 741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26689 : : (TARGET_AVX2)))
26690 : : return -1;
26691 : : return 7545; /* *avx2_ussubv16hi3 */
26692 : :
26693 : : case 5:
26694 : : if (!
26695 : : #line 16318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26696 : : (TARGET_SSE2 && 1 && 1
26697 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)))
26698 : : return -1;
26699 : : return 7553; /* *sse2_ussubv8hi3 */
26700 : :
26701 : : default:
26702 : : return -1;
26703 : : }
26704 : :
26705 : : case ASHIFTRT:
26706 : : return recog_327 (x1, insn, pnum_clobbers);
26707 : :
26708 : : case ASHIFT:
26709 : : return recog_329 (x1, insn, pnum_clobbers);
26710 : :
26711 : : case LSHIFTRT:
26712 : : return recog_328 (x1, insn, pnum_clobbers);
26713 : :
26714 : : case ROTATE:
26715 : : return recog_352 (x1, insn, pnum_clobbers);
26716 : :
26717 : : case ROTATERT:
26718 : : return recog_351 (x1, insn, pnum_clobbers);
26719 : :
26720 : : case UMAX:
26721 : : return recog_346 (x1, insn, pnum_clobbers);
26722 : :
26723 : : case UMIN:
26724 : : return recog_345 (x1, insn, pnum_clobbers);
26725 : :
26726 : : case ABS:
26727 : : return recog_335 (x1, insn, pnum_clobbers);
26728 : :
26729 : : case SIGN_EXTEND:
26730 : : return recog_343 (x1, insn, pnum_clobbers);
26731 : :
26732 : : case ZERO_EXTEND:
26733 : : return recog_333 (x1, insn, pnum_clobbers);
26734 : :
26735 : : case IF_THEN_ELSE:
26736 : : return recog_330 (x1, insn, pnum_clobbers);
26737 : :
26738 : : case CLZ:
26739 : : return recog_349 (x1, insn, pnum_clobbers);
26740 : :
26741 : : case POPCOUNT:
26742 : : return recog_334 (x1, insn, pnum_clobbers);
26743 : :
26744 : : default:
26745 : : return -1;
26746 : : }
26747 : : }
26748 : :
26749 : : rtx_insn *
26750 : : split_37 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26751 : : {
26752 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26753 : : rtx x2, x3, x4, x5, x6, x7, x8;
26754 : : rtx_insn *res ATTRIBUTE_UNUSED;
26755 : : x2 = XVECEXP (x1, 0, 0);
26756 : : x3 = XEXP (x2, 0);
26757 : : operands[0] = x3;
26758 : : x4 = XEXP (x2, 1);
26759 : : x5 = XEXP (x4, 0);
26760 : : switch (GET_CODE (x5))
26761 : : {
26762 : : case LSHIFTRT:
26763 : : if (GET_MODE (x5) != E_SImode)
26764 : : return NULL;
26765 : : x6 = XVECEXP (x1, 0, 1);
26766 : : if (pattern227 (x6,
26767 : : E_CCmode,
26768 : : 17) != 0
26769 : : || !mask_reg_operand (operands[0], E_DImode)
26770 : : || GET_MODE (x4) != E_DImode)
26771 : : return NULL;
26772 : : x7 = XEXP (x5, 0);
26773 : : operands[1] = x7;
26774 : : if (!mask_reg_operand (operands[1], E_SImode))
26775 : : return NULL;
26776 : : x8 = XEXP (x5, 1);
26777 : : operands[2] = x8;
26778 : : if (!const_0_to_31_operand (operands[2], E_VOIDmode)
26779 : : || !
26780 : : #line 2320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26781 : : (TARGET_AVX512BW && reload_completed))
26782 : : return NULL;
26783 : : return gen_split_1222 (insn, operands);
26784 : :
26785 : : case UNSPEC:
26786 : : if (pattern350 (x1) != 0)
26787 : : return NULL;
26788 : : switch (pattern1042 (x1))
26789 : : {
26790 : : case 0:
26791 : : if (!((
26792 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26793 : : (TARGET_AVX512F
26794 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26795 : : && (GET_MODE_NUNITS (V16SImode)
26796 : : < GET_MODE_PRECISION (HImode))
26797 : : && ix86_pre_reload_split ()) &&
26798 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26799 : : (TARGET_EVEX512)) &&
26800 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26801 : : ( 1)))
26802 : : return NULL;
26803 : : return gen_split_1334 (insn, operands);
26804 : :
26805 : : case 1:
26806 : : if (!((
26807 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26808 : : (TARGET_AVX512F
26809 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26810 : : && (GET_MODE_NUNITS (V16HFmode)
26811 : : < GET_MODE_PRECISION (HImode))
26812 : : && ix86_pre_reload_split ()) &&
26813 : : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26814 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
26815 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26816 : : ( 1)))
26817 : : return NULL;
26818 : : return gen_split_1355 (insn, operands);
26819 : :
26820 : : case 2:
26821 : : if (!((
26822 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26823 : : (TARGET_AVX512F
26824 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26825 : : && (GET_MODE_NUNITS (V16SFmode)
26826 : : < GET_MODE_PRECISION (HImode))
26827 : : && ix86_pre_reload_split ()) &&
26828 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26829 : : (TARGET_EVEX512)) &&
26830 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26831 : : ( 1)))
26832 : : return NULL;
26833 : : return gen_split_1361 (insn, operands);
26834 : :
26835 : : case 3:
26836 : : if (!((
26837 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26838 : : (TARGET_AVX512BW
26839 : : && (GET_MODE_NUNITS (V16QImode)
26840 : : < GET_MODE_PRECISION (HImode))
26841 : : && ix86_pre_reload_split ()) &&
26842 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26843 : : (TARGET_AVX512VL)) &&
26844 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26845 : : ( 1)))
26846 : : return NULL;
26847 : : return gen_split_1397 (insn, operands);
26848 : :
26849 : : case 4:
26850 : : if (!((
26851 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26852 : : (TARGET_AVX512BW
26853 : : && (GET_MODE_NUNITS (V16HImode)
26854 : : < GET_MODE_PRECISION (HImode))
26855 : : && ix86_pre_reload_split ()) &&
26856 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26857 : : (TARGET_AVX512VL)) &&
26858 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26859 : : ( 1)))
26860 : : return NULL;
26861 : : return gen_split_1406 (insn, operands);
26862 : :
26863 : : case 5:
26864 : : if (!((
26865 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26866 : : (TARGET_AVX512F
26867 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26868 : : && (GET_MODE_NUNITS (V8SImode)
26869 : : < GET_MODE_PRECISION (HImode))
26870 : : && ix86_pre_reload_split ()) &&
26871 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26872 : : (TARGET_AVX512VL)) &&
26873 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26874 : : ( 1)))
26875 : : return NULL;
26876 : : return gen_split_1337 (insn, operands);
26877 : :
26878 : : case 6:
26879 : : if (!((
26880 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26881 : : (TARGET_AVX512F
26882 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26883 : : && (GET_MODE_NUNITS (V4SImode)
26884 : : < GET_MODE_PRECISION (HImode))
26885 : : && ix86_pre_reload_split ()) &&
26886 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26887 : : (TARGET_AVX512VL)) &&
26888 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26889 : : ( 1)))
26890 : : return NULL;
26891 : : return gen_split_1340 (insn, operands);
26892 : :
26893 : : case 7:
26894 : : if (!((
26895 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26896 : : (TARGET_AVX512F
26897 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26898 : : && (GET_MODE_NUNITS (V8DImode)
26899 : : < GET_MODE_PRECISION (HImode))
26900 : : && ix86_pre_reload_split ()) &&
26901 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26902 : : (TARGET_EVEX512)) &&
26903 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26904 : : ( 1)))
26905 : : return NULL;
26906 : : return gen_split_1343 (insn, operands);
26907 : :
26908 : : case 8:
26909 : : if (!((
26910 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26911 : : (TARGET_AVX512F
26912 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26913 : : && (GET_MODE_NUNITS (V4DImode)
26914 : : < GET_MODE_PRECISION (HImode))
26915 : : && ix86_pre_reload_split ()) &&
26916 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26917 : : (TARGET_AVX512VL)) &&
26918 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26919 : : ( 1)))
26920 : : return NULL;
26921 : : return gen_split_1346 (insn, operands);
26922 : :
26923 : : case 9:
26924 : : if (!((
26925 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26926 : : (TARGET_AVX512F
26927 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26928 : : && (GET_MODE_NUNITS (V2DImode)
26929 : : < GET_MODE_PRECISION (HImode))
26930 : : && ix86_pre_reload_split ()) &&
26931 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26932 : : (TARGET_AVX512VL)) &&
26933 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26934 : : ( 1)))
26935 : : return NULL;
26936 : : return gen_split_1349 (insn, operands);
26937 : :
26938 : : case 10:
26939 : : if (!((
26940 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26941 : : (TARGET_AVX512F
26942 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26943 : : && (GET_MODE_NUNITS (V8HFmode)
26944 : : < GET_MODE_PRECISION (HImode))
26945 : : && ix86_pre_reload_split ()) &&
26946 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26947 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
26948 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26949 : : ( 1)))
26950 : : return NULL;
26951 : : return gen_split_1358 (insn, operands);
26952 : :
26953 : : case 11:
26954 : : if (!((
26955 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26956 : : (TARGET_AVX512F
26957 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26958 : : && (GET_MODE_NUNITS (V8SFmode)
26959 : : < GET_MODE_PRECISION (HImode))
26960 : : && ix86_pre_reload_split ()) &&
26961 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26962 : : (TARGET_AVX512VL)) &&
26963 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26964 : : ( 1)))
26965 : : return NULL;
26966 : : return gen_split_1364 (insn, operands);
26967 : :
26968 : : case 12:
26969 : : if (!((
26970 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26971 : : (TARGET_AVX512F
26972 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26973 : : && (GET_MODE_NUNITS (V4SFmode)
26974 : : < GET_MODE_PRECISION (HImode))
26975 : : && ix86_pre_reload_split ()) &&
26976 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26977 : : (TARGET_AVX512VL)) &&
26978 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26979 : : ( 1)))
26980 : : return NULL;
26981 : : return gen_split_1367 (insn, operands);
26982 : :
26983 : : case 13:
26984 : : if (!((
26985 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26986 : : (TARGET_AVX512F
26987 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
26988 : : && (GET_MODE_NUNITS (V8DFmode)
26989 : : < GET_MODE_PRECISION (HImode))
26990 : : && ix86_pre_reload_split ()) &&
26991 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26992 : : (TARGET_EVEX512)) &&
26993 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26994 : : ( 1)))
26995 : : return NULL;
26996 : : return gen_split_1370 (insn, operands);
26997 : :
26998 : : case 14:
26999 : : if (!((
27000 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27001 : : (TARGET_AVX512F
27002 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27003 : : && (GET_MODE_NUNITS (V4DFmode)
27004 : : < GET_MODE_PRECISION (HImode))
27005 : : && ix86_pre_reload_split ()) &&
27006 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27007 : : (TARGET_AVX512VL)) &&
27008 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27009 : : ( 1)))
27010 : : return NULL;
27011 : : return gen_split_1373 (insn, operands);
27012 : :
27013 : : case 15:
27014 : : if (!((
27015 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27016 : : (TARGET_AVX512F
27017 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27018 : : && (GET_MODE_NUNITS (V2DFmode)
27019 : : < GET_MODE_PRECISION (HImode))
27020 : : && ix86_pre_reload_split ()) &&
27021 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27022 : : (TARGET_AVX512VL)) &&
27023 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27024 : : ( 1)))
27025 : : return NULL;
27026 : : return gen_split_1376 (insn, operands);
27027 : :
27028 : : case 16:
27029 : : if (!((
27030 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27031 : : (TARGET_AVX512BW
27032 : : && (GET_MODE_NUNITS (V8HImode)
27033 : : < GET_MODE_PRECISION (HImode))
27034 : : && ix86_pre_reload_split ()) &&
27035 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27036 : : (TARGET_AVX512VL)) &&
27037 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27038 : : ( 1)))
27039 : : return NULL;
27040 : : return gen_split_1409 (insn, operands);
27041 : :
27042 : : case 17:
27043 : : if (!((
27044 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27045 : : (TARGET_AVX512F
27046 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27047 : : && (GET_MODE_NUNITS (V32HFmode)
27048 : : < GET_MODE_PRECISION (HImode))
27049 : : && ix86_pre_reload_split ()) &&
27050 : : #line 310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27051 : : (TARGET_AVX512FP16 && TARGET_EVEX512)) &&
27052 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27053 : : ( 1)))
27054 : : return NULL;
27055 : : return gen_split_1352 (insn, operands);
27056 : :
27057 : : case 18:
27058 : : if (!((
27059 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27060 : : (TARGET_AVX512BW
27061 : : && (GET_MODE_NUNITS (V32QImode)
27062 : : < GET_MODE_PRECISION (HImode))
27063 : : && ix86_pre_reload_split ()) &&
27064 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27065 : : (TARGET_AVX512VL)) &&
27066 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27067 : : ( 1)))
27068 : : return NULL;
27069 : : return gen_split_1400 (insn, operands);
27070 : :
27071 : : case 19:
27072 : : if (!((
27073 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27074 : : (TARGET_AVX512BW
27075 : : && (GET_MODE_NUNITS (V32HImode)
27076 : : < GET_MODE_PRECISION (HImode))
27077 : : && ix86_pre_reload_split ()) &&
27078 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27079 : : (TARGET_EVEX512)) &&
27080 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27081 : : ( 1)))
27082 : : return NULL;
27083 : : return gen_split_1403 (insn, operands);
27084 : :
27085 : : case 20:
27086 : : if (!((
27087 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27088 : : (TARGET_AVX512BW
27089 : : && (GET_MODE_NUNITS (V64QImode)
27090 : : < GET_MODE_PRECISION (HImode))
27091 : : && ix86_pre_reload_split ()) &&
27092 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27093 : : (TARGET_EVEX512)) &&
27094 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27095 : : ( 1)))
27096 : : return NULL;
27097 : : return gen_split_1394 (insn, operands);
27098 : :
27099 : : case 21:
27100 : : if (!((
27101 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27102 : : (TARGET_AVX512F
27103 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27104 : : && (GET_MODE_NUNITS (V16SImode)
27105 : : < GET_MODE_PRECISION (SImode))
27106 : : && ix86_pre_reload_split ()) &&
27107 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27108 : : (TARGET_EVEX512)) &&
27109 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27110 : : ( 1)))
27111 : : return NULL;
27112 : : return gen_split_1335 (insn, operands);
27113 : :
27114 : : case 22:
27115 : : if (!((
27116 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27117 : : (TARGET_AVX512F
27118 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27119 : : && (GET_MODE_NUNITS (V16HFmode)
27120 : : < GET_MODE_PRECISION (SImode))
27121 : : && ix86_pre_reload_split ()) &&
27122 : : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27123 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
27124 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27125 : : ( 1)))
27126 : : return NULL;
27127 : : return gen_split_1356 (insn, operands);
27128 : :
27129 : : case 23:
27130 : : if (!((
27131 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27132 : : (TARGET_AVX512F
27133 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27134 : : && (GET_MODE_NUNITS (V16SFmode)
27135 : : < GET_MODE_PRECISION (SImode))
27136 : : && ix86_pre_reload_split ()) &&
27137 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27138 : : (TARGET_EVEX512)) &&
27139 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27140 : : ( 1)))
27141 : : return NULL;
27142 : : return gen_split_1362 (insn, operands);
27143 : :
27144 : : case 24:
27145 : : if (!((
27146 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27147 : : (TARGET_AVX512BW
27148 : : && (GET_MODE_NUNITS (V16QImode)
27149 : : < GET_MODE_PRECISION (SImode))
27150 : : && ix86_pre_reload_split ()) &&
27151 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27152 : : (TARGET_AVX512VL)) &&
27153 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27154 : : ( 1)))
27155 : : return NULL;
27156 : : return gen_split_1398 (insn, operands);
27157 : :
27158 : : case 25:
27159 : : if (!((
27160 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27161 : : (TARGET_AVX512BW
27162 : : && (GET_MODE_NUNITS (V16HImode)
27163 : : < GET_MODE_PRECISION (SImode))
27164 : : && ix86_pre_reload_split ()) &&
27165 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27166 : : (TARGET_AVX512VL)) &&
27167 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27168 : : ( 1)))
27169 : : return NULL;
27170 : : return gen_split_1407 (insn, operands);
27171 : :
27172 : : case 26:
27173 : : if (!((
27174 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27175 : : (TARGET_AVX512F
27176 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27177 : : && (GET_MODE_NUNITS (V8SImode)
27178 : : < GET_MODE_PRECISION (SImode))
27179 : : && ix86_pre_reload_split ()) &&
27180 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27181 : : (TARGET_AVX512VL)) &&
27182 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27183 : : ( 1)))
27184 : : return NULL;
27185 : : return gen_split_1338 (insn, operands);
27186 : :
27187 : : case 27:
27188 : : if (!((
27189 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27190 : : (TARGET_AVX512F
27191 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27192 : : && (GET_MODE_NUNITS (V4SImode)
27193 : : < GET_MODE_PRECISION (SImode))
27194 : : && ix86_pre_reload_split ()) &&
27195 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27196 : : (TARGET_AVX512VL)) &&
27197 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27198 : : ( 1)))
27199 : : return NULL;
27200 : : return gen_split_1341 (insn, operands);
27201 : :
27202 : : case 28:
27203 : : if (!((
27204 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27205 : : (TARGET_AVX512F
27206 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27207 : : && (GET_MODE_NUNITS (V8DImode)
27208 : : < GET_MODE_PRECISION (SImode))
27209 : : && ix86_pre_reload_split ()) &&
27210 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27211 : : (TARGET_EVEX512)) &&
27212 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27213 : : ( 1)))
27214 : : return NULL;
27215 : : return gen_split_1344 (insn, operands);
27216 : :
27217 : : case 29:
27218 : : if (!((
27219 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27220 : : (TARGET_AVX512F
27221 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27222 : : && (GET_MODE_NUNITS (V4DImode)
27223 : : < GET_MODE_PRECISION (SImode))
27224 : : && ix86_pre_reload_split ()) &&
27225 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27226 : : (TARGET_AVX512VL)) &&
27227 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27228 : : ( 1)))
27229 : : return NULL;
27230 : : return gen_split_1347 (insn, operands);
27231 : :
27232 : : case 30:
27233 : : if (!((
27234 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27235 : : (TARGET_AVX512F
27236 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27237 : : && (GET_MODE_NUNITS (V2DImode)
27238 : : < GET_MODE_PRECISION (SImode))
27239 : : && ix86_pre_reload_split ()) &&
27240 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27241 : : (TARGET_AVX512VL)) &&
27242 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27243 : : ( 1)))
27244 : : return NULL;
27245 : : return gen_split_1350 (insn, operands);
27246 : :
27247 : : case 31:
27248 : : if (!((
27249 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27250 : : (TARGET_AVX512F
27251 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27252 : : && (GET_MODE_NUNITS (V8HFmode)
27253 : : < GET_MODE_PRECISION (SImode))
27254 : : && ix86_pre_reload_split ()) &&
27255 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27256 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
27257 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27258 : : ( 1)))
27259 : : return NULL;
27260 : : return gen_split_1359 (insn, operands);
27261 : :
27262 : : case 32:
27263 : : if (!((
27264 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27265 : : (TARGET_AVX512F
27266 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27267 : : && (GET_MODE_NUNITS (V8SFmode)
27268 : : < GET_MODE_PRECISION (SImode))
27269 : : && ix86_pre_reload_split ()) &&
27270 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27271 : : (TARGET_AVX512VL)) &&
27272 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27273 : : ( 1)))
27274 : : return NULL;
27275 : : return gen_split_1365 (insn, operands);
27276 : :
27277 : : case 33:
27278 : : if (!((
27279 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27280 : : (TARGET_AVX512F
27281 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27282 : : && (GET_MODE_NUNITS (V4SFmode)
27283 : : < GET_MODE_PRECISION (SImode))
27284 : : && ix86_pre_reload_split ()) &&
27285 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27286 : : (TARGET_AVX512VL)) &&
27287 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27288 : : ( 1)))
27289 : : return NULL;
27290 : : return gen_split_1368 (insn, operands);
27291 : :
27292 : : case 34:
27293 : : if (!((
27294 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27295 : : (TARGET_AVX512F
27296 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27297 : : && (GET_MODE_NUNITS (V8DFmode)
27298 : : < GET_MODE_PRECISION (SImode))
27299 : : && ix86_pre_reload_split ()) &&
27300 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27301 : : (TARGET_EVEX512)) &&
27302 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27303 : : ( 1)))
27304 : : return NULL;
27305 : : return gen_split_1371 (insn, operands);
27306 : :
27307 : : case 35:
27308 : : if (!((
27309 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27310 : : (TARGET_AVX512F
27311 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27312 : : && (GET_MODE_NUNITS (V4DFmode)
27313 : : < GET_MODE_PRECISION (SImode))
27314 : : && ix86_pre_reload_split ()) &&
27315 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27316 : : (TARGET_AVX512VL)) &&
27317 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27318 : : ( 1)))
27319 : : return NULL;
27320 : : return gen_split_1374 (insn, operands);
27321 : :
27322 : : case 36:
27323 : : if (!((
27324 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27325 : : (TARGET_AVX512F
27326 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27327 : : && (GET_MODE_NUNITS (V2DFmode)
27328 : : < GET_MODE_PRECISION (SImode))
27329 : : && ix86_pre_reload_split ()) &&
27330 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27331 : : (TARGET_AVX512VL)) &&
27332 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27333 : : ( 1)))
27334 : : return NULL;
27335 : : return gen_split_1377 (insn, operands);
27336 : :
27337 : : case 37:
27338 : : if (!((
27339 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27340 : : (TARGET_AVX512BW
27341 : : && (GET_MODE_NUNITS (V8HImode)
27342 : : < GET_MODE_PRECISION (SImode))
27343 : : && ix86_pre_reload_split ()) &&
27344 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27345 : : (TARGET_AVX512VL)) &&
27346 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27347 : : ( 1)))
27348 : : return NULL;
27349 : : return gen_split_1410 (insn, operands);
27350 : :
27351 : : case 38:
27352 : : if (!((
27353 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27354 : : (TARGET_AVX512F
27355 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27356 : : && (GET_MODE_NUNITS (V32HFmode)
27357 : : < GET_MODE_PRECISION (SImode))
27358 : : && ix86_pre_reload_split ()) &&
27359 : : #line 310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27360 : : (TARGET_AVX512FP16 && TARGET_EVEX512)) &&
27361 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27362 : : ( 1)))
27363 : : return NULL;
27364 : : return gen_split_1353 (insn, operands);
27365 : :
27366 : : case 39:
27367 : : if (!((
27368 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27369 : : (TARGET_AVX512BW
27370 : : && (GET_MODE_NUNITS (V32QImode)
27371 : : < GET_MODE_PRECISION (SImode))
27372 : : && ix86_pre_reload_split ()) &&
27373 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27374 : : (TARGET_AVX512VL)) &&
27375 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27376 : : ( 1)))
27377 : : return NULL;
27378 : : return gen_split_1401 (insn, operands);
27379 : :
27380 : : case 40:
27381 : : if (!((
27382 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27383 : : (TARGET_AVX512BW
27384 : : && (GET_MODE_NUNITS (V32HImode)
27385 : : < GET_MODE_PRECISION (SImode))
27386 : : && ix86_pre_reload_split ()) &&
27387 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27388 : : (TARGET_EVEX512)) &&
27389 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27390 : : ( 1)))
27391 : : return NULL;
27392 : : return gen_split_1404 (insn, operands);
27393 : :
27394 : : case 41:
27395 : : if (!((
27396 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27397 : : (TARGET_AVX512BW
27398 : : && (GET_MODE_NUNITS (V64QImode)
27399 : : < GET_MODE_PRECISION (SImode))
27400 : : && ix86_pre_reload_split ()) &&
27401 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27402 : : (TARGET_EVEX512)) &&
27403 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27404 : : ( 1)))
27405 : : return NULL;
27406 : : return gen_split_1395 (insn, operands);
27407 : :
27408 : : case 42:
27409 : : if (!((
27410 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27411 : : (TARGET_AVX512F
27412 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27413 : : && (GET_MODE_NUNITS (V16SImode)
27414 : : < GET_MODE_PRECISION (DImode))
27415 : : && ix86_pre_reload_split ()) &&
27416 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27417 : : (TARGET_EVEX512)) &&
27418 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27419 : : ( 1)))
27420 : : return NULL;
27421 : : return gen_split_1336 (insn, operands);
27422 : :
27423 : : case 43:
27424 : : if (!((
27425 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27426 : : (TARGET_AVX512F
27427 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27428 : : && (GET_MODE_NUNITS (V16HFmode)
27429 : : < GET_MODE_PRECISION (DImode))
27430 : : && ix86_pre_reload_split ()) &&
27431 : : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27432 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
27433 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27434 : : ( 1)))
27435 : : return NULL;
27436 : : return gen_split_1357 (insn, operands);
27437 : :
27438 : : case 44:
27439 : : if (!((
27440 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27441 : : (TARGET_AVX512F
27442 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27443 : : && (GET_MODE_NUNITS (V16SFmode)
27444 : : < GET_MODE_PRECISION (DImode))
27445 : : && ix86_pre_reload_split ()) &&
27446 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27447 : : (TARGET_EVEX512)) &&
27448 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27449 : : ( 1)))
27450 : : return NULL;
27451 : : return gen_split_1363 (insn, operands);
27452 : :
27453 : : case 45:
27454 : : if (!((
27455 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27456 : : (TARGET_AVX512BW
27457 : : && (GET_MODE_NUNITS (V16QImode)
27458 : : < GET_MODE_PRECISION (DImode))
27459 : : && ix86_pre_reload_split ()) &&
27460 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27461 : : (TARGET_AVX512VL)) &&
27462 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27463 : : ( 1)))
27464 : : return NULL;
27465 : : return gen_split_1399 (insn, operands);
27466 : :
27467 : : case 46:
27468 : : if (!((
27469 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27470 : : (TARGET_AVX512BW
27471 : : && (GET_MODE_NUNITS (V16HImode)
27472 : : < GET_MODE_PRECISION (DImode))
27473 : : && ix86_pre_reload_split ()) &&
27474 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27475 : : (TARGET_AVX512VL)) &&
27476 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27477 : : ( 1)))
27478 : : return NULL;
27479 : : return gen_split_1408 (insn, operands);
27480 : :
27481 : : case 47:
27482 : : if (!((
27483 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27484 : : (TARGET_AVX512F
27485 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27486 : : && (GET_MODE_NUNITS (V8SImode)
27487 : : < GET_MODE_PRECISION (DImode))
27488 : : && ix86_pre_reload_split ()) &&
27489 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27490 : : (TARGET_AVX512VL)) &&
27491 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27492 : : ( 1)))
27493 : : return NULL;
27494 : : return gen_split_1339 (insn, operands);
27495 : :
27496 : : case 48:
27497 : : if (!((
27498 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27499 : : (TARGET_AVX512F
27500 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27501 : : && (GET_MODE_NUNITS (V4SImode)
27502 : : < GET_MODE_PRECISION (DImode))
27503 : : && ix86_pre_reload_split ()) &&
27504 : : #line 308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27505 : : (TARGET_AVX512VL)) &&
27506 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27507 : : ( 1)))
27508 : : return NULL;
27509 : : return gen_split_1342 (insn, operands);
27510 : :
27511 : : case 49:
27512 : : if (!((
27513 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27514 : : (TARGET_AVX512F
27515 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27516 : : && (GET_MODE_NUNITS (V8DImode)
27517 : : < GET_MODE_PRECISION (DImode))
27518 : : && ix86_pre_reload_split ()) &&
27519 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27520 : : (TARGET_EVEX512)) &&
27521 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27522 : : ( 1)))
27523 : : return NULL;
27524 : : return gen_split_1345 (insn, operands);
27525 : :
27526 : : case 50:
27527 : : if (!((
27528 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27529 : : (TARGET_AVX512F
27530 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27531 : : && (GET_MODE_NUNITS (V4DImode)
27532 : : < GET_MODE_PRECISION (DImode))
27533 : : && ix86_pre_reload_split ()) &&
27534 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27535 : : (TARGET_AVX512VL)) &&
27536 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27537 : : ( 1)))
27538 : : return NULL;
27539 : : return gen_split_1348 (insn, operands);
27540 : :
27541 : : case 51:
27542 : : if (!((
27543 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27544 : : (TARGET_AVX512F
27545 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27546 : : && (GET_MODE_NUNITS (V2DImode)
27547 : : < GET_MODE_PRECISION (DImode))
27548 : : && ix86_pre_reload_split ()) &&
27549 : : #line 309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27550 : : (TARGET_AVX512VL)) &&
27551 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27552 : : ( 1)))
27553 : : return NULL;
27554 : : return gen_split_1351 (insn, operands);
27555 : :
27556 : : case 52:
27557 : : if (!((
27558 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27559 : : (TARGET_AVX512F
27560 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27561 : : && (GET_MODE_NUNITS (V8HFmode)
27562 : : < GET_MODE_PRECISION (DImode))
27563 : : && ix86_pre_reload_split ()) &&
27564 : : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27565 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)) &&
27566 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27567 : : ( 1)))
27568 : : return NULL;
27569 : : return gen_split_1360 (insn, operands);
27570 : :
27571 : : case 53:
27572 : : if (!((
27573 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27574 : : (TARGET_AVX512F
27575 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27576 : : && (GET_MODE_NUNITS (V8SFmode)
27577 : : < GET_MODE_PRECISION (DImode))
27578 : : && ix86_pre_reload_split ()) &&
27579 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27580 : : (TARGET_AVX512VL)) &&
27581 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27582 : : ( 1)))
27583 : : return NULL;
27584 : : return gen_split_1366 (insn, operands);
27585 : :
27586 : : case 54:
27587 : : if (!((
27588 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27589 : : (TARGET_AVX512F
27590 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27591 : : && (GET_MODE_NUNITS (V4SFmode)
27592 : : < GET_MODE_PRECISION (DImode))
27593 : : && ix86_pre_reload_split ()) &&
27594 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27595 : : (TARGET_AVX512VL)) &&
27596 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27597 : : ( 1)))
27598 : : return NULL;
27599 : : return gen_split_1369 (insn, operands);
27600 : :
27601 : : case 55:
27602 : : if (!((
27603 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27604 : : (TARGET_AVX512F
27605 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27606 : : && (GET_MODE_NUNITS (V8DFmode)
27607 : : < GET_MODE_PRECISION (DImode))
27608 : : && ix86_pre_reload_split ()) &&
27609 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27610 : : (TARGET_EVEX512)) &&
27611 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27612 : : ( 1)))
27613 : : return NULL;
27614 : : return gen_split_1372 (insn, operands);
27615 : :
27616 : : case 56:
27617 : : if (!((
27618 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27619 : : (TARGET_AVX512F
27620 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27621 : : && (GET_MODE_NUNITS (V4DFmode)
27622 : : < GET_MODE_PRECISION (DImode))
27623 : : && ix86_pre_reload_split ()) &&
27624 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27625 : : (TARGET_AVX512VL)) &&
27626 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27627 : : ( 1)))
27628 : : return NULL;
27629 : : return gen_split_1375 (insn, operands);
27630 : :
27631 : : case 57:
27632 : : if (!((
27633 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27634 : : (TARGET_AVX512F
27635 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27636 : : && (GET_MODE_NUNITS (V2DFmode)
27637 : : < GET_MODE_PRECISION (DImode))
27638 : : && ix86_pre_reload_split ()) &&
27639 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27640 : : (TARGET_AVX512VL)) &&
27641 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27642 : : ( 1)))
27643 : : return NULL;
27644 : : return gen_split_1378 (insn, operands);
27645 : :
27646 : : case 58:
27647 : : if (!((
27648 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27649 : : (TARGET_AVX512BW
27650 : : && (GET_MODE_NUNITS (V8HImode)
27651 : : < GET_MODE_PRECISION (DImode))
27652 : : && ix86_pre_reload_split ()) &&
27653 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27654 : : (TARGET_AVX512VL)) &&
27655 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27656 : : ( 1)))
27657 : : return NULL;
27658 : : return gen_split_1411 (insn, operands);
27659 : :
27660 : : case 59:
27661 : : if (!((
27662 : : #line 4436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27663 : : (TARGET_AVX512F
27664 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
27665 : : && (GET_MODE_NUNITS (V32HFmode)
27666 : : < GET_MODE_PRECISION (DImode))
27667 : : && ix86_pre_reload_split ()) &&
27668 : : #line 310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27669 : : (TARGET_AVX512FP16 && TARGET_EVEX512)) &&
27670 : : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27671 : : ( 1)))
27672 : : return NULL;
27673 : : return gen_split_1354 (insn, operands);
27674 : :
27675 : : case 60:
27676 : : if (!((
27677 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27678 : : (TARGET_AVX512BW
27679 : : && (GET_MODE_NUNITS (V32QImode)
27680 : : < GET_MODE_PRECISION (DImode))
27681 : : && ix86_pre_reload_split ()) &&
27682 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27683 : : (TARGET_AVX512VL)) &&
27684 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27685 : : ( 1)))
27686 : : return NULL;
27687 : : return gen_split_1402 (insn, operands);
27688 : :
27689 : : case 61:
27690 : : if (!((
27691 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27692 : : (TARGET_AVX512BW
27693 : : && (GET_MODE_NUNITS (V32HImode)
27694 : : < GET_MODE_PRECISION (DImode))
27695 : : && ix86_pre_reload_split ()) &&
27696 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27697 : : (TARGET_EVEX512)) &&
27698 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27699 : : ( 1)))
27700 : : return NULL;
27701 : : return gen_split_1405 (insn, operands);
27702 : :
27703 : : case 62:
27704 : : if (!((
27705 : : #line 4525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27706 : : (TARGET_AVX512BW
27707 : : && (GET_MODE_NUNITS (V64QImode)
27708 : : < GET_MODE_PRECISION (DImode))
27709 : : && ix86_pre_reload_split ()) &&
27710 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27711 : : (TARGET_EVEX512)) &&
27712 : : #line 4530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27713 : : ( 1)))
27714 : : return NULL;
27715 : : return gen_split_1396 (insn, operands);
27716 : :
27717 : : case 63:
27718 : : if (!((
27719 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27720 : : (TARGET_AVX512BW
27721 : : && ix86_pre_reload_split ()
27722 : : && (GET_MODE_NUNITS (V64QImode)
27723 : : < GET_MODE_PRECISION (HImode))
27724 : : && ix86_pre_reload_split ()) &&
27725 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27726 : : (TARGET_EVEX512)) &&
27727 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27728 : : ( 1)))
27729 : : return NULL;
27730 : : return gen_split_1424 (insn, operands);
27731 : :
27732 : : case 64:
27733 : : if (!((
27734 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27735 : : (TARGET_AVX512BW
27736 : : && ix86_pre_reload_split ()
27737 : : && (GET_MODE_NUNITS (V16QImode)
27738 : : < GET_MODE_PRECISION (HImode))
27739 : : && ix86_pre_reload_split ()) &&
27740 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27741 : : (TARGET_AVX512VL)) &&
27742 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27743 : : ( 1)))
27744 : : return NULL;
27745 : : return gen_split_1427 (insn, operands);
27746 : :
27747 : : case 65:
27748 : : if (!((
27749 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27750 : : (TARGET_AVX512BW
27751 : : && ix86_pre_reload_split ()
27752 : : && (GET_MODE_NUNITS (V16HImode)
27753 : : < GET_MODE_PRECISION (HImode))
27754 : : && ix86_pre_reload_split ()) &&
27755 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27756 : : (TARGET_AVX512VL)) &&
27757 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27758 : : ( 1)))
27759 : : return NULL;
27760 : : return gen_split_1436 (insn, operands);
27761 : :
27762 : : case 66:
27763 : : if (!((
27764 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27765 : : (TARGET_AVX512F
27766 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27767 : : && (GET_MODE_NUNITS (V16SImode)
27768 : : < GET_MODE_PRECISION (HImode))
27769 : : && ix86_pre_reload_split ()) &&
27770 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27771 : : (TARGET_EVEX512)) &&
27772 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27773 : : ( 1)))
27774 : : return NULL;
27775 : : return gen_split_1442 (insn, operands);
27776 : :
27777 : : case 67:
27778 : : if (!((
27779 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27780 : : (TARGET_AVX512BW
27781 : : && ix86_pre_reload_split ()
27782 : : && (GET_MODE_NUNITS (V32QImode)
27783 : : < GET_MODE_PRECISION (HImode))
27784 : : && ix86_pre_reload_split ()) &&
27785 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27786 : : (TARGET_AVX512VL)) &&
27787 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27788 : : ( 1)))
27789 : : return NULL;
27790 : : return gen_split_1430 (insn, operands);
27791 : :
27792 : : case 68:
27793 : : if (!((
27794 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27795 : : (TARGET_AVX512BW
27796 : : && ix86_pre_reload_split ()
27797 : : && (GET_MODE_NUNITS (V32HImode)
27798 : : < GET_MODE_PRECISION (HImode))
27799 : : && ix86_pre_reload_split ()) &&
27800 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27801 : : (TARGET_EVEX512)) &&
27802 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27803 : : ( 1)))
27804 : : return NULL;
27805 : : return gen_split_1433 (insn, operands);
27806 : :
27807 : : case 69:
27808 : : if (!((
27809 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27810 : : (TARGET_AVX512BW
27811 : : && ix86_pre_reload_split ()
27812 : : && (GET_MODE_NUNITS (V8HImode)
27813 : : < GET_MODE_PRECISION (HImode))
27814 : : && ix86_pre_reload_split ()) &&
27815 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27816 : : (TARGET_AVX512VL)) &&
27817 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27818 : : ( 1)))
27819 : : return NULL;
27820 : : return gen_split_1439 (insn, operands);
27821 : :
27822 : : case 70:
27823 : : if (!((
27824 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27825 : : (TARGET_AVX512F
27826 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27827 : : && (GET_MODE_NUNITS (V8SImode)
27828 : : < GET_MODE_PRECISION (HImode))
27829 : : && ix86_pre_reload_split ()) &&
27830 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27831 : : (TARGET_AVX512VL)) &&
27832 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27833 : : ( 1)))
27834 : : return NULL;
27835 : : return gen_split_1443 (insn, operands);
27836 : :
27837 : : case 71:
27838 : : if (!((
27839 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27840 : : (TARGET_AVX512F
27841 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27842 : : && (GET_MODE_NUNITS (V4SImode)
27843 : : < GET_MODE_PRECISION (HImode))
27844 : : && ix86_pre_reload_split ()) &&
27845 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27846 : : (TARGET_AVX512VL)) &&
27847 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27848 : : ( 1)))
27849 : : return NULL;
27850 : : return gen_split_1444 (insn, operands);
27851 : :
27852 : : case 72:
27853 : : if (!((
27854 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27855 : : (TARGET_AVX512F
27856 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27857 : : && (GET_MODE_NUNITS (V8DImode)
27858 : : < GET_MODE_PRECISION (HImode))
27859 : : && ix86_pre_reload_split ()) &&
27860 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27861 : : (TARGET_EVEX512)) &&
27862 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27863 : : ( 1)))
27864 : : return NULL;
27865 : : return gen_split_1445 (insn, operands);
27866 : :
27867 : : case 73:
27868 : : if (!((
27869 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27870 : : (TARGET_AVX512F
27871 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27872 : : && (GET_MODE_NUNITS (V4DImode)
27873 : : < GET_MODE_PRECISION (HImode))
27874 : : && ix86_pre_reload_split ()) &&
27875 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27876 : : (TARGET_AVX512VL)) &&
27877 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27878 : : ( 1)))
27879 : : return NULL;
27880 : : return gen_split_1446 (insn, operands);
27881 : :
27882 : : case 74:
27883 : : if (!((
27884 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27885 : : (TARGET_AVX512F
27886 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
27887 : : && (GET_MODE_NUNITS (V2DImode)
27888 : : < GET_MODE_PRECISION (HImode))
27889 : : && ix86_pre_reload_split ()) &&
27890 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27891 : : (TARGET_AVX512VL)) &&
27892 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27893 : : ( 1)))
27894 : : return NULL;
27895 : : return gen_split_1447 (insn, operands);
27896 : :
27897 : : case 75:
27898 : : if (!((
27899 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27900 : : (TARGET_AVX512BW
27901 : : && ix86_pre_reload_split ()
27902 : : && (GET_MODE_NUNITS (V64QImode)
27903 : : < GET_MODE_PRECISION (SImode))
27904 : : && ix86_pre_reload_split ()) &&
27905 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27906 : : (TARGET_EVEX512)) &&
27907 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27908 : : ( 1)))
27909 : : return NULL;
27910 : : return gen_split_1425 (insn, operands);
27911 : :
27912 : : case 76:
27913 : : if (!((
27914 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27915 : : (TARGET_AVX512BW
27916 : : && ix86_pre_reload_split ()
27917 : : && (GET_MODE_NUNITS (V16QImode)
27918 : : < GET_MODE_PRECISION (SImode))
27919 : : && ix86_pre_reload_split ()) &&
27920 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27921 : : (TARGET_AVX512VL)) &&
27922 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27923 : : ( 1)))
27924 : : return NULL;
27925 : : return gen_split_1428 (insn, operands);
27926 : :
27927 : : case 77:
27928 : : if (!((
27929 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27930 : : (TARGET_AVX512BW
27931 : : && ix86_pre_reload_split ()
27932 : : && (GET_MODE_NUNITS (V16HImode)
27933 : : < GET_MODE_PRECISION (SImode))
27934 : : && ix86_pre_reload_split ()) &&
27935 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27936 : : (TARGET_AVX512VL)) &&
27937 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27938 : : ( 1)))
27939 : : return NULL;
27940 : : return gen_split_1437 (insn, operands);
27941 : :
27942 : : case 78:
27943 : : if (!((
27944 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27945 : : (TARGET_AVX512F
27946 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
27947 : : && (GET_MODE_NUNITS (V16SImode)
27948 : : < GET_MODE_PRECISION (SImode))
27949 : : && ix86_pre_reload_split ()) &&
27950 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27951 : : (TARGET_EVEX512)) &&
27952 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27953 : : ( 1)))
27954 : : return NULL;
27955 : : return gen_split_1448 (insn, operands);
27956 : :
27957 : : case 79:
27958 : : if (!((
27959 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27960 : : (TARGET_AVX512BW
27961 : : && ix86_pre_reload_split ()
27962 : : && (GET_MODE_NUNITS (V32QImode)
27963 : : < GET_MODE_PRECISION (SImode))
27964 : : && ix86_pre_reload_split ()) &&
27965 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27966 : : (TARGET_AVX512VL)) &&
27967 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27968 : : ( 1)))
27969 : : return NULL;
27970 : : return gen_split_1431 (insn, operands);
27971 : :
27972 : : case 80:
27973 : : if (!((
27974 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27975 : : (TARGET_AVX512BW
27976 : : && ix86_pre_reload_split ()
27977 : : && (GET_MODE_NUNITS (V32HImode)
27978 : : < GET_MODE_PRECISION (SImode))
27979 : : && ix86_pre_reload_split ()) &&
27980 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27981 : : (TARGET_EVEX512)) &&
27982 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27983 : : ( 1)))
27984 : : return NULL;
27985 : : return gen_split_1434 (insn, operands);
27986 : :
27987 : : case 81:
27988 : : if (!((
27989 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27990 : : (TARGET_AVX512BW
27991 : : && ix86_pre_reload_split ()
27992 : : && (GET_MODE_NUNITS (V8HImode)
27993 : : < GET_MODE_PRECISION (SImode))
27994 : : && ix86_pre_reload_split ()) &&
27995 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27996 : : (TARGET_AVX512VL)) &&
27997 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27998 : : ( 1)))
27999 : : return NULL;
28000 : : return gen_split_1440 (insn, operands);
28001 : :
28002 : : case 82:
28003 : : if (!((
28004 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28005 : : (TARGET_AVX512F
28006 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
28007 : : && (GET_MODE_NUNITS (V8SImode)
28008 : : < GET_MODE_PRECISION (SImode))
28009 : : && ix86_pre_reload_split ()) &&
28010 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28011 : : (TARGET_AVX512VL)) &&
28012 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28013 : : ( 1)))
28014 : : return NULL;
28015 : : return gen_split_1449 (insn, operands);
28016 : :
28017 : : case 83:
28018 : : if (!((
28019 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28020 : : (TARGET_AVX512F
28021 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
28022 : : && (GET_MODE_NUNITS (V4SImode)
28023 : : < GET_MODE_PRECISION (SImode))
28024 : : && ix86_pre_reload_split ()) &&
28025 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28026 : : (TARGET_AVX512VL)) &&
28027 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28028 : : ( 1)))
28029 : : return NULL;
28030 : : return gen_split_1450 (insn, operands);
28031 : :
28032 : : case 84:
28033 : : if (!((
28034 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28035 : : (TARGET_AVX512F
28036 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
28037 : : && (GET_MODE_NUNITS (V8DImode)
28038 : : < GET_MODE_PRECISION (SImode))
28039 : : && ix86_pre_reload_split ()) &&
28040 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28041 : : (TARGET_EVEX512)) &&
28042 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28043 : : ( 1)))
28044 : : return NULL;
28045 : : return gen_split_1451 (insn, operands);
28046 : :
28047 : : case 85:
28048 : : if (!((
28049 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28050 : : (TARGET_AVX512F
28051 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
28052 : : && (GET_MODE_NUNITS (V4DImode)
28053 : : < GET_MODE_PRECISION (SImode))
28054 : : && ix86_pre_reload_split ()) &&
28055 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28056 : : (TARGET_AVX512VL)) &&
28057 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28058 : : ( 1)))
28059 : : return NULL;
28060 : : return gen_split_1452 (insn, operands);
28061 : :
28062 : : case 86:
28063 : : if (!((
28064 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28065 : : (TARGET_AVX512F
28066 : : && (!VALID_MASK_AVX512BW_MODE (SImode) || TARGET_AVX512BW)
28067 : : && (GET_MODE_NUNITS (V2DImode)
28068 : : < GET_MODE_PRECISION (SImode))
28069 : : && ix86_pre_reload_split ()) &&
28070 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28071 : : (TARGET_AVX512VL)) &&
28072 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28073 : : ( 1)))
28074 : : return NULL;
28075 : : return gen_split_1453 (insn, operands);
28076 : :
28077 : : case 87:
28078 : : if (!((
28079 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28080 : : (TARGET_AVX512BW
28081 : : && ix86_pre_reload_split ()
28082 : : && (GET_MODE_NUNITS (V64QImode)
28083 : : < GET_MODE_PRECISION (DImode))
28084 : : && ix86_pre_reload_split ()) &&
28085 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28086 : : (TARGET_EVEX512)) &&
28087 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28088 : : ( 1)))
28089 : : return NULL;
28090 : : return gen_split_1426 (insn, operands);
28091 : :
28092 : : case 88:
28093 : : if (!((
28094 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28095 : : (TARGET_AVX512BW
28096 : : && ix86_pre_reload_split ()
28097 : : && (GET_MODE_NUNITS (V16QImode)
28098 : : < GET_MODE_PRECISION (DImode))
28099 : : && ix86_pre_reload_split ()) &&
28100 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28101 : : (TARGET_AVX512VL)) &&
28102 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28103 : : ( 1)))
28104 : : return NULL;
28105 : : return gen_split_1429 (insn, operands);
28106 : :
28107 : : case 89:
28108 : : if (!((
28109 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28110 : : (TARGET_AVX512BW
28111 : : && ix86_pre_reload_split ()
28112 : : && (GET_MODE_NUNITS (V16HImode)
28113 : : < GET_MODE_PRECISION (DImode))
28114 : : && ix86_pre_reload_split ()) &&
28115 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28116 : : (TARGET_AVX512VL)) &&
28117 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28118 : : ( 1)))
28119 : : return NULL;
28120 : : return gen_split_1438 (insn, operands);
28121 : :
28122 : : case 90:
28123 : : if (!((
28124 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28125 : : (TARGET_AVX512F
28126 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
28127 : : && (GET_MODE_NUNITS (V16SImode)
28128 : : < GET_MODE_PRECISION (DImode))
28129 : : && ix86_pre_reload_split ()) &&
28130 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28131 : : (TARGET_EVEX512)) &&
28132 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28133 : : ( 1)))
28134 : : return NULL;
28135 : : return gen_split_1454 (insn, operands);
28136 : :
28137 : : case 91:
28138 : : if (!((
28139 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28140 : : (TARGET_AVX512BW
28141 : : && ix86_pre_reload_split ()
28142 : : && (GET_MODE_NUNITS (V32QImode)
28143 : : < GET_MODE_PRECISION (DImode))
28144 : : && ix86_pre_reload_split ()) &&
28145 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28146 : : (TARGET_AVX512VL)) &&
28147 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28148 : : ( 1)))
28149 : : return NULL;
28150 : : return gen_split_1432 (insn, operands);
28151 : :
28152 : : case 92:
28153 : : if (!((
28154 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28155 : : (TARGET_AVX512BW
28156 : : && ix86_pre_reload_split ()
28157 : : && (GET_MODE_NUNITS (V32HImode)
28158 : : < GET_MODE_PRECISION (DImode))
28159 : : && ix86_pre_reload_split ()) &&
28160 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28161 : : (TARGET_EVEX512)) &&
28162 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28163 : : ( 1)))
28164 : : return NULL;
28165 : : return gen_split_1435 (insn, operands);
28166 : :
28167 : : case 93:
28168 : : if (!((
28169 : : #line 4635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28170 : : (TARGET_AVX512BW
28171 : : && ix86_pre_reload_split ()
28172 : : && (GET_MODE_NUNITS (V8HImode)
28173 : : < GET_MODE_PRECISION (DImode))
28174 : : && ix86_pre_reload_split ()) &&
28175 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28176 : : (TARGET_AVX512VL)) &&
28177 : : #line 4641 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28178 : : ( 1)))
28179 : : return NULL;
28180 : : return gen_split_1441 (insn, operands);
28181 : :
28182 : : case 94:
28183 : : if (!((
28184 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28185 : : (TARGET_AVX512F
28186 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
28187 : : && (GET_MODE_NUNITS (V8SImode)
28188 : : < GET_MODE_PRECISION (DImode))
28189 : : && ix86_pre_reload_split ()) &&
28190 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28191 : : (TARGET_AVX512VL)) &&
28192 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28193 : : ( 1)))
28194 : : return NULL;
28195 : : return gen_split_1455 (insn, operands);
28196 : :
28197 : : case 95:
28198 : : if (!((
28199 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28200 : : (TARGET_AVX512F
28201 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
28202 : : && (GET_MODE_NUNITS (V4SImode)
28203 : : < GET_MODE_PRECISION (DImode))
28204 : : && ix86_pre_reload_split ()) &&
28205 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28206 : : (TARGET_AVX512VL)) &&
28207 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28208 : : ( 1)))
28209 : : return NULL;
28210 : : return gen_split_1456 (insn, operands);
28211 : :
28212 : : case 96:
28213 : : if (!((
28214 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28215 : : (TARGET_AVX512F
28216 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
28217 : : && (GET_MODE_NUNITS (V8DImode)
28218 : : < GET_MODE_PRECISION (DImode))
28219 : : && ix86_pre_reload_split ()) &&
28220 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28221 : : (TARGET_EVEX512)) &&
28222 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28223 : : ( 1)))
28224 : : return NULL;
28225 : : return gen_split_1457 (insn, operands);
28226 : :
28227 : : case 97:
28228 : : if (!((
28229 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28230 : : (TARGET_AVX512F
28231 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
28232 : : && (GET_MODE_NUNITS (V4DImode)
28233 : : < GET_MODE_PRECISION (DImode))
28234 : : && ix86_pre_reload_split ()) &&
28235 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28236 : : (TARGET_AVX512VL)) &&
28237 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28238 : : ( 1)))
28239 : : return NULL;
28240 : : return gen_split_1458 (insn, operands);
28241 : :
28242 : : case 98:
28243 : : if (!((
28244 : : #line 4725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28245 : : (TARGET_AVX512F
28246 : : && (!VALID_MASK_AVX512BW_MODE (DImode) || TARGET_AVX512BW)
28247 : : && (GET_MODE_NUNITS (V2DImode)
28248 : : < GET_MODE_PRECISION (DImode))
28249 : : && ix86_pre_reload_split ()) &&
28250 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28251 : : (TARGET_AVX512VL)) &&
28252 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28253 : : ( 1)))
28254 : : return NULL;
28255 : : return gen_split_1459 (insn, operands);
28256 : :
28257 : : default:
28258 : : return NULL;
28259 : : }
28260 : :
28261 : : default:
28262 : : return NULL;
28263 : : }
28264 : : }
28265 : :
28266 : : rtx_insn *
28267 : : split_72 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28268 : : {
28269 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28270 : : rtx x2, x3, x4, x5, x6, x7, x8;
28271 : : rtx_insn *res ATTRIBUTE_UNUSED;
28272 : : x2 = XEXP (x1, 1);
28273 : : x3 = XEXP (x2, 0);
28274 : : x4 = XEXP (x3, 0);
28275 : : switch (GET_CODE (x4))
28276 : : {
28277 : : case REG:
28278 : : case SUBREG:
28279 : : case MEM:
28280 : : case NOT:
28281 : : switch (pattern537 (x2))
28282 : : {
28283 : : case 0:
28284 : : if (!((
28285 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28286 : : ((64 == 64 || TARGET_AVX512VL
28287 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28298 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28299 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28300 : : ( 1)))
28301 : : return NULL;
28302 : : return gen_split_1975 (insn, operands);
28303 : :
28304 : : case 1:
28305 : : if (!((
28306 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28307 : : ((32 == 64 || TARGET_AVX512VL
28308 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28319 : : (TARGET_AVX)) &&
28320 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28321 : : ( 1)))
28322 : : return NULL;
28323 : : return gen_split_2002 (insn, operands);
28324 : :
28325 : : case 2:
28326 : : if (!(
28327 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28328 : : ((16 == 64 || TARGET_AVX512VL
28329 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28330 : : && ix86_pre_reload_split ()
28331 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28332 : : STRIP_UNARY (operands[4]))
28333 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28334 : : STRIP_UNARY (operands[4]))
28335 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28336 : : STRIP_UNARY (operands[3]))
28337 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28338 : : STRIP_UNARY (operands[3])))) &&
28339 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28340 : : ( 1)))
28341 : : return NULL;
28342 : : return gen_split_2029 (insn, operands);
28343 : :
28344 : : case 3:
28345 : : if (!((
28346 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28347 : : ((64 == 64 || TARGET_AVX512VL
28348 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28359 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28360 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28361 : : ( 1)))
28362 : : return NULL;
28363 : : return gen_split_2056 (insn, operands);
28364 : :
28365 : : case 4:
28366 : : if (!((
28367 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28368 : : ((32 == 64 || TARGET_AVX512VL
28369 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28380 : : (TARGET_AVX)) &&
28381 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28382 : : ( 1)))
28383 : : return NULL;
28384 : : return gen_split_2083 (insn, operands);
28385 : :
28386 : : case 5:
28387 : : if (!(
28388 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28389 : : ((16 == 64 || TARGET_AVX512VL
28390 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28401 : : ( 1)))
28402 : : return NULL;
28403 : : return gen_split_2110 (insn, operands);
28404 : :
28405 : : case 6:
28406 : : if (!((
28407 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28408 : : ((64 == 64 || TARGET_AVX512VL
28409 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28410 : : && ix86_pre_reload_split ()
28411 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28412 : : STRIP_UNARY (operands[4]))
28413 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28414 : : STRIP_UNARY (operands[4]))
28415 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28416 : : STRIP_UNARY (operands[3]))
28417 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28418 : : STRIP_UNARY (operands[3])))) &&
28419 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28420 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28421 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28422 : : ( 1)))
28423 : : return NULL;
28424 : : return gen_split_2137 (insn, operands);
28425 : :
28426 : : case 7:
28427 : : if (!((
28428 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28429 : : ((32 == 64 || TARGET_AVX512VL
28430 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28431 : : && ix86_pre_reload_split ()
28432 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28433 : : STRIP_UNARY (operands[4]))
28434 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28435 : : STRIP_UNARY (operands[4]))
28436 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28437 : : STRIP_UNARY (operands[3]))
28438 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28439 : : STRIP_UNARY (operands[3])))) &&
28440 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28441 : : (TARGET_AVX)) &&
28442 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28443 : : ( 1)))
28444 : : return NULL;
28445 : : return gen_split_2164 (insn, operands);
28446 : :
28447 : : case 8:
28448 : : if (!(
28449 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28450 : : ((16 == 64 || TARGET_AVX512VL
28451 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28462 : : ( 1)))
28463 : : return NULL;
28464 : : return gen_split_2191 (insn, operands);
28465 : :
28466 : : case 9:
28467 : : if (!((
28468 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28469 : : ((64 == 64 || TARGET_AVX512VL
28470 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28471 : : && ix86_pre_reload_split ()
28472 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28473 : : STRIP_UNARY (operands[4]))
28474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28475 : : STRIP_UNARY (operands[4]))
28476 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28477 : : STRIP_UNARY (operands[3]))
28478 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28479 : : STRIP_UNARY (operands[3])))) &&
28480 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28481 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28482 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28483 : : ( 1)))
28484 : : return NULL;
28485 : : return gen_split_2218 (insn, operands);
28486 : :
28487 : : case 10:
28488 : : if (!((
28489 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28490 : : ((32 == 64 || TARGET_AVX512VL
28491 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28492 : : && ix86_pre_reload_split ()
28493 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28494 : : STRIP_UNARY (operands[4]))
28495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28496 : : STRIP_UNARY (operands[4]))
28497 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28498 : : STRIP_UNARY (operands[3]))
28499 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28500 : : STRIP_UNARY (operands[3])))) &&
28501 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28502 : : (TARGET_AVX)) &&
28503 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28504 : : ( 1)))
28505 : : return NULL;
28506 : : return gen_split_2245 (insn, operands);
28507 : :
28508 : : case 11:
28509 : : if (!((
28510 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28511 : : ((16 == 64 || TARGET_AVX512VL
28512 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28523 : : (TARGET_SSE2)) &&
28524 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28525 : : ( 1)))
28526 : : return NULL;
28527 : : return gen_split_2272 (insn, operands);
28528 : :
28529 : : case 12:
28530 : : if (!((
28531 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28532 : : ((64 == 64 || TARGET_AVX512VL
28533 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28544 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28545 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28546 : : ( 1)))
28547 : : return NULL;
28548 : : return gen_split_1978 (insn, operands);
28549 : :
28550 : : case 13:
28551 : : if (!((
28552 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28553 : : ((32 == 64 || TARGET_AVX512VL
28554 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28565 : : (TARGET_AVX)) &&
28566 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28567 : : ( 1)))
28568 : : return NULL;
28569 : : return gen_split_2005 (insn, operands);
28570 : :
28571 : : case 14:
28572 : : if (!(
28573 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28574 : : ((16 == 64 || TARGET_AVX512VL
28575 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28576 : : && ix86_pre_reload_split ()
28577 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28578 : : STRIP_UNARY (operands[4]))
28579 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28580 : : STRIP_UNARY (operands[4]))
28581 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28582 : : STRIP_UNARY (operands[3]))
28583 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28584 : : STRIP_UNARY (operands[3])))) &&
28585 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28586 : : ( 1)))
28587 : : return NULL;
28588 : : return gen_split_2032 (insn, operands);
28589 : :
28590 : : case 15:
28591 : : if (!((
28592 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28593 : : ((64 == 64 || TARGET_AVX512VL
28594 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28605 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28606 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28607 : : ( 1)))
28608 : : return NULL;
28609 : : return gen_split_2059 (insn, operands);
28610 : :
28611 : : case 16:
28612 : : if (!((
28613 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28614 : : ((32 == 64 || TARGET_AVX512VL
28615 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28626 : : (TARGET_AVX)) &&
28627 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28628 : : ( 1)))
28629 : : return NULL;
28630 : : return gen_split_2086 (insn, operands);
28631 : :
28632 : : case 17:
28633 : : if (!(
28634 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28635 : : ((16 == 64 || TARGET_AVX512VL
28636 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28647 : : ( 1)))
28648 : : return NULL;
28649 : : return gen_split_2113 (insn, operands);
28650 : :
28651 : : case 18:
28652 : : if (!((
28653 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28654 : : ((64 == 64 || TARGET_AVX512VL
28655 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28656 : : && ix86_pre_reload_split ()
28657 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28658 : : STRIP_UNARY (operands[4]))
28659 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28660 : : STRIP_UNARY (operands[4]))
28661 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28662 : : STRIP_UNARY (operands[3]))
28663 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28664 : : STRIP_UNARY (operands[3])))) &&
28665 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28666 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28667 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28668 : : ( 1)))
28669 : : return NULL;
28670 : : return gen_split_2140 (insn, operands);
28671 : :
28672 : : case 19:
28673 : : if (!((
28674 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28675 : : ((32 == 64 || TARGET_AVX512VL
28676 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28677 : : && ix86_pre_reload_split ()
28678 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28679 : : STRIP_UNARY (operands[4]))
28680 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28681 : : STRIP_UNARY (operands[4]))
28682 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28683 : : STRIP_UNARY (operands[3]))
28684 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28685 : : STRIP_UNARY (operands[3])))) &&
28686 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28687 : : (TARGET_AVX)) &&
28688 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28689 : : ( 1)))
28690 : : return NULL;
28691 : : return gen_split_2167 (insn, operands);
28692 : :
28693 : : case 20:
28694 : : if (!(
28695 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28696 : : ((16 == 64 || TARGET_AVX512VL
28697 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28708 : : ( 1)))
28709 : : return NULL;
28710 : : return gen_split_2194 (insn, operands);
28711 : :
28712 : : case 21:
28713 : : if (!((
28714 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28715 : : ((64 == 64 || TARGET_AVX512VL
28716 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28717 : : && ix86_pre_reload_split ()
28718 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28719 : : STRIP_UNARY (operands[4]))
28720 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28721 : : STRIP_UNARY (operands[4]))
28722 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28723 : : STRIP_UNARY (operands[3]))
28724 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28725 : : STRIP_UNARY (operands[3])))) &&
28726 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28727 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28728 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28729 : : ( 1)))
28730 : : return NULL;
28731 : : return gen_split_2221 (insn, operands);
28732 : :
28733 : : case 22:
28734 : : if (!((
28735 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28736 : : ((32 == 64 || TARGET_AVX512VL
28737 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28738 : : && ix86_pre_reload_split ()
28739 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28740 : : STRIP_UNARY (operands[4]))
28741 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28742 : : STRIP_UNARY (operands[4]))
28743 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28744 : : STRIP_UNARY (operands[3]))
28745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28746 : : STRIP_UNARY (operands[3])))) &&
28747 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28748 : : (TARGET_AVX)) &&
28749 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28750 : : ( 1)))
28751 : : return NULL;
28752 : : return gen_split_2248 (insn, operands);
28753 : :
28754 : : case 23:
28755 : : if (!((
28756 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28757 : : ((16 == 64 || TARGET_AVX512VL
28758 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28769 : : (TARGET_SSE2)) &&
28770 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28771 : : ( 1)))
28772 : : return NULL;
28773 : : return gen_split_2275 (insn, operands);
28774 : :
28775 : : case 24:
28776 : : if (!((
28777 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28778 : : ((64 == 64 || TARGET_AVX512VL
28779 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28790 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28791 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28792 : : ( 1)))
28793 : : return NULL;
28794 : : return gen_split_1981 (insn, operands);
28795 : :
28796 : : case 25:
28797 : : if (!((
28798 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28799 : : ((32 == 64 || TARGET_AVX512VL
28800 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28811 : : (TARGET_AVX)) &&
28812 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28813 : : ( 1)))
28814 : : return NULL;
28815 : : return gen_split_2008 (insn, operands);
28816 : :
28817 : : case 26:
28818 : : if (!(
28819 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28820 : : ((16 == 64 || TARGET_AVX512VL
28821 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28822 : : && ix86_pre_reload_split ()
28823 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28824 : : STRIP_UNARY (operands[4]))
28825 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28826 : : STRIP_UNARY (operands[4]))
28827 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28828 : : STRIP_UNARY (operands[3]))
28829 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28830 : : STRIP_UNARY (operands[3])))) &&
28831 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28832 : : ( 1)))
28833 : : return NULL;
28834 : : return gen_split_2035 (insn, operands);
28835 : :
28836 : : case 27:
28837 : : if (!((
28838 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28839 : : ((64 == 64 || TARGET_AVX512VL
28840 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28851 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28852 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28853 : : ( 1)))
28854 : : return NULL;
28855 : : return gen_split_2062 (insn, operands);
28856 : :
28857 : : case 28:
28858 : : if (!((
28859 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28860 : : ((32 == 64 || TARGET_AVX512VL
28861 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28872 : : (TARGET_AVX)) &&
28873 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28874 : : ( 1)))
28875 : : return NULL;
28876 : : return gen_split_2089 (insn, operands);
28877 : :
28878 : : case 29:
28879 : : if (!(
28880 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28881 : : ((16 == 64 || TARGET_AVX512VL
28882 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28883 : : && ix86_pre_reload_split ()
28884 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28885 : : STRIP_UNARY (operands[4]))
28886 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28887 : : STRIP_UNARY (operands[4]))
28888 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28889 : : STRIP_UNARY (operands[3]))
28890 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28891 : : STRIP_UNARY (operands[3])))) &&
28892 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28893 : : ( 1)))
28894 : : return NULL;
28895 : : return gen_split_2116 (insn, operands);
28896 : :
28897 : : case 30:
28898 : : if (!((
28899 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28900 : : ((64 == 64 || TARGET_AVX512VL
28901 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28902 : : && ix86_pre_reload_split ()
28903 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28904 : : STRIP_UNARY (operands[4]))
28905 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28906 : : STRIP_UNARY (operands[4]))
28907 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28908 : : STRIP_UNARY (operands[3]))
28909 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28910 : : STRIP_UNARY (operands[3])))) &&
28911 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28912 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28913 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28914 : : ( 1)))
28915 : : return NULL;
28916 : : return gen_split_2143 (insn, operands);
28917 : :
28918 : : case 31:
28919 : : if (!((
28920 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28921 : : ((32 == 64 || TARGET_AVX512VL
28922 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28923 : : && ix86_pre_reload_split ()
28924 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28925 : : STRIP_UNARY (operands[4]))
28926 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28927 : : STRIP_UNARY (operands[4]))
28928 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28929 : : STRIP_UNARY (operands[3]))
28930 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28931 : : STRIP_UNARY (operands[3])))) &&
28932 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28933 : : (TARGET_AVX)) &&
28934 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28935 : : ( 1)))
28936 : : return NULL;
28937 : : return gen_split_2170 (insn, operands);
28938 : :
28939 : : case 32:
28940 : : if (!(
28941 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28942 : : ((16 == 64 || TARGET_AVX512VL
28943 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28944 : : && ix86_pre_reload_split ()
28945 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28946 : : STRIP_UNARY (operands[4]))
28947 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28948 : : STRIP_UNARY (operands[4]))
28949 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28950 : : STRIP_UNARY (operands[3]))
28951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28952 : : STRIP_UNARY (operands[3])))) &&
28953 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28954 : : ( 1)))
28955 : : return NULL;
28956 : : return gen_split_2197 (insn, operands);
28957 : :
28958 : : case 33:
28959 : : if (!((
28960 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28961 : : ((64 == 64 || TARGET_AVX512VL
28962 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28963 : : && ix86_pre_reload_split ()
28964 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28965 : : STRIP_UNARY (operands[4]))
28966 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28967 : : STRIP_UNARY (operands[4]))
28968 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28969 : : STRIP_UNARY (operands[3]))
28970 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28971 : : STRIP_UNARY (operands[3])))) &&
28972 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28973 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
28974 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28975 : : ( 1)))
28976 : : return NULL;
28977 : : return gen_split_2224 (insn, operands);
28978 : :
28979 : : case 34:
28980 : : if (!((
28981 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28982 : : ((32 == 64 || TARGET_AVX512VL
28983 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
28984 : : && ix86_pre_reload_split ()
28985 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28986 : : STRIP_UNARY (operands[4]))
28987 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28988 : : STRIP_UNARY (operands[4]))
28989 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28990 : : STRIP_UNARY (operands[3]))
28991 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28992 : : STRIP_UNARY (operands[3])))) &&
28993 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28994 : : (TARGET_AVX)) &&
28995 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28996 : : ( 1)))
28997 : : return NULL;
28998 : : return gen_split_2251 (insn, operands);
28999 : :
29000 : : case 35:
29001 : : if (!((
29002 : : #line 13777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29003 : : ((16 == 64 || TARGET_AVX512VL
29004 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29005 : : && ix86_pre_reload_split ()
29006 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29007 : : STRIP_UNARY (operands[4]))
29008 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29009 : : STRIP_UNARY (operands[4]))
29010 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29011 : : STRIP_UNARY (operands[3]))
29012 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29013 : : STRIP_UNARY (operands[3])))) &&
29014 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29015 : : (TARGET_SSE2)) &&
29016 : : #line 13789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29017 : : ( 1)))
29018 : : return NULL;
29019 : : return gen_split_2278 (insn, operands);
29020 : :
29021 : : case 36:
29022 : : if (!((
29023 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29024 : : ((64 == 64 || TARGET_AVX512VL
29025 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29026 : : && ix86_pre_reload_split ()) &&
29027 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29028 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29029 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29030 : : ( 1)))
29031 : : return NULL;
29032 : : return gen_split_3055 (insn, operands);
29033 : :
29034 : : case 37:
29035 : : if (!((
29036 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29037 : : ((32 == 64 || TARGET_AVX512VL
29038 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29039 : : && ix86_pre_reload_split ()) &&
29040 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29041 : : (TARGET_AVX)) &&
29042 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29043 : : ( 1)))
29044 : : return NULL;
29045 : : return gen_split_3064 (insn, operands);
29046 : :
29047 : : case 38:
29048 : : if (!(
29049 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29050 : : ((16 == 64 || TARGET_AVX512VL
29051 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29052 : : && ix86_pre_reload_split ()) &&
29053 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29054 : : ( 1)))
29055 : : return NULL;
29056 : : return gen_split_3073 (insn, operands);
29057 : :
29058 : : case 39:
29059 : : if (!((
29060 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29061 : : ((64 == 64 || TARGET_AVX512VL
29062 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29063 : : && ix86_pre_reload_split ()) &&
29064 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29065 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29066 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29067 : : ( 1)))
29068 : : return NULL;
29069 : : return gen_split_3082 (insn, operands);
29070 : :
29071 : : case 40:
29072 : : if (!((
29073 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29074 : : ((32 == 64 || TARGET_AVX512VL
29075 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29076 : : && ix86_pre_reload_split ()) &&
29077 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29078 : : (TARGET_AVX)) &&
29079 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29080 : : ( 1)))
29081 : : return NULL;
29082 : : return gen_split_3091 (insn, operands);
29083 : :
29084 : : case 41:
29085 : : if (!(
29086 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29087 : : ((16 == 64 || TARGET_AVX512VL
29088 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29089 : : && ix86_pre_reload_split ()) &&
29090 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29091 : : ( 1)))
29092 : : return NULL;
29093 : : return gen_split_3100 (insn, operands);
29094 : :
29095 : : case 42:
29096 : : if (!((
29097 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29098 : : ((64 == 64 || TARGET_AVX512VL
29099 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29100 : : && ix86_pre_reload_split ()) &&
29101 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29102 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29103 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29104 : : ( 1)))
29105 : : return NULL;
29106 : : return gen_split_3109 (insn, operands);
29107 : :
29108 : : case 43:
29109 : : if (!((
29110 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29111 : : ((32 == 64 || TARGET_AVX512VL
29112 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29113 : : && ix86_pre_reload_split ()) &&
29114 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29115 : : (TARGET_AVX)) &&
29116 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29117 : : ( 1)))
29118 : : return NULL;
29119 : : return gen_split_3118 (insn, operands);
29120 : :
29121 : : case 44:
29122 : : if (!(
29123 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29124 : : ((16 == 64 || TARGET_AVX512VL
29125 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29126 : : && ix86_pre_reload_split ()) &&
29127 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29128 : : ( 1)))
29129 : : return NULL;
29130 : : return gen_split_3127 (insn, operands);
29131 : :
29132 : : case 45:
29133 : : if (!((
29134 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29135 : : ((64 == 64 || TARGET_AVX512VL
29136 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29137 : : && ix86_pre_reload_split ()) &&
29138 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29139 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29140 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29141 : : ( 1)))
29142 : : return NULL;
29143 : : return gen_split_3136 (insn, operands);
29144 : :
29145 : : case 46:
29146 : : if (!((
29147 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29148 : : ((32 == 64 || TARGET_AVX512VL
29149 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29150 : : && ix86_pre_reload_split ()) &&
29151 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29152 : : (TARGET_AVX)) &&
29153 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29154 : : ( 1)))
29155 : : return NULL;
29156 : : return gen_split_3145 (insn, operands);
29157 : :
29158 : : case 47:
29159 : : if (!((
29160 : : #line 13946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29161 : : ((16 == 64 || TARGET_AVX512VL
29162 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29163 : : && ix86_pre_reload_split ()) &&
29164 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29165 : : (TARGET_SSE2)) &&
29166 : : #line 13950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29167 : : ( 1)))
29168 : : return NULL;
29169 : : return gen_split_3154 (insn, operands);
29170 : :
29171 : : default:
29172 : : return NULL;
29173 : : }
29174 : :
29175 : : case AND:
29176 : : switch (pattern538 (x2))
29177 : : {
29178 : : case 0:
29179 : : if (!((
29180 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29181 : : ((64 == 64 || TARGET_AVX512VL
29182 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29193 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29194 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29195 : : ( 1)))
29196 : : return NULL;
29197 : : return gen_split_2623 (insn, operands);
29198 : :
29199 : : case 1:
29200 : : if (!((
29201 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29202 : : ((32 == 64 || TARGET_AVX512VL
29203 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29214 : : (TARGET_AVX)) &&
29215 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29216 : : ( 1)))
29217 : : return NULL;
29218 : : return gen_split_2650 (insn, operands);
29219 : :
29220 : : case 2:
29221 : : if (!(
29222 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29223 : : ((16 == 64 || TARGET_AVX512VL
29224 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29225 : : && ix86_pre_reload_split ()
29226 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29227 : : STRIP_UNARY (operands[4]))
29228 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29229 : : STRIP_UNARY (operands[4]))
29230 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29231 : : STRIP_UNARY (operands[3]))
29232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29233 : : STRIP_UNARY (operands[3])))) &&
29234 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29235 : : ( 1)))
29236 : : return NULL;
29237 : : return gen_split_2677 (insn, operands);
29238 : :
29239 : : case 3:
29240 : : if (!((
29241 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29242 : : ((64 == 64 || TARGET_AVX512VL
29243 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29254 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29255 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29256 : : ( 1)))
29257 : : return NULL;
29258 : : return gen_split_2704 (insn, operands);
29259 : :
29260 : : case 4:
29261 : : if (!((
29262 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29263 : : ((32 == 64 || TARGET_AVX512VL
29264 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29275 : : (TARGET_AVX)) &&
29276 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29277 : : ( 1)))
29278 : : return NULL;
29279 : : return gen_split_2731 (insn, operands);
29280 : :
29281 : : case 5:
29282 : : if (!(
29283 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29284 : : ((16 == 64 || TARGET_AVX512VL
29285 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29286 : : && ix86_pre_reload_split ()
29287 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29288 : : STRIP_UNARY (operands[4]))
29289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29290 : : STRIP_UNARY (operands[4]))
29291 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29292 : : STRIP_UNARY (operands[3]))
29293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29294 : : STRIP_UNARY (operands[3])))) &&
29295 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29296 : : ( 1)))
29297 : : return NULL;
29298 : : return gen_split_2758 (insn, operands);
29299 : :
29300 : : case 6:
29301 : : if (!((
29302 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29303 : : ((64 == 64 || TARGET_AVX512VL
29304 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29305 : : && ix86_pre_reload_split ()
29306 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29307 : : STRIP_UNARY (operands[4]))
29308 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29309 : : STRIP_UNARY (operands[4]))
29310 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29311 : : STRIP_UNARY (operands[3]))
29312 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29313 : : STRIP_UNARY (operands[3])))) &&
29314 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29315 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29316 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29317 : : ( 1)))
29318 : : return NULL;
29319 : : return gen_split_2785 (insn, operands);
29320 : :
29321 : : case 7:
29322 : : if (!((
29323 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29324 : : ((32 == 64 || TARGET_AVX512VL
29325 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29326 : : && ix86_pre_reload_split ()
29327 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29328 : : STRIP_UNARY (operands[4]))
29329 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29330 : : STRIP_UNARY (operands[4]))
29331 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29332 : : STRIP_UNARY (operands[3]))
29333 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29334 : : STRIP_UNARY (operands[3])))) &&
29335 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29336 : : (TARGET_AVX)) &&
29337 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29338 : : ( 1)))
29339 : : return NULL;
29340 : : return gen_split_2812 (insn, operands);
29341 : :
29342 : : case 8:
29343 : : if (!(
29344 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29345 : : ((16 == 64 || TARGET_AVX512VL
29346 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29347 : : && ix86_pre_reload_split ()
29348 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29349 : : STRIP_UNARY (operands[4]))
29350 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29351 : : STRIP_UNARY (operands[4]))
29352 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29353 : : STRIP_UNARY (operands[3]))
29354 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29355 : : STRIP_UNARY (operands[3])))) &&
29356 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29357 : : ( 1)))
29358 : : return NULL;
29359 : : return gen_split_2839 (insn, operands);
29360 : :
29361 : : case 9:
29362 : : if (!((
29363 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29364 : : ((64 == 64 || TARGET_AVX512VL
29365 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29366 : : && ix86_pre_reload_split ()
29367 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29368 : : STRIP_UNARY (operands[4]))
29369 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29370 : : STRIP_UNARY (operands[4]))
29371 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29372 : : STRIP_UNARY (operands[3]))
29373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29374 : : STRIP_UNARY (operands[3])))) &&
29375 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29376 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29377 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29378 : : ( 1)))
29379 : : return NULL;
29380 : : return gen_split_2866 (insn, operands);
29381 : :
29382 : : case 10:
29383 : : if (!((
29384 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29385 : : ((32 == 64 || TARGET_AVX512VL
29386 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29387 : : && ix86_pre_reload_split ()
29388 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29389 : : STRIP_UNARY (operands[4]))
29390 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29391 : : STRIP_UNARY (operands[4]))
29392 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29393 : : STRIP_UNARY (operands[3]))
29394 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29395 : : STRIP_UNARY (operands[3])))) &&
29396 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29397 : : (TARGET_AVX)) &&
29398 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29399 : : ( 1)))
29400 : : return NULL;
29401 : : return gen_split_2893 (insn, operands);
29402 : :
29403 : : case 11:
29404 : : if (!((
29405 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29406 : : ((16 == 64 || TARGET_AVX512VL
29407 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29408 : : && ix86_pre_reload_split ()
29409 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29410 : : STRIP_UNARY (operands[4]))
29411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29412 : : STRIP_UNARY (operands[4]))
29413 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29414 : : STRIP_UNARY (operands[3]))
29415 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29416 : : STRIP_UNARY (operands[3])))) &&
29417 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29418 : : (TARGET_SSE2)) &&
29419 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29420 : : ( 1)))
29421 : : return NULL;
29422 : : return gen_split_2920 (insn, operands);
29423 : :
29424 : : default:
29425 : : return NULL;
29426 : : }
29427 : :
29428 : : case IOR:
29429 : : switch (pattern538 (x2))
29430 : : {
29431 : : case 0:
29432 : : if (!((
29433 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29434 : : ((64 == 64 || TARGET_AVX512VL
29435 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29446 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29447 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29448 : : ( 1)))
29449 : : return NULL;
29450 : : return gen_split_2626 (insn, operands);
29451 : :
29452 : : case 1:
29453 : : if (!((
29454 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29455 : : ((32 == 64 || TARGET_AVX512VL
29456 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29467 : : (TARGET_AVX)) &&
29468 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29469 : : ( 1)))
29470 : : return NULL;
29471 : : return gen_split_2653 (insn, operands);
29472 : :
29473 : : case 2:
29474 : : if (!(
29475 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29476 : : ((16 == 64 || TARGET_AVX512VL
29477 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29478 : : && ix86_pre_reload_split ()
29479 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29480 : : STRIP_UNARY (operands[4]))
29481 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29482 : : STRIP_UNARY (operands[4]))
29483 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29484 : : STRIP_UNARY (operands[3]))
29485 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29486 : : STRIP_UNARY (operands[3])))) &&
29487 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29488 : : ( 1)))
29489 : : return NULL;
29490 : : return gen_split_2680 (insn, operands);
29491 : :
29492 : : case 3:
29493 : : if (!((
29494 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29495 : : ((64 == 64 || TARGET_AVX512VL
29496 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29507 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29508 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29509 : : ( 1)))
29510 : : return NULL;
29511 : : return gen_split_2707 (insn, operands);
29512 : :
29513 : : case 4:
29514 : : if (!((
29515 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29516 : : ((32 == 64 || TARGET_AVX512VL
29517 : : || (TARGET_AVX512F && TARGET_EVEX512 && !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 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29528 : : (TARGET_AVX)) &&
29529 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29530 : : ( 1)))
29531 : : return NULL;
29532 : : return gen_split_2734 (insn, operands);
29533 : :
29534 : : case 5:
29535 : : if (!(
29536 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29537 : : ((16 == 64 || TARGET_AVX512VL
29538 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29539 : : && ix86_pre_reload_split ()
29540 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29541 : : STRIP_UNARY (operands[4]))
29542 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29543 : : STRIP_UNARY (operands[4]))
29544 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29545 : : STRIP_UNARY (operands[3]))
29546 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29547 : : STRIP_UNARY (operands[3])))) &&
29548 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29549 : : ( 1)))
29550 : : return NULL;
29551 : : return gen_split_2761 (insn, operands);
29552 : :
29553 : : case 6:
29554 : : if (!((
29555 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29556 : : ((64 == 64 || TARGET_AVX512VL
29557 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29558 : : && ix86_pre_reload_split ()
29559 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29560 : : STRIP_UNARY (operands[4]))
29561 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29562 : : STRIP_UNARY (operands[4]))
29563 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29564 : : STRIP_UNARY (operands[3]))
29565 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29566 : : STRIP_UNARY (operands[3])))) &&
29567 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29568 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29569 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29570 : : ( 1)))
29571 : : return NULL;
29572 : : return gen_split_2788 (insn, operands);
29573 : :
29574 : : case 7:
29575 : : if (!((
29576 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29577 : : ((32 == 64 || TARGET_AVX512VL
29578 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29579 : : && ix86_pre_reload_split ()
29580 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29581 : : STRIP_UNARY (operands[4]))
29582 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29583 : : STRIP_UNARY (operands[4]))
29584 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29585 : : STRIP_UNARY (operands[3]))
29586 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29587 : : STRIP_UNARY (operands[3])))) &&
29588 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29589 : : (TARGET_AVX)) &&
29590 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29591 : : ( 1)))
29592 : : return NULL;
29593 : : return gen_split_2815 (insn, operands);
29594 : :
29595 : : case 8:
29596 : : if (!(
29597 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29598 : : ((16 == 64 || TARGET_AVX512VL
29599 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29600 : : && ix86_pre_reload_split ()
29601 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29602 : : STRIP_UNARY (operands[4]))
29603 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29604 : : STRIP_UNARY (operands[4]))
29605 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29606 : : STRIP_UNARY (operands[3]))
29607 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29608 : : STRIP_UNARY (operands[3])))) &&
29609 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29610 : : ( 1)))
29611 : : return NULL;
29612 : : return gen_split_2842 (insn, operands);
29613 : :
29614 : : case 9:
29615 : : if (!((
29616 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29617 : : ((64 == 64 || TARGET_AVX512VL
29618 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29619 : : && ix86_pre_reload_split ()
29620 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29621 : : STRIP_UNARY (operands[4]))
29622 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29623 : : STRIP_UNARY (operands[4]))
29624 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29625 : : STRIP_UNARY (operands[3]))
29626 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29627 : : STRIP_UNARY (operands[3])))) &&
29628 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29629 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29630 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29631 : : ( 1)))
29632 : : return NULL;
29633 : : return gen_split_2869 (insn, operands);
29634 : :
29635 : : case 10:
29636 : : if (!((
29637 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29638 : : ((32 == 64 || TARGET_AVX512VL
29639 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29640 : : && ix86_pre_reload_split ()
29641 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29642 : : STRIP_UNARY (operands[4]))
29643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29644 : : STRIP_UNARY (operands[4]))
29645 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29646 : : STRIP_UNARY (operands[3]))
29647 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29648 : : STRIP_UNARY (operands[3])))) &&
29649 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29650 : : (TARGET_AVX)) &&
29651 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29652 : : ( 1)))
29653 : : return NULL;
29654 : : return gen_split_2896 (insn, operands);
29655 : :
29656 : : case 11:
29657 : : if (!((
29658 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29659 : : ((16 == 64 || TARGET_AVX512VL
29660 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29661 : : && ix86_pre_reload_split ()
29662 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29663 : : STRIP_UNARY (operands[4]))
29664 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29665 : : STRIP_UNARY (operands[4]))
29666 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29667 : : STRIP_UNARY (operands[3]))
29668 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29669 : : STRIP_UNARY (operands[3])))) &&
29670 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29671 : : (TARGET_SSE2)) &&
29672 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29673 : : ( 1)))
29674 : : return NULL;
29675 : : return gen_split_2923 (insn, operands);
29676 : :
29677 : : default:
29678 : : return NULL;
29679 : : }
29680 : :
29681 : : case XOR:
29682 : : x5 = XEXP (x4, 0);
29683 : : operands[1] = x5;
29684 : : x6 = XEXP (x4, 1);
29685 : : operands[2] = x6;
29686 : : x7 = XEXP (x3, 1);
29687 : : operands[3] = x7;
29688 : : switch (GET_MODE (operands[0]))
29689 : : {
29690 : : case E_V32HFmode:
29691 : : if (pattern1188 (x2,
29692 : : E_V32HFmode) != 0
29693 : : || !((
29694 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29695 : : ((64 == 64 || TARGET_AVX512VL
29696 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29697 : : && ix86_pre_reload_split ()
29698 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29699 : : STRIP_UNARY (operands[4]))
29700 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29701 : : STRIP_UNARY (operands[4]))
29702 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29703 : : STRIP_UNARY (operands[3]))
29704 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29705 : : STRIP_UNARY (operands[3])))) &&
29706 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29707 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29708 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29709 : : ( 1)))
29710 : : return NULL;
29711 : : return gen_split_2629 (insn, operands);
29712 : :
29713 : : case E_V16HFmode:
29714 : : if (pattern1003 (x2,
29715 : : E_V16HFmode) != 0)
29716 : : return NULL;
29717 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V16HFmode)
29718 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V16HFmode)
29719 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V16HFmode))
29720 : : {
29721 : : x8 = XEXP (x2, 1);
29722 : : operands[4] = x8;
29723 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V16HFmode)
29724 : : && ((
29725 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29726 : : ((32 == 64 || TARGET_AVX512VL
29727 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29728 : : && ix86_pre_reload_split ()
29729 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29730 : : STRIP_UNARY (operands[4]))
29731 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29732 : : STRIP_UNARY (operands[4]))
29733 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29734 : : STRIP_UNARY (operands[3]))
29735 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29736 : : STRIP_UNARY (operands[3])))) &&
29737 : : #line 336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29738 : : (TARGET_AVX)) &&
29739 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29740 : : ( 1)))
29741 : : return gen_split_2656 (insn, operands);
29742 : : }
29743 : : if (!register_operand (operands[1], E_V16HFmode)
29744 : : || !register_operand (operands[2], E_V16HFmode)
29745 : : || !nonimmediate_operand (operands[3], E_V16HFmode))
29746 : : return NULL;
29747 : : x8 = XEXP (x2, 1);
29748 : : if (rtx_equal_p (x8, operands[1])
29749 : : &&
29750 : : #line 26225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29751 : : (TARGET_XOP))
29752 : : return gen_split_3692 (insn, operands);
29753 : : if (!rtx_equal_p (x8, operands[2])
29754 : : || !
29755 : : #line 26237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29756 : : (TARGET_XOP))
29757 : : return NULL;
29758 : : return gen_split_3708 (insn, operands);
29759 : :
29760 : : case E_V8HFmode:
29761 : : if (pattern1003 (x2,
29762 : : E_V8HFmode) != 0)
29763 : : return NULL;
29764 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V8HFmode)
29765 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V8HFmode)
29766 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V8HFmode))
29767 : : {
29768 : : x8 = XEXP (x2, 1);
29769 : : operands[4] = x8;
29770 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V8HFmode)
29771 : : && (
29772 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29773 : : ((16 == 64 || TARGET_AVX512VL
29774 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29775 : : && ix86_pre_reload_split ()
29776 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29777 : : STRIP_UNARY (operands[4]))
29778 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29779 : : STRIP_UNARY (operands[4]))
29780 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29781 : : STRIP_UNARY (operands[3]))
29782 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29783 : : STRIP_UNARY (operands[3])))) &&
29784 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29785 : : ( 1)))
29786 : : return gen_split_2683 (insn, operands);
29787 : : }
29788 : : if (!register_operand (operands[1], E_V8HFmode)
29789 : : || !register_operand (operands[2], E_V8HFmode)
29790 : : || !nonimmediate_operand (operands[3], E_V8HFmode))
29791 : : return NULL;
29792 : : x8 = XEXP (x2, 1);
29793 : : if (rtx_equal_p (x8, operands[1])
29794 : : &&
29795 : : #line 26225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29796 : : (TARGET_XOP))
29797 : : return gen_split_3693 (insn, operands);
29798 : : if (!rtx_equal_p (x8, operands[2])
29799 : : || !
29800 : : #line 26237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29801 : : (TARGET_XOP))
29802 : : return NULL;
29803 : : return gen_split_3709 (insn, operands);
29804 : :
29805 : : case E_V32BFmode:
29806 : : if (pattern1188 (x2,
29807 : : E_V32BFmode) != 0
29808 : : || !((
29809 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29810 : : ((64 == 64 || TARGET_AVX512VL
29811 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29812 : : && ix86_pre_reload_split ()
29813 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29814 : : STRIP_UNARY (operands[4]))
29815 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29816 : : STRIP_UNARY (operands[4]))
29817 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29818 : : STRIP_UNARY (operands[3]))
29819 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29820 : : STRIP_UNARY (operands[3])))) &&
29821 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29822 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29823 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29824 : : ( 1)))
29825 : : return NULL;
29826 : : return gen_split_2710 (insn, operands);
29827 : :
29828 : : case E_V16BFmode:
29829 : : if (pattern1188 (x2,
29830 : : E_V16BFmode) != 0
29831 : : || !((
29832 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29833 : : ((32 == 64 || TARGET_AVX512VL
29834 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29835 : : && ix86_pre_reload_split ()
29836 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29837 : : STRIP_UNARY (operands[4]))
29838 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29839 : : STRIP_UNARY (operands[4]))
29840 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29841 : : STRIP_UNARY (operands[3]))
29842 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29843 : : STRIP_UNARY (operands[3])))) &&
29844 : : #line 337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29845 : : (TARGET_AVX)) &&
29846 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29847 : : ( 1)))
29848 : : return NULL;
29849 : : return gen_split_2737 (insn, operands);
29850 : :
29851 : : case E_V8BFmode:
29852 : : if (pattern1188 (x2,
29853 : : E_V8BFmode) != 0
29854 : : || !(
29855 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29856 : : ((16 == 64 || TARGET_AVX512VL
29857 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29858 : : && ix86_pre_reload_split ()
29859 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29860 : : STRIP_UNARY (operands[4]))
29861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29862 : : STRIP_UNARY (operands[4]))
29863 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29864 : : STRIP_UNARY (operands[3]))
29865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29866 : : STRIP_UNARY (operands[3])))) &&
29867 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29868 : : ( 1)))
29869 : : return NULL;
29870 : : return gen_split_2764 (insn, operands);
29871 : :
29872 : : case E_V16SFmode:
29873 : : if (pattern1188 (x2,
29874 : : E_V16SFmode) != 0
29875 : : || !((
29876 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29877 : : ((64 == 64 || TARGET_AVX512VL
29878 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29879 : : && ix86_pre_reload_split ()
29880 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29881 : : STRIP_UNARY (operands[4]))
29882 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29883 : : STRIP_UNARY (operands[4]))
29884 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29885 : : STRIP_UNARY (operands[3]))
29886 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29887 : : STRIP_UNARY (operands[3])))) &&
29888 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29889 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
29890 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29891 : : ( 1)))
29892 : : return NULL;
29893 : : return gen_split_2791 (insn, operands);
29894 : :
29895 : : case E_V8SFmode:
29896 : : if (pattern1003 (x2,
29897 : : E_V8SFmode) != 0)
29898 : : return NULL;
29899 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V8SFmode)
29900 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V8SFmode)
29901 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V8SFmode))
29902 : : {
29903 : : x8 = XEXP (x2, 1);
29904 : : operands[4] = x8;
29905 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V8SFmode)
29906 : : && ((
29907 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29908 : : ((32 == 64 || TARGET_AVX512VL
29909 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29910 : : && ix86_pre_reload_split ()
29911 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29912 : : STRIP_UNARY (operands[4]))
29913 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29914 : : STRIP_UNARY (operands[4]))
29915 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29916 : : STRIP_UNARY (operands[3]))
29917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29918 : : STRIP_UNARY (operands[3])))) &&
29919 : : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29920 : : (TARGET_AVX)) &&
29921 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29922 : : ( 1)))
29923 : : return gen_split_2818 (insn, operands);
29924 : : }
29925 : : if (!register_operand (operands[1], E_V8SFmode)
29926 : : || !register_operand (operands[2], E_V8SFmode)
29927 : : || !nonimmediate_operand (operands[3], E_V8SFmode))
29928 : : return NULL;
29929 : : x8 = XEXP (x2, 1);
29930 : : if (rtx_equal_p (x8, operands[1])
29931 : : &&
29932 : : #line 26225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29933 : : (TARGET_XOP))
29934 : : return gen_split_3694 (insn, operands);
29935 : : if (!rtx_equal_p (x8, operands[2])
29936 : : || !
29937 : : #line 26237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29938 : : (TARGET_XOP))
29939 : : return NULL;
29940 : : return gen_split_3710 (insn, operands);
29941 : :
29942 : : case E_V4SFmode:
29943 : : if (pattern1003 (x2,
29944 : : E_V4SFmode) != 0)
29945 : : return NULL;
29946 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V4SFmode)
29947 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V4SFmode)
29948 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V4SFmode))
29949 : : {
29950 : : x8 = XEXP (x2, 1);
29951 : : operands[4] = x8;
29952 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V4SFmode)
29953 : : && (
29954 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29955 : : ((16 == 64 || TARGET_AVX512VL
29956 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29957 : : && ix86_pre_reload_split ()
29958 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29959 : : STRIP_UNARY (operands[4]))
29960 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29961 : : STRIP_UNARY (operands[4]))
29962 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29963 : : STRIP_UNARY (operands[3]))
29964 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29965 : : STRIP_UNARY (operands[3])))) &&
29966 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29967 : : ( 1)))
29968 : : return gen_split_2845 (insn, operands);
29969 : : }
29970 : : if (!register_operand (operands[1], E_V4SFmode)
29971 : : || !register_operand (operands[2], E_V4SFmode)
29972 : : || !nonimmediate_operand (operands[3], E_V4SFmode))
29973 : : return NULL;
29974 : : x8 = XEXP (x2, 1);
29975 : : if (rtx_equal_p (x8, operands[1])
29976 : : &&
29977 : : #line 26225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29978 : : (TARGET_XOP))
29979 : : return gen_split_3695 (insn, operands);
29980 : : if (!rtx_equal_p (x8, operands[2])
29981 : : || !
29982 : : #line 26237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29983 : : (TARGET_XOP))
29984 : : return NULL;
29985 : : return gen_split_3711 (insn, operands);
29986 : :
29987 : : case E_V8DFmode:
29988 : : if (pattern1188 (x2,
29989 : : E_V8DFmode) != 0
29990 : : || !((
29991 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29992 : : ((64 == 64 || TARGET_AVX512VL
29993 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
29994 : : && ix86_pre_reload_split ()
29995 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29996 : : STRIP_UNARY (operands[4]))
29997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29998 : : STRIP_UNARY (operands[4]))
29999 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30000 : : STRIP_UNARY (operands[3]))
30001 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30002 : : STRIP_UNARY (operands[3])))) &&
30003 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30004 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
30005 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30006 : : ( 1)))
30007 : : return NULL;
30008 : : return gen_split_2872 (insn, operands);
30009 : :
30010 : : case E_V4DFmode:
30011 : : if (pattern1003 (x2,
30012 : : E_V4DFmode) != 0)
30013 : : return NULL;
30014 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V4DFmode)
30015 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V4DFmode)
30016 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V4DFmode))
30017 : : {
30018 : : x8 = XEXP (x2, 1);
30019 : : operands[4] = x8;
30020 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V4DFmode)
30021 : : && ((
30022 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30023 : : ((32 == 64 || TARGET_AVX512VL
30024 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
30025 : : && ix86_pre_reload_split ()
30026 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30027 : : STRIP_UNARY (operands[4]))
30028 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30029 : : STRIP_UNARY (operands[4]))
30030 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30031 : : STRIP_UNARY (operands[3]))
30032 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30033 : : STRIP_UNARY (operands[3])))) &&
30034 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30035 : : (TARGET_AVX)) &&
30036 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30037 : : ( 1)))
30038 : : return gen_split_2899 (insn, operands);
30039 : : }
30040 : : if (!register_operand (operands[1], E_V4DFmode)
30041 : : || !register_operand (operands[2], E_V4DFmode)
30042 : : || !nonimmediate_operand (operands[3], E_V4DFmode))
30043 : : return NULL;
30044 : : x8 = XEXP (x2, 1);
30045 : : if (rtx_equal_p (x8, operands[1])
30046 : : &&
30047 : : #line 26225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30048 : : (TARGET_XOP))
30049 : : return gen_split_3696 (insn, operands);
30050 : : if (!rtx_equal_p (x8, operands[2])
30051 : : || !
30052 : : #line 26237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30053 : : (TARGET_XOP))
30054 : : return NULL;
30055 : : return gen_split_3712 (insn, operands);
30056 : :
30057 : : case E_V2DFmode:
30058 : : if (pattern1003 (x2,
30059 : : E_V2DFmode) != 0)
30060 : : return NULL;
30061 : : if (regmem_or_bitnot_regmem_operand (operands[1], E_V2DFmode)
30062 : : && regmem_or_bitnot_regmem_operand (operands[2], E_V2DFmode)
30063 : : && regmem_or_bitnot_regmem_operand (operands[3], E_V2DFmode))
30064 : : {
30065 : : x8 = XEXP (x2, 1);
30066 : : operands[4] = x8;
30067 : : if (regmem_or_bitnot_regmem_operand (operands[4], E_V2DFmode)
30068 : : && ((
30069 : : #line 13862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30070 : : ((16 == 64 || TARGET_AVX512VL
30071 : : || (TARGET_AVX512F && TARGET_EVEX512 && !TARGET_PREFER_AVX256))
30072 : : && ix86_pre_reload_split ()
30073 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30074 : : STRIP_UNARY (operands[4]))
30075 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30076 : : STRIP_UNARY (operands[4]))
30077 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30078 : : STRIP_UNARY (operands[3]))
30079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30080 : : STRIP_UNARY (operands[3])))) &&
30081 : : #line 339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30082 : : (TARGET_SSE2)) &&
30083 : : #line 13874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30084 : : ( 1)))
30085 : : return gen_split_2926 (insn, operands);
30086 : : }
30087 : : if (!register_operand (operands[1], E_V2DFmode)
30088 : : || !register_operand (operands[2], E_V2DFmode)
30089 : : || !nonimmediate_operand (operands[3], E_V2DFmode))
30090 : : return NULL;
30091 : : x8 = XEXP (x2, 1);
30092 : : if (rtx_equal_p (x8, operands[1])
30093 : : &&
30094 : : #line 26225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30095 : : (TARGET_XOP))
30096 : : return gen_split_3697 (insn, operands);
30097 : : if (!rtx_equal_p (x8, operands[2])
30098 : : || !
30099 : : #line 26237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30100 : : (TARGET_XOP))
30101 : : return NULL;
30102 : : return gen_split_3713 (insn, operands);
30103 : :
30104 : : default:
30105 : : return NULL;
30106 : : }
30107 : :
30108 : : default:
30109 : : return NULL;
30110 : : }
30111 : : }
30112 : :
30113 : : rtx_insn *
30114 : : split_83 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
30115 : : {
30116 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30117 : : rtx x2, x3, x4, x5;
30118 : : rtx_insn *res ATTRIBUTE_UNUSED;
30119 : : x2 = XEXP (x1, 1);
30120 : : x3 = XEXP (x2, 1);
30121 : : if (GET_CODE (x3) != PARALLEL)
30122 : : return NULL;
30123 : : x4 = XEXP (x2, 0);
30124 : : switch (GET_CODE (x4))
30125 : : {
30126 : : case VEC_CONCAT:
30127 : : x5 = XEXP (x4, 0);
30128 : : switch (GET_CODE (x5))
30129 : : {
30130 : : case MINUS:
30131 : : switch (pattern725 (x2,
30132 : : PLUS))
30133 : : {
30134 : : case 0:
30135 : : if (pattern1662 (x4,
30136 : : E_V8SFmode,
30137 : : E_V16SFmode) != 0
30138 : : || !(
30139 : : #line 3590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30140 : : (TARGET_SSE3
30141 : : && can_create_pseudo_p ()
30142 : : && ((rtx_equal_p (operands[1], operands[3])
30143 : : && rtx_equal_p (operands[2], operands[4]))
30144 : : || (rtx_equal_p (operands[1], operands[4])
30145 : : && rtx_equal_p (operands[2], operands[3])))) &&
30146 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30147 : : (TARGET_AVX)))
30148 : : return NULL;
30149 : : return gen_split_1298 (insn, operands);
30150 : :
30151 : : case 1:
30152 : : if (pattern1662 (x4,
30153 : : E_V4SFmode,
30154 : : E_V8SFmode) != 0
30155 : : || !
30156 : : #line 3590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30157 : : (TARGET_SSE3
30158 : : && can_create_pseudo_p ()
30159 : : && ((rtx_equal_p (operands[1], operands[3])
30160 : : && rtx_equal_p (operands[2], operands[4]))
30161 : : || (rtx_equal_p (operands[1], operands[4])
30162 : : && rtx_equal_p (operands[2], operands[3])))))
30163 : : return NULL;
30164 : : return gen_split_1299 (insn, operands);
30165 : :
30166 : : case 2:
30167 : : if (pattern1662 (x4,
30168 : : E_V4DFmode,
30169 : : E_V8DFmode) != 0
30170 : : || !(
30171 : : #line 3590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30172 : : (TARGET_SSE3
30173 : : && can_create_pseudo_p ()
30174 : : && ((rtx_equal_p (operands[1], operands[3])
30175 : : && rtx_equal_p (operands[2], operands[4]))
30176 : : || (rtx_equal_p (operands[1], operands[4])
30177 : : && rtx_equal_p (operands[2], operands[3])))) &&
30178 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30179 : : (TARGET_AVX)))
30180 : : return NULL;
30181 : : return gen_split_1300 (insn, operands);
30182 : :
30183 : : case 3:
30184 : : if (pattern1662 (x4,
30185 : : E_V2DFmode,
30186 : : E_V4DFmode) != 0
30187 : : || !(
30188 : : #line 3590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30189 : : (TARGET_SSE3
30190 : : && can_create_pseudo_p ()
30191 : : && ((rtx_equal_p (operands[1], operands[3])
30192 : : && rtx_equal_p (operands[2], operands[4]))
30193 : : || (rtx_equal_p (operands[1], operands[4])
30194 : : && rtx_equal_p (operands[2], operands[3])))) &&
30195 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30196 : : (TARGET_SSE2)))
30197 : : return NULL;
30198 : : return gen_split_1301 (insn, operands);
30199 : :
30200 : : default:
30201 : : return NULL;
30202 : : }
30203 : :
30204 : : case PLUS:
30205 : : switch (pattern725 (x2,
30206 : : MINUS))
30207 : : {
30208 : : case 0:
30209 : : if (pattern1663 (x4,
30210 : : E_V8SFmode,
30211 : : E_V16SFmode) != 0
30212 : : || !(
30213 : : #line 3624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30214 : : (TARGET_SSE3
30215 : : && can_create_pseudo_p ()
30216 : : && ((rtx_equal_p (operands[1], operands[3])
30217 : : && rtx_equal_p (operands[2], operands[4]))
30218 : : || (rtx_equal_p (operands[1], operands[4])
30219 : : && rtx_equal_p (operands[2], operands[3])))) &&
30220 : : #line 422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30221 : : (TARGET_AVX)))
30222 : : return NULL;
30223 : : return gen_split_1302 (insn, operands);
30224 : :
30225 : : case 1:
30226 : : if (pattern1663 (x4,
30227 : : E_V4SFmode,
30228 : : E_V8SFmode) != 0
30229 : : || !
30230 : : #line 3624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30231 : : (TARGET_SSE3
30232 : : && can_create_pseudo_p ()
30233 : : && ((rtx_equal_p (operands[1], operands[3])
30234 : : && rtx_equal_p (operands[2], operands[4]))
30235 : : || (rtx_equal_p (operands[1], operands[4])
30236 : : && rtx_equal_p (operands[2], operands[3])))))
30237 : : return NULL;
30238 : : return gen_split_1303 (insn, operands);
30239 : :
30240 : : case 2:
30241 : : if (pattern1663 (x4,
30242 : : E_V4DFmode,
30243 : : E_V8DFmode) != 0
30244 : : || !(
30245 : : #line 3624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30246 : : (TARGET_SSE3
30247 : : && can_create_pseudo_p ()
30248 : : && ((rtx_equal_p (operands[1], operands[3])
30249 : : && rtx_equal_p (operands[2], operands[4]))
30250 : : || (rtx_equal_p (operands[1], operands[4])
30251 : : && rtx_equal_p (operands[2], operands[3])))) &&
30252 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30253 : : (TARGET_AVX)))
30254 : : return NULL;
30255 : : return gen_split_1304 (insn, operands);
30256 : :
30257 : : case 3:
30258 : : if (pattern1663 (x4,
30259 : : E_V2DFmode,
30260 : : E_V4DFmode) != 0
30261 : : || !(
30262 : : #line 3624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30263 : : (TARGET_SSE3
30264 : : && can_create_pseudo_p ()
30265 : : && ((rtx_equal_p (operands[1], operands[3])
30266 : : && rtx_equal_p (operands[2], operands[4]))
30267 : : || (rtx_equal_p (operands[1], operands[4])
30268 : : && rtx_equal_p (operands[2], operands[3])))) &&
30269 : : #line 423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30270 : : (TARGET_SSE2)))
30271 : : return NULL;
30272 : : return gen_split_1305 (insn, operands);
30273 : :
30274 : : default:
30275 : : return NULL;
30276 : : }
30277 : :
30278 : : case REG:
30279 : : case SUBREG:
30280 : : case MEM:
30281 : : operands[1] = x5;
30282 : : res = split_59 (x1, insn);
30283 : : if (res != NULL_RTX)
30284 : : return res;
30285 : : if (XVECLEN (x3, 0) < 1)
30286 : : return NULL;
30287 : : operands[4] = x3;
30288 : : switch (pattern807 (x2))
30289 : : {
30290 : : case 0:
30291 : : if ((
30292 : : #line 24152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30293 : : (TARGET_AVX2) &&
30294 : : #line 24154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30295 : : ( reload_completed)))
30296 : : return gen_split_3500 (insn, operands);
30297 : : break;
30298 : :
30299 : : case 1:
30300 : : if ((
30301 : : #line 24152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30302 : : (TARGET_AVX2) &&
30303 : : #line 24154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30304 : : ( reload_completed)))
30305 : : return gen_split_3501 (insn, operands);
30306 : : break;
30307 : :
30308 : : case 2:
30309 : : if ((
30310 : : #line 24152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30311 : : (TARGET_AVX2) &&
30312 : : #line 24154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30313 : : ( reload_completed)))
30314 : : return gen_split_3502 (insn, operands);
30315 : : break;
30316 : :
30317 : : case 3:
30318 : : if (((
30319 : : #line 24205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30320 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
30321 : : #line 954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30322 : : (TARGET_EVEX512)) &&
30323 : : #line 24207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30324 : : ( reload_completed)))
30325 : : return gen_split_3504 (insn, operands);
30326 : : break;
30327 : :
30328 : : case 4:
30329 : : if (((
30330 : : #line 24205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30331 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
30332 : : #line 954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30333 : : (TARGET_EVEX512)) &&
30334 : : #line 24207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30335 : : ( reload_completed)))
30336 : : return gen_split_3505 (insn, operands);
30337 : : break;
30338 : :
30339 : : case 5:
30340 : : if (((
30341 : : #line 24205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30342 : : (TARGET_AVX512BW && TARGET_EVEX512) &&
30343 : : #line 954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30344 : : (TARGET_EVEX512)) &&
30345 : : #line 24207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30346 : : ( reload_completed)))
30347 : : return gen_split_3506 (insn, operands);
30348 : : break;
30349 : :
30350 : : case 6:
30351 : : if ((
30352 : : #line 24316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30353 : : (TARGET_SSE4_1) &&
30354 : : #line 24318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30355 : : ( reload_completed)))
30356 : : return gen_split_3512 (insn, operands);
30357 : : break;
30358 : :
30359 : : case 7:
30360 : : if ((
30361 : : #line 24316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30362 : : (TARGET_SSE4_1) &&
30363 : : #line 24318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30364 : : ( reload_completed)))
30365 : : return gen_split_3513 (insn, operands);
30366 : : break;
30367 : :
30368 : : case 8:
30369 : : if ((
30370 : : #line 24316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30371 : : (TARGET_SSE4_1) &&
30372 : : #line 24318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30373 : : ( reload_completed)))
30374 : : return gen_split_3514 (insn, operands);
30375 : : break;
30376 : :
30377 : : case 9:
30378 : : if (((
30379 : : #line 24549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30380 : : (TARGET_AVX512F) &&
30381 : : #line 957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30382 : : (TARGET_EVEX512)) &&
30383 : : #line 24551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30384 : : ( reload_completed)))
30385 : : return gen_split_3524 (insn, operands);
30386 : : break;
30387 : :
30388 : : case 10:
30389 : : if (((
30390 : : #line 24549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30391 : : (TARGET_AVX512F) &&
30392 : : #line 957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30393 : : (TARGET_EVEX512)) &&
30394 : : #line 24551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30395 : : ( reload_completed)))
30396 : : return gen_split_3525 (insn, operands);
30397 : : break;
30398 : :
30399 : : case 11:
30400 : : if (((
30401 : : #line 24549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30402 : : (TARGET_AVX512F) &&
30403 : : #line 957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30404 : : (TARGET_EVEX512)) &&
30405 : : #line 24551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30406 : : ( reload_completed)))
30407 : : return gen_split_3526 (insn, operands);
30408 : : break;
30409 : :
30410 : : case 12:
30411 : : if ((
30412 : : #line 24603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30413 : : (TARGET_AVX2) &&
30414 : : #line 24605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30415 : : ( reload_completed)))
30416 : : return gen_split_3528 (insn, operands);
30417 : : break;
30418 : :
30419 : : case 13:
30420 : : if ((
30421 : : #line 24603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30422 : : (TARGET_AVX2) &&
30423 : : #line 24605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30424 : : ( reload_completed)))
30425 : : return gen_split_3529 (insn, operands);
30426 : : break;
30427 : :
30428 : : case 14:
30429 : : if ((
30430 : : #line 24603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30431 : : (TARGET_AVX2) &&
30432 : : #line 24605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30433 : : ( reload_completed)))
30434 : : return gen_split_3530 (insn, operands);
30435 : : break;
30436 : :
30437 : : case 15:
30438 : : if ((
30439 : : #line 24721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30440 : : (TARGET_SSE4_1) &&
30441 : : #line 24723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30442 : : ( reload_completed)))
30443 : : return gen_split_3536 (insn, operands);
30444 : : break;
30445 : :
30446 : : case 16:
30447 : : if ((
30448 : : #line 24721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30449 : : (TARGET_SSE4_1) &&
30450 : : #line 24723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30451 : : ( reload_completed)))
30452 : : return gen_split_3537 (insn, operands);
30453 : : break;
30454 : :
30455 : : case 17:
30456 : : if ((
30457 : : #line 24721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30458 : : (TARGET_SSE4_1) &&
30459 : : #line 24723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30460 : : ( reload_completed)))
30461 : : return gen_split_3538 (insn, operands);
30462 : : break;
30463 : :
30464 : : default:
30465 : : break;
30466 : : }
30467 : : operands[3] = x3;
30468 : : switch (pattern808 (x2))
30469 : : {
30470 : : case 0:
30471 : : if (!((
30472 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30473 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30474 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30475 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
30476 : : #line 29061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30477 : : ( 1)))
30478 : : return NULL;
30479 : : return gen_split_3759 (insn, operands);
30480 : :
30481 : : case 1:
30482 : : if (!((
30483 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30484 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30485 : : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30486 : : (TARGET_AVX)) &&
30487 : : #line 29061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30488 : : ( 1)))
30489 : : return NULL;
30490 : : return gen_split_3760 (insn, operands);
30491 : :
30492 : : case 2:
30493 : : if (!(
30494 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30495 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30496 : : #line 29061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30497 : : ( 1)))
30498 : : return NULL;
30499 : : return gen_split_3761 (insn, operands);
30500 : :
30501 : : case 3:
30502 : : if (!((
30503 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30504 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30505 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30506 : : (TARGET_AVX512F && TARGET_EVEX512)) &&
30507 : : #line 29061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30508 : : ( 1)))
30509 : : return NULL;
30510 : : return gen_split_3762 (insn, operands);
30511 : :
30512 : : case 4:
30513 : : if (!((
30514 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30515 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30516 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30517 : : (TARGET_AVX)) &&
30518 : : #line 29061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30519 : : ( 1)))
30520 : : return NULL;
30521 : : return gen_split_3763 (insn, operands);
30522 : :
30523 : : case 5:
30524 : : if (!(
30525 : : #line 29059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30526 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30527 : : #line 29061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30528 : : ( 1)))
30529 : : return NULL;
30530 : : return gen_split_3764 (insn, operands);
30531 : :
30532 : : default:
30533 : : return NULL;
30534 : : }
30535 : :
30536 : : case VEC_CONCAT:
30537 : : switch (pattern525 (x2))
30538 : : {
30539 : : case 0:
30540 : : if (!(
30541 : : #line 25104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30542 : : (TARGET_AVX512F && TARGET_EVEX512) &&
30543 : : #line 25106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30544 : : ( reload_completed)))
30545 : : return NULL;
30546 : : return gen_split_3559 (insn, operands);
30547 : :
30548 : : case 1:
30549 : : if (!(
30550 : : #line 25156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30551 : : (TARGET_AVX2) &&
30552 : : #line 25158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30553 : : ( reload_completed)))
30554 : : return NULL;
30555 : : return gen_split_3561 (insn, operands);
30556 : :
30557 : : case 2:
30558 : : if (!(
30559 : : #line 25252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30560 : : (TARGET_SSE4_1) &&
30561 : : #line 25254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30562 : : ( reload_completed)))
30563 : : return NULL;
30564 : : return gen_split_3567 (insn, operands);
30565 : :
30566 : : default:
30567 : : return NULL;
30568 : : }
30569 : :
30570 : : default:
30571 : : return NULL;
30572 : : }
30573 : :
30574 : : case REG:
30575 : : case SUBREG:
30576 : : case MEM:
30577 : : operands[1] = x4;
30578 : : res = split_63 (x1, insn);
30579 : : if (res != NULL_RTX)
30580 : : return res;
30581 : : if (GET_CODE (x4) != SUBREG)
30582 : : return NULL;
30583 : : switch (pattern527 (x2))
30584 : : {
30585 : : case 0:
30586 : : if (!(
30587 : : #line 15035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30588 : : (TARGET_AVX512BW && TARGET_EVEX512 && ix86_pre_reload_split ()) &&
30589 : : #line 15037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30590 : : ( 1)))
30591 : : return NULL;
30592 : : return gen_split_3168 (insn, operands);
30593 : :
30594 : : case 1:
30595 : : if (!(
30596 : : #line 15088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30597 : : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()) &&
30598 : : #line 15090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30599 : : ( 1)))
30600 : : return NULL;
30601 : : return gen_split_3170 (insn, operands);
30602 : :
30603 : : default:
30604 : : return NULL;
30605 : : }
30606 : :
30607 : : case UNSPEC:
30608 : : if (XVECLEN (x4, 0) != 2)
30609 : : return NULL;
30610 : : switch (pattern529 (x2))
30611 : : {
30612 : : case 0:
30613 : : if (!(
30614 : : #line 15010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30615 : : (TARGET_AVX512BW && TARGET_EVEX512 && ix86_pre_reload_split ()) &&
30616 : : #line 15012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30617 : : ( 1)))
30618 : : return NULL;
30619 : : return gen_split_3167 (insn, operands);
30620 : :
30621 : : case 1:
30622 : : if (!(
30623 : : #line 15272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30624 : : (TARGET_AVX512VL && TARGET_AVX512VBMI
30625 : : && ix86_pre_reload_split ()) &&
30626 : : #line 15275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30627 : : ( 1)))
30628 : : return NULL;
30629 : : return gen_split_3173 (insn, operands);
30630 : :
30631 : : case 2:
30632 : : if (!(
30633 : : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30634 : : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()) &&
30635 : : #line 15069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30636 : : ( 1)))
30637 : : return NULL;
30638 : : return gen_split_3169 (insn, operands);
30639 : :
30640 : : case 3:
30641 : : if (!(
30642 : : #line 15119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30643 : : (TARGET_AVX512F && TARGET_EVEX512 && ix86_pre_reload_split ()) &&
30644 : : #line 15121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30645 : : ( 1)))
30646 : : return NULL;
30647 : : return gen_split_3171 (insn, operands);
30648 : :
30649 : : case 4:
30650 : : if (!(
30651 : : #line 15191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30652 : : (TARGET_AVX512VBMI && TARGET_EVEX512 && ix86_pre_reload_split ()) &&
30653 : : #line 15193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30654 : : ( 1)))
30655 : : return NULL;
30656 : : return gen_split_3172 (insn, operands);
30657 : :
30658 : : case 5:
30659 : : if (!(
30660 : : #line 15291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30661 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
30662 : : #line 15293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30663 : : ( 1)))
30664 : : return NULL;
30665 : : return gen_split_3174 (insn, operands);
30666 : :
30667 : : default:
30668 : : return NULL;
30669 : : }
30670 : :
30671 : : default:
30672 : : return NULL;
30673 : : }
30674 : : }
30675 : :
30676 : : rtx_insn *
30677 : : split_insns (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
30678 : : {
30679 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
30680 : : rtx x2, x3;
30681 : : rtx_insn *res ATTRIBUTE_UNUSED;
30682 : : recog_data.insn = NULL;
30683 : : switch (GET_CODE (x1))
30684 : : {
30685 : : case EH_RETURN:
30686 : : if (!
30687 : : #line 20873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30688 : : (epilogue_completed))
30689 : : return NULL;
30690 : : return gen_split_869 (insn, operands);
30691 : :
30692 : : case PARALLEL:
30693 : : case UNSPEC:
30694 : : case UNSPEC_VOLATILE:
30695 : : case SET:
30696 : : switch (GET_CODE (x1))
30697 : : {
30698 : : case SET:
30699 : : res = split_13 (x1, insn);
30700 : : if (res != NULL_RTX)
30701 : : return res;
30702 : : break;
30703 : :
30704 : : case PARALLEL:
30705 : : res = split_35 (x1, insn);
30706 : : if (res != NULL_RTX)
30707 : : return res;
30708 : : break;
30709 : :
30710 : : default:
30711 : : break;
30712 : : }
30713 : : operands[0] = x1;
30714 : : if (tls_address_pattern (operands[0], E_VOIDmode)
30715 : : &&
30716 : : #line 23255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
30717 : : (TARGET_TLS_DIRECT_SEG_REFS))
30718 : : return gen_split_916 (insn, operands);
30719 : : switch (GET_CODE (x1))
30720 : : {
30721 : : case PARALLEL:
30722 : : return split_85 (x1, insn);
30723 : :
30724 : : case SET:
30725 : : x2 = XEXP (x1, 1);
30726 : : switch (GET_CODE (x2))
30727 : : {
30728 : : case NEG:
30729 : : res = split_39 (x1, insn);
30730 : : if (res != NULL_RTX)
30731 : : return res;
30732 : : break;
30733 : :
30734 : : case IF_THEN_ELSE:
30735 : : res = split_41 (x1, insn);
30736 : : if (res != NULL_RTX)
30737 : : return res;
30738 : : break;
30739 : :
30740 : : case UNSPEC:
30741 : : res = split_42 (x1, insn);
30742 : : if (res != NULL_RTX)
30743 : : return res;
30744 : : break;
30745 : :
30746 : : case COMPARE:
30747 : : res = split_43 (x1, insn);
30748 : : if (res != NULL_RTX)
30749 : : return res;
30750 : : break;
30751 : :
30752 : : case NOT:
30753 : : res = split_44 (x1, insn);
30754 : : if (res != NULL_RTX)
30755 : : return res;
30756 : : break;
30757 : :
30758 : : case REG:
30759 : : case SUBREG:
30760 : : case MEM:
30761 : : res = split_45 (x1, insn);
30762 : : if (res != NULL_RTX)
30763 : : return res;
30764 : : break;
30765 : :
30766 : : case CONST_INT:
30767 : : case CONST_DOUBLE:
30768 : : case CONST_VECTOR:
30769 : : operands[1] = x2;
30770 : : x3 = XEXP (x1, 0);
30771 : : operands[0] = x3;
30772 : : switch (GET_MODE (operands[0]))
30773 : : {
30774 : : case E_V8QImode:
30775 : : if (nonimmediate_gr_operand (operands[0], E_V8QImode)
30776 : : && const0_operand (operands[1], E_V8QImode)
30777 : : &&
30778 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30779 : : (!TARGET_64BIT && reload_completed))
30780 : : return gen_split_986 (insn, operands);
30781 : : if (memory_operand (operands[0], E_V8QImode)
30782 : : && x86_64_const_vector_operand (operands[1], E_V8QImode)
30783 : : && (
30784 : : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30785 : : (TARGET_64BIT) &&
30786 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30787 : : ( reload_completed)))
30788 : : return gen_split_997 (insn, operands);
30789 : : break;
30790 : :
30791 : : case E_V4HImode:
30792 : : if (nonimmediate_gr_operand (operands[0], E_V4HImode)
30793 : : && const0_operand (operands[1], E_V4HImode)
30794 : : &&
30795 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30796 : : (!TARGET_64BIT && reload_completed))
30797 : : return gen_split_987 (insn, operands);
30798 : : if (memory_operand (operands[0], E_V4HImode)
30799 : : && x86_64_const_vector_operand (operands[1], E_V4HImode)
30800 : : && (
30801 : : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30802 : : (TARGET_64BIT) &&
30803 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30804 : : ( reload_completed)))
30805 : : return gen_split_998 (insn, operands);
30806 : : break;
30807 : :
30808 : : case E_V2SImode:
30809 : : if (nonimmediate_gr_operand (operands[0], E_V2SImode)
30810 : : && const0_operand (operands[1], E_V2SImode)
30811 : : &&
30812 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30813 : : (!TARGET_64BIT && reload_completed))
30814 : : return gen_split_988 (insn, operands);
30815 : : if (memory_operand (operands[0], E_V2SImode)
30816 : : && x86_64_const_vector_operand (operands[1], E_V2SImode)
30817 : : && (
30818 : : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30819 : : (TARGET_64BIT) &&
30820 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30821 : : ( reload_completed)))
30822 : : return gen_split_1001 (insn, operands);
30823 : : break;
30824 : :
30825 : : case E_V1DImode:
30826 : : if (nonimmediate_gr_operand (operands[0], E_V1DImode)
30827 : : && const0_operand (operands[1], E_V1DImode)
30828 : : &&
30829 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30830 : : (!TARGET_64BIT && reload_completed))
30831 : : return gen_split_989 (insn, operands);
30832 : : break;
30833 : :
30834 : : case E_V2SFmode:
30835 : : if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
30836 : : && const0_operand (operands[1], E_V2SFmode)
30837 : : &&
30838 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30839 : : (!TARGET_64BIT && reload_completed))
30840 : : return gen_split_990 (insn, operands);
30841 : : if (memory_operand (operands[0], E_V2SFmode)
30842 : : && x86_64_const_vector_operand (operands[1], E_V2SFmode)
30843 : : && (
30844 : : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30845 : : (TARGET_64BIT) &&
30846 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30847 : : ( reload_completed)))
30848 : : return gen_split_1002 (insn, operands);
30849 : : break;
30850 : :
30851 : : case E_V4HFmode:
30852 : : if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
30853 : : && const0_operand (operands[1], E_V4HFmode)
30854 : : &&
30855 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30856 : : (!TARGET_64BIT && reload_completed))
30857 : : return gen_split_991 (insn, operands);
30858 : : if (memory_operand (operands[0], E_V4HFmode)
30859 : : && x86_64_const_vector_operand (operands[1], E_V4HFmode)
30860 : : && (
30861 : : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30862 : : (TARGET_64BIT) &&
30863 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30864 : : ( reload_completed)))
30865 : : return gen_split_999 (insn, operands);
30866 : : break;
30867 : :
30868 : : case E_V4BFmode:
30869 : : if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
30870 : : && const0_operand (operands[1], E_V4BFmode)
30871 : : &&
30872 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30873 : : (!TARGET_64BIT && reload_completed))
30874 : : return gen_split_992 (insn, operands);
30875 : : if (memory_operand (operands[0], E_V4BFmode)
30876 : : && x86_64_const_vector_operand (operands[1], E_V4BFmode)
30877 : : && (
30878 : : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30879 : : (TARGET_64BIT) &&
30880 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30881 : : ( reload_completed)))
30882 : : return gen_split_1000 (insn, operands);
30883 : : break;
30884 : :
30885 : : case E_V2QImode:
30886 : : if (memory_operand (operands[0], E_V2QImode)
30887 : : && x86_64_const_vector_operand (operands[1], E_V2QImode)
30888 : : &&
30889 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30890 : : ( reload_completed))
30891 : : return gen_split_993 (insn, operands);
30892 : : break;
30893 : :
30894 : : case E_V4QImode:
30895 : : if (memory_operand (operands[0], E_V4QImode)
30896 : : && x86_64_const_vector_operand (operands[1], E_V4QImode)
30897 : : &&
30898 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30899 : : ( reload_completed))
30900 : : return gen_split_994 (insn, operands);
30901 : : break;
30902 : :
30903 : : case E_V2HImode:
30904 : : if (memory_operand (operands[0], E_V2HImode)
30905 : : && x86_64_const_vector_operand (operands[1], E_V2HImode)
30906 : : &&
30907 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30908 : : ( reload_completed))
30909 : : return gen_split_995 (insn, operands);
30910 : : break;
30911 : :
30912 : : case E_V2HFmode:
30913 : : if (memory_operand (operands[0], E_V2HFmode)
30914 : : && x86_64_const_vector_operand (operands[1], E_V2HFmode)
30915 : : &&
30916 : : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30917 : : ( reload_completed))
30918 : : return gen_split_996 (insn, operands);
30919 : : break;
30920 : :
30921 : : default:
30922 : : break;
30923 : : }
30924 : : break;
30925 : :
30926 : : case PLUS:
30927 : : res = split_46 (x1, insn);
30928 : : if (res != NULL_RTX)
30929 : : return res;
30930 : : break;
30931 : :
30932 : : case MINUS:
30933 : : res = split_47 (x1, insn);
30934 : : if (res != NULL_RTX)
30935 : : return res;
30936 : : break;
30937 : :
30938 : : case VEC_SELECT:
30939 : : res = split_49 (x1, insn);
30940 : : if (res != NULL_RTX)
30941 : : return res;
30942 : : break;
30943 : :
30944 : : case LT:
30945 : : x3 = XEXP (x1, 0);
30946 : : operands[0] = x3;
30947 : : switch (pattern232 (x2))
30948 : : {
30949 : : case 0:
30950 : : if ((
30951 : : #line 3873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30952 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) &&
30953 : : #line 3875 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30954 : : ( 1)))
30955 : : return gen_split_1042 (insn, operands);
30956 : : break;
30957 : :
30958 : : case 1:
30959 : : if ((
30960 : : #line 3873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30961 : : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) &&
30962 : : #line 3875 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30963 : : ( 1)))
30964 : : return gen_split_1043 (insn, operands);
30965 : : break;
30966 : :
30967 : : case 2:
30968 : : if ((
30969 : : #line 3962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30970 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
30971 : : #line 3964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
30972 : : ( 1)))
30973 : : return gen_split_1047 (insn, operands);
30974 : : break;
30975 : :
30976 : : default:
30977 : : break;
30978 : : }
30979 : : break;
30980 : :
30981 : : case AND:
30982 : : res = split_50 (x1, insn);
30983 : : if (res != NULL_RTX)
30984 : : return res;
30985 : : break;
30986 : :
30987 : : case VEC_CONCAT:
30988 : : res = split_51 (x1, insn);
30989 : : if (res != NULL_RTX)
30990 : : return res;
30991 : : break;
30992 : :
30993 : : case VEC_MERGE:
30994 : : res = split_52 (x1, insn);
30995 : : if (res != NULL_RTX)
30996 : : return res;
30997 : : break;
30998 : :
30999 : : case ZERO_EXTEND:
31000 : : res = split_53 (x1, insn);
31001 : : if (res != NULL_RTX)
31002 : : return res;
31003 : : break;
31004 : :
31005 : : case IOR:
31006 : : x3 = XEXP (x1, 0);
31007 : : operands[0] = x3;
31008 : : switch (pattern234 (x2))
31009 : : {
31010 : : case 0:
31011 : : if (
31012 : : #line 2115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31013 : : (TARGET_AVX512F && reload_completed))
31014 : : return gen_split_1174 (insn, operands);
31015 : : break;
31016 : :
31017 : : case 1:
31018 : : if (
31019 : : #line 2115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31020 : : (TARGET_AVX512F && reload_completed))
31021 : : return gen_split_1177 (insn, operands);
31022 : : break;
31023 : :
31024 : : case 2:
31025 : : if ((
31026 : : #line 2115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31027 : : (TARGET_AVX512F && reload_completed) &&
31028 : : #line 2075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31029 : : (TARGET_AVX512BW)))
31030 : : return gen_split_1180 (insn, operands);
31031 : : break;
31032 : :
31033 : : case 3:
31034 : : if ((
31035 : : #line 2115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31036 : : (TARGET_AVX512F && reload_completed) &&
31037 : : #line 2075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31038 : : (TARGET_AVX512BW)))
31039 : : return gen_split_1183 (insn, operands);
31040 : : break;
31041 : :
31042 : : default:
31043 : : break;
31044 : : }
31045 : : break;
31046 : :
31047 : : case XOR:
31048 : : x3 = XEXP (x1, 0);
31049 : : operands[0] = x3;
31050 : : switch (pattern234 (x2))
31051 : : {
31052 : : case 0:
31053 : : if (
31054 : : #line 2115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31055 : : (TARGET_AVX512F && reload_completed))
31056 : : return gen_split_1175 (insn, operands);
31057 : : break;
31058 : :
31059 : : case 1:
31060 : : if (
31061 : : #line 2115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31062 : : (TARGET_AVX512F && reload_completed))
31063 : : return gen_split_1178 (insn, operands);
31064 : : break;
31065 : :
31066 : : case 2:
31067 : : if ((
31068 : : #line 2115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31069 : : (TARGET_AVX512F && reload_completed) &&
31070 : : #line 2075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31071 : : (TARGET_AVX512BW)))
31072 : : return gen_split_1181 (insn, operands);
31073 : : break;
31074 : :
31075 : : case 3:
31076 : : if ((
31077 : : #line 2115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31078 : : (TARGET_AVX512F && reload_completed) &&
31079 : : #line 2075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31080 : : (TARGET_AVX512BW)))
31081 : : return gen_split_1184 (insn, operands);
31082 : : break;
31083 : :
31084 : : default:
31085 : : break;
31086 : : }
31087 : : break;
31088 : :
31089 : : case ASHIFT:
31090 : : switch (pattern51 (x1))
31091 : : {
31092 : : case 0:
31093 : : if (
31094 : : #line 2279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31095 : : (TARGET_AVX512F && reload_completed))
31096 : : return gen_split_1206 (insn, operands);
31097 : : break;
31098 : :
31099 : : case 1:
31100 : : if (
31101 : : #line 2279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31102 : : (TARGET_AVX512F && reload_completed))
31103 : : return gen_split_1208 (insn, operands);
31104 : : break;
31105 : :
31106 : : case 2:
31107 : : if ((
31108 : : #line 2279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31109 : : (TARGET_AVX512F && reload_completed) &&
31110 : : #line 2075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31111 : : (TARGET_AVX512BW)))
31112 : : return gen_split_1210 (insn, operands);
31113 : : break;
31114 : :
31115 : : case 3:
31116 : : if ((
31117 : : #line 2279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31118 : : (TARGET_AVX512F && reload_completed) &&
31119 : : #line 2075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31120 : : (TARGET_AVX512BW)))
31121 : : return gen_split_1212 (insn, operands);
31122 : : break;
31123 : :
31124 : : default:
31125 : : break;
31126 : : }
31127 : : break;
31128 : :
31129 : : case LSHIFTRT:
31130 : : switch (pattern51 (x1))
31131 : : {
31132 : : case 0:
31133 : : if (
31134 : : #line 2279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31135 : : (TARGET_AVX512F && reload_completed))
31136 : : return gen_split_1207 (insn, operands);
31137 : : break;
31138 : :
31139 : : case 1:
31140 : : if (
31141 : : #line 2279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31142 : : (TARGET_AVX512F && reload_completed))
31143 : : return gen_split_1209 (insn, operands);
31144 : : break;
31145 : :
31146 : : case 2:
31147 : : if ((
31148 : : #line 2279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31149 : : (TARGET_AVX512F && reload_completed) &&
31150 : : #line 2075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31151 : : (TARGET_AVX512BW)))
31152 : : return gen_split_1211 (insn, operands);
31153 : : break;
31154 : :
31155 : : case 3:
31156 : : if ((
31157 : : #line 2279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31158 : : (TARGET_AVX512F && reload_completed) &&
31159 : : #line 2075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31160 : : (TARGET_AVX512BW)))
31161 : : return gen_split_1213 (insn, operands);
31162 : : break;
31163 : :
31164 : : default:
31165 : : break;
31166 : : }
31167 : : break;
31168 : :
31169 : : case SIGN_EXTEND:
31170 : : res = split_54 (x1, insn);
31171 : : if (res != NULL_RTX)
31172 : : return res;
31173 : : break;
31174 : :
31175 : : case SS_PLUS:
31176 : : if (pattern53 (x1) == 0
31177 : : &&
31178 : : #line 22620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31179 : : (TARGET_SSSE3 && reload_completed
31180 : : && SSE_REGNO_P (REGNO (operands[0]))))
31181 : : return gen_split_3456 (insn, operands);
31182 : : break;
31183 : :
31184 : : case SS_MINUS:
31185 : : if (pattern53 (x1) == 0
31186 : : &&
31187 : : #line 22620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31188 : : (TARGET_SSSE3 && reload_completed
31189 : : && SSE_REGNO_P (REGNO (operands[0]))))
31190 : : return gen_split_3458 (insn, operands);
31191 : : break;
31192 : :
31193 : : case NE:
31194 : : case EQ:
31195 : : res = split_55 (x1, insn);
31196 : : if (res != NULL_RTX)
31197 : : return res;
31198 : : break;
31199 : :
31200 : : default:
31201 : : break;
31202 : : }
31203 : : x3 = XEXP (x1, 0);
31204 : : operands[0] = x3;
31205 : : return split_84 (x1, insn);
31206 : :
31207 : : default:
31208 : : return NULL;
31209 : : }
31210 : :
31211 : : default:
31212 : : return NULL;
31213 : : }
31214 : : }
31215 : :
31216 : : rtx_insn *
31217 : : peephole2_5 (rtx x1 ATTRIBUTE_UNUSED,
31218 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31219 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31220 : : {
31221 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31222 : : rtx x2, x3, x4, x5, x6, x7;
31223 : : rtx_insn *res ATTRIBUTE_UNUSED;
31224 : : x2 = XEXP (x1, 0);
31225 : : switch (GET_CODE (x2))
31226 : : {
31227 : : case REG:
31228 : : if (peep2_current_count < 2)
31229 : : return NULL;
31230 : : operands[0] = x2;
31231 : : x3 = PATTERN (peep2_next_insn (1));
31232 : : if (GET_CODE (x3) != SET)
31233 : : return NULL;
31234 : : x4 = XEXP (x3, 0);
31235 : : if (GET_CODE (x4) != STRICT_LOW_PART)
31236 : : return NULL;
31237 : : x5 = XEXP (x4, 0);
31238 : : operands[1] = x5;
31239 : : x6 = XEXP (x3, 1);
31240 : : operands[2] = x6;
31241 : : switch (GET_MODE (operands[0]))
31242 : : {
31243 : : case E_SImode:
31244 : : if (!general_reg_operand (operands[0], E_SImode))
31245 : : return NULL;
31246 : : switch (pattern1341 ())
31247 : : {
31248 : : case 0:
31249 : : if (!
31250 : : #line 4948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31251 : : (REGNO (operands[0]) == REGNO (operands[1])
31252 : : && (SImode != SImode
31253 : : || !TARGET_ZERO_EXTEND_WITH_AND
31254 : : || !optimize_function_for_speed_p (cfun))))
31255 : : return NULL;
31256 : : *pmatch_len_ = 1;
31257 : : return gen_peephole2_45 (insn, operands);
31258 : :
31259 : : case 1:
31260 : : if (!
31261 : : #line 4948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31262 : : (REGNO (operands[0]) == REGNO (operands[1])
31263 : : && (SImode != SImode
31264 : : || !TARGET_ZERO_EXTEND_WITH_AND
31265 : : || !optimize_function_for_speed_p (cfun))))
31266 : : return NULL;
31267 : : *pmatch_len_ = 1;
31268 : : return gen_peephole2_47 (insn, operands);
31269 : :
31270 : : default:
31271 : : return NULL;
31272 : : }
31273 : :
31274 : : case E_DImode:
31275 : : if (!general_reg_operand (operands[0], E_DImode))
31276 : : return NULL;
31277 : : switch (pattern1341 ())
31278 : : {
31279 : : case 0:
31280 : : if (!(
31281 : : #line 4948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31282 : : (REGNO (operands[0]) == REGNO (operands[1])
31283 : : && (DImode != SImode
31284 : : || !TARGET_ZERO_EXTEND_WITH_AND
31285 : : || !optimize_function_for_speed_p (cfun))) &&
31286 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31287 : : (TARGET_64BIT)))
31288 : : return NULL;
31289 : : *pmatch_len_ = 1;
31290 : : return gen_peephole2_46 (insn, operands);
31291 : :
31292 : : case 1:
31293 : : if (!(
31294 : : #line 4948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31295 : : (REGNO (operands[0]) == REGNO (operands[1])
31296 : : && (DImode != SImode
31297 : : || !TARGET_ZERO_EXTEND_WITH_AND
31298 : : || !optimize_function_for_speed_p (cfun))) &&
31299 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31300 : : (TARGET_64BIT)))
31301 : : return NULL;
31302 : : *pmatch_len_ = 1;
31303 : : return gen_peephole2_48 (insn, operands);
31304 : :
31305 : : default:
31306 : : return NULL;
31307 : : }
31308 : :
31309 : : default:
31310 : : return NULL;
31311 : : }
31312 : :
31313 : : case SUBREG:
31314 : : case MEM:
31315 : : operands[0] = x2;
31316 : : switch (GET_MODE (operands[0]))
31317 : : {
31318 : : case E_QImode:
31319 : : if (!memory_operand (operands[0], E_QImode)
31320 : : || !
31321 : : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31322 : : (optimize_insn_for_speed_p ()
31323 : : && ((QImode == HImode
31324 : : && TARGET_LCP_STALL)
31325 : : || (!TARGET_USE_MOV0
31326 : : && TARGET_SPLIT_LONG_MOVES
31327 : : && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
31328 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31329 : : return NULL;
31330 : : *pmatch_len_ = 0;
31331 : : return gen_peephole2_256 (insn, operands);
31332 : :
31333 : : case E_HImode:
31334 : : if (!memory_operand (operands[0], E_HImode)
31335 : : || !
31336 : : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31337 : : (optimize_insn_for_speed_p ()
31338 : : && ((HImode == HImode
31339 : : && TARGET_LCP_STALL)
31340 : : || (!TARGET_USE_MOV0
31341 : : && TARGET_SPLIT_LONG_MOVES
31342 : : && get_attr_length (insn) >= ix86_cur_cost ()->large_insn))
31343 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31344 : : return NULL;
31345 : : *pmatch_len_ = 0;
31346 : : return gen_peephole2_257 (insn, operands);
31347 : :
31348 : : default:
31349 : : return NULL;
31350 : : }
31351 : :
31352 : : case STRICT_LOW_PART:
31353 : : x7 = XEXP (x2, 0);
31354 : : operands[0] = x7;
31355 : : switch (GET_MODE (operands[0]))
31356 : : {
31357 : : case E_QImode:
31358 : : if (!general_reg_operand (operands[0], E_QImode)
31359 : : || !
31360 : : #line 28368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31361 : : ((! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
31362 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31363 : : return NULL;
31364 : : *pmatch_len_ = 0;
31365 : : return gen_peephole2_333 (insn, operands);
31366 : :
31367 : : case E_HImode:
31368 : : if (!general_reg_operand (operands[0], E_HImode)
31369 : : || !
31370 : : #line 28368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31371 : : ((! TARGET_USE_MOV0 || optimize_insn_for_size_p ())
31372 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31373 : : return NULL;
31374 : : *pmatch_len_ = 0;
31375 : : return gen_peephole2_334 (insn, operands);
31376 : :
31377 : : default:
31378 : : return NULL;
31379 : : }
31380 : :
31381 : : default:
31382 : : return NULL;
31383 : : }
31384 : : }
31385 : :
31386 : : rtx_insn *
31387 : : peephole2_7 (rtx x1 ATTRIBUTE_UNUSED,
31388 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31389 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31390 : : {
31391 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31392 : : rtx x2, x3, x4, x5, x6, x7;
31393 : : rtx_insn *res ATTRIBUTE_UNUSED;
31394 : : x2 = XEXP (x1, 1);
31395 : : operands[1] = x2;
31396 : : x3 = XEXP (x1, 0);
31397 : : operands[0] = x3;
31398 : : switch (GET_CODE (operands[0]))
31399 : : {
31400 : : case REG:
31401 : : case SUBREG:
31402 : : if (peep2_current_count < 2
31403 : : || peep2_current_count < 3)
31404 : : return NULL;
31405 : : x4 = PATTERN (peep2_next_insn (1));
31406 : : if (GET_CODE (x4) != PARALLEL
31407 : : || pattern842 (x4) != 0)
31408 : : return NULL;
31409 : : switch (GET_MODE (operands[0]))
31410 : : {
31411 : : case E_QImode:
31412 : : if (!memory_operand (operands[1], E_QImode))
31413 : : return NULL;
31414 : : if (general_reg_operand (operands[0], E_QImode))
31415 : : {
31416 : : switch (pattern1534 (x4,
31417 : : E_QImode))
31418 : : {
31419 : : case 0:
31420 : : if (
31421 : : #line 8701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31422 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31423 : : && peep2_reg_dead_p (3, operands[0])
31424 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31425 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
31426 : : {
31427 : : *pmatch_len_ = 2;
31428 : : res = gen_peephole2_68 (insn, operands);
31429 : : if (res != NULL_RTX)
31430 : : return res;
31431 : : }
31432 : : break;
31433 : :
31434 : : case 1:
31435 : : if (
31436 : : #line 9987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31437 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31438 : : && peep2_reg_dead_p (3, operands[0])
31439 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31440 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
31441 : : {
31442 : : *pmatch_len_ = 2;
31443 : : res = gen_peephole2_108 (insn, operands);
31444 : : if (res != NULL_RTX)
31445 : : return res;
31446 : : }
31447 : : break;
31448 : :
31449 : : case 2:
31450 : : if (
31451 : : #line 8818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31452 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31453 : : && peep2_reg_dead_p (3, operands[0])
31454 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31455 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
31456 : : {
31457 : : *pmatch_len_ = 2;
31458 : : res = gen_peephole2_76 (insn, operands);
31459 : : if (res != NULL_RTX)
31460 : : return res;
31461 : : }
31462 : : break;
31463 : :
31464 : : case 3:
31465 : : if (
31466 : : #line 8844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31467 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31468 : : && peep2_reg_dead_p (3, operands[0])
31469 : : && peep2_reg_dead_p (4, operands[5])
31470 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31471 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31472 : : && !reg_overlap_mentioned_p (operands[5], operands[1])))
31473 : : {
31474 : : *pmatch_len_ = 3;
31475 : : res = gen_peephole2_80 (insn, operands);
31476 : : if (res != NULL_RTX)
31477 : : return res;
31478 : : }
31479 : : break;
31480 : :
31481 : : case 4:
31482 : : if (
31483 : : #line 9302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31484 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31485 : : && peep2_reg_dead_p (3, operands[0])
31486 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31487 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
31488 : : {
31489 : : *pmatch_len_ = 2;
31490 : : res = gen_peephole2_90 (insn, operands);
31491 : : if (res != NULL_RTX)
31492 : : return res;
31493 : : }
31494 : : break;
31495 : :
31496 : : case 5:
31497 : : if (
31498 : : #line 9328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31499 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31500 : : && peep2_reg_dead_p (3, operands[0])
31501 : : && peep2_reg_dead_p (4, operands[5])
31502 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31503 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31504 : : && !reg_overlap_mentioned_p (operands[5], operands[1])))
31505 : : {
31506 : : *pmatch_len_ = 3;
31507 : : res = gen_peephole2_94 (insn, operands);
31508 : : if (res != NULL_RTX)
31509 : : return res;
31510 : : }
31511 : : break;
31512 : :
31513 : : default:
31514 : : break;
31515 : : }
31516 : : }
31517 : : if (!register_operand (operands[0], E_QImode))
31518 : : return NULL;
31519 : : switch (pattern1535 (x4,
31520 : : E_QImode))
31521 : : {
31522 : : case 0:
31523 : : x5 = PATTERN (peep2_next_insn (2));
31524 : : x6 = XEXP (x5, 0);
31525 : : if (rtx_equal_p (x6, operands[1])
31526 : : &&
31527 : : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31528 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31529 : : && peep2_reg_dead_p (3, operands[0])
31530 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31531 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31532 : : && ix86_match_ccmode (peep2_next_insn (1),
31533 : : (GET_CODE (operands[3]) == PLUS
31534 : : || GET_CODE (operands[3]) == MINUS)
31535 : : ? CCGOCmode : CCNOmode)))
31536 : : {
31537 : : *pmatch_len_ = 2;
31538 : : res = gen_peephole2_297 (insn, operands);
31539 : : if (res != NULL_RTX)
31540 : : return res;
31541 : : }
31542 : : if (peep2_current_count < 4
31543 : : || pattern1800 (x6,
31544 : : E_QImode) != 0
31545 : : || !
31546 : : #line 28226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31547 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31548 : : && peep2_reg_dead_p (3, operands[0])
31549 : : && peep2_reg_dead_p (4, operands[4])
31550 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31551 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31552 : : && !reg_overlap_mentioned_p (operands[4], operands[1])
31553 : : && ix86_match_ccmode (peep2_next_insn (1),
31554 : : (GET_CODE (operands[3]) == PLUS
31555 : : || GET_CODE (operands[3]) == MINUS)
31556 : : ? CCGOCmode : CCNOmode)))
31557 : : return NULL;
31558 : : *pmatch_len_ = 3;
31559 : : return gen_peephole2_321 (insn, operands);
31560 : :
31561 : : case 1:
31562 : : x5 = PATTERN (peep2_next_insn (2));
31563 : : x6 = XEXP (x5, 0);
31564 : : if (rtx_equal_p (x6, operands[1]))
31565 : : {
31566 : : x7 = PATTERN (peep2_next_insn (3));
31567 : : if (pattern1798 (x7) == 0
31568 : : &&
31569 : : #line 28109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31570 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31571 : : && REGNO (operands[0]) == REGNO (operands[4])
31572 : : && peep2_reg_dead_p (4, operands[0])
31573 : : && (QImode != QImode
31574 : : || immediate_operand (operands[2], SImode)
31575 : : || any_QIreg_operand (operands[2], SImode))
31576 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31577 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31578 : : && ix86_match_ccmode (peep2_next_insn (3),
31579 : : (GET_CODE (operands[3]) == PLUS
31580 : : || GET_CODE (operands[3]) == MINUS)
31581 : : ? CCGOCmode : CCNOmode)))
31582 : : {
31583 : : *pmatch_len_ = 3;
31584 : : res = gen_peephole2_313 (insn, operands);
31585 : : if (res != NULL_RTX)
31586 : : return res;
31587 : : }
31588 : : }
31589 : : if (peep2_current_count < 5
31590 : : || pattern1842 (x6,
31591 : : E_QImode) != 0
31592 : : || !
31593 : : #line 28186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31594 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31595 : : && REGNO (operands[0]) == REGNO (operands[4])
31596 : : && peep2_reg_dead_p (3, operands[0])
31597 : : && peep2_reg_dead_p (5, operands[5])
31598 : : && (QImode != QImode
31599 : : || immediate_operand (operands[2], SImode)
31600 : : || any_QIreg_operand (operands[2], SImode))
31601 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31602 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31603 : : && !reg_overlap_mentioned_p (operands[5], operands[1])
31604 : : && ix86_match_ccmode (peep2_next_insn (4),
31605 : : (GET_CODE (operands[3]) == PLUS
31606 : : || GET_CODE (operands[3]) == MINUS)
31607 : : ? CCGOCmode : CCNOmode)))
31608 : : return NULL;
31609 : : *pmatch_len_ = 4;
31610 : : return gen_peephole2_319 (insn, operands);
31611 : :
31612 : : default:
31613 : : return NULL;
31614 : : }
31615 : :
31616 : : case E_HImode:
31617 : : if (!memory_operand (operands[1], E_HImode))
31618 : : return NULL;
31619 : : if (general_reg_operand (operands[0], E_HImode))
31620 : : {
31621 : : switch (pattern1534 (x4,
31622 : : E_HImode))
31623 : : {
31624 : : case 0:
31625 : : if (
31626 : : #line 8701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31627 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31628 : : && peep2_reg_dead_p (3, operands[0])
31629 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31630 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
31631 : : {
31632 : : *pmatch_len_ = 2;
31633 : : res = gen_peephole2_69 (insn, operands);
31634 : : if (res != NULL_RTX)
31635 : : return res;
31636 : : }
31637 : : break;
31638 : :
31639 : : case 1:
31640 : : if (
31641 : : #line 9987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31642 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31643 : : && peep2_reg_dead_p (3, operands[0])
31644 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31645 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
31646 : : {
31647 : : *pmatch_len_ = 2;
31648 : : res = gen_peephole2_109 (insn, operands);
31649 : : if (res != NULL_RTX)
31650 : : return res;
31651 : : }
31652 : : break;
31653 : :
31654 : : case 2:
31655 : : if (
31656 : : #line 8818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31657 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31658 : : && peep2_reg_dead_p (3, operands[0])
31659 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31660 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
31661 : : {
31662 : : *pmatch_len_ = 2;
31663 : : res = gen_peephole2_77 (insn, operands);
31664 : : if (res != NULL_RTX)
31665 : : return res;
31666 : : }
31667 : : break;
31668 : :
31669 : : case 3:
31670 : : if (
31671 : : #line 8844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31672 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31673 : : && peep2_reg_dead_p (3, operands[0])
31674 : : && peep2_reg_dead_p (4, operands[5])
31675 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31676 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31677 : : && !reg_overlap_mentioned_p (operands[5], operands[1])))
31678 : : {
31679 : : *pmatch_len_ = 3;
31680 : : res = gen_peephole2_81 (insn, operands);
31681 : : if (res != NULL_RTX)
31682 : : return res;
31683 : : }
31684 : : break;
31685 : :
31686 : : case 4:
31687 : : if (
31688 : : #line 9302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31689 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31690 : : && peep2_reg_dead_p (3, operands[0])
31691 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31692 : : && !reg_overlap_mentioned_p (operands[0], operands[2])))
31693 : : {
31694 : : *pmatch_len_ = 2;
31695 : : res = gen_peephole2_91 (insn, operands);
31696 : : if (res != NULL_RTX)
31697 : : return res;
31698 : : }
31699 : : break;
31700 : :
31701 : : case 5:
31702 : : if (
31703 : : #line 9328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31704 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31705 : : && peep2_reg_dead_p (3, operands[0])
31706 : : && peep2_reg_dead_p (4, operands[5])
31707 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31708 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31709 : : && !reg_overlap_mentioned_p (operands[5], operands[1])))
31710 : : {
31711 : : *pmatch_len_ = 3;
31712 : : res = gen_peephole2_95 (insn, operands);
31713 : : if (res != NULL_RTX)
31714 : : return res;
31715 : : }
31716 : : break;
31717 : :
31718 : : default:
31719 : : break;
31720 : : }
31721 : : }
31722 : : if (!register_operand (operands[0], E_HImode))
31723 : : return NULL;
31724 : : switch (pattern1535 (x4,
31725 : : E_HImode))
31726 : : {
31727 : : case 0:
31728 : : x5 = PATTERN (peep2_next_insn (2));
31729 : : x6 = XEXP (x5, 0);
31730 : : if (rtx_equal_p (x6, operands[1])
31731 : : &&
31732 : : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31733 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31734 : : && peep2_reg_dead_p (3, operands[0])
31735 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31736 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31737 : : && ix86_match_ccmode (peep2_next_insn (1),
31738 : : (GET_CODE (operands[3]) == PLUS
31739 : : || GET_CODE (operands[3]) == MINUS)
31740 : : ? CCGOCmode : CCNOmode)))
31741 : : {
31742 : : *pmatch_len_ = 2;
31743 : : res = gen_peephole2_298 (insn, operands);
31744 : : if (res != NULL_RTX)
31745 : : return res;
31746 : : }
31747 : : if (peep2_current_count < 4
31748 : : || pattern1800 (x6,
31749 : : E_HImode) != 0
31750 : : || !
31751 : : #line 28226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31752 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31753 : : && peep2_reg_dead_p (3, operands[0])
31754 : : && peep2_reg_dead_p (4, operands[4])
31755 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31756 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31757 : : && !reg_overlap_mentioned_p (operands[4], operands[1])
31758 : : && ix86_match_ccmode (peep2_next_insn (1),
31759 : : (GET_CODE (operands[3]) == PLUS
31760 : : || GET_CODE (operands[3]) == MINUS)
31761 : : ? CCGOCmode : CCNOmode)))
31762 : : return NULL;
31763 : : *pmatch_len_ = 3;
31764 : : return gen_peephole2_322 (insn, operands);
31765 : :
31766 : : case 1:
31767 : : x5 = PATTERN (peep2_next_insn (2));
31768 : : x6 = XEXP (x5, 0);
31769 : : if (rtx_equal_p (x6, operands[1]))
31770 : : {
31771 : : x7 = PATTERN (peep2_next_insn (3));
31772 : : if (pattern1798 (x7) == 0
31773 : : &&
31774 : : #line 28109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31775 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31776 : : && REGNO (operands[0]) == REGNO (operands[4])
31777 : : && peep2_reg_dead_p (4, operands[0])
31778 : : && (HImode != QImode
31779 : : || immediate_operand (operands[2], SImode)
31780 : : || any_QIreg_operand (operands[2], SImode))
31781 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31782 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31783 : : && ix86_match_ccmode (peep2_next_insn (3),
31784 : : (GET_CODE (operands[3]) == PLUS
31785 : : || GET_CODE (operands[3]) == MINUS)
31786 : : ? CCGOCmode : CCNOmode)))
31787 : : {
31788 : : *pmatch_len_ = 3;
31789 : : res = gen_peephole2_314 (insn, operands);
31790 : : if (res != NULL_RTX)
31791 : : return res;
31792 : : }
31793 : : }
31794 : : if (peep2_current_count < 5
31795 : : || pattern1842 (x6,
31796 : : E_HImode) != 0
31797 : : || !
31798 : : #line 28186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31799 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31800 : : && REGNO (operands[0]) == REGNO (operands[4])
31801 : : && peep2_reg_dead_p (3, operands[0])
31802 : : && peep2_reg_dead_p (5, operands[5])
31803 : : && (HImode != QImode
31804 : : || immediate_operand (operands[2], SImode)
31805 : : || any_QIreg_operand (operands[2], SImode))
31806 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31807 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
31808 : : && !reg_overlap_mentioned_p (operands[5], operands[1])
31809 : : && ix86_match_ccmode (peep2_next_insn (4),
31810 : : (GET_CODE (operands[3]) == PLUS
31811 : : || GET_CODE (operands[3]) == MINUS)
31812 : : ? CCGOCmode : CCNOmode)))
31813 : : return NULL;
31814 : : *pmatch_len_ = 4;
31815 : : return gen_peephole2_320 (insn, operands);
31816 : :
31817 : : default:
31818 : : return NULL;
31819 : : }
31820 : :
31821 : : default:
31822 : : return NULL;
31823 : : }
31824 : :
31825 : : case MEM:
31826 : : switch (GET_MODE (operands[0]))
31827 : : {
31828 : : case E_QImode:
31829 : : if (!push_operand (operands[0], E_QImode)
31830 : : || !memory_operand (operands[1], E_QImode)
31831 : : || !
31832 : : #line 27659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31833 : : (!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
31834 : : && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
31835 : : return NULL;
31836 : : *pmatch_len_ = 0;
31837 : : return gen_peephole2_251 (insn, operands);
31838 : :
31839 : : case E_HImode:
31840 : : if (!push_operand (operands[0], E_HImode)
31841 : : || !memory_operand (operands[1], E_HImode)
31842 : : || !
31843 : : #line 27659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31844 : : (!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
31845 : : && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
31846 : : return NULL;
31847 : : *pmatch_len_ = 0;
31848 : : return gen_peephole2_252 (insn, operands);
31849 : :
31850 : : case E_SFmode:
31851 : : if (!push_operand (operands[0], E_SFmode)
31852 : : || !memory_operand (operands[1], E_SFmode)
31853 : : || !
31854 : : #line 27670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31855 : : (!(TARGET_PUSH_MEMORY || optimize_insn_for_size_p ())
31856 : : && !RTX_FRAME_RELATED_P (peep2_next_insn (0))))
31857 : : return NULL;
31858 : : *pmatch_len_ = 0;
31859 : : return gen_peephole2_255 (insn, operands);
31860 : :
31861 : : default:
31862 : : return NULL;
31863 : : }
31864 : :
31865 : : default:
31866 : : return NULL;
31867 : : }
31868 : : }
31869 : :
31870 : : rtx_insn *
31871 : : peephole2_17 (rtx x1 ATTRIBUTE_UNUSED,
31872 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31873 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31874 : : {
31875 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31876 : : rtx x2, x3;
31877 : : rtx_insn *res ATTRIBUTE_UNUSED;
31878 : : x2 = PATTERN (peep2_next_insn (1));
31879 : : if (GET_CODE (x2) != SET)
31880 : : return NULL;
31881 : : x3 = XEXP (x2, 0);
31882 : : if (!general_reg_operand (x3, E_DImode))
31883 : : return NULL;
31884 : : operands[8] = x3;
31885 : : switch (pattern961 (x1,
31886 : : E_DImode,
31887 : : E_TImode))
31888 : : {
31889 : : case 0:
31890 : : if ((
31891 : : #line 9660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31892 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31893 : : && peep2_reg_dead_p (4, operands[0])
31894 : : && peep2_reg_dead_p (3, operands[2])
31895 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31896 : : && !reg_overlap_mentioned_p (operands[2], operands[1])
31897 : : && !reg_overlap_mentioned_p (operands[6], operands[9])
31898 : : && (rtx_equal_p (operands[6], operands[0])
31899 : : ? (rtx_equal_p (operands[7], operands[1])
31900 : : && rtx_equal_p (operands[8], operands[2]))
31901 : : : (rtx_equal_p (operands[8], operands[0])
31902 : : && rtx_equal_p (operands[9], operands[1])
31903 : : && rtx_equal_p (operands[6], operands[2])))) &&
31904 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31905 : : (TARGET_64BIT)))
31906 : : {
31907 : : *pmatch_len_ = 3;
31908 : : res = gen_peephole2_101 (insn, operands);
31909 : : if (res != NULL_RTX)
31910 : : return res;
31911 : : }
31912 : : break;
31913 : :
31914 : : case 1:
31915 : : if ((
31916 : : #line 9715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31917 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31918 : : && peep2_reg_dead_p (6, operands[0])
31919 : : && peep2_reg_dead_p (3, operands[2])
31920 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
31921 : : && !reg_overlap_mentioned_p (operands[2], operands[1])
31922 : : && !reg_overlap_mentioned_p (operands[6], operands[9])
31923 : : && !reg_overlap_mentioned_p (operands[0], operands[10])
31924 : : && !reg_overlap_mentioned_p (operands[10], operands[1])
31925 : : && !reg_overlap_mentioned_p (operands[0], operands[11])
31926 : : && !reg_overlap_mentioned_p (operands[11], operands[1])
31927 : : && (rtx_equal_p (operands[6], operands[0])
31928 : : ? (rtx_equal_p (operands[7], operands[1])
31929 : : && rtx_equal_p (operands[8], operands[2]))
31930 : : : (rtx_equal_p (operands[8], operands[0])
31931 : : && rtx_equal_p (operands[9], operands[1])
31932 : : && rtx_equal_p (operands[6], operands[2])))) &&
31933 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31934 : : (TARGET_64BIT)))
31935 : : {
31936 : : *pmatch_len_ = 5;
31937 : : res = gen_peephole2_103 (insn, operands);
31938 : : if (res != NULL_RTX)
31939 : : return res;
31940 : : }
31941 : : break;
31942 : :
31943 : : default:
31944 : : break;
31945 : : }
31946 : : operands[0] = x3;
31947 : : if (pattern964 (x1,
31948 : : E_DImode) != 0
31949 : : || !(
31950 : : #line 26404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31951 : : (TARGET_CMOVE
31952 : : && REGNO (operands[2]) != REGNO (operands[0])
31953 : : && REGNO (operands[2]) != REGNO (operands[1])
31954 : : && peep2_reg_dead_p (2, operands[1])
31955 : : && peep2_reg_dead_p (4, operands[2])
31956 : : && !reg_overlap_mentioned_p (operands[0], operands[3])
31957 : : && !reg_mentioned_p (operands[2], operands[6])) &&
31958 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31959 : : (TARGET_64BIT)))
31960 : : return NULL;
31961 : : *pmatch_len_ = 3;
31962 : : return gen_peephole2_208 (insn, operands);
31963 : : }
31964 : :
31965 : : rtx_insn *
31966 : : peephole2_21 (rtx x1 ATTRIBUTE_UNUSED,
31967 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31968 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31969 : : {
31970 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31971 : : rtx x2, x3, x4, x5, x6;
31972 : : rtx_insn *res ATTRIBUTE_UNUSED;
31973 : : x2 = PATTERN (peep2_next_insn (1));
31974 : : if (GET_CODE (x2) != SET)
31975 : : return NULL;
31976 : : x3 = XEXP (x2, 1);
31977 : : if (!binary_fp_operator (x3, E_VOIDmode))
31978 : : return NULL;
31979 : : operands[2] = x3;
31980 : : x4 = XEXP (x2, 0);
31981 : : if (!rtx_equal_p (x4, operands[0]))
31982 : : return NULL;
31983 : : x5 = XEXP (x3, 0);
31984 : : switch (GET_CODE (x5))
31985 : : {
31986 : : case REG:
31987 : : if (!rtx_equal_p (x5, operands[0]))
31988 : : return NULL;
31989 : : x6 = XEXP (x3, 1);
31990 : : operands[3] = x6;
31991 : : if (!memory_operand (operands[3], E_VOIDmode)
31992 : : || !
31993 : : #line 26712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31994 : : (REGNO (operands[0]) != REGNO (operands[1])))
31995 : : return NULL;
31996 : : *pmatch_len_ = 1;
31997 : : return gen_peephole2_211 (insn, operands);
31998 : :
31999 : : case SUBREG:
32000 : : case MEM:
32001 : : operands[3] = x5;
32002 : : if (!memory_operand (operands[3], E_VOIDmode))
32003 : : return NULL;
32004 : : x6 = XEXP (x3, 1);
32005 : : if (!rtx_equal_p (x6, operands[0])
32006 : : || !
32007 : : #line 26734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32008 : : (REGNO (operands[0]) != REGNO (operands[1])))
32009 : : return NULL;
32010 : : *pmatch_len_ = 1;
32011 : : return gen_peephole2_212 (insn, operands);
32012 : :
32013 : : default:
32014 : : return NULL;
32015 : : }
32016 : : }
32017 : :
32018 : : rtx_insn *
32019 : : peephole2_23 (rtx x1 ATTRIBUTE_UNUSED,
32020 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32021 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32022 : : {
32023 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32024 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
32025 : : rtx x10, x11, x12;
32026 : : rtx_insn *res ATTRIBUTE_UNUSED;
32027 : : x2 = PATTERN (peep2_next_insn (1));
32028 : : if (pattern413 (x2,
32029 : : CALL,
32030 : : 2) != 0)
32031 : : return NULL;
32032 : : x3 = XVECEXP (x2, 0, 0);
32033 : : x4 = XEXP (x3, 1);
32034 : : x5 = XEXP (x4, 0);
32035 : : if (GET_CODE (x5) != MEM
32036 : : || GET_MODE (x5) != E_QImode)
32037 : : return NULL;
32038 : : x6 = XVECEXP (x2, 0, 1);
32039 : : if (pattern1257 (x6) != 0)
32040 : : return NULL;
32041 : : x7 = XEXP (x6, 0);
32042 : : if (GET_CODE (x7) != REG
32043 : : || REGNO (x7) != 7
32044 : : || GET_MODE (x7) != E_SImode)
32045 : : return NULL;
32046 : : x8 = XEXP (x3, 0);
32047 : : operands[2] = x8;
32048 : : x9 = XEXP (x4, 1);
32049 : : operands[3] = x9;
32050 : : x10 = XEXP (x6, 1);
32051 : : x11 = XEXP (x10, 1);
32052 : : operands[4] = x11;
32053 : : if (!immediate_operand (operands[4], E_SImode))
32054 : : return NULL;
32055 : : x12 = XEXP (x5, 0);
32056 : : if (!rtx_equal_p (x12, operands[0])
32057 : : || !
32058 : : #line 20496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32059 : : (!TARGET_64BIT && SIBLING_CALL_P (peep2_next_insn (1))
32060 : : && !reg_mentioned_p (operands[0],
32061 : : CALL_INSN_FUNCTION_USAGE (peep2_next_insn (1)))))
32062 : : return NULL;
32063 : : *pmatch_len_ = 1;
32064 : : return gen_peephole2_188 (insn, operands);
32065 : : }
32066 : :
32067 : : rtx_insn *
32068 : : peephole2_25 (rtx x1 ATTRIBUTE_UNUSED,
32069 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32070 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32071 : : {
32072 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32073 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
32074 : : rtx x10, x11, x12;
32075 : : rtx_insn *res ATTRIBUTE_UNUSED;
32076 : : if (!memory_operand (operands[1], E_SImode)
32077 : : || !register_operand (operands[0], E_SImode))
32078 : : return NULL;
32079 : : x2 = PATTERN (peep2_next_insn (1));
32080 : : switch (GET_CODE (x2))
32081 : : {
32082 : : case PARALLEL:
32083 : : if (pattern842 (x2) != 0)
32084 : : return NULL;
32085 : : x3 = XVECEXP (x2, 0, 0);
32086 : : x4 = XEXP (x3, 1);
32087 : : switch (GET_CODE (x4))
32088 : : {
32089 : : case PLUS:
32090 : : case MINUS:
32091 : : case AND:
32092 : : case IOR:
32093 : : case XOR:
32094 : : if (peep2_current_count < 4)
32095 : : return NULL;
32096 : : operands[3] = x4;
32097 : : if (!plusminuslogic_operator (operands[3], E_SImode))
32098 : : return NULL;
32099 : : x5 = XVECEXP (x2, 0, 1);
32100 : : if (GET_CODE (x5) != CLOBBER)
32101 : : return NULL;
32102 : : x6 = XEXP (x5, 0);
32103 : : if (GET_CODE (x6) != REG
32104 : : || REGNO (x6) != 17
32105 : : || GET_MODE (x6) != E_CCmode)
32106 : : return NULL;
32107 : : x7 = XEXP (x4, 1);
32108 : : operands[2] = x7;
32109 : : if (!x86_64_nonmemory_operand (operands[2], E_SImode))
32110 : : return NULL;
32111 : : x8 = XEXP (x4, 0);
32112 : : if (!rtx_equal_p (x8, operands[0]))
32113 : : return NULL;
32114 : : x9 = XEXP (x3, 0);
32115 : : if (!rtx_equal_p (x9, operands[0]))
32116 : : return NULL;
32117 : : x10 = PATTERN (peep2_next_insn (3));
32118 : : if (GET_CODE (x10) != SET)
32119 : : return NULL;
32120 : : x11 = PATTERN (peep2_next_insn (2));
32121 : : x12 = XEXP (x11, 0);
32122 : : if (rtx_equal_p (x12, operands[1])
32123 : : && pattern1798 (x10) == 0
32124 : : &&
32125 : : #line 27950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32126 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32127 : : && peep2_reg_dead_p (4, operands[0])
32128 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32129 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
32130 : : && (SImode != QImode
32131 : : || immediate_operand (operands[2], QImode)
32132 : : || any_QIreg_operand (operands[2], QImode))
32133 : : && ix86_match_ccmode (peep2_next_insn (3),
32134 : : (GET_CODE (operands[3]) == PLUS
32135 : : || GET_CODE (operands[3]) == MINUS)
32136 : : ? CCGOCmode : CCNOmode)))
32137 : : {
32138 : : *pmatch_len_ = 3;
32139 : : res = gen_peephole2_295 (insn, operands);
32140 : : if (res != NULL_RTX)
32141 : : return res;
32142 : : }
32143 : : if (peep2_current_count < 5
32144 : : || pattern1799 (x12,
32145 : : E_SImode) != 0
32146 : : || !
32147 : : #line 28148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32148 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32149 : : && peep2_reg_dead_p (3, operands[0])
32150 : : && peep2_reg_dead_p (5, operands[4])
32151 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32152 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
32153 : : && !reg_overlap_mentioned_p (operands[4], operands[1])
32154 : : && (SImode != QImode
32155 : : || immediate_operand (operands[2], QImode)
32156 : : || any_QIreg_operand (operands[2], QImode))
32157 : : && ix86_match_ccmode (peep2_next_insn (4),
32158 : : (GET_CODE (operands[3]) == PLUS
32159 : : || GET_CODE (operands[3]) == MINUS)
32160 : : ? CCGOCmode : CCNOmode)))
32161 : : return NULL;
32162 : : *pmatch_len_ = 4;
32163 : : return gen_peephole2_317 (insn, operands);
32164 : :
32165 : : case COMPARE:
32166 : : if (pattern1258 (x2,
32167 : : E_SImode) != 0)
32168 : : return NULL;
32169 : : x11 = PATTERN (peep2_next_insn (2));
32170 : : x12 = XEXP (x11, 0);
32171 : : if (rtx_equal_p (x12, operands[1])
32172 : : &&
32173 : : #line 27986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32174 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32175 : : && peep2_reg_dead_p (3, operands[0])
32176 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32177 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
32178 : : && ix86_match_ccmode (peep2_next_insn (1),
32179 : : (GET_CODE (operands[3]) == PLUS
32180 : : || GET_CODE (operands[3]) == MINUS)
32181 : : ? CCGOCmode : CCNOmode)))
32182 : : {
32183 : : *pmatch_len_ = 2;
32184 : : res = gen_peephole2_299 (insn, operands);
32185 : : if (res != NULL_RTX)
32186 : : return res;
32187 : : }
32188 : : if (peep2_current_count < 4
32189 : : || pattern1800 (x12,
32190 : : E_SImode) != 0
32191 : : || !
32192 : : #line 28226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32193 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32194 : : && peep2_reg_dead_p (3, operands[0])
32195 : : && peep2_reg_dead_p (4, operands[4])
32196 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32197 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
32198 : : && !reg_overlap_mentioned_p (operands[4], operands[1])
32199 : : && ix86_match_ccmode (peep2_next_insn (1),
32200 : : (GET_CODE (operands[3]) == PLUS
32201 : : || GET_CODE (operands[3]) == MINUS)
32202 : : ? CCGOCmode : CCNOmode)))
32203 : : return NULL;
32204 : : *pmatch_len_ = 3;
32205 : : return gen_peephole2_323 (insn, operands);
32206 : :
32207 : : default:
32208 : : return NULL;
32209 : : }
32210 : :
32211 : : case SET:
32212 : : if (pattern843 (x2,
32213 : : E_SImode) != 0
32214 : : || !
32215 : : #line 28262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32216 : : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
32217 : : && (REGNO (operands[4]) == REGNO (operands[0])
32218 : : || REGNO (operands[4]) == REGNO (operands[3]))
32219 : : && (rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
32220 : : ? 3 : 0], operands[5])
32221 : : ? rtx_equal_p (operands[2], operands[6])
32222 : : : rtx_equal_p (operands[2], operands[5])
32223 : : && rtx_equal_p (operands[REGNO (operands[4]) == REGNO (operands[0])
32224 : : ? 3 : 0], operands[6]))
32225 : : && peep2_reg_dead_p (4, operands[4])
32226 : : && peep2_reg_dead_p (5, operands[REGNO (operands[4]) == REGNO (operands[0])
32227 : : ? 3 : 0])
32228 : : && !reg_overlap_mentioned_p (operands[0], operands[1])
32229 : : && !reg_overlap_mentioned_p (operands[0], operands[2])
32230 : : && !reg_overlap_mentioned_p (operands[3], operands[0])
32231 : : && !reg_overlap_mentioned_p (operands[3], operands[1])
32232 : : && !reg_overlap_mentioned_p (operands[3], operands[2])
32233 : : && (SImode != QImode
32234 : : || immediate_operand (operands[2], QImode)
32235 : : || any_QIreg_operand (operands[2], QImode))))
32236 : : return NULL;
32237 : : *pmatch_len_ = 4;
32238 : : return gen_peephole2_327 (insn, operands);
32239 : :
32240 : : default:
32241 : : return NULL;
32242 : : }
32243 : : }
32244 : :
32245 : : rtx_insn *
32246 : : peephole2_32 (rtx x1 ATTRIBUTE_UNUSED,
32247 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32248 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32249 : : {
32250 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32251 : : rtx x2, x3, x4, x5, x6;
32252 : : rtx_insn *res ATTRIBUTE_UNUSED;
32253 : : x2 = XEXP (x1, 0);
32254 : : if (REGNO (x2) != 17)
32255 : : return NULL;
32256 : : x3 = XEXP (x1, 1);
32257 : : operands[0] = x3;
32258 : : x4 = PATTERN (peep2_next_insn (1));
32259 : : if (GET_CODE (x4) != SET)
32260 : : return NULL;
32261 : : x5 = XEXP (x4, 1);
32262 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
32263 : : return NULL;
32264 : : x6 = XEXP (x4, 0);
32265 : : operands[1] = x6;
32266 : : switch (GET_MODE (operands[1]))
32267 : : {
32268 : : case E_QImode:
32269 : : if (!general_reg_operand (operands[1], E_QImode)
32270 : : || !
32271 : : #line 26891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32272 : : (peep2_regno_dead_p (0, FLAGS_REG)
32273 : : && !reg_overlap_mentioned_p (operands[1], operands[0])))
32274 : : return NULL;
32275 : : *pmatch_len_ = 1;
32276 : : return gen_peephole2_213 (insn, operands);
32277 : :
32278 : : case E_HImode:
32279 : : if (!general_reg_operand (operands[1], E_HImode)
32280 : : || !
32281 : : #line 26891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32282 : : (peep2_regno_dead_p (0, FLAGS_REG)
32283 : : && !reg_overlap_mentioned_p (operands[1], operands[0])))
32284 : : return NULL;
32285 : : *pmatch_len_ = 1;
32286 : : return gen_peephole2_214 (insn, operands);
32287 : :
32288 : : case E_SImode:
32289 : : if (!general_reg_operand (operands[1], E_SImode)
32290 : : || !
32291 : : #line 26891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32292 : : (peep2_regno_dead_p (0, FLAGS_REG)
32293 : : && !reg_overlap_mentioned_p (operands[1], operands[0])))
32294 : : return NULL;
32295 : : *pmatch_len_ = 1;
32296 : : return gen_peephole2_215 (insn, operands);
32297 : :
32298 : : case E_DImode:
32299 : : if (!general_reg_operand (operands[1], E_DImode)
32300 : : || !(
32301 : : #line 26891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32302 : : (peep2_regno_dead_p (0, FLAGS_REG)
32303 : : && !reg_overlap_mentioned_p (operands[1], operands[0])) &&
32304 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32305 : : (TARGET_64BIT)))
32306 : : return NULL;
32307 : : *pmatch_len_ = 1;
32308 : : return gen_peephole2_216 (insn, operands);
32309 : :
32310 : : default:
32311 : : return NULL;
32312 : : }
32313 : : }
32314 : :
32315 : : rtx_insn *
32316 : : peephole2_39 (rtx x1 ATTRIBUTE_UNUSED,
32317 : : rtx_insn *insn ATTRIBUTE_UNUSED,
32318 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
32319 : : {
32320 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
32321 : : rtx x2, x3, x4, x5, x6, x7;
32322 : : rtx_insn *res ATTRIBUTE_UNUSED;
32323 : : x2 = XVECEXP (x1, 0, 0);
32324 : : x3 = XEXP (x2, 0);
32325 : : switch (GET_CODE (x3))
32326 : : {
32327 : : case REG:
32328 : : if (peep2_current_count < 2)
32329 : : return NULL;
32330 : : operands[0] = x3;
32331 : : switch (GET_MODE (operands[0]))
32332 : : {
32333 : : case E_SImode:
32334 : : x4 = PATTERN (peep2_next_insn (1));
32335 : : switch (pattern1349 (x4,
32336 : : E_SImode))
32337 : : {
32338 : : case 0:
32339 : : if (!
32340 : : #line 3643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32341 : : (REGNO (operands[0]) == REGNO (operands[1])))
32342 : : return NULL;
32343 : : *pmatch_len_ = 1;
32344 : : return gen_peephole2_29 (insn, operands);
32345 : :
32346 : : case 1:
32347 : : if (!
32348 : : #line 3643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32349 : : (REGNO (operands[0]) == REGNO (operands[1])))
32350 : : return NULL;
32351 : : *pmatch_len_ = 1;
32352 : : return gen_peephole2_31 (insn, operands);
32353 : :
32354 : : case 2:
32355 : : if (!(
32356 : : #line 3643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32357 : : (REGNO (operands[0]) == REGNO (operands[1])) &&
32358 : : #line 1164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32359 : : (TARGET_64BIT)))
32360 : : return NULL;
32361 : : *pmatch_len_ = 1;
32362 : : return gen_peephole2_33 (insn, operands);
32363 : :
32364 : : case 3:
32365 : : if (!
32366 : : #line 4937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32367 : : (REGNO (operands[0]) == REGNO (operands[1])
32368 : : && (SImode != SImode
32369 : : || !TARGET_ZERO_EXTEND_WITH_AND
32370 : : || !optimize_function_for_speed_p (cfun))))
32371 : : return NULL;
32372 : : *pmatch_len_ = 1;
32373 : : return gen_peephole2_41 (insn, operands);
32374 : :
32375 : : case 4:
32376 : : if (!
32377 : : #line 4937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32378 : : (REGNO (operands[0]) == REGNO (operands[1])
32379 : : && (SImode != SImode
32380 : : || !TARGET_ZERO_EXTEND_WITH_AND
32381 : : || !optimize_function_for_speed_p (cfun))))
32382 : : return NULL;
32383 : : *pmatch_len_ = 1;
32384 : : return gen_peephole2_43 (insn, operands);
32385 : :
32386 : : case 5:
32387 : : x5 = XVECEXP (x4, 0, 0);
32388 : : x6 = XEXP (x5, 1);
32389 : : x7 = XEXP (x6, 1);
32390 : : operands[1] = x7;
32391 : : if (x86_64_general_operand (operands[1], E_SImode)
32392 : : &&
32393 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32394 : : (!reg_mentioned_p (operands[0], operands[1])))
32395 : : {
32396 : : *pmatch_len_ = 1;
32397 : : res = gen_peephole2_133 (insn, operands);
32398 : : if (res != NULL_RTX)
32399 : : return res;
32400 : : }
32401 : : if (!rtx_equal_p (x7, operands[0]))
32402 : : return NULL;
32403 : : *pmatch_len_ = 1;
32404 : : return gen_peephole2_145 (insn, operands);
32405 : :
32406 : : case 6:
32407 : : x5 = XVECEXP (x4, 0, 0);
32408 : : x6 = XEXP (x5, 1);
32409 : : x7 = XEXP (x6, 1);
32410 : : operands[1] = x7;
32411 : : if (x86_64_general_operand (operands[1], E_SImode)
32412 : : &&
32413 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32414 : : (!reg_mentioned_p (operands[0], operands[1])))
32415 : : {
32416 : : *pmatch_len_ = 1;
32417 : : res = gen_peephole2_134 (insn, operands);
32418 : : if (res != NULL_RTX)
32419 : : return res;
32420 : : }
32421 : : if (!rtx_equal_p (x7, operands[0]))
32422 : : return NULL;
32423 : : *pmatch_len_ = 1;
32424 : : return gen_peephole2_146 (insn, operands);
32425 : :
32426 : : case 7:
32427 : : x5 = XVECEXP (x4, 0, 0);
32428 : : x6 = XEXP (x5, 1);
32429 : : x7 = XEXP (x6, 1);
32430 : : operands[1] = x7;
32431 : : if (x86_64_general_operand (operands[1], E_SImode)
32432 : : &&
32433 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32434 : : (!reg_mentioned_p (operands[0], operands[1])))
32435 : : {
32436 : : *pmatch_len_ = 1;
32437 : : res = gen_peephole2_135 (insn, operands);
32438 : : if (res != NULL_RTX)
32439 : : return res;
32440 : : }
32441 : : if (!rtx_equal_p (x7, operands[0]))
32442 : : return NULL;
32443 : : *pmatch_len_ = 1;
32444 : : return gen_peephole2_147 (insn, operands);
32445 : :
32446 : : case 8:
32447 : : if (!
32448 : : #line 14331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32449 : : (REGNO (operands[0]) != REGNO (operands[1])))
32450 : : return NULL;
32451 : : *pmatch_len_ = 3;
32452 : : return gen_peephole2_153 (insn, operands);
32453 : :
32454 : : default:
32455 : : return NULL;
32456 : : }
32457 : :
32458 : : case E_DImode:
32459 : : x4 = PATTERN (peep2_next_insn (1));
32460 : : switch (pattern1349 (x4,
32461 : : E_DImode))
32462 : : {
32463 : : case 0:
32464 : : if (!(
32465 : : #line 3643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32466 : : (REGNO (operands[0]) == REGNO (operands[1])) &&
32467 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32468 : : (TARGET_64BIT)))
32469 : : return NULL;
32470 : : *pmatch_len_ = 1;
32471 : : return gen_peephole2_30 (insn, operands);
32472 : :
32473 : : case 1:
32474 : : if (!(
32475 : : #line 3643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32476 : : (REGNO (operands[0]) == REGNO (operands[1])) &&
32477 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32478 : : (TARGET_64BIT)))
32479 : : return NULL;
32480 : : *pmatch_len_ = 1;
32481 : : return gen_peephole2_32 (insn, operands);
32482 : :
32483 : : case 2:
32484 : : if (!(
32485 : : #line 3643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32486 : : (REGNO (operands[0]) == REGNO (operands[1])) &&
32487 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32488 : : (TARGET_64BIT)))
32489 : : return NULL;
32490 : : *pmatch_len_ = 1;
32491 : : return gen_peephole2_34 (insn, operands);
32492 : :
32493 : : case 3:
32494 : : if (!(
32495 : : #line 4937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32496 : : (REGNO (operands[0]) == REGNO (operands[1])
32497 : : && (DImode != SImode
32498 : : || !TARGET_ZERO_EXTEND_WITH_AND
32499 : : || !optimize_function_for_speed_p (cfun))) &&
32500 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32501 : : (TARGET_64BIT)))
32502 : : return NULL;
32503 : : *pmatch_len_ = 1;
32504 : : return gen_peephole2_42 (insn, operands);
32505 : :
32506 : : case 4:
32507 : : if (!(
32508 : : #line 4937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32509 : : (REGNO (operands[0]) == REGNO (operands[1])
32510 : : && (DImode != SImode
32511 : : || !TARGET_ZERO_EXTEND_WITH_AND
32512 : : || !optimize_function_for_speed_p (cfun))) &&
32513 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32514 : : (TARGET_64BIT)))
32515 : : return NULL;
32516 : : *pmatch_len_ = 1;
32517 : : return gen_peephole2_44 (insn, operands);
32518 : :
32519 : : case 5:
32520 : : x5 = XVECEXP (x4, 0, 0);
32521 : : x6 = XEXP (x5, 1);
32522 : : x7 = XEXP (x6, 1);
32523 : : operands[1] = x7;
32524 : : if (x86_64_general_operand (operands[1], E_DImode)
32525 : : && (
32526 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32527 : : (!reg_mentioned_p (operands[0], operands[1])) &&
32528 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32529 : : (TARGET_64BIT)))
32530 : : {
32531 : : *pmatch_len_ = 1;
32532 : : res = gen_peephole2_136 (insn, operands);
32533 : : if (res != NULL_RTX)
32534 : : return res;
32535 : : }
32536 : : if (!rtx_equal_p (x7, operands[0])
32537 : : || !
32538 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32539 : : (TARGET_64BIT))
32540 : : return NULL;
32541 : : *pmatch_len_ = 1;
32542 : : return gen_peephole2_148 (insn, operands);
32543 : :
32544 : : case 6:
32545 : : x5 = XVECEXP (x4, 0, 0);
32546 : : x6 = XEXP (x5, 1);
32547 : : x7 = XEXP (x6, 1);
32548 : : operands[1] = x7;
32549 : : if (x86_64_general_operand (operands[1], E_DImode)
32550 : : && (
32551 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32552 : : (!reg_mentioned_p (operands[0], operands[1])) &&
32553 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32554 : : (TARGET_64BIT)))
32555 : : {
32556 : : *pmatch_len_ = 1;
32557 : : res = gen_peephole2_137 (insn, operands);
32558 : : if (res != NULL_RTX)
32559 : : return res;
32560 : : }
32561 : : if (!rtx_equal_p (x7, operands[0])
32562 : : || !
32563 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32564 : : (TARGET_64BIT))
32565 : : return NULL;
32566 : : *pmatch_len_ = 1;
32567 : : return gen_peephole2_149 (insn, operands);
32568 : :
32569 : : case 7:
32570 : : x5 = XVECEXP (x4, 0, 0);
32571 : : x6 = XEXP (x5, 1);
32572 : : x7 = XEXP (x6, 1);
32573 : : operands[1] = x7;
32574 : : if (x86_64_general_operand (operands[1], E_DImode)
32575 : : && (
32576 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32577 : : (!reg_mentioned_p (operands[0], operands[1])) &&
32578 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32579 : : (TARGET_64BIT)))
32580 : : {
32581 : : *pmatch_len_ = 1;
32582 : : res = gen_peephole2_138 (insn, operands);
32583 : : if (res != NULL_RTX)
32584 : : return res;
32585 : : }
32586 : : if (!rtx_equal_p (x7, operands[0])
32587 : : || !
32588 : : #line 1161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32589 : : (TARGET_64BIT))
32590 : : return NULL;
32591 : : *pmatch_len_ = 1;
32592 : : return gen_peephole2_150 (insn, operands);
32593 : :
32594 : : case 8:
32595 : : if (!(
32596 : : #line 14331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32597 : : (REGNO (operands[0]) != REGNO (operands[1])) &&
32598 : : #line 1167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32599 : : (TARGET_64BIT)))
32600 : : return NULL;
32601 : : *pmatch_len_ = 3;
32602 : : return gen_peephole2_154 (insn, operands);
32603 : :
32604 : : default:
32605 : : return NULL;
32606 : : }
32607 : :
32608 : : case E_QImode:
32609 : : x4 = PATTERN (peep2_next_insn (1));
32610 : : switch (pattern1350 (x4,
32611 : : E_QImode))
32612 : : {
32613 : : case 0:
32614 : : x5 = XVECEXP (x4, 0, 0);
32615 : : x6 = XEXP (x5, 1);
32616 : : x7 = XEXP (x6, 1);
32617 : : operands[1] = x7;
32618 : : if (general_operand (operands[1], E_QImode)
32619 : : &&
32620 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32621 : : (!reg_mentioned_p (operands[0], operands[1])))
32622 : : {
32623 : : *pmatch_len_ = 1;
32624 : : res = gen_peephole2_127 (insn, operands);
32625 : : if (res != NULL_RTX)
32626 : : return res;
32627 : : }
32628 : : if (!rtx_equal_p (x7, operands[0]))
32629 : : return NULL;
32630 : : *pmatch_len_ = 1;
32631 : : return gen_peephole2_139 (insn, operands);
32632 : :
32633 : : case 1:
32634 : : x5 = XVECEXP (x4, 0, 0);
32635 : : x6 = XEXP (x5, 1);
32636 : : x7 = XEXP (x6, 1);
32637 : : operands[1] = x7;
32638 : : if (general_operand (operands[1], E_QImode)
32639 : : &&
32640 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32641 : : (!reg_mentioned_p (operands[0], operands[1])))
32642 : : {
32643 : : *pmatch_len_ = 1;
32644 : : res = gen_peephole2_128 (insn, operands);
32645 : : if (res != NULL_RTX)
32646 : : return res;
32647 : : }
32648 : : if (!rtx_equal_p (x7, operands[0]))
32649 : : return NULL;
32650 : : *pmatch_len_ = 1;
32651 : : return gen_peephole2_140 (insn, operands);
32652 : :
32653 : : case 2:
32654 : : x5 = XVECEXP (x4, 0, 0);
32655 : : x6 = XEXP (x5, 1);
32656 : : x7 = XEXP (x6, 1);
32657 : : operands[1] = x7;
32658 : : if (general_operand (operands[1], E_QImode)
32659 : : &&
32660 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32661 : : (!reg_mentioned_p (operands[0], operands[1])))
32662 : : {
32663 : : *pmatch_len_ = 1;
32664 : : res = gen_peephole2_129 (insn, operands);
32665 : : if (res != NULL_RTX)
32666 : : return res;
32667 : : }
32668 : : if (!rtx_equal_p (x7, operands[0]))
32669 : : return NULL;
32670 : : *pmatch_len_ = 1;
32671 : : return gen_peephole2_141 (insn, operands);
32672 : :
32673 : : default:
32674 : : return NULL;
32675 : : }
32676 : :
32677 : : case E_HImode:
32678 : : x4 = PATTERN (peep2_next_insn (1));
32679 : : switch (pattern1350 (x4,
32680 : : E_HImode))
32681 : : {
32682 : : case 0:
32683 : : x5 = XVECEXP (x4, 0, 0);
32684 : : x6 = XEXP (x5, 1);
32685 : : x7 = XEXP (x6, 1);
32686 : : operands[1] = x7;
32687 : : if (general_operand (operands[1], E_HImode)
32688 : : &&
32689 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32690 : : (!reg_mentioned_p (operands[0], operands[1])))
32691 : : {
32692 : : *pmatch_len_ = 1;
32693 : : res = gen_peephole2_130 (insn, operands);
32694 : : if (res != NULL_RTX)
32695 : : return res;
32696 : : }
32697 : : if (!rtx_equal_p (x7, operands[0]))
32698 : : return NULL;
32699 : : *pmatch_len_ = 1;
32700 : : return gen_peephole2_142 (insn, operands);
32701 : :
32702 : : case 1:
32703 : : x5 = XVECEXP (x4, 0, 0);
32704 : : x6 = XEXP (x5, 1);
32705 : : x7 = XEXP (x6, 1);
32706 : : operands[1] = x7;
32707 : : if (general_operand (operands[1], E_HImode)
32708 : : &&
32709 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32710 : : (!reg_mentioned_p (operands[0], operands[1])))
32711 : : {
32712 : : *pmatch_len_ = 1;
32713 : : res = gen_peephole2_131 (insn, operands);
32714 : : if (res != NULL_RTX)
32715 : : return res;
32716 : : }
32717 : : if (!rtx_equal_p (x7, operands[0]))
32718 : : return NULL;
32719 : : *pmatch_len_ = 1;
32720 : : return gen_peephole2_143 (insn, operands);
32721 : :
32722 : : case 2:
32723 : : x5 = XVECEXP (x4, 0, 0);
32724 : : x6 = XEXP (x5, 1);
32725 : : x7 = XEXP (x6, 1);
32726 : : operands[1] = x7;
32727 : : if (general_operand (operands[1], E_HImode)
32728 : : &&
32729 : : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32730 : : (!reg_mentioned_p (operands[0], operands[1])))
32731 : : {
32732 : : *pmatch_len_ = 1;
32733 : : res = gen_peephole2_132 (insn, operands);
32734 : : if (res != NULL_RTX)
32735 : : return res;
32736 : : }
32737 : : if (!rtx_equal_p (x7, operands[0]))
32738 : : return NULL;
32739 : : *pmatch_len_ = 1;
32740 : : return gen_peephole2_144 (insn, operands);
32741 : :
32742 : : default:
32743 : : return NULL;
32744 : : }
32745 : :
32746 : : default:
32747 : : return NULL;
32748 : : }
32749 : :
32750 : : case ZERO_EXTRACT:
32751 : : if (pattern1066 (x3) != 0
32752 : : || !
32753 : : #line 19101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32754 : : (TARGET_64BIT && !TARGET_USE_BT))
32755 : : return NULL;
32756 : : *pmatch_len_ = 0;
32757 : : return gen_peephole2_166 (insn, operands);
32758 : :
32759 : : default:
32760 : : return NULL;
32761 : : }
32762 : : }
|