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 57 : pattern1 (rtx x1)
57 : {
58 57 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 57 : rtx x2, x3;
60 57 : int res ATTRIBUTE_UNUSED;
61 57 : x2 = XEXP (x1, 1);
62 57 : x3 = XEXP (x2, 1);
63 57 : operands[3] = x3;
64 57 : if (!const_int_operand (operands[3], E_QImode))
65 : return -1;
66 57 : return pattern0 (x1); /* [-1, 1] */
67 : }
68 :
69 : int
70 327 : pattern10 (rtx x1)
71 : {
72 327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
73 327 : int res ATTRIBUTE_UNUSED;
74 327 : if (!memory_operand (operands[0], E_V8QImode)
75 327 : || GET_MODE (x1) != E_V8QImode)
76 : return -1;
77 49 : switch (GET_MODE (operands[1]))
78 : {
79 45 : case E_V8HImode:
80 45 : if (!register_operand (operands[1], E_V8HImode))
81 : return -1;
82 : return 0;
83 :
84 2 : case E_V8SImode:
85 2 : if (!register_operand (operands[1], E_V8SImode))
86 : return -1;
87 : return 1;
88 :
89 2 : case E_V8DImode:
90 2 : if (!register_operand (operands[1], E_V8DImode))
91 : return -1;
92 : return 2;
93 :
94 : default:
95 : return -1;
96 : }
97 : }
98 :
99 : int
100 23911 : pattern21 (rtx x1, machine_mode i1)
101 : {
102 23911 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
103 23911 : rtx x2;
104 23911 : int res ATTRIBUTE_UNUSED;
105 23911 : if (GET_MODE (x1) != i1)
106 : return -1;
107 23911 : x2 = XEXP (x1, 0);
108 23911 : if (GET_MODE (x2) != i1
109 23911 : || !nonimmediate_operand (operands[1], i1)
110 44261 : || !x86_64_general_operand (operands[2], i1))
111 3579 : return -1;
112 : return 0;
113 : }
114 :
115 : int
116 72933 : pattern25 (rtx x1)
117 : {
118 72933 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
119 72933 : rtx x2, x3, x4, x5, x6, x7;
120 72933 : int res ATTRIBUTE_UNUSED;
121 72933 : x2 = XEXP (x1, 0);
122 72933 : operands[0] = x2;
123 72933 : x3 = XEXP (x1, 1);
124 72933 : x4 = XEXP (x3, 0);
125 72933 : switch (GET_CODE (x4))
126 : {
127 682 : case VEC_SELECT:
128 682 : x5 = XEXP (x4, 1);
129 682 : if (GET_CODE (x5) != PARALLEL
130 682 : || XVECLEN (x5, 0) != 1)
131 : return -1;
132 153 : x6 = XVECEXP (x5, 0, 0);
133 153 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
134 : return -1;
135 109 : x7 = XEXP (x4, 0);
136 109 : operands[1] = x7;
137 109 : switch (GET_MODE (operands[0]))
138 : {
139 97 : case E_SImode:
140 97 : return pattern23 (x3,
141 97 : E_SImode); /* [-1, 2] */
142 :
143 12 : case E_DImode:
144 12 : res = pattern23 (x3,
145 : E_DImode);
146 12 : if (res >= 0)
147 3 : return res + 3; /* [3, 5] */
148 : return -1;
149 :
150 : default:
151 : return -1;
152 : }
153 :
154 14625 : case SUBREG:
155 14625 : case MEM:
156 14625 : operands[1] = x4;
157 14625 : if (!memory_operand (operands[1], E_HFmode))
158 : return -1;
159 0 : res = pattern24 (x3);
160 0 : if (res >= 0)
161 0 : return res + 6; /* [6, 7] */
162 : return -1;
163 :
164 : default:
165 : return -1;
166 : }
167 : }
168 :
169 : int
170 78486 : pattern37 (rtx x1)
171 : {
172 78486 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
173 78486 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
174 78486 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
175 78486 : int res ATTRIBUTE_UNUSED;
176 78486 : x2 = XVECEXP (x1, 0, 1);
177 78486 : if (GET_CODE (x2) != CLOBBER)
178 : return -1;
179 73643 : x3 = XEXP (x2, 0);
180 73643 : if (GET_CODE (x3) != REG
181 73643 : || REGNO (x3) != 8
182 147286 : || GET_MODE (x3) != E_XFmode)
183 : return -1;
184 73643 : x4 = XVECEXP (x1, 0, 2);
185 73643 : if (GET_CODE (x4) != CLOBBER)
186 : return -1;
187 73643 : x5 = XEXP (x4, 0);
188 73643 : if (GET_CODE (x5) != REG
189 73643 : || REGNO (x5) != 9
190 147286 : || GET_MODE (x5) != E_XFmode)
191 : return -1;
192 73643 : x6 = XVECEXP (x1, 0, 3);
193 73643 : if (GET_CODE (x6) != CLOBBER)
194 : return -1;
195 73643 : x7 = XEXP (x6, 0);
196 73643 : if (GET_CODE (x7) != REG
197 73643 : || REGNO (x7) != 10
198 147286 : || GET_MODE (x7) != E_XFmode)
199 : return -1;
200 73643 : x8 = XVECEXP (x1, 0, 4);
201 73643 : if (GET_CODE (x8) != CLOBBER)
202 : return -1;
203 73643 : x9 = XEXP (x8, 0);
204 73643 : if (GET_CODE (x9) != REG
205 73643 : || REGNO (x9) != 11
206 147286 : || GET_MODE (x9) != E_XFmode)
207 : return -1;
208 73643 : x10 = XVECEXP (x1, 0, 5);
209 73643 : if (GET_CODE (x10) != CLOBBER)
210 : return -1;
211 73643 : x11 = XEXP (x10, 0);
212 73643 : if (GET_CODE (x11) != REG
213 73643 : || REGNO (x11) != 12
214 147286 : || GET_MODE (x11) != E_XFmode)
215 : return -1;
216 73643 : x12 = XVECEXP (x1, 0, 6);
217 73643 : if (GET_CODE (x12) != CLOBBER)
218 : return -1;
219 73643 : x13 = XEXP (x12, 0);
220 73643 : if (GET_CODE (x13) != REG
221 73643 : || REGNO (x13) != 13
222 147286 : || GET_MODE (x13) != E_XFmode)
223 : return -1;
224 73643 : x14 = XVECEXP (x1, 0, 7);
225 73643 : if (GET_CODE (x14) != CLOBBER)
226 : return -1;
227 73643 : x15 = XEXP (x14, 0);
228 73643 : if (GET_CODE (x15) != REG
229 73643 : || REGNO (x15) != 14
230 147286 : || GET_MODE (x15) != E_XFmode)
231 : return -1;
232 73643 : x16 = XVECEXP (x1, 0, 8);
233 73643 : if (GET_CODE (x16) != CLOBBER)
234 : return -1;
235 73643 : x17 = XEXP (x16, 0);
236 73643 : if (GET_CODE (x17) != REG
237 73643 : || REGNO (x17) != 15
238 147286 : || GET_MODE (x17) != E_XFmode)
239 0 : return -1;
240 : return 0;
241 : }
242 :
243 : int
244 16918586 : pattern46 (rtx x1, machine_mode i1)
245 : {
246 16918586 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
247 16918586 : rtx x2, x3;
248 16918586 : int res ATTRIBUTE_UNUSED;
249 16918586 : x2 = XEXP (x1, 0);
250 16918586 : if (GET_CODE (x2) != REG
251 16918586 : || REGNO (x2) != 17
252 33837171 : || GET_MODE (x2) != i1)
253 : return -1;
254 12524432 : x3 = XEXP (x1, 1);
255 12524432 : if (GET_MODE (x3) != i1)
256 0 : return -1;
257 : return 0;
258 : }
259 :
260 : int
261 186941 : pattern52 (rtx x1, int *pnum_clobbers)
262 : {
263 186941 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
264 186941 : rtx x2, x3, x4, x5, x6, x7;
265 186941 : int res ATTRIBUTE_UNUSED;
266 186941 : if (pnum_clobbers == NULL)
267 : return -1;
268 186708 : x2 = XEXP (x1, 1);
269 186708 : x3 = XEXP (x2, 1);
270 186708 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
271 : return -1;
272 33546 : x4 = XEXP (x1, 0);
273 33546 : if (GET_CODE (x4) != REG
274 33546 : || REGNO (x4) != 17)
275 : return -1;
276 33546 : x5 = XEXP (x2, 0);
277 33546 : x6 = XEXP (x5, 0);
278 33546 : operands[1] = x6;
279 33546 : x7 = XEXP (x5, 1);
280 33546 : operands[2] = x7;
281 33546 : switch (GET_MODE (x5))
282 : {
283 567 : case E_QImode:
284 567 : if (!nonimmediate_operand (operands[1], E_QImode)
285 567 : || !const_1_to_31_operand (operands[2], E_QImode))
286 83 : return -1;
287 : return 0;
288 :
289 810 : case E_HImode:
290 810 : if (!nonimmediate_operand (operands[1], E_HImode)
291 810 : || !const_1_to_31_operand (operands[2], E_QImode))
292 39 : return -1;
293 : return 1;
294 :
295 3975 : case E_SImode:
296 3975 : if (!nonimmediate_operand (operands[1], E_SImode)
297 3975 : || !const_1_to_31_operand (operands[2], E_QImode))
298 1559 : return -1;
299 : return 2;
300 :
301 27526 : case E_DImode:
302 27526 : if (!nonimmediate_operand (operands[1], E_DImode)
303 27526 : || !const_1_to_63_operand (operands[2], E_QImode))
304 3755 : return -1;
305 : return 3;
306 :
307 : default:
308 : return -1;
309 : }
310 : }
311 :
312 : int
313 45226 : pattern64 (rtx x1, machine_mode i1)
314 : {
315 45226 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
316 45226 : int res ATTRIBUTE_UNUSED;
317 45226 : if (!register_operand (operands[0], i1)
318 44409 : || GET_MODE (x1) != i1
319 44409 : || !register_operand (operands[1], i1)
320 83364 : || !nonimmediate_operand (operands[2], i1))
321 8043 : return -1;
322 : return 0;
323 : }
324 :
325 : int
326 13395 : pattern67 (rtx x1, machine_mode i1)
327 : {
328 13395 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
329 13395 : int res ATTRIBUTE_UNUSED;
330 13395 : if (!register_operand (operands[0], i1)
331 12929 : || GET_MODE (x1) != i1
332 12929 : || !register_operand (operands[1], E_V4HImode)
333 22207 : || !register_mmxmem_operand (operands[2], E_V4HImode))
334 7401 : return -1;
335 : return 0;
336 : }
337 :
338 : int
339 1866 : pattern71 (rtx x1)
340 : {
341 1866 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
342 1866 : rtx x2, x3, x4, x5;
343 1866 : int res ATTRIBUTE_UNUSED;
344 1866 : x2 = XEXP (x1, 0);
345 1866 : operands[0] = x2;
346 1866 : x3 = XEXP (x1, 1);
347 1866 : x4 = XVECEXP (x3, 0, 0);
348 1866 : operands[1] = x4;
349 1866 : x5 = XVECEXP (x3, 0, 1);
350 1866 : operands[2] = x5;
351 1866 : return pattern70 (x3); /* [-1, 8] */
352 : }
353 :
354 : int
355 1493 : pattern77 (rtx x1, machine_mode i1)
356 : {
357 1493 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
358 1493 : int res ATTRIBUTE_UNUSED;
359 1493 : if (!register_operand (operands[0], i1)
360 1493 : || GET_MODE (x1) != i1
361 1493 : || !nonimmediate_operand (operands[1], i1)
362 2559 : || !general_operand (operands[2], i1))
363 427 : return -1;
364 : return 0;
365 : }
366 :
367 : int
368 1539100 : pattern82 (rtx x1, int *pnum_clobbers)
369 : {
370 1539100 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
371 1539100 : rtx x2, x3, x4;
372 1539100 : int res ATTRIBUTE_UNUSED;
373 1539100 : x2 = XEXP (x1, 1);
374 1539100 : x3 = XEXP (x2, 1);
375 1539100 : operands[2] = x3;
376 1539100 : x4 = XEXP (x1, 0);
377 1539100 : switch (GET_CODE (x4))
378 : {
379 849 : case STRICT_LOW_PART:
380 849 : return pattern78 (x1, pnum_clobbers); /* [-1, 1] */
381 :
382 1538251 : case REG:
383 1538251 : case SUBREG:
384 1538251 : case MEM:
385 1538251 : operands[0] = x4;
386 1538251 : switch (GET_MODE (operands[0]))
387 : {
388 3723 : case E_TImode:
389 3723 : if (pattern79 (x2, pnum_clobbers) != 0)
390 : return -1;
391 : return 2;
392 :
393 36976 : case E_HImode:
394 36976 : if (pattern80 (x2,
395 : E_HImode) != 0)
396 : return -1;
397 : return 3;
398 :
399 412 : case E_V2SFmode:
400 412 : if (pattern5 (x2,
401 : E_V2SFmode) != 0)
402 : return -1;
403 : return 4;
404 :
405 1 : case E_V2BFmode:
406 1 : if (pattern5 (x2,
407 : E_V2BFmode) != 0)
408 : return -1;
409 : return 5;
410 :
411 1 : case E_V4BFmode:
412 1 : if (pattern5 (x2,
413 : E_V4BFmode) != 0)
414 : return -1;
415 : return 6;
416 :
417 34 : case E_V2HFmode:
418 34 : if (pattern5 (x2,
419 : E_V2HFmode) != 0)
420 : return -1;
421 : return 7;
422 :
423 33 : case E_V4HFmode:
424 33 : if (pattern5 (x2,
425 : E_V4HFmode) != 0)
426 : return -1;
427 : return 8;
428 :
429 3180 : case E_V8QImode:
430 3180 : if (pattern6 (x2,
431 : E_V8QImode) != 0)
432 : return -1;
433 : return 9;
434 :
435 1788 : case E_V4HImode:
436 1788 : if (pattern6 (x2,
437 : E_V4HImode) != 0)
438 : return -1;
439 : return 10;
440 :
441 11342 : case E_V2SImode:
442 11342 : if (pattern6 (x2,
443 : E_V2SImode) != 0)
444 : return -1;
445 : return 11;
446 :
447 518 : case E_V4QImode:
448 518 : if (pattern81 (x2, pnum_clobbers,
449 : E_V4QImode) != 0)
450 : return -1;
451 : return 12;
452 :
453 209 : case E_V2QImode:
454 209 : if (pattern81 (x2, pnum_clobbers,
455 : E_V2QImode) != 0)
456 : return -1;
457 : return 13;
458 :
459 235 : case E_V2HImode:
460 235 : if (pattern81 (x2, pnum_clobbers,
461 : E_V2HImode) != 0)
462 : return -1;
463 : return 14;
464 :
465 0 : case E_BFmode:
466 0 : if (pattern5 (x2,
467 : E_BFmode) != 0)
468 : return -1;
469 : return 15;
470 :
471 12 : case E_HFmode:
472 12 : if (pattern5 (x2,
473 : E_HFmode) != 0)
474 : return -1;
475 : return 16;
476 :
477 5460 : case E_SFmode:
478 5460 : if (pattern5 (x2,
479 : E_SFmode) != 0)
480 : return -1;
481 : return 17;
482 :
483 5101 : case E_DFmode:
484 5101 : if (pattern5 (x2,
485 : E_DFmode) != 0)
486 : return -1;
487 : return 18;
488 :
489 2022 : case E_TFmode:
490 2022 : if (pattern26 (x2,
491 : E_TFmode) != 0)
492 : return -1;
493 : return 19;
494 :
495 : default:
496 : return -1;
497 : }
498 :
499 : default:
500 : return -1;
501 : }
502 : }
503 :
504 : int
505 18389 : pattern115 (rtx x1, int *pnum_clobbers)
506 : {
507 18389 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
508 18389 : rtx x2, x3, x4;
509 18389 : int res ATTRIBUTE_UNUSED;
510 18389 : x2 = XEXP (x1, 0);
511 18389 : x3 = XEXP (x2, 0);
512 18389 : operands[1] = x3;
513 18389 : x4 = XEXP (x2, 1);
514 18389 : operands[2] = x4;
515 18389 : return pattern114 (x1, pnum_clobbers); /* [-1, 4] */
516 : }
517 :
518 : int
519 102946 : pattern119 (rtx x1)
520 : {
521 102946 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
522 102946 : rtx x2, x3, x4;
523 102946 : int res ATTRIBUTE_UNUSED;
524 102946 : x2 = XEXP (x1, 0);
525 102946 : if (maybe_ne (SUBREG_BYTE (x2), 0)
526 102946 : || GET_MODE (x2) != E_HImode)
527 : return -1;
528 6926 : x3 = XEXP (x2, 0);
529 6926 : if (GET_CODE (x3) != UNSPEC
530 28 : || XVECLEN (x3, 0) != 1
531 28 : || XINT (x3, 1) != 50
532 28 : || GET_MODE (x3) != E_SImode
533 28 : || !register_operand (operands[0], E_SImode)
534 6954 : || GET_MODE (x1) != E_SImode)
535 6898 : return -1;
536 28 : x4 = XVECEXP (x3, 0, 0);
537 28 : operands[1] = x4;
538 28 : if (!register_operand (operands[1], E_V16QImode))
539 : return -1;
540 : return 0;
541 : }
542 :
543 : int
544 207737 : pattern125 (rtx x1, int *pnum_clobbers)
545 : {
546 207737 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
547 207737 : rtx x2;
548 207737 : int res ATTRIBUTE_UNUSED;
549 207737 : if (pnum_clobbers == NULL)
550 : return -1;
551 207737 : x2 = XEXP (x1, 0);
552 207737 : if (GET_MODE (x2) != E_DImode
553 207737 : || pattern43 (x1,
554 : E_SImode,
555 : E_DImode) != 0)
556 71534 : return -1;
557 : return 0;
558 : }
559 :
560 : int
561 1859 : pattern131 (rtx x1)
562 : {
563 1859 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
564 1859 : rtx x2, x3, x4, x5, x6, x7;
565 1859 : int res ATTRIBUTE_UNUSED;
566 1859 : x2 = XEXP (x1, 1);
567 1859 : x3 = XVECEXP (x2, 0, 0);
568 1859 : if (GET_CODE (x3) != VEC_SELECT)
569 : return -1;
570 322 : x4 = XEXP (x3, 1);
571 322 : if (GET_CODE (x4) != PARALLEL
572 322 : || XVECLEN (x4, 0) != 1)
573 : return -1;
574 322 : x5 = XVECEXP (x4, 0, 0);
575 322 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
576 : return -1;
577 322 : x6 = XEXP (x1, 0);
578 322 : operands[0] = x6;
579 322 : x7 = XEXP (x3, 0);
580 322 : operands[1] = x7;
581 322 : switch (GET_MODE (operands[0]))
582 : {
583 192 : case E_SImode:
584 192 : return pattern130 (x2,
585 192 : E_SImode); /* [-1, 1] */
586 :
587 130 : case E_DImode:
588 130 : res = pattern130 (x2,
589 : E_DImode);
590 130 : if (res >= 0)
591 96 : return res + 2; /* [2, 3] */
592 : return -1;
593 :
594 : default:
595 : return -1;
596 : }
597 : }
598 :
599 : int
600 3478 : pattern145 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
601 : {
602 3478 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
603 3478 : rtx x2;
604 3478 : int res ATTRIBUTE_UNUSED;
605 3478 : if (!nonimmediate_operand (operands[0], i1)
606 3478 : || GET_MODE (x1) != i1)
607 : return -1;
608 3478 : x2 = XEXP (x1, 0);
609 3478 : if (GET_MODE (x2) != i1
610 3478 : || !register_operand (operands[1], i3)
611 3477 : || !nonimm_or_0_operand (operands[2], i1)
612 6943 : || !register_operand (operands[3], i2))
613 229 : return -1;
614 : return 0;
615 : }
616 :
617 : int
618 7140 : pattern152 (rtx x1, machine_mode i1, machine_mode i2)
619 : {
620 7140 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
621 7140 : rtx x2;
622 7140 : int res ATTRIBUTE_UNUSED;
623 7140 : if (!register_operand (operands[0], i1)
624 7140 : || GET_MODE (x1) != i1)
625 : return -1;
626 6814 : x2 = XEXP (x1, 0);
627 6814 : if (GET_MODE (x2) != i1
628 6814 : || !nonimmediate_operand (operands[1], i1)
629 6763 : || !nonimm_or_0_operand (operands[2], i1)
630 13435 : || !register_operand (operands[3], i2))
631 642 : return -1;
632 : return 0;
633 : }
634 :
635 : int
636 5603 : pattern154 (rtx x1)
637 : {
638 5603 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
639 5603 : rtx x2, x3, x4, x5;
640 5603 : int res ATTRIBUTE_UNUSED;
641 5603 : x2 = XEXP (x1, 0);
642 5603 : x3 = XEXP (x2, 0);
643 5603 : operands[1] = x3;
644 5603 : x4 = XEXP (x1, 1);
645 5603 : operands[2] = x4;
646 5603 : x5 = XEXP (x1, 2);
647 5603 : operands[3] = x5;
648 5603 : switch (GET_MODE (operands[0]))
649 : {
650 457 : case E_V16SImode:
651 457 : return pattern152 (x1,
652 : E_V16SImode,
653 457 : E_HImode); /* [-1, 0] */
654 :
655 446 : case E_V8SImode:
656 446 : if (pattern152 (x1,
657 : E_V8SImode,
658 : E_QImode) != 0)
659 : return -1;
660 : return 1;
661 :
662 398 : case E_V4SImode:
663 398 : if (pattern152 (x1,
664 : E_V4SImode,
665 : E_QImode) != 0)
666 : return -1;
667 : return 2;
668 :
669 534 : case E_V8DImode:
670 534 : if (pattern152 (x1,
671 : E_V8DImode,
672 : E_QImode) != 0)
673 : return -1;
674 : return 3;
675 :
676 500 : case E_V4DImode:
677 500 : if (pattern152 (x1,
678 : E_V4DImode,
679 : E_QImode) != 0)
680 : return -1;
681 : return 4;
682 :
683 406 : case E_V2DImode:
684 406 : if (pattern152 (x1,
685 : E_V2DImode,
686 : E_QImode) != 0)
687 : return -1;
688 : return 5;
689 :
690 484 : case E_V64QImode:
691 484 : if (pattern152 (x1,
692 : E_V64QImode,
693 : E_DImode) != 0)
694 : return -1;
695 : return 6;
696 :
697 486 : case E_V16QImode:
698 486 : if (pattern152 (x1,
699 : E_V16QImode,
700 : E_HImode) != 0)
701 : return -1;
702 : return 7;
703 :
704 574 : case E_V32QImode:
705 574 : if (pattern152 (x1,
706 : E_V32QImode,
707 : E_SImode) != 0)
708 : return -1;
709 : return 8;
710 :
711 449 : case E_V32HImode:
712 449 : if (pattern152 (x1,
713 : E_V32HImode,
714 : E_SImode) != 0)
715 : return -1;
716 : return 9;
717 :
718 500 : case E_V16HImode:
719 500 : if (pattern153 (x1,
720 : E_V16HImode) != 0)
721 : return -1;
722 : return 10;
723 :
724 369 : case E_V8HImode:
725 369 : if (pattern152 (x1,
726 : E_V8HImode,
727 : E_QImode) != 0)
728 : return -1;
729 : return 11;
730 :
731 : default:
732 : return -1;
733 : }
734 : }
735 :
736 : int
737 564 : pattern168 (rtx x1)
738 : {
739 564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
740 564 : rtx x2, x3, x4, x5;
741 564 : int res ATTRIBUTE_UNUSED;
742 564 : x2 = XEXP (x1, 0);
743 564 : operands[0] = x2;
744 564 : x3 = XEXP (x1, 1);
745 564 : x4 = XVECEXP (x3, 0, 0);
746 564 : operands[1] = x4;
747 564 : x5 = XVECEXP (x3, 0, 1);
748 564 : operands[2] = x5;
749 564 : switch (GET_MODE (operands[0]))
750 : {
751 308 : case E_V32QImode:
752 308 : return pattern158 (x3,
753 308 : E_V32QImode); /* [-1, 0] */
754 :
755 0 : case E_V16QImode:
756 0 : if (pattern158 (x3,
757 : E_V16QImode) != 0)
758 : return -1;
759 : return 1;
760 :
761 256 : case E_V64QImode:
762 256 : if (pattern158 (x3,
763 : E_V64QImode) != 0)
764 : return -1;
765 : return 2;
766 :
767 : default:
768 : return -1;
769 : }
770 : }
771 :
772 : int
773 199 : pattern177 (rtx x1)
774 : {
775 199 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
776 199 : rtx x2, x3;
777 199 : int res ATTRIBUTE_UNUSED;
778 199 : x2 = XEXP (x1, 1);
779 199 : if (GET_MODE (x2) != E_V4SImode)
780 : return -1;
781 199 : x3 = XEXP (x1, 0);
782 199 : operands[0] = x3;
783 199 : return pattern176 (x2); /* [-1, 0] */
784 : }
785 :
786 : int
787 1442 : pattern181 (rtx x1)
788 : {
789 1442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
790 1442 : rtx x2, x3, x4, x5, x6;
791 1442 : int res ATTRIBUTE_UNUSED;
792 1442 : x2 = XEXP (x1, 0);
793 1442 : operands[0] = x2;
794 1442 : x3 = XEXP (x1, 1);
795 1442 : x4 = XVECEXP (x3, 0, 0);
796 1442 : operands[1] = x4;
797 1442 : x5 = XVECEXP (x3, 0, 1);
798 1442 : operands[2] = x5;
799 1442 : x6 = XVECEXP (x3, 0, 2);
800 1442 : operands[3] = x6;
801 1442 : if (!const_0_to_255_operand (operands[3], E_SImode))
802 : return -1;
803 1442 : switch (GET_MODE (operands[0]))
804 : {
805 150 : case E_V32HImode:
806 150 : return pattern64 (x3,
807 150 : E_V32HImode); /* [-1, 0] */
808 :
809 168 : case E_V16SImode:
810 168 : if (pattern64 (x3,
811 : E_V16SImode) != 0)
812 : return -1;
813 : return 1;
814 :
815 183 : case E_V8DImode:
816 183 : if (pattern64 (x3,
817 : E_V8DImode) != 0)
818 : return -1;
819 : return 2;
820 :
821 144 : case E_V16HImode:
822 144 : if (pattern64 (x3,
823 : E_V16HImode) != 0)
824 : return -1;
825 : return 3;
826 :
827 162 : case E_V8SImode:
828 162 : if (pattern64 (x3,
829 : E_V8SImode) != 0)
830 : return -1;
831 : return 4;
832 :
833 172 : case E_V4DImode:
834 172 : if (pattern64 (x3,
835 : E_V4DImode) != 0)
836 : return -1;
837 : return 5;
838 :
839 141 : case E_V8HImode:
840 141 : if (pattern64 (x3,
841 : E_V8HImode) != 0)
842 : return -1;
843 : return 6;
844 :
845 156 : case E_V4SImode:
846 156 : if (pattern64 (x3,
847 : E_V4SImode) != 0)
848 : return -1;
849 : return 7;
850 :
851 166 : case E_V2DImode:
852 166 : if (pattern64 (x3,
853 : E_V2DImode) != 0)
854 : return -1;
855 : return 8;
856 :
857 : default:
858 : return -1;
859 : }
860 : }
861 :
862 : int
863 584 : pattern195 (rtx x1, machine_mode i1, machine_mode i2)
864 : {
865 584 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
866 584 : rtx x2, x3, x4, x5;
867 584 : int res ATTRIBUTE_UNUSED;
868 584 : if (!register_operand (operands[0], i2)
869 584 : || GET_MODE (x1) != i2)
870 : return -1;
871 565 : x2 = XEXP (x1, 0);
872 565 : if (GET_MODE (x2) != i2)
873 : return -1;
874 565 : x3 = XEXP (x2, 0);
875 565 : if (GET_MODE (x3) != i1
876 565 : || !register_operand (operands[1], i2)
877 1114 : || !nonimmediate_operand (operands[2], i2))
878 16 : return -1;
879 549 : x4 = XEXP (x1, 1);
880 549 : if (GET_MODE (x4) != i2)
881 : return -1;
882 549 : x5 = XEXP (x4, 0);
883 549 : if (GET_MODE (x5) != i1)
884 : return -1;
885 : return 0;
886 : }
887 :
888 : int
889 15847 : pattern201 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
890 : {
891 15847 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
892 15847 : rtx x2, x3, x4, x5;
893 15847 : int res ATTRIBUTE_UNUSED;
894 15847 : if (!register_operand (operands[0], i3)
895 15847 : || GET_MODE (x1) != i3)
896 : return -1;
897 15805 : x2 = XEXP (x1, 0);
898 15805 : if (GET_MODE (x2) != i3)
899 : return -1;
900 15805 : x3 = XEXP (x2, 0);
901 15805 : if (GET_MODE (x3) != i2
902 15805 : || !nonimmediate_operand (operands[1], i1))
903 2172 : return -1;
904 13633 : x4 = XEXP (x1, 1);
905 13633 : if (GET_MODE (x4) != i3)
906 : return -1;
907 13633 : x5 = XEXP (x4, 0);
908 13633 : if (GET_MODE (x5) != i2
909 13633 : || !nonimmediate_operand (operands[2], i1))
910 327 : return -1;
911 : return 0;
912 : }
913 :
914 : int
915 6048512 : pattern205 ()
916 : {
917 6048512 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
918 6048512 : int res ATTRIBUTE_UNUSED;
919 6048512 : switch (GET_MODE (operands[0]))
920 : {
921 46 : case E_V32HFmode:
922 46 : if (!register_operand (operands[0], E_V32HFmode)
923 46 : || !ternlog_operand (operands[1], E_V32HFmode))
924 24 : return -1;
925 : return 0;
926 :
927 48 : case E_V16HFmode:
928 48 : if (!register_operand (operands[0], E_V16HFmode)
929 48 : || !ternlog_operand (operands[1], E_V16HFmode))
930 23 : return -1;
931 : return 1;
932 :
933 681 : case E_V8HFmode:
934 681 : if (!register_operand (operands[0], E_V8HFmode)
935 681 : || !ternlog_operand (operands[1], E_V8HFmode))
936 532 : return -1;
937 : return 2;
938 :
939 4 : case E_V32BFmode:
940 4 : if (!register_operand (operands[0], E_V32BFmode)
941 4 : || !ternlog_operand (operands[1], E_V32BFmode))
942 4 : return -1;
943 : return 3;
944 :
945 4 : case E_V16BFmode:
946 4 : if (!register_operand (operands[0], E_V16BFmode)
947 4 : || !ternlog_operand (operands[1], E_V16BFmode))
948 4 : return -1;
949 : return 4;
950 :
951 4 : case E_V8BFmode:
952 4 : if (!register_operand (operands[0], E_V8BFmode)
953 4 : || !ternlog_operand (operands[1], E_V8BFmode))
954 4 : return -1;
955 : return 5;
956 :
957 364 : case E_V16SFmode:
958 364 : if (!register_operand (operands[0], E_V16SFmode)
959 364 : || !ternlog_operand (operands[1], E_V16SFmode))
960 310 : return -1;
961 : return 6;
962 :
963 1469 : case E_V8SFmode:
964 1469 : if (!register_operand (operands[0], E_V8SFmode)
965 1469 : || !ternlog_operand (operands[1], E_V8SFmode))
966 1442 : return -1;
967 : return 7;
968 :
969 188651 : case E_V4SFmode:
970 188651 : if (!register_operand (operands[0], E_V4SFmode)
971 188651 : || !ternlog_operand (operands[1], E_V4SFmode))
972 147048 : return -1;
973 : return 8;
974 :
975 321 : case E_V8DFmode:
976 321 : if (!register_operand (operands[0], E_V8DFmode)
977 321 : || !ternlog_operand (operands[1], E_V8DFmode))
978 267 : return -1;
979 : return 9;
980 :
981 3724 : case E_V4DFmode:
982 3724 : if (!register_operand (operands[0], E_V4DFmode)
983 3724 : || !ternlog_operand (operands[1], E_V4DFmode))
984 3625 : return -1;
985 : return 10;
986 :
987 195362 : case E_V2DFmode:
988 195362 : if (!register_operand (operands[0], E_V2DFmode)
989 195362 : || !ternlog_operand (operands[1], E_V2DFmode))
990 154201 : return -1;
991 : return 11;
992 :
993 : default:
994 : return -1;
995 : }
996 : }
997 :
998 : int
999 674862 : pattern216 (rtx x1)
1000 : {
1001 674862 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1002 674862 : rtx x2, x3, x4, x5, x6, x7, x8;
1003 674862 : int res ATTRIBUTE_UNUSED;
1004 674862 : x2 = XVECEXP (x1, 0, 0);
1005 674862 : x3 = XEXP (x2, 0);
1006 674862 : operands[0] = x3;
1007 674862 : x4 = XEXP (x2, 1);
1008 674862 : x5 = XEXP (x4, 0);
1009 674862 : operands[1] = x5;
1010 674862 : x6 = XEXP (x4, 1);
1011 674862 : operands[2] = x6;
1012 674862 : x7 = XVECEXP (x1, 0, 1);
1013 674862 : switch (GET_CODE (x7))
1014 : {
1015 625659 : case CLOBBER:
1016 625659 : x8 = XEXP (x7, 0);
1017 625659 : if (GET_CODE (x8) != REG
1018 625659 : || REGNO (x8) != 17
1019 1251318 : || GET_MODE (x8) != E_CCmode)
1020 : return -1;
1021 625659 : switch (GET_MODE (operands[0]))
1022 : {
1023 480319 : case E_DImode:
1024 480319 : return pattern213 (x4,
1025 480319 : E_DImode); /* [-1, 0] */
1026 :
1027 764 : case E_TImode:
1028 764 : if (pattern213 (x4,
1029 : E_TImode) != 0)
1030 : return -1;
1031 : return 1;
1032 :
1033 1000 : case E_QImode:
1034 1000 : if (pattern213 (x4,
1035 : E_QImode) != 0)
1036 : return -1;
1037 : return 2;
1038 :
1039 1534 : case E_HImode:
1040 1534 : if (pattern213 (x4,
1041 : E_HImode) != 0)
1042 : return -1;
1043 : return 3;
1044 :
1045 142042 : case E_SImode:
1046 142042 : if (pattern213 (x4,
1047 : E_SImode) != 0)
1048 : return -1;
1049 : return 4;
1050 :
1051 : default:
1052 : return -1;
1053 : }
1054 :
1055 0 : case UNSPEC:
1056 0 : if (pattern215 (x1) != 0)
1057 : return -1;
1058 : return 5;
1059 :
1060 : default:
1061 : return -1;
1062 : }
1063 : }
1064 :
1065 : int
1066 947 : pattern229 (rtx x1)
1067 : {
1068 947 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1069 947 : rtx x2, x3, x4, x5, x6, x7, x8;
1070 947 : int res ATTRIBUTE_UNUSED;
1071 947 : x2 = XVECEXP (x1, 0, 0);
1072 947 : x3 = XEXP (x2, 0);
1073 947 : operands[0] = x3;
1074 947 : x4 = XEXP (x2, 1);
1075 947 : x5 = XEXP (x4, 0);
1076 947 : operands[1] = x5;
1077 947 : x6 = XEXP (x4, 1);
1078 947 : operands[2] = x6;
1079 947 : x7 = XVECEXP (x1, 0, 2);
1080 947 : x8 = XEXP (x7, 0);
1081 947 : operands[3] = x8;
1082 947 : switch (GET_MODE (operands[0]))
1083 : {
1084 880 : case E_DImode:
1085 880 : if (!register_operand (operands[0], E_DImode)
1086 860 : || GET_MODE (x4) != E_DImode
1087 860 : || !register_operand (operands[1], E_DImode)
1088 716 : || !const_1_to_31_operand (operands[2], E_QImode)
1089 1596 : || !scratch_operand (operands[3], E_SImode))
1090 164 : return -1;
1091 : return 0;
1092 :
1093 67 : case E_TImode:
1094 67 : if (!register_operand (operands[0], E_TImode)
1095 67 : || GET_MODE (x4) != E_TImode
1096 67 : || !register_operand (operands[1], E_TImode)
1097 54 : || !const_1_to_63_operand (operands[2], E_QImode)
1098 121 : || !scratch_operand (operands[3], E_DImode))
1099 13 : return -1;
1100 : return 1;
1101 :
1102 : default:
1103 : return -1;
1104 : }
1105 : }
1106 :
1107 : int
1108 498024 : pattern246 (rtx x1)
1109 : {
1110 498024 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1111 498024 : rtx x2, x3;
1112 498024 : int res ATTRIBUTE_UNUSED;
1113 498024 : x2 = XEXP (x1, 0);
1114 498024 : operands[1] = x2;
1115 498024 : x3 = XEXP (x1, 1);
1116 498024 : operands[2] = x3;
1117 498024 : switch (GET_CODE (operands[2]))
1118 : {
1119 111 : case CONST_VECTOR:
1120 111 : switch (GET_MODE (operands[0]))
1121 : {
1122 2 : case E_V32HImode:
1123 2 : return pattern245 (x1,
1124 2 : E_V32HImode); /* [-1, 0] */
1125 :
1126 74 : case E_V16SImode:
1127 74 : if (pattern245 (x1,
1128 : E_V16SImode) != 0)
1129 : return -1;
1130 : return 1;
1131 :
1132 0 : case E_V8DImode:
1133 0 : if (pattern245 (x1,
1134 : E_V8DImode) != 0)
1135 : return -1;
1136 : return 2;
1137 :
1138 : default:
1139 : return -1;
1140 : }
1141 :
1142 477354 : case CONST_INT:
1143 477354 : if (!const_0_to_255_not_mul_8_operand (operands[2], E_SImode)
1144 206370 : || !register_operand (operands[0], E_V1TImode)
1145 36 : || GET_MODE (x1) != E_V1TImode
1146 477390 : || !register_operand (operands[1], E_V1TImode))
1147 477318 : return -1;
1148 : return 3;
1149 :
1150 : default:
1151 : return -1;
1152 : }
1153 : }
1154 :
1155 : int
1156 63153 : pattern259 (rtx x1, int *pnum_clobbers)
1157 : {
1158 63153 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1159 63153 : rtx x2, x3, x4, x5;
1160 63153 : int res ATTRIBUTE_UNUSED;
1161 63153 : if (pnum_clobbers == NULL)
1162 : return -1;
1163 63153 : x2 = XEXP (x1, 1);
1164 63153 : x3 = XEXP (x2, 0);
1165 63153 : if (GET_MODE (x3) != E_QImode)
1166 : return -1;
1167 713 : x4 = XEXP (x3, 0);
1168 713 : if (GET_CODE (x4) != SUBREG
1169 161 : || maybe_ne (SUBREG_BYTE (x4), 0)
1170 874 : || GET_MODE (x4) != E_QImode)
1171 : return -1;
1172 161 : x5 = XEXP (x4, 0);
1173 161 : switch (GET_CODE (x5))
1174 : {
1175 137 : case ASHIFTRT:
1176 137 : case LSHIFTRT:
1177 137 : case SIGN_EXTRACT:
1178 137 : case ZERO_EXTRACT:
1179 137 : operands[3] = x5;
1180 137 : return pattern258 (x1); /* [-1, 0] */
1181 :
1182 : default:
1183 : return -1;
1184 : }
1185 : }
1186 :
1187 : int
1188 26090 : pattern274 (rtx x1, machine_mode i1, machine_mode i2)
1189 : {
1190 26090 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1191 26090 : rtx x2;
1192 26090 : int res ATTRIBUTE_UNUSED;
1193 26090 : if (!register_operand (operands[0], i1)
1194 26090 : || GET_MODE (x1) != i1)
1195 : return -1;
1196 24852 : x2 = XEXP (x1, 0);
1197 24852 : if (GET_MODE (x2) != i2
1198 24852 : || !register_operand (operands[1], i1)
1199 47919 : || !register_operand (operands[2], i1))
1200 3589 : return -1;
1201 : return 0;
1202 : }
1203 :
1204 : int
1205 238911 : pattern280 (rtx x1, int *pnum_clobbers, machine_mode i1, machine_mode i2)
1206 : {
1207 238911 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1208 238911 : rtx x2, x3, x4;
1209 238911 : int res ATTRIBUTE_UNUSED;
1210 238911 : if (!nonimmediate_operand (operands[0], i1)
1211 238911 : || GET_MODE (x1) != i1)
1212 : return -1;
1213 238844 : x2 = XEXP (x1, 0);
1214 238844 : x3 = XEXP (x2, 0);
1215 238844 : if (!nonimmediate_operand (x3, i2))
1216 : return -1;
1217 203690 : x4 = XEXP (x1, 1);
1218 203690 : switch (GET_CODE (x4))
1219 : {
1220 172689 : case REG:
1221 172689 : case SUBREG:
1222 172689 : case MEM:
1223 172689 : if (pnum_clobbers == NULL)
1224 : return -1;
1225 172689 : operands[1] = x4;
1226 172689 : if (!nonimmediate_operand (operands[1], i1))
1227 : return -1;
1228 172640 : operands[2] = x3;
1229 172640 : return 0;
1230 :
1231 0 : case ASHIFT:
1232 0 : if (GET_MODE (x4) != i1)
1233 : return -1;
1234 0 : operands[1] = x3;
1235 0 : res = pattern39 (x4,
1236 : i1,
1237 : i2);
1238 0 : if (res >= 0)
1239 0 : return res + 1; /* [1, 3] */
1240 : return -1;
1241 :
1242 21151 : case CONST_INT:
1243 21151 : case CONST_WIDE_INT:
1244 21151 : operands[2] = x4;
1245 21151 : if (!const_scalar_int_operand (operands[2], i1))
1246 : return -1;
1247 21151 : operands[1] = x3;
1248 21151 : return 4;
1249 :
1250 : default:
1251 : return -1;
1252 : }
1253 : }
1254 :
1255 : int
1256 132375 : pattern297 (rtx x1)
1257 : {
1258 132375 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1259 132375 : rtx x2, x3, x4;
1260 132375 : int res ATTRIBUTE_UNUSED;
1261 132375 : x2 = XEXP (x1, 0);
1262 132375 : x3 = XEXP (x2, 0);
1263 132375 : operands[1] = x3;
1264 132375 : x4 = XEXP (x2, 1);
1265 132375 : operands[2] = x4;
1266 132375 : if (!const_int_operand (operands[2], E_QImode))
1267 : return -1;
1268 129337 : switch (GET_MODE (operands[0]))
1269 : {
1270 46870 : case E_SImode:
1271 46870 : return pattern296 (x1,
1272 : E_DImode,
1273 46870 : E_SImode); /* [-1, 0] */
1274 :
1275 848 : case E_DImode:
1276 848 : if (pattern296 (x1,
1277 : E_TImode,
1278 : E_DImode) != 0)
1279 : return -1;
1280 : return 1;
1281 :
1282 : default:
1283 : return -1;
1284 : }
1285 : }
1286 :
1287 : int
1288 589 : pattern304 (rtx x1)
1289 : {
1290 589 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1291 589 : rtx x2, x3;
1292 589 : int res ATTRIBUTE_UNUSED;
1293 589 : x2 = XVECEXP (x1, 0, 0);
1294 589 : operands[1] = x2;
1295 589 : x3 = XVECEXP (x1, 0, 1);
1296 589 : operands[2] = x3;
1297 589 : return pattern303 (x1); /* [-1, 2] */
1298 : }
1299 :
1300 : int
1301 39192 : pattern308 (rtx x1)
1302 : {
1303 39192 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1304 39192 : rtx x2, x3, x4;
1305 39192 : int res ATTRIBUTE_UNUSED;
1306 39192 : if (GET_MODE (x1) != E_DImode
1307 39192 : || !register_operand (operands[0], E_DImode))
1308 38762 : return -1;
1309 430 : x2 = XVECEXP (x1, 0, 0);
1310 430 : operands[1] = x2;
1311 430 : if (!register_operand (operands[1], E_DImode))
1312 : return -1;
1313 415 : x3 = XVECEXP (x1, 0, 1);
1314 415 : operands[2] = x3;
1315 415 : if (!register_mmxmem_operand (operands[2], E_DImode))
1316 : return -1;
1317 406 : x4 = XVECEXP (x1, 0, 2);
1318 406 : operands[3] = x4;
1319 406 : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
1320 : return -1;
1321 : return 0;
1322 : }
1323 :
1324 : int
1325 8 : pattern316 (rtx x1, machine_mode i1)
1326 : {
1327 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1328 8 : rtx x2, x3;
1329 8 : int res ATTRIBUTE_UNUSED;
1330 8 : if (!register_operand (operands[0], i1)
1331 8 : || GET_MODE (x1) != i1)
1332 : return -1;
1333 8 : x2 = XEXP (x1, 0);
1334 8 : if (GET_MODE (x2) != i1)
1335 : return -1;
1336 8 : x3 = XEXP (x2, 0);
1337 8 : if (GET_MODE (x3) != E_DImode
1338 8 : || !const0_operand (operands[2], i1))
1339 0 : return -1;
1340 8 : switch (GET_MODE (operands[1]))
1341 : {
1342 4 : case E_HImode:
1343 4 : if (!nonimmediate_operand (operands[1], E_HImode))
1344 : return -1;
1345 : return 0;
1346 :
1347 4 : case E_SImode:
1348 4 : if (!nonimmediate_operand (operands[1], E_SImode))
1349 : return -1;
1350 : return 1;
1351 :
1352 : default:
1353 : return -1;
1354 : }
1355 : }
1356 :
1357 : int
1358 0 : pattern324 (rtx x1, machine_mode i1)
1359 : {
1360 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1361 0 : int res ATTRIBUTE_UNUSED;
1362 0 : if (!register_operand (operands[0], i1)
1363 0 : || GET_MODE (x1) != i1
1364 0 : || !float_vector_all_ones_operand (operands[1], i1)
1365 0 : || !const0_operand (operands[2], i1)
1366 0 : || !register_operand (operands[3], i1)
1367 0 : || !nonimmediate_operand (operands[4], i1))
1368 0 : return -1;
1369 : return 0;
1370 : }
1371 :
1372 : int
1373 748 : pattern331 (rtx x1)
1374 : {
1375 748 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1376 748 : rtx x2;
1377 748 : int res ATTRIBUTE_UNUSED;
1378 748 : x2 = XVECEXP (x1, 0, 0);
1379 748 : operands[1] = x2;
1380 748 : switch (GET_MODE (operands[0]))
1381 : {
1382 272 : case E_V16SImode:
1383 272 : if (!register_operand (operands[0], E_V16SImode)
1384 256 : || GET_MODE (x1) != E_V16SImode
1385 528 : || !vector_operand (operands[1], E_V16SFmode))
1386 24 : return -1;
1387 : return 0;
1388 :
1389 244 : case E_V8SImode:
1390 244 : if (!register_operand (operands[0], E_V8SImode)
1391 228 : || GET_MODE (x1) != E_V8SImode
1392 472 : || !vector_operand (operands[1], E_V8SFmode))
1393 20 : return -1;
1394 : return 1;
1395 :
1396 232 : case E_V4SImode:
1397 232 : if (!register_operand (operands[0], E_V4SImode)
1398 228 : || GET_MODE (x1) != E_V4SImode
1399 460 : || !vector_operand (operands[1], E_V4SFmode))
1400 8 : return -1;
1401 : return 2;
1402 :
1403 : default:
1404 : return -1;
1405 : }
1406 : }
1407 :
1408 : int
1409 21147 : pattern334 (rtx x1)
1410 : {
1411 21147 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1412 21147 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1413 21147 : int res ATTRIBUTE_UNUSED;
1414 21147 : x2 = XEXP (x1, 0);
1415 21147 : x3 = XEXP (x2, 0);
1416 21147 : if (GET_CODE (x3) != VEC_SELECT)
1417 : return -1;
1418 7680 : x4 = XEXP (x3, 1);
1419 7680 : if (GET_CODE (x4) != PARALLEL)
1420 : return -1;
1421 7680 : x5 = XEXP (x1, 1);
1422 7680 : if (GET_CODE (x5) != SIGN_EXTEND)
1423 : return -1;
1424 7530 : x6 = XEXP (x5, 0);
1425 7530 : if (GET_CODE (x6) != VEC_SELECT)
1426 : return -1;
1427 7530 : x7 = XEXP (x6, 1);
1428 7530 : if (GET_CODE (x7) != PARALLEL)
1429 : return -1;
1430 7530 : x8 = XEXP (x3, 0);
1431 7530 : operands[1] = x8;
1432 7530 : x9 = XEXP (x6, 0);
1433 7530 : operands[2] = x9;
1434 7530 : return 0;
1435 : }
1436 :
1437 : int
1438 190 : pattern339 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1439 : {
1440 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1441 190 : rtx x2, x3, x4, x5, x6, x7;
1442 190 : int res ATTRIBUTE_UNUSED;
1443 190 : if (!register_operand (operands[0], i2)
1444 190 : || GET_MODE (x1) != i2)
1445 : return -1;
1446 182 : x2 = XEXP (x1, 0);
1447 182 : if (GET_MODE (x2) != i2)
1448 : return -1;
1449 182 : x3 = XEXP (x2, 0);
1450 182 : if (GET_MODE (x3) != i2)
1451 : return -1;
1452 182 : x4 = XEXP (x3, 0);
1453 182 : if (GET_MODE (x4) != i1
1454 182 : || !nonimmediate_operand (operands[1], i3))
1455 0 : return -1;
1456 182 : x5 = XEXP (x2, 1);
1457 182 : if (GET_MODE (x5) != i2)
1458 : return -1;
1459 182 : x6 = XEXP (x5, 0);
1460 182 : if (GET_MODE (x6) != i1)
1461 : return -1;
1462 182 : x7 = XEXP (x1, 1);
1463 182 : return pattern338 (x7,
1464 : i1,
1465 182 : i2); /* [-1, 0] */
1466 : }
1467 :
1468 : int
1469 22195 : pattern343 (rtx x1)
1470 : {
1471 22195 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1472 22195 : rtx x2, x3, x4, x5, x6;
1473 22195 : int res ATTRIBUTE_UNUSED;
1474 22195 : x2 = XEXP (x1, 0);
1475 22195 : operands[0] = x2;
1476 22195 : x3 = XEXP (x1, 1);
1477 22195 : x4 = XEXP (x3, 1);
1478 22195 : x5 = XEXP (x4, 0);
1479 22195 : operands[2] = x5;
1480 22195 : if (!register_operand (operands[2], E_QImode))
1481 : return -1;
1482 19259 : x6 = XEXP (x4, 1);
1483 19259 : operands[3] = x6;
1484 19259 : if (!const_int_operand (operands[3], E_QImode))
1485 : return -1;
1486 18469 : return pattern342 (x3); /* [-1, 1] */
1487 : }
1488 :
1489 : int
1490 30441178 : pattern346 (rtx x1)
1491 : {
1492 30441178 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1493 30441178 : rtx x2, x3, x4, x5;
1494 30441178 : int res ATTRIBUTE_UNUSED;
1495 30441178 : x2 = XVECEXP (x1, 0, 1);
1496 30441178 : if (GET_CODE (x2) != CLOBBER)
1497 : return -1;
1498 29603741 : x3 = XEXP (x2, 0);
1499 29603741 : if (GET_CODE (x3) != REG
1500 29599024 : || REGNO (x3) != 17
1501 56549907 : || GET_MODE (x3) != E_CCmode)
1502 : return -1;
1503 26932361 : x4 = XVECEXP (x1, 0, 0);
1504 26932361 : x5 = XEXP (x4, 0);
1505 26932361 : operands[0] = x5;
1506 26932361 : return 0;
1507 : }
1508 :
1509 : int
1510 3693 : pattern350 (rtx x1)
1511 : {
1512 3693 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1513 3693 : rtx x2, x3, x4, x5;
1514 3693 : int res ATTRIBUTE_UNUSED;
1515 3693 : x2 = XVECEXP (x1, 0, 1);
1516 3693 : if (GET_CODE (x2) != CLOBBER)
1517 : return -1;
1518 2911 : x3 = XEXP (x2, 0);
1519 2911 : if (GET_CODE (x3) != REG
1520 2911 : || REGNO (x3) != 17
1521 5822 : || GET_MODE (x3) != E_CCmode)
1522 : return -1;
1523 2911 : x4 = XVECEXP (x1, 0, 0);
1524 2911 : x5 = XEXP (x4, 0);
1525 2911 : operands[0] = x5;
1526 2911 : return 0;
1527 : }
1528 :
1529 : int
1530 22353 : pattern353 (rtx x1)
1531 : {
1532 22353 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1533 22353 : rtx x2;
1534 22353 : int res ATTRIBUTE_UNUSED;
1535 22353 : switch (GET_MODE (operands[0]))
1536 : {
1537 73 : case E_HImode:
1538 73 : return pattern352 (x1,
1539 : E_QImode,
1540 73 : E_HImode); /* [-1, 0] */
1541 :
1542 1402 : case E_SImode:
1543 1402 : if (!register_operand (operands[0], E_SImode)
1544 1402 : || GET_MODE (x1) != E_SImode)
1545 : return -1;
1546 1402 : x2 = XEXP (x1, 0);
1547 1402 : switch (GET_MODE (x2))
1548 : {
1549 1038 : case E_QImode:
1550 1038 : if (!nonimmediate_operand (operands[1], E_QImode))
1551 : return -1;
1552 : return 1;
1553 :
1554 364 : case E_HImode:
1555 364 : if (!nonimmediate_operand (operands[1], E_HImode))
1556 : return -1;
1557 : return 2;
1558 :
1559 : default:
1560 : return -1;
1561 : }
1562 :
1563 20878 : case E_DImode:
1564 20878 : if (!register_operand (operands[0], E_DImode)
1565 20878 : || GET_MODE (x1) != E_DImode)
1566 : return -1;
1567 20878 : x2 = XEXP (x1, 0);
1568 20878 : switch (GET_MODE (x2))
1569 : {
1570 460 : case E_QImode:
1571 460 : if (!nonimmediate_operand (operands[1], E_QImode))
1572 : return -1;
1573 : return 3;
1574 :
1575 51 : case E_HImode:
1576 51 : if (!nonimmediate_operand (operands[1], E_HImode))
1577 : return -1;
1578 : return 4;
1579 :
1580 20367 : case E_SImode:
1581 20367 : if (!nonimmediate_operand (operands[1], E_SImode))
1582 : return -1;
1583 : return 5;
1584 :
1585 : default:
1586 : return -1;
1587 : }
1588 :
1589 : default:
1590 : return -1;
1591 : }
1592 : }
1593 :
1594 : int
1595 26614 : pattern365 (rtx x1)
1596 : {
1597 26614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1598 26614 : rtx x2, x3, x4, x5, x6;
1599 26614 : int res ATTRIBUTE_UNUSED;
1600 26614 : x2 = XEXP (x1, 0);
1601 26614 : operands[0] = x2;
1602 26614 : x3 = XEXP (x1, 1);
1603 26614 : x4 = XEXP (x3, 0);
1604 26614 : x5 = XEXP (x4, 0);
1605 26614 : operands[2] = x5;
1606 26614 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1607 : return -1;
1608 5160 : x6 = XEXP (x3, 1);
1609 5160 : operands[1] = x6;
1610 5160 : switch (GET_MODE (operands[0]))
1611 : {
1612 73 : case E_QImode:
1613 73 : return pattern363 (x3,
1614 73 : E_QImode); /* [-1, 0] */
1615 :
1616 17 : case E_HImode:
1617 17 : if (pattern363 (x3,
1618 : E_HImode) != 0)
1619 : return -1;
1620 : return 1;
1621 :
1622 2900 : case E_SImode:
1623 2900 : if (pattern364 (x3,
1624 : E_SImode) != 0)
1625 : return -1;
1626 : return 2;
1627 :
1628 2170 : case E_DImode:
1629 2170 : if (pattern364 (x3,
1630 : E_DImode) != 0)
1631 : return -1;
1632 : return 3;
1633 :
1634 : default:
1635 : return -1;
1636 : }
1637 : }
1638 :
1639 : int
1640 264 : pattern374 (rtx x1, machine_mode i1)
1641 : {
1642 264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1643 264 : rtx x2;
1644 264 : int res ATTRIBUTE_UNUSED;
1645 264 : if (!register_operand (operands[0], i1)
1646 264 : || GET_MODE (x1) != i1)
1647 : return -1;
1648 230 : x2 = XEXP (x1, 0);
1649 230 : if (GET_MODE (x2) != i1
1650 230 : || !register_operand (operands[3], i1))
1651 182 : return -1;
1652 : return 0;
1653 : }
1654 :
1655 : int
1656 300803 : pattern377 (rtx x1)
1657 : {
1658 300803 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1659 300803 : rtx x2;
1660 300803 : int res ATTRIBUTE_UNUSED;
1661 300803 : if (GET_CODE (x1) != CLOBBER)
1662 : return -1;
1663 288474 : x2 = XEXP (x1, 0);
1664 288474 : if (GET_CODE (x2) != REG
1665 288474 : || REGNO (x2) != 17
1666 576948 : || GET_MODE (x2) != E_CCmode)
1667 0 : return -1;
1668 : return 0;
1669 : }
1670 :
1671 : int
1672 735 : pattern382 (rtx x1)
1673 : {
1674 735 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1675 735 : rtx x2, x3, x4, x5, x6, x7, x8;
1676 735 : int res ATTRIBUTE_UNUSED;
1677 735 : x2 = XVECEXP (x1, 0, 0);
1678 735 : x3 = XEXP (x2, 0);
1679 735 : operands[0] = x3;
1680 735 : x4 = XEXP (x2, 1);
1681 735 : x5 = XEXP (x4, 0);
1682 735 : x6 = XEXP (x5, 0);
1683 735 : operands[1] = x6;
1684 735 : x7 = XVECEXP (x1, 0, 1);
1685 735 : switch (GET_CODE (x7))
1686 : {
1687 498 : case CLOBBER:
1688 498 : x8 = XEXP (x7, 0);
1689 498 : if (GET_CODE (x8) != REG
1690 498 : || REGNO (x8) != 17
1691 993 : || GET_MODE (x8) != E_CCmode)
1692 : return -1;
1693 495 : switch (GET_MODE (operands[0]))
1694 : {
1695 16 : case E_DImode:
1696 16 : return pattern381 (x4,
1697 16 : E_DImode); /* [-1, 0] */
1698 :
1699 0 : case E_TImode:
1700 0 : if (pattern381 (x4,
1701 : E_TImode) != 0)
1702 : return -1;
1703 : return 1;
1704 :
1705 0 : case E_QImode:
1706 0 : if (pattern381 (x4,
1707 : E_QImode) != 0)
1708 : return -1;
1709 : return 2;
1710 :
1711 0 : case E_HImode:
1712 0 : if (pattern381 (x4,
1713 : E_HImode) != 0)
1714 : return -1;
1715 : return 3;
1716 :
1717 177 : case E_SImode:
1718 177 : if (pattern381 (x4,
1719 : E_SImode) != 0)
1720 : return -1;
1721 : return 4;
1722 :
1723 : default:
1724 : return -1;
1725 : }
1726 :
1727 5 : case USE:
1728 5 : x8 = XEXP (x7, 0);
1729 5 : operands[2] = x8;
1730 5 : return 5;
1731 :
1732 : default:
1733 : return -1;
1734 : }
1735 : }
1736 :
1737 : int
1738 130627 : pattern399 (rtx x1, int i1)
1739 : {
1740 130627 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1741 130627 : rtx x2;
1742 130627 : int res ATTRIBUTE_UNUSED;
1743 130627 : if (XINT (x1, 1) != i1
1744 275 : || GET_MODE (x1) != E_SImode)
1745 : return -1;
1746 275 : x2 = XVECEXP (x1, 0, 1);
1747 275 : if (GET_CODE (x2) != REG
1748 267 : || REGNO (x2) != 20
1749 518 : || GET_MODE (x2) != E_V2DImode)
1750 32 : return -1;
1751 : return 0;
1752 : }
1753 :
1754 : int
1755 0 : pattern405 (rtx x1)
1756 : {
1757 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1758 0 : rtx x2, x3, x4;
1759 0 : int res ATTRIBUTE_UNUSED;
1760 0 : x2 = XEXP (x1, 1);
1761 0 : x3 = XEXP (x2, 0);
1762 0 : x4 = XEXP (x3, 0);
1763 0 : operands[2] = x4;
1764 0 : switch (GET_MODE (operands[0]))
1765 : {
1766 0 : case E_DImode:
1767 0 : return pattern404 (x1,
1768 : E_SImode,
1769 0 : E_DImode); /* [-1, 0] */
1770 :
1771 0 : case E_TImode:
1772 0 : if (pattern404 (x1,
1773 : E_DImode,
1774 : E_TImode) != 0)
1775 : return -1;
1776 : return 1;
1777 :
1778 : default:
1779 : return -1;
1780 : }
1781 : }
1782 :
1783 : int
1784 18 : pattern415 (rtx x1, machine_mode i1, machine_mode i2)
1785 : {
1786 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1787 18 : rtx x2, x3, x4, x5, x6, x7;
1788 18 : int res ATTRIBUTE_UNUSED;
1789 18 : x2 = XEXP (x1, 0);
1790 18 : x3 = XEXP (x2, 0);
1791 18 : x4 = XEXP (x3, 1);
1792 18 : x5 = XVECEXP (x4, 0, 0);
1793 18 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1794 : return -1;
1795 18 : x6 = XVECEXP (x4, 0, 1);
1796 18 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
1797 18 : || !register_operand (operands[0], E_V2DImode)
1798 12 : || GET_MODE (x1) != E_V2DImode
1799 12 : || GET_MODE (x2) != E_V2DImode
1800 30 : || GET_MODE (x3) != i2)
1801 6 : return -1;
1802 12 : x7 = XEXP (x3, 0);
1803 12 : if (GET_MODE (x7) != i1
1804 12 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
1805 0 : return -1;
1806 : return 0;
1807 : }
1808 :
1809 : int
1810 26127 : pattern419 (rtx x1, machine_mode i1)
1811 : {
1812 26127 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1813 26127 : int res ATTRIBUTE_UNUSED;
1814 26127 : if (!register_operand (operands[0], i1)
1815 26127 : || GET_MODE (x1) != i1)
1816 : return -1;
1817 26127 : switch (GET_MODE (operands[1]))
1818 : {
1819 7149 : case E_SFmode:
1820 7149 : if (!memory_operand (operands[1], E_SFmode))
1821 : return -1;
1822 : return 0;
1823 :
1824 18961 : case E_DFmode:
1825 18961 : if (!memory_operand (operands[1], E_DFmode))
1826 : return -1;
1827 : return 1;
1828 :
1829 : default:
1830 : return -1;
1831 : }
1832 : }
1833 :
1834 : int
1835 145947 : pattern425 (rtx x1, machine_mode i1, rtx_code i2)
1836 : {
1837 145947 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1838 145947 : rtx x2, x3, x4;
1839 145947 : int res ATTRIBUTE_UNUSED;
1840 145947 : if (GET_CODE (x1) != i2)
1841 : return -1;
1842 49519 : x2 = XEXP (x1, 0);
1843 49519 : if (GET_CODE (x2) != LTU)
1844 : return -1;
1845 45165 : x3 = XEXP (x2, 0);
1846 45165 : if (GET_CODE (x3) != REG
1847 40473 : || REGNO (x3) != 17
1848 65472 : || GET_MODE (x3) != i1)
1849 : return -1;
1850 20070 : x4 = XEXP (x2, 1);
1851 20070 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1852 0 : return -1;
1853 : return 0;
1854 : }
1855 :
1856 : int
1857 2013624 : pattern433 (rtx x1)
1858 : {
1859 2013624 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1860 2013624 : rtx x2, x3, x4, x5;
1861 2013624 : int res ATTRIBUTE_UNUSED;
1862 2013624 : x2 = XEXP (x1, 0);
1863 2013624 : x3 = XEXP (x2, 0);
1864 2013624 : operands[1] = x3;
1865 2013624 : x4 = XEXP (x2, 1);
1866 2013624 : operands[2] = x4;
1867 2013624 : x5 = XEXP (x1, 1);
1868 2013624 : operands[3] = x5;
1869 2013624 : switch (GET_MODE (operands[0]))
1870 : {
1871 2948 : case E_QImode:
1872 2948 : return pattern432 (x1,
1873 2948 : E_QImode); /* [-1, 0] */
1874 :
1875 2880 : case E_HImode:
1876 2880 : if (pattern432 (x1,
1877 : E_HImode) != 0)
1878 : return -1;
1879 : return 1;
1880 :
1881 : default:
1882 : return -1;
1883 : }
1884 : }
1885 :
1886 : int
1887 9179 : pattern440 (rtx x1, int *pnum_clobbers)
1888 : {
1889 9179 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1890 9179 : rtx x2, x3, x4, x5, x6;
1891 9179 : int res ATTRIBUTE_UNUSED;
1892 9179 : if (pnum_clobbers == NULL)
1893 : return -1;
1894 9179 : x2 = XEXP (x1, 1);
1895 9179 : x3 = XEXP (x2, 1);
1896 9179 : x4 = XEXP (x3, 1);
1897 9179 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1898 : return -1;
1899 7534 : x5 = XEXP (x1, 0);
1900 7534 : operands[0] = x5;
1901 7534 : x6 = XEXP (x3, 0);
1902 7534 : operands[2] = x6;
1903 7534 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1904 : return -1;
1905 3966 : switch (GET_MODE (operands[0]))
1906 : {
1907 114 : case E_QImode:
1908 114 : return pattern439 (x2,
1909 114 : E_QImode); /* [-1, 0] */
1910 :
1911 3 : case E_HImode:
1912 3 : if (pattern439 (x2,
1913 : E_HImode) != 0)
1914 : return -1;
1915 : return 1;
1916 :
1917 : default:
1918 : return -1;
1919 : }
1920 : }
1921 :
1922 : int
1923 115731 : pattern453 (rtx x1, machine_mode i1)
1924 : {
1925 115731 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1926 115731 : rtx x2, x3, x4, x5, x6, x7;
1927 115731 : int res ATTRIBUTE_UNUSED;
1928 115731 : x2 = XEXP (x1, 1);
1929 115731 : x3 = XEXP (x2, 1);
1930 115731 : if (maybe_ne (SUBREG_BYTE (x3), 0)
1931 115731 : || GET_MODE (x3) != E_QImode)
1932 : return -1;
1933 113807 : x4 = XEXP (x1, 0);
1934 113807 : operands[0] = x4;
1935 113807 : if (!nonimmediate_operand (operands[0], i1)
1936 51634 : || GET_MODE (x2) != i1
1937 165441 : || !nonimmediate_operand (operands[1], i1))
1938 103331 : return -1;
1939 10476 : x5 = XEXP (x3, 0);
1940 10476 : switch (GET_CODE (x5))
1941 : {
1942 2346 : case AND:
1943 2346 : x6 = XEXP (x5, 0);
1944 2346 : operands[2] = x6;
1945 2346 : if (!int248_register_operand (operands[2], E_VOIDmode))
1946 : return -1;
1947 611 : x7 = XEXP (x5, 1);
1948 611 : operands[3] = x7;
1949 611 : if (!const_int_operand (operands[3], E_VOIDmode))
1950 : return -1;
1951 : return 0;
1952 :
1953 0 : case PLUS:
1954 0 : x6 = XEXP (x5, 0);
1955 0 : operands[2] = x6;
1956 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
1957 : return -1;
1958 0 : x7 = XEXP (x5, 1);
1959 0 : operands[3] = x7;
1960 0 : if (!const_int_operand (operands[3], E_VOIDmode))
1961 : return -1;
1962 : return 1;
1963 :
1964 0 : case MINUS:
1965 0 : x6 = XEXP (x5, 0);
1966 0 : operands[3] = x6;
1967 0 : if (!const_int_operand (operands[3], E_VOIDmode))
1968 : return -1;
1969 0 : x7 = XEXP (x5, 1);
1970 0 : operands[2] = x7;
1971 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
1972 : return -1;
1973 : return 2;
1974 :
1975 : default:
1976 : return -1;
1977 : }
1978 : }
1979 :
1980 : int
1981 2084 : pattern470 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
1982 : {
1983 2084 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1984 2084 : rtx x2;
1985 2084 : int res ATTRIBUTE_UNUSED;
1986 2084 : if (!register_operand (operands[0], i2)
1987 2084 : || GET_MODE (x1) != i2)
1988 : return -1;
1989 2028 : x2 = XEXP (x1, 0);
1990 2028 : if (GET_MODE (x2) != i2
1991 2028 : || !register_operand (operands[1], i4)
1992 2028 : || !nonimmediate_operand (operands[2], i3)
1993 2028 : || !nonimm_or_0_operand (operands[3], i2)
1994 4000 : || !register_operand (operands[4], i1))
1995 144 : return -1;
1996 : return 0;
1997 : }
1998 :
1999 : int
2000 1992 : pattern478 (rtx x1, machine_mode i1)
2001 : {
2002 1992 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2003 1992 : rtx x2, x3, x4, x5, x6, x7;
2004 1992 : int res ATTRIBUTE_UNUSED;
2005 1992 : x2 = XEXP (x1, 0);
2006 1992 : x3 = XVECEXP (x2, 0, 0);
2007 1992 : operands[1] = x3;
2008 1992 : x4 = XVECEXP (x2, 0, 1);
2009 1992 : operands[2] = x4;
2010 1992 : x5 = XVECEXP (x2, 0, 2);
2011 1992 : operands[3] = x5;
2012 1992 : if (!const_0_to_255_operand (operands[3], i1))
2013 : return -1;
2014 1992 : x6 = XEXP (x1, 1);
2015 1992 : operands[4] = x6;
2016 1992 : x7 = XEXP (x1, 2);
2017 1992 : operands[5] = x7;
2018 1992 : switch (GET_MODE (operands[0]))
2019 : {
2020 688 : case E_V64QImode:
2021 688 : return pattern477 (x1,
2022 : E_V64QImode,
2023 688 : E_DImode); /* [-1, 0] */
2024 :
2025 669 : case E_V32QImode:
2026 669 : if (pattern477 (x1,
2027 : E_V32QImode,
2028 : E_SImode) != 0)
2029 : return -1;
2030 : return 1;
2031 :
2032 635 : case E_V16QImode:
2033 635 : if (pattern477 (x1,
2034 : E_V16QImode,
2035 : E_HImode) != 0)
2036 : return -1;
2037 : return 2;
2038 :
2039 : default:
2040 : return -1;
2041 : }
2042 : }
2043 :
2044 : int
2045 3840 : pattern487 (rtx x1)
2046 : {
2047 3840 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2048 3840 : rtx x2, x3, x4, x5, x6, x7;
2049 3840 : int res ATTRIBUTE_UNUSED;
2050 3840 : x2 = XEXP (x1, 0);
2051 3840 : x3 = XVECEXP (x2, 0, 0);
2052 3840 : operands[1] = x3;
2053 3840 : x4 = XVECEXP (x2, 0, 1);
2054 3840 : operands[2] = x4;
2055 3840 : x5 = XVECEXP (x2, 0, 2);
2056 3840 : operands[3] = x5;
2057 3840 : x6 = XEXP (x1, 1);
2058 3840 : switch (GET_CODE (x6))
2059 : {
2060 1900 : case REG:
2061 1900 : case SUBREG:
2062 1900 : if (!rtx_equal_p (x6, operands[1]))
2063 : return -1;
2064 1900 : x7 = XEXP (x1, 2);
2065 1900 : operands[4] = x7;
2066 1900 : switch (GET_MODE (operands[0]))
2067 : {
2068 216 : case E_V32HImode:
2069 216 : return pattern484 (x1,
2070 : E_V32HImode,
2071 216 : E_SImode); /* [-1, 0] */
2072 :
2073 210 : case E_V16SImode:
2074 210 : if (pattern484 (x1,
2075 : E_V16SImode,
2076 : E_HImode) != 0)
2077 : return -1;
2078 : return 1;
2079 :
2080 216 : case E_V8DImode:
2081 216 : if (pattern484 (x1,
2082 : E_V8DImode,
2083 : E_QImode) != 0)
2084 : return -1;
2085 : return 2;
2086 :
2087 216 : case E_V16HImode:
2088 216 : if (pattern484 (x1,
2089 : E_V16HImode,
2090 : E_HImode) != 0)
2091 : return -1;
2092 : return 3;
2093 :
2094 210 : case E_V8SImode:
2095 210 : if (pattern484 (x1,
2096 : E_V8SImode,
2097 : E_QImode) != 0)
2098 : return -1;
2099 : return 4;
2100 :
2101 216 : case E_V4DImode:
2102 216 : if (pattern484 (x1,
2103 : E_V4DImode,
2104 : E_QImode) != 0)
2105 : return -1;
2106 : return 5;
2107 :
2108 210 : case E_V8HImode:
2109 210 : if (pattern484 (x1,
2110 : E_V8HImode,
2111 : E_QImode) != 0)
2112 : return -1;
2113 : return 6;
2114 :
2115 200 : case E_V4SImode:
2116 200 : if (pattern484 (x1,
2117 : E_V4SImode,
2118 : E_QImode) != 0)
2119 : return -1;
2120 : return 7;
2121 :
2122 206 : case E_V2DImode:
2123 206 : if (pattern484 (x1,
2124 : E_V2DImode,
2125 : E_QImode) != 0)
2126 : return -1;
2127 : return 8;
2128 :
2129 : default:
2130 : return -1;
2131 : }
2132 :
2133 1908 : case CONST_INT:
2134 1908 : case CONST_DOUBLE:
2135 1908 : case CONST_VECTOR:
2136 1908 : operands[4] = x6;
2137 1908 : x7 = XEXP (x1, 2);
2138 1908 : operands[5] = x7;
2139 1908 : switch (GET_MODE (operands[0]))
2140 : {
2141 216 : case E_V32HImode:
2142 216 : if (pattern486 (x1,
2143 : E_V32HImode,
2144 : E_SImode) != 0)
2145 : return -1;
2146 : return 9;
2147 :
2148 214 : case E_V16SImode:
2149 214 : if (pattern486 (x1,
2150 : E_V16SImode,
2151 : E_HImode) != 0)
2152 : return -1;
2153 : return 10;
2154 :
2155 220 : case E_V8DImode:
2156 220 : if (pattern486 (x1,
2157 : E_V8DImode,
2158 : E_QImode) != 0)
2159 : return -1;
2160 : return 11;
2161 :
2162 214 : case E_V16HImode:
2163 214 : if (pattern486 (x1,
2164 : E_V16HImode,
2165 : E_HImode) != 0)
2166 : return -1;
2167 : return 12;
2168 :
2169 212 : case E_V8SImode:
2170 212 : if (pattern486 (x1,
2171 : E_V8SImode,
2172 : E_QImode) != 0)
2173 : return -1;
2174 : return 13;
2175 :
2176 218 : case E_V4DImode:
2177 218 : if (pattern486 (x1,
2178 : E_V4DImode,
2179 : E_QImode) != 0)
2180 : return -1;
2181 : return 14;
2182 :
2183 206 : case E_V8HImode:
2184 206 : if (pattern486 (x1,
2185 : E_V8HImode,
2186 : E_QImode) != 0)
2187 : return -1;
2188 : return 15;
2189 :
2190 202 : case E_V4SImode:
2191 202 : if (pattern486 (x1,
2192 : E_V4SImode,
2193 : E_QImode) != 0)
2194 : return -1;
2195 : return 16;
2196 :
2197 206 : case E_V2DImode:
2198 206 : if (pattern486 (x1,
2199 : E_V2DImode,
2200 : E_QImode) != 0)
2201 : return -1;
2202 : return 17;
2203 :
2204 : default:
2205 : return -1;
2206 : }
2207 :
2208 : default:
2209 : return -1;
2210 : }
2211 : }
2212 :
2213 : int
2214 5935 : pattern513 (rtx x1)
2215 : {
2216 5935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2217 5935 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2218 5935 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2219 5935 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
2220 5935 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
2221 5935 : rtx x34, x35, x36, x37, x38, x39;
2222 5935 : int res ATTRIBUTE_UNUSED;
2223 5935 : x2 = XEXP (x1, 1);
2224 5935 : if (GET_CODE (x2) != CONST_VECTOR)
2225 : return -1;
2226 5935 : x3 = XEXP (x1, 0);
2227 5935 : x4 = XEXP (x3, 0);
2228 5935 : x5 = XEXP (x4, 0);
2229 5935 : operands[1] = x5;
2230 5935 : x6 = XEXP (x3, 1);
2231 5935 : switch (GET_CODE (x6))
2232 : {
2233 4114 : case VEC_SELECT:
2234 4114 : x7 = XEXP (x6, 1);
2235 4114 : if (GET_CODE (x7) != PARALLEL)
2236 : return -1;
2237 4114 : x8 = XEXP (x6, 0);
2238 4114 : operands[2] = x8;
2239 4114 : x9 = XEXP (x3, 2);
2240 4114 : operands[3] = x9;
2241 4114 : switch (XVECLEN (x7, 0))
2242 : {
2243 1228 : case 2:
2244 1228 : x10 = XVECEXP (x7, 0, 0);
2245 1228 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2246 : return -1;
2247 1228 : x11 = XVECEXP (x7, 0, 1);
2248 1228 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2249 1228 : || !register_operand (operands[1], E_V2DImode))
2250 0 : return -1;
2251 1228 : switch (XVECLEN (x2, 0))
2252 : {
2253 411 : case 14:
2254 411 : if (GET_MODE (x2) != E_V14QImode)
2255 : return -1;
2256 411 : x12 = XVECEXP (x2, 0, 0);
2257 411 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2258 : return -1;
2259 411 : x13 = XVECEXP (x2, 0, 1);
2260 411 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2261 : return -1;
2262 411 : x14 = XVECEXP (x2, 0, 2);
2263 411 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2264 : return -1;
2265 411 : x15 = XVECEXP (x2, 0, 3);
2266 411 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2267 : return -1;
2268 411 : x16 = XVECEXP (x2, 0, 4);
2269 411 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2270 : return -1;
2271 411 : x17 = XVECEXP (x2, 0, 5);
2272 411 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2273 : return -1;
2274 411 : x18 = XVECEXP (x2, 0, 6);
2275 411 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2276 : return -1;
2277 411 : x19 = XVECEXP (x2, 0, 7);
2278 411 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2279 : return -1;
2280 411 : x20 = XVECEXP (x2, 0, 8);
2281 411 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2282 : return -1;
2283 411 : x21 = XVECEXP (x2, 0, 9);
2284 411 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2285 : return -1;
2286 411 : x22 = XVECEXP (x2, 0, 10);
2287 411 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2288 : return -1;
2289 411 : x23 = XVECEXP (x2, 0, 11);
2290 411 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2291 : return -1;
2292 411 : x24 = XVECEXP (x2, 0, 12);
2293 411 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2294 : return -1;
2295 411 : x25 = XVECEXP (x2, 0, 13);
2296 411 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2297 411 : || pattern508 (x1,
2298 : E_V16QImode,
2299 : E_V2QImode) != 0)
2300 11 : return -1;
2301 : return 0;
2302 :
2303 424 : case 6:
2304 424 : if (GET_MODE (x2) != E_V6HImode)
2305 : return -1;
2306 424 : x12 = XVECEXP (x2, 0, 0);
2307 424 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2308 : return -1;
2309 424 : x13 = XVECEXP (x2, 0, 1);
2310 424 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2311 : return -1;
2312 424 : x14 = XVECEXP (x2, 0, 2);
2313 424 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2314 : return -1;
2315 424 : x15 = XVECEXP (x2, 0, 3);
2316 424 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2317 : return -1;
2318 424 : x16 = XVECEXP (x2, 0, 4);
2319 424 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2320 : return -1;
2321 424 : x17 = XVECEXP (x2, 0, 5);
2322 424 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2323 424 : || pattern508 (x1,
2324 : E_V8HImode,
2325 : E_V2HImode) != 0)
2326 23 : return -1;
2327 : return 1;
2328 :
2329 393 : case 2:
2330 393 : if (GET_MODE (x2) != E_V2SImode)
2331 : return -1;
2332 393 : x12 = XVECEXP (x2, 0, 0);
2333 393 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2334 : return -1;
2335 393 : x13 = XVECEXP (x2, 0, 1);
2336 393 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2337 393 : || pattern508 (x1,
2338 : E_V4SImode,
2339 : E_V2SImode) != 0)
2340 3 : return -1;
2341 : return 2;
2342 :
2343 : default:
2344 : return -1;
2345 : }
2346 :
2347 1662 : case 4:
2348 1662 : x10 = XVECEXP (x7, 0, 0);
2349 1662 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2350 : return -1;
2351 1662 : x11 = XVECEXP (x7, 0, 1);
2352 1662 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2353 : return -1;
2354 1662 : x26 = XVECEXP (x7, 0, 2);
2355 1662 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2356 : return -1;
2357 1662 : x27 = XVECEXP (x7, 0, 3);
2358 1662 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2359 : return -1;
2360 1662 : switch (XVECLEN (x2, 0))
2361 : {
2362 828 : case 12:
2363 828 : if (GET_MODE (x2) != E_V12QImode)
2364 : return -1;
2365 828 : x12 = XVECEXP (x2, 0, 0);
2366 828 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2367 : return -1;
2368 828 : x13 = XVECEXP (x2, 0, 1);
2369 828 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2370 : return -1;
2371 828 : x14 = XVECEXP (x2, 0, 2);
2372 828 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2373 : return -1;
2374 828 : x15 = XVECEXP (x2, 0, 3);
2375 828 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2376 : return -1;
2377 828 : x16 = XVECEXP (x2, 0, 4);
2378 828 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2379 : return -1;
2380 828 : x17 = XVECEXP (x2, 0, 5);
2381 828 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2382 : return -1;
2383 828 : x18 = XVECEXP (x2, 0, 6);
2384 828 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2385 : return -1;
2386 828 : x19 = XVECEXP (x2, 0, 7);
2387 828 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2388 : return -1;
2389 828 : x20 = XVECEXP (x2, 0, 8);
2390 828 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2391 : return -1;
2392 828 : x21 = XVECEXP (x2, 0, 9);
2393 828 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2394 : return -1;
2395 828 : x22 = XVECEXP (x2, 0, 10);
2396 828 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2397 : return -1;
2398 828 : x23 = XVECEXP (x2, 0, 11);
2399 828 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2400 : return -1;
2401 828 : res = pattern509 (x1,
2402 : E_V16QImode,
2403 : E_V4QImode);
2404 828 : if (res >= 0)
2405 805 : return res + 3; /* [3, 4] */
2406 : return -1;
2407 :
2408 834 : case 4:
2409 834 : if (GET_MODE (x2) != E_V4HImode)
2410 : return -1;
2411 834 : x12 = XVECEXP (x2, 0, 0);
2412 834 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2413 : return -1;
2414 834 : x13 = XVECEXP (x2, 0, 1);
2415 834 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2416 : return -1;
2417 834 : x14 = XVECEXP (x2, 0, 2);
2418 834 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2419 : return -1;
2420 834 : x15 = XVECEXP (x2, 0, 3);
2421 834 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2422 : return -1;
2423 834 : res = pattern509 (x1,
2424 : E_V8HImode,
2425 : E_V4HImode);
2426 834 : if (res >= 0)
2427 823 : return res + 5; /* [5, 6] */
2428 : return -1;
2429 :
2430 : default:
2431 : return -1;
2432 : }
2433 :
2434 1224 : case 8:
2435 1224 : x10 = XVECEXP (x7, 0, 0);
2436 1224 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2437 : return -1;
2438 1224 : x11 = XVECEXP (x7, 0, 1);
2439 1224 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2440 : return -1;
2441 1224 : x26 = XVECEXP (x7, 0, 2);
2442 1224 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2443 : return -1;
2444 1224 : x27 = XVECEXP (x7, 0, 3);
2445 1224 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2446 : return -1;
2447 1224 : x28 = XVECEXP (x7, 0, 4);
2448 1224 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2449 : return -1;
2450 1224 : x29 = XVECEXP (x7, 0, 5);
2451 1224 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2452 : return -1;
2453 1224 : x30 = XVECEXP (x7, 0, 6);
2454 1224 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2455 : return -1;
2456 1224 : x31 = XVECEXP (x7, 0, 7);
2457 1224 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2458 1224 : || XVECLEN (x2, 0) != 8
2459 1224 : || GET_MODE (x2) != E_V8QImode)
2460 : return -1;
2461 1224 : x12 = XVECEXP (x2, 0, 0);
2462 1224 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2463 : return -1;
2464 1224 : x13 = XVECEXP (x2, 0, 1);
2465 1224 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2466 : return -1;
2467 1224 : x14 = XVECEXP (x2, 0, 2);
2468 1224 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2469 : return -1;
2470 1224 : x15 = XVECEXP (x2, 0, 3);
2471 1224 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2472 : return -1;
2473 1224 : x16 = XVECEXP (x2, 0, 4);
2474 1224 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2475 : return -1;
2476 1224 : x17 = XVECEXP (x2, 0, 5);
2477 1224 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2478 : return -1;
2479 1224 : x18 = XVECEXP (x2, 0, 6);
2480 1224 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2481 : return -1;
2482 1224 : x19 = XVECEXP (x2, 0, 7);
2483 1224 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2484 1224 : || !register_operand (operands[0], E_V16QImode)
2485 1206 : || GET_MODE (x1) != E_V16QImode
2486 1206 : || GET_MODE (x3) != E_V8QImode
2487 1206 : || GET_MODE (x4) != E_V8QImode
2488 1206 : || GET_MODE (x6) != E_V8QImode
2489 2430 : || !nonimm_or_0_operand (operands[2], E_V16QImode))
2490 18 : return -1;
2491 1206 : res = pattern510 ();
2492 1206 : if (res >= 0)
2493 1206 : return res + 7; /* [7, 9] */
2494 : return -1;
2495 :
2496 : default:
2497 : return -1;
2498 : }
2499 :
2500 1821 : case CONST_VECTOR:
2501 1821 : x9 = XEXP (x3, 2);
2502 1821 : operands[2] = x9;
2503 1821 : switch (XVECLEN (x6, 0))
2504 : {
2505 555 : case 2:
2506 555 : x32 = XVECEXP (x6, 0, 0);
2507 555 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2508 : return -1;
2509 540 : x33 = XVECEXP (x6, 0, 1);
2510 540 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2511 540 : || !register_operand (operands[1], E_V2DImode))
2512 0 : return -1;
2513 540 : switch (XVECLEN (x2, 0))
2514 : {
2515 180 : case 14:
2516 180 : if (GET_MODE (x2) != E_V14QImode)
2517 : return -1;
2518 180 : x12 = XVECEXP (x2, 0, 0);
2519 180 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2520 : return -1;
2521 180 : x13 = XVECEXP (x2, 0, 1);
2522 180 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2523 : return -1;
2524 180 : x14 = XVECEXP (x2, 0, 2);
2525 180 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2526 : return -1;
2527 180 : x15 = XVECEXP (x2, 0, 3);
2528 180 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2529 : return -1;
2530 180 : x16 = XVECEXP (x2, 0, 4);
2531 180 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2532 : return -1;
2533 180 : x17 = XVECEXP (x2, 0, 5);
2534 180 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2535 : return -1;
2536 180 : x18 = XVECEXP (x2, 0, 6);
2537 180 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2538 : return -1;
2539 180 : x19 = XVECEXP (x2, 0, 7);
2540 180 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2541 : return -1;
2542 180 : x20 = XVECEXP (x2, 0, 8);
2543 180 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2544 : return -1;
2545 180 : x21 = XVECEXP (x2, 0, 9);
2546 180 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2547 : return -1;
2548 180 : x22 = XVECEXP (x2, 0, 10);
2549 180 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2550 : return -1;
2551 180 : x23 = XVECEXP (x2, 0, 11);
2552 180 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2553 : return -1;
2554 180 : x24 = XVECEXP (x2, 0, 12);
2555 180 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2556 : return -1;
2557 180 : x25 = XVECEXP (x2, 0, 13);
2558 180 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2559 180 : || pattern511 (x1,
2560 : E_V2QImode,
2561 : E_V16QImode) != 0)
2562 0 : return -1;
2563 : return 10;
2564 :
2565 180 : case 6:
2566 180 : if (GET_MODE (x2) != E_V6HImode)
2567 : return -1;
2568 180 : x12 = XVECEXP (x2, 0, 0);
2569 180 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2570 : return -1;
2571 180 : x13 = XVECEXP (x2, 0, 1);
2572 180 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2573 : return -1;
2574 180 : x14 = XVECEXP (x2, 0, 2);
2575 180 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2576 : return -1;
2577 180 : x15 = XVECEXP (x2, 0, 3);
2578 180 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2579 : return -1;
2580 180 : x16 = XVECEXP (x2, 0, 4);
2581 180 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2582 : return -1;
2583 180 : x17 = XVECEXP (x2, 0, 5);
2584 180 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2585 180 : || pattern511 (x1,
2586 : E_V2HImode,
2587 : E_V8HImode) != 0)
2588 0 : return -1;
2589 : return 11;
2590 :
2591 180 : case 2:
2592 180 : if (GET_MODE (x2) != E_V2SImode)
2593 : return -1;
2594 180 : x12 = XVECEXP (x2, 0, 0);
2595 180 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2596 : return -1;
2597 180 : x13 = XVECEXP (x2, 0, 1);
2598 180 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2599 180 : || pattern511 (x1,
2600 : E_V2SImode,
2601 : E_V4SImode) != 0)
2602 0 : return -1;
2603 : return 12;
2604 :
2605 : default:
2606 : return -1;
2607 : }
2608 :
2609 726 : case 4:
2610 726 : x32 = XVECEXP (x6, 0, 0);
2611 726 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2612 : return -1;
2613 720 : x33 = XVECEXP (x6, 0, 1);
2614 720 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2615 : return -1;
2616 720 : x34 = XVECEXP (x6, 0, 2);
2617 720 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2618 : return -1;
2619 720 : x35 = XVECEXP (x6, 0, 3);
2620 720 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2621 : return -1;
2622 720 : switch (XVECLEN (x2, 0))
2623 : {
2624 360 : case 12:
2625 360 : if (GET_MODE (x2) != E_V12QImode)
2626 : return -1;
2627 360 : x12 = XVECEXP (x2, 0, 0);
2628 360 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2629 : return -1;
2630 360 : x13 = XVECEXP (x2, 0, 1);
2631 360 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2632 : return -1;
2633 360 : x14 = XVECEXP (x2, 0, 2);
2634 360 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2635 : return -1;
2636 360 : x15 = XVECEXP (x2, 0, 3);
2637 360 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2638 : return -1;
2639 360 : x16 = XVECEXP (x2, 0, 4);
2640 360 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2641 : return -1;
2642 360 : x17 = XVECEXP (x2, 0, 5);
2643 360 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2644 : return -1;
2645 360 : x18 = XVECEXP (x2, 0, 6);
2646 360 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2647 : return -1;
2648 360 : x19 = XVECEXP (x2, 0, 7);
2649 360 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2650 : return -1;
2651 360 : x20 = XVECEXP (x2, 0, 8);
2652 360 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2653 : return -1;
2654 360 : x21 = XVECEXP (x2, 0, 9);
2655 360 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2656 : return -1;
2657 360 : x22 = XVECEXP (x2, 0, 10);
2658 360 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2659 : return -1;
2660 360 : x23 = XVECEXP (x2, 0, 11);
2661 360 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2662 : return -1;
2663 360 : res = pattern512 (x1,
2664 : E_V4QImode,
2665 : E_V16QImode);
2666 360 : if (res >= 0)
2667 360 : return res + 13; /* [13, 14] */
2668 : return -1;
2669 :
2670 360 : case 4:
2671 360 : if (GET_MODE (x2) != E_V4HImode)
2672 : return -1;
2673 360 : x12 = XVECEXP (x2, 0, 0);
2674 360 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2675 : return -1;
2676 360 : x13 = XVECEXP (x2, 0, 1);
2677 360 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2678 : return -1;
2679 360 : x14 = XVECEXP (x2, 0, 2);
2680 360 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2681 : return -1;
2682 360 : x15 = XVECEXP (x2, 0, 3);
2683 360 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2684 : return -1;
2685 360 : res = pattern512 (x1,
2686 : E_V4HImode,
2687 : E_V8HImode);
2688 360 : if (res >= 0)
2689 360 : return res + 15; /* [15, 16] */
2690 : return -1;
2691 :
2692 : default:
2693 : return -1;
2694 : }
2695 :
2696 540 : case 8:
2697 540 : if (GET_MODE (x6) != E_V8QImode)
2698 : return -1;
2699 540 : x32 = XVECEXP (x6, 0, 0);
2700 540 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2701 : return -1;
2702 540 : x33 = XVECEXP (x6, 0, 1);
2703 540 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2704 : return -1;
2705 540 : x34 = XVECEXP (x6, 0, 2);
2706 540 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2707 : return -1;
2708 540 : x35 = XVECEXP (x6, 0, 3);
2709 540 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2710 : return -1;
2711 540 : x36 = XVECEXP (x6, 0, 4);
2712 540 : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2713 : return -1;
2714 540 : x37 = XVECEXP (x6, 0, 5);
2715 540 : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2716 : return -1;
2717 540 : x38 = XVECEXP (x6, 0, 6);
2718 540 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2719 : return -1;
2720 540 : x39 = XVECEXP (x6, 0, 7);
2721 540 : if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2722 540 : || XVECLEN (x2, 0) != 8
2723 540 : || GET_MODE (x2) != E_V8QImode)
2724 : return -1;
2725 540 : x12 = XVECEXP (x2, 0, 0);
2726 540 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2727 : return -1;
2728 540 : x13 = XVECEXP (x2, 0, 1);
2729 540 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2730 : return -1;
2731 540 : x14 = XVECEXP (x2, 0, 2);
2732 540 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2733 : return -1;
2734 540 : x15 = XVECEXP (x2, 0, 3);
2735 540 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2736 : return -1;
2737 540 : x16 = XVECEXP (x2, 0, 4);
2738 540 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2739 : return -1;
2740 540 : x17 = XVECEXP (x2, 0, 5);
2741 540 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2742 : return -1;
2743 540 : x18 = XVECEXP (x2, 0, 6);
2744 540 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2745 : return -1;
2746 540 : x19 = XVECEXP (x2, 0, 7);
2747 540 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2748 540 : || !register_operand (operands[0], E_V16QImode)
2749 540 : || GET_MODE (x1) != E_V16QImode
2750 540 : || GET_MODE (x3) != E_V8QImode
2751 1080 : || GET_MODE (x4) != E_V8QImode)
2752 0 : return -1;
2753 540 : res = pattern510 ();
2754 540 : if (res >= 0)
2755 540 : return res + 17; /* [17, 19] */
2756 : return -1;
2757 :
2758 : default:
2759 : return -1;
2760 : }
2761 :
2762 : default:
2763 : return -1;
2764 : }
2765 : }
2766 :
2767 : int
2768 268960 : pattern728 (rtx x1, unsigned int i1, rtx_code i2)
2769 : {
2770 268960 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2771 268960 : rtx x2, x3, x4;
2772 268960 : int res ATTRIBUTE_UNUSED;
2773 268960 : if (GET_CODE (x1) != SET)
2774 : return -1;
2775 241560 : x2 = XEXP (x1, 1);
2776 241560 : if (GET_CODE (x2) != i2)
2777 : return -1;
2778 241560 : x3 = XEXP (x2, 0);
2779 241560 : if (GET_CODE (x3) != REG
2780 241560 : || REGNO (x3) != i1)
2781 : return -1;
2782 241560 : x4 = XEXP (x1, 0);
2783 241560 : if (GET_CODE (x4) != REG
2784 241560 : || REGNO (x4) != i1)
2785 0 : return -1;
2786 : return 0;
2787 : }
2788 :
2789 : int
2790 43599 : pattern736 (rtx x1, rtx_code i1)
2791 : {
2792 43599 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2793 43599 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2794 43599 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2795 43599 : rtx x18;
2796 43599 : int res ATTRIBUTE_UNUSED;
2797 43599 : x2 = XVECEXP (x1, 0, 0);
2798 43599 : x3 = XEXP (x2, 1);
2799 43599 : x4 = XEXP (x3, 0);
2800 43599 : x5 = XEXP (x4, 0);
2801 43599 : if (GET_CODE (x5) != SIGN_EXTEND)
2802 : return -1;
2803 37431 : x6 = XEXP (x3, 1);
2804 37431 : if (GET_CODE (x6) != SIGN_EXTEND)
2805 : return -1;
2806 37431 : x7 = XEXP (x6, 0);
2807 37431 : if (GET_CODE (x7) != i1)
2808 : return -1;
2809 37431 : x8 = XEXP (x2, 0);
2810 37431 : if (GET_CODE (x8) != REG
2811 37431 : || REGNO (x8) != 17
2812 74862 : || GET_MODE (x8) != E_CCOmode)
2813 : return -1;
2814 37431 : x9 = XVECEXP (x1, 0, 1);
2815 37431 : if (GET_CODE (x9) != SET)
2816 : return -1;
2817 37431 : x10 = XEXP (x9, 1);
2818 37431 : if (GET_CODE (x10) != i1
2819 37431 : || GET_MODE (x3) != E_CCOmode)
2820 : return -1;
2821 37431 : x11 = XEXP (x5, 0);
2822 37431 : operands[1] = x11;
2823 37431 : x12 = XEXP (x9, 0);
2824 37431 : operands[0] = x12;
2825 37431 : x13 = XEXP (x7, 0);
2826 37431 : if (!rtx_equal_p (x13, operands[1]))
2827 : return -1;
2828 37430 : x14 = XEXP (x10, 0);
2829 37430 : if (!rtx_equal_p (x14, operands[1]))
2830 : return -1;
2831 37429 : x15 = XEXP (x4, 1);
2832 37429 : switch (GET_CODE (x15))
2833 : {
2834 25731 : case SIGN_EXTEND:
2835 25731 : x16 = XEXP (x15, 0);
2836 25731 : operands[2] = x16;
2837 25731 : x17 = XEXP (x7, 1);
2838 25731 : if (!rtx_equal_p (x17, operands[2]))
2839 : return -1;
2840 25731 : x18 = XEXP (x10, 1);
2841 25731 : if (!rtx_equal_p (x18, operands[2]))
2842 : return -1;
2843 25731 : switch (GET_MODE (x4))
2844 : {
2845 11886 : case E_TImode:
2846 11886 : return pattern734 (x1,
2847 : E_DImode,
2848 11886 : E_TImode); /* [-1, 0] */
2849 :
2850 3384 : case E_POImode:
2851 3384 : if (pattern734 (x1,
2852 : E_TImode,
2853 : E_POImode) != 0)
2854 : return -1;
2855 : return 1;
2856 :
2857 : default:
2858 : return -1;
2859 : }
2860 :
2861 11698 : case CONST_INT:
2862 11698 : case CONST_WIDE_INT:
2863 11698 : operands[3] = x15;
2864 11698 : x17 = XEXP (x7, 1);
2865 11698 : operands[2] = x17;
2866 11698 : x18 = XEXP (x10, 1);
2867 11698 : if (!rtx_equal_p (x18, operands[2]))
2868 : return -1;
2869 11698 : switch (GET_MODE (x4))
2870 : {
2871 3729 : case E_TImode:
2872 3729 : if (pattern735 (x1,
2873 : E_DImode,
2874 : E_TImode) != 0)
2875 : return -1;
2876 : return 2;
2877 :
2878 1007 : case E_POImode:
2879 1007 : if (pattern735 (x1,
2880 : E_TImode,
2881 : E_POImode) != 0)
2882 : return -1;
2883 : return 3;
2884 :
2885 : default:
2886 : return -1;
2887 : }
2888 :
2889 : default:
2890 : return -1;
2891 : }
2892 : }
2893 :
2894 : int
2895 53 : pattern766 (rtx x1, int *pnum_clobbers)
2896 : {
2897 53 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2898 53 : rtx x2, x3, x4, x5;
2899 53 : int res ATTRIBUTE_UNUSED;
2900 53 : if (pnum_clobbers == NULL)
2901 : return -1;
2902 51 : x2 = XEXP (x1, 0);
2903 51 : x3 = XEXP (x2, 1);
2904 51 : x4 = XEXP (x3, 0);
2905 51 : if (GET_CODE (x4) != REG
2906 51 : || REGNO (x4) != 17)
2907 : return -1;
2908 27 : x5 = XEXP (x3, 1);
2909 27 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2910 : return -1;
2911 27 : return pattern281 (x1); /* [-1, 4] */
2912 : }
2913 :
2914 : int
2915 0 : pattern776 (rtx x1, machine_mode i1, machine_mode i2)
2916 : {
2917 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2918 0 : int res ATTRIBUTE_UNUSED;
2919 0 : if (!vector_all_ones_operand (operands[3], i1)
2920 0 : || !const0_operand (operands[4], i1)
2921 0 : || GET_MODE (x1) != i2
2922 0 : || !register_operand (operands[1], i1)
2923 0 : || !const0_operand (operands[2], i1))
2924 0 : return -1;
2925 : return 0;
2926 : }
2927 :
2928 : int
2929 176 : pattern781 (rtx x1)
2930 : {
2931 176 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2932 176 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2933 176 : rtx x10;
2934 176 : int res ATTRIBUTE_UNUSED;
2935 176 : x2 = XEXP (x1, 0);
2936 176 : x3 = XEXP (x2, 0);
2937 176 : if (GET_MODE (x3) != E_V8HFmode)
2938 : return -1;
2939 176 : x4 = XEXP (x2, 2);
2940 176 : if (GET_CODE (x4) != UNSPEC
2941 176 : || XVECLEN (x4, 0) != 1
2942 176 : || XINT (x4, 1) != 224
2943 176 : || GET_MODE (x4) != E_QImode)
2944 : return -1;
2945 176 : x5 = XEXP (x1, 2);
2946 176 : if (XWINT (x5, 0) != 3L
2947 176 : || !register_operand (operands[0], E_V8HFmode)
2948 148 : || GET_MODE (x1) != E_V8HFmode
2949 324 : || GET_MODE (x2) != E_V8HFmode)
2950 28 : return -1;
2951 148 : x6 = XVECEXP (x3, 0, 0);
2952 148 : operands[1] = x6;
2953 148 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
2954 : return -1;
2955 148 : x7 = XVECEXP (x3, 0, 1);
2956 148 : operands[2] = x7;
2957 148 : if (!vector_operand (operands[2], E_V8HFmode))
2958 : return -1;
2959 148 : x8 = XEXP (x2, 1);
2960 148 : operands[3] = x8;
2961 148 : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
2962 : return -1;
2963 148 : x9 = XVECEXP (x4, 0, 0);
2964 148 : operands[4] = x9;
2965 148 : if (!register_operand (operands[4], E_QImode))
2966 : return -1;
2967 132 : x10 = XEXP (x1, 1);
2968 132 : if (!rtx_equal_p (x10, operands[1]))
2969 : return -1;
2970 : return 0;
2971 : }
2972 :
2973 : int
2974 2186 : pattern797 (rtx x1, machine_mode i1)
2975 : {
2976 2186 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2977 2186 : int res ATTRIBUTE_UNUSED;
2978 2186 : if (!register_operand (operands[0], i1)
2979 2174 : || GET_MODE (x1) != i1
2980 2174 : || !register_operand (operands[2], i1)
2981 3851 : || !memory_operand (operands[1], i1))
2982 655 : return -1;
2983 : return 0;
2984 : }
2985 :
2986 : int
2987 1311523 : pattern805 (rtx x1, machine_mode i1, machine_mode i2)
2988 : {
2989 1311523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2990 1311523 : rtx x2;
2991 1311523 : int res ATTRIBUTE_UNUSED;
2992 1311523 : if (!register_operand (operands[0], i2)
2993 1079129 : || GET_MODE (x1) != i2
2994 2390652 : || !register_operand (operands[1], i1))
2995 253471 : return -1;
2996 1058052 : x2 = XEXP (x1, 1);
2997 1058052 : operands[2] = x2;
2998 1058052 : if (!nonimmediate_operand (operands[2], i1))
2999 : return -1;
3000 : return 0;
3001 : }
3002 :
3003 : int
3004 103866 : pattern812 (machine_mode i1)
3005 : {
3006 103866 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3007 103866 : int res ATTRIBUTE_UNUSED;
3008 103866 : if (!register_operand (operands[0], i1)
3009 100682 : || !ix86_comparison_uns_operator (operands[1], i1)
3010 100583 : || !register_operand (operands[2], i1)
3011 169683 : || !nonimmediate_operand (operands[3], i1))
3012 102679 : return -1;
3013 : return 0;
3014 : }
3015 :
3016 : int
3017 1283647 : pattern821 (rtx x1)
3018 : {
3019 1283647 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3020 1283647 : rtx x2, x3, x4, x5, x6;
3021 1283647 : int res ATTRIBUTE_UNUSED;
3022 1283647 : if (!movq_parallel (operands[3], E_VOIDmode))
3023 : return -1;
3024 100037 : x2 = XEXP (x1, 0);
3025 100037 : x3 = XEXP (x2, 0);
3026 100037 : operands[1] = x3;
3027 100037 : x4 = XEXP (x2, 1);
3028 100037 : operands[2] = x4;
3029 100037 : x5 = XEXP (x1, 1);
3030 100037 : x6 = XVECEXP (x5, 0, 0);
3031 100037 : operands[4] = x6;
3032 100037 : if (!const_int_operand (operands[4], E_VOIDmode))
3033 : return -1;
3034 100037 : switch (GET_MODE (operands[0]))
3035 : {
3036 24 : case E_V64QImode:
3037 24 : return pattern815 (x1,
3038 : E_V64QImode,
3039 24 : E_V128QImode); /* [-1, 0] */
3040 :
3041 28 : case E_V32QImode:
3042 28 : if (pattern815 (x1,
3043 : E_V32QImode,
3044 : E_V64QImode) != 0)
3045 : return -1;
3046 : return 1;
3047 :
3048 254 : case E_V16QImode:
3049 254 : if (pattern815 (x1,
3050 : E_V16QImode,
3051 : E_V32QImode) != 0)
3052 : return -1;
3053 : return 2;
3054 :
3055 46 : case E_V32HImode:
3056 46 : if (pattern815 (x1,
3057 : E_V32HImode,
3058 : E_V64HImode) != 0)
3059 : return -1;
3060 : return 3;
3061 :
3062 50 : case E_V16HImode:
3063 50 : if (pattern815 (x1,
3064 : E_V16HImode,
3065 : E_V32HImode) != 0)
3066 : return -1;
3067 : return 4;
3068 :
3069 399 : case E_V8HImode:
3070 399 : if (pattern815 (x1,
3071 : E_V8HImode,
3072 : E_V16HImode) != 0)
3073 : return -1;
3074 : return 5;
3075 :
3076 : default:
3077 : return -1;
3078 : }
3079 : }
3080 :
3081 : int
3082 12013 : pattern832 (rtx x1)
3083 : {
3084 12013 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3085 12013 : rtx x2;
3086 12013 : int res ATTRIBUTE_UNUSED;
3087 12013 : if (GET_MODE (x1) != E_SImode)
3088 : return -1;
3089 12013 : x2 = XVECEXP (x1, 0, 3);
3090 12013 : if (GET_CODE (x2) != REG
3091 12013 : || REGNO (x2) != 7
3092 24026 : || GET_MODE (x2) != E_SImode)
3093 0 : return -1;
3094 : return 0;
3095 : }
3096 :
3097 : int
3098 62988 : pattern838 (rtx x1)
3099 : {
3100 62988 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3101 62988 : rtx x2, x3;
3102 62988 : int res ATTRIBUTE_UNUSED;
3103 62988 : switch (GET_CODE (x1))
3104 : {
3105 56247 : case CLOBBER:
3106 56247 : x2 = XEXP (x1, 0);
3107 56247 : if (GET_CODE (x2) != REG
3108 56247 : || REGNO (x2) != 17
3109 112494 : || GET_MODE (x2) != E_CCmode)
3110 0 : return -1;
3111 : return 0;
3112 :
3113 705 : case UNSPEC:
3114 705 : if (XVECLEN (x1, 0) != 1
3115 705 : || XINT (x1, 1) != 175)
3116 : return -1;
3117 705 : x3 = XVECEXP (x1, 0, 0);
3118 705 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3119 : return -1;
3120 705 : switch (GET_MODE (operands[0]))
3121 : {
3122 : case E_QImode:
3123 : return 1;
3124 :
3125 : case E_HImode:
3126 : return 2;
3127 :
3128 : case E_SImode:
3129 : return 3;
3130 :
3131 : case E_DImode:
3132 : return 4;
3133 :
3134 : default:
3135 : return -1;
3136 : }
3137 :
3138 : default:
3139 : return -1;
3140 : }
3141 : }
3142 :
3143 : int
3144 6095 : pattern846 (rtx x1, machine_mode i1)
3145 : {
3146 6095 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3147 6095 : int res ATTRIBUTE_UNUSED;
3148 6095 : if (!register_operand (operands[0], i1)
3149 4170 : || GET_MODE (x1) != i1
3150 4170 : || !register_operand (operands[1], i1)
3151 6120 : || !nonmemory_operand (operands[2], i1))
3152 6095 : return -1;
3153 : return 0;
3154 : }
3155 :
3156 : int
3157 8073 : pattern850 (rtx x1)
3158 : {
3159 8073 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3160 8073 : rtx x2, x3, x4, x5;
3161 8073 : int res ATTRIBUTE_UNUSED;
3162 8073 : if (!register_operand (operands[0], E_TFmode))
3163 : return -1;
3164 4670 : x2 = XVECEXP (x1, 0, 0);
3165 4670 : x3 = XEXP (x2, 1);
3166 4670 : if (GET_MODE (x3) != E_TFmode
3167 4670 : || !vector_operand (operands[1], E_TFmode))
3168 0 : return -1;
3169 4670 : x4 = XVECEXP (x1, 0, 1);
3170 4670 : x5 = XEXP (x4, 0);
3171 4670 : operands[2] = x5;
3172 4670 : if (!vector_operand (operands[2], E_TFmode))
3173 : return -1;
3174 : return 0;
3175 : }
3176 :
3177 : int
3178 847635 : pattern856 (rtx x1, machine_mode i1)
3179 : {
3180 847635 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3181 847635 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3182 847635 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3183 847635 : rtx x18;
3184 847635 : int res ATTRIBUTE_UNUSED;
3185 847635 : if (peep2_current_count < 4
3186 847635 : || peep2_current_count < 5
3187 477671 : || !memory_operand (operands[1], i1)
3188 978683 : || !register_operand (operands[0], i1))
3189 716778 : return -1;
3190 130857 : x2 = XEXP (x1, 0);
3191 130857 : operands[3] = x2;
3192 130857 : if (!register_operand (operands[3], i1))
3193 : return -1;
3194 23095 : x3 = XEXP (x1, 1);
3195 23095 : if (!rtx_equal_p (x3, operands[0]))
3196 : return -1;
3197 4726 : x4 = PATTERN (peep2_next_insn (2));
3198 4726 : if (GET_CODE (x4) != PARALLEL
3199 2825 : || XVECLEN (x4, 0) != 2)
3200 : return -1;
3201 2821 : x5 = XVECEXP (x4, 0, 0);
3202 2821 : if (GET_CODE (x5) != SET)
3203 : return -1;
3204 2821 : x6 = XEXP (x5, 1);
3205 2821 : if (GET_CODE (x6) != XOR)
3206 : return -1;
3207 134 : x7 = XVECEXP (x4, 0, 1);
3208 134 : if (GET_CODE (x7) != CLOBBER)
3209 : return -1;
3210 134 : x8 = XEXP (x7, 0);
3211 134 : if (GET_CODE (x8) != REG
3212 134 : || REGNO (x8) != 17
3213 268 : || GET_MODE (x8) != E_CCmode)
3214 : return -1;
3215 134 : x9 = XEXP (x5, 0);
3216 134 : operands[4] = x9;
3217 134 : x10 = XEXP (x6, 1);
3218 134 : operands[2] = x10;
3219 134 : x11 = XEXP (x6, 0);
3220 134 : if (!rtx_equal_p (x11, operands[4]))
3221 : return -1;
3222 132 : x12 = PATTERN (peep2_next_insn (3));
3223 132 : if (GET_CODE (x12) != SET)
3224 : return -1;
3225 125 : x13 = XEXP (x12, 0);
3226 125 : if (!rtx_equal_p (x13, operands[1]))
3227 : return -1;
3228 28 : x14 = PATTERN (peep2_next_insn (4));
3229 28 : if (GET_CODE (x14) != SET)
3230 : return -1;
3231 26 : x15 = XEXP (x14, 1);
3232 26 : if (GET_CODE (x15) != COMPARE
3233 22 : || GET_MODE (x15) != E_CCZmode)
3234 : return -1;
3235 22 : x16 = XEXP (x14, 0);
3236 22 : if (GET_CODE (x16) != REG
3237 22 : || REGNO (x16) != 17
3238 44 : || GET_MODE (x16) != E_CCZmode)
3239 : return -1;
3240 22 : x17 = XEXP (x15, 0);
3241 22 : if (!register_operand (x17, i1))
3242 : return -1;
3243 22 : x18 = XEXP (x15, 1);
3244 22 : if (!nonmemory_operand (x18, i1))
3245 : return -1;
3246 : return 0;
3247 : }
3248 :
3249 : int
3250 23724 : pattern874 (rtx x1, machine_mode i1, machine_mode i2)
3251 : {
3252 23724 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3253 23724 : int res ATTRIBUTE_UNUSED;
3254 23724 : if (!register_operand (operands[0], i2)
3255 23628 : || GET_MODE (x1) != i2
3256 47352 : || pattern873 (x1,
3257 : i1,
3258 : i2) != 0)
3259 1456 : return -1;
3260 : return 0;
3261 : }
3262 :
3263 : int
3264 40949 : pattern875 (rtx x1, machine_mode i1)
3265 : {
3266 40949 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3267 40949 : int res ATTRIBUTE_UNUSED;
3268 40949 : if (!register_operand (operands[0], i1)
3269 31375 : || !binary_fp_operator (operands[3], i1)
3270 31375 : || !register_operand (operands[1], i1)
3271 72098 : || GET_MODE (x1) != i1)
3272 9800 : return -1;
3273 31149 : switch (GET_MODE (operands[2]))
3274 : {
3275 16 : case E_HImode:
3276 16 : if (!nonimmediate_operand (operands[2], E_HImode))
3277 : return -1;
3278 : return 0;
3279 :
3280 30166 : case E_SImode:
3281 30166 : if (!nonimmediate_operand (operands[2], E_SImode))
3282 : return -1;
3283 : return 1;
3284 :
3285 : default:
3286 : return -1;
3287 : }
3288 : }
3289 :
3290 : int
3291 8870 : pattern885 (rtx x1, machine_mode i1)
3292 : {
3293 8870 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3294 8870 : rtx x2, x3;
3295 8870 : int res ATTRIBUTE_UNUSED;
3296 8870 : if (!register_operand (operands[0], i1)
3297 8870 : || GET_MODE (x1) != i1)
3298 : return -1;
3299 8846 : x2 = XEXP (x1, 0);
3300 8846 : if (GET_MODE (x2) != i1)
3301 : return -1;
3302 8846 : x3 = XEXP (x1, 2);
3303 8846 : if (GET_MODE (x3) != i1)
3304 0 : return -1;
3305 : return 0;
3306 : }
3307 :
3308 : int
3309 1390 : pattern891 (rtx x1)
3310 : {
3311 1390 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3312 1390 : rtx x2;
3313 1390 : int res ATTRIBUTE_UNUSED;
3314 1390 : switch (GET_MODE (operands[0]))
3315 : {
3316 276 : case E_DImode:
3317 276 : return pattern890 (x1,
3318 : E_DImode,
3319 276 : E_V64QImode); /* [-1, 0] */
3320 :
3321 584 : case E_SImode:
3322 584 : if (!register_operand (operands[0], E_SImode)
3323 584 : || GET_MODE (x1) != E_SImode)
3324 : return -1;
3325 568 : x2 = XEXP (x1, 0);
3326 568 : if (GET_MODE (x2) != E_SImode
3327 568 : || !register_operand (operands[3], E_SImode))
3328 96 : return -1;
3329 472 : res = pattern632 ();
3330 472 : if (res >= 0)
3331 472 : return res + 1; /* [1, 2] */
3332 : return -1;
3333 :
3334 : default:
3335 : return -1;
3336 : }
3337 : }
3338 :
3339 : int
3340 614 : pattern900 (rtx x1)
3341 : {
3342 614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3343 614 : rtx x2;
3344 614 : int res ATTRIBUTE_UNUSED;
3345 614 : x2 = XEXP (x1, 2);
3346 614 : if (XWINT (x2, 0) != 1L)
3347 : return -1;
3348 434 : switch (GET_MODE (operands[0]))
3349 : {
3350 210 : case E_V4SFmode:
3351 210 : return pattern647 (x1,
3352 210 : E_V4SFmode); /* [-1, 0] */
3353 :
3354 224 : case E_V8HFmode:
3355 224 : if (pattern647 (x1,
3356 : E_V8HFmode) != 0)
3357 : return -1;
3358 : return 1;
3359 :
3360 : default:
3361 : return -1;
3362 : }
3363 : }
3364 :
3365 : int
3366 15130 : pattern910 (rtx x1, machine_mode i1)
3367 : {
3368 15130 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3369 15130 : rtx x2, x3;
3370 15130 : int res ATTRIBUTE_UNUSED;
3371 15130 : if (!register_operand (operands[0], i1)
3372 15130 : || GET_MODE (x1) != i1)
3373 : return -1;
3374 15086 : x2 = XEXP (x1, 0);
3375 15086 : operands[2] = x2;
3376 15086 : if (!nonimmediate_operand (operands[2], i1))
3377 : return -1;
3378 13000 : x3 = XEXP (x1, 1);
3379 13000 : operands[1] = x3;
3380 13000 : if (!register_operand (operands[1], i1)
3381 13000 : || !avx2_pblendw_operand (operands[3], E_SImode))
3382 6023 : return -1;
3383 : return 0;
3384 : }
3385 :
3386 : int
3387 1370 : pattern920 (rtx x1)
3388 : {
3389 1370 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3390 1370 : rtx x2, x3, x4, x5, x6, x7;
3391 1370 : int res ATTRIBUTE_UNUSED;
3392 1370 : x2 = XVECEXP (x1, 0, 0);
3393 1370 : x3 = XEXP (x2, 0);
3394 1370 : x4 = XEXP (x3, 0);
3395 1370 : x5 = XEXP (x4, 0);
3396 1370 : operands[2] = x5;
3397 1370 : x6 = XEXP (x2, 1);
3398 1370 : operands[1] = x6;
3399 1370 : x7 = XVECEXP (x1, 0, 1);
3400 1370 : operands[3] = x7;
3401 1370 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
3402 : return -1;
3403 1370 : switch (GET_MODE (operands[0]))
3404 : {
3405 572 : case E_V8HFmode:
3406 572 : return pattern919 (x1,
3407 : E_V8HFmode,
3408 572 : E_HFmode); /* [-1, 1] */
3409 :
3410 556 : case E_V4SFmode:
3411 556 : res = pattern919 (x1,
3412 : E_V4SFmode,
3413 : E_SFmode);
3414 556 : if (res >= 0)
3415 540 : return res + 2; /* [2, 3] */
3416 : return -1;
3417 :
3418 242 : case E_V2DFmode:
3419 242 : if (!register_operand (operands[0], E_V2DFmode)
3420 236 : || GET_MODE (x1) != E_V2DFmode
3421 236 : || GET_MODE (x2) != E_V2DFmode
3422 236 : || GET_MODE (x3) != E_V2DFmode
3423 236 : || GET_MODE (x4) != E_DFmode
3424 236 : || !register_operand (operands[2], E_DImode)
3425 478 : || !register_operand (operands[1], E_V2DFmode))
3426 8 : return -1;
3427 : return 4;
3428 :
3429 : default:
3430 : return -1;
3431 : }
3432 : }
3433 :
3434 : int
3435 616179 : pattern933 (rtx x1, machine_mode i1, machine_mode i2)
3436 : {
3437 616179 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3438 616179 : int res ATTRIBUTE_UNUSED;
3439 616179 : if (!register_operand (operands[0], i2)
3440 596795 : || GET_MODE (x1) != i2
3441 596795 : || !nonimmediate_operand (operands[1], i1)
3442 1191365 : || !const0_operand (operands[2], i1))
3443 48854 : return -1;
3444 : return 0;
3445 : }
3446 :
3447 : int
3448 232 : pattern935 (rtx x1, machine_mode i1)
3449 : {
3450 232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3451 232 : rtx x2;
3452 232 : int res ATTRIBUTE_UNUSED;
3453 232 : if (!register_operand (operands[0], i1)
3454 223 : || GET_MODE (x1) != i1
3455 223 : || !nonimmediate_operand (operands[1], i1)
3456 452 : || !nonimmediate_operand (operands[2], i1))
3457 12 : return -1;
3458 220 : x2 = XEXP (x1, 2);
3459 220 : if (GET_MODE (x2) != i1
3460 220 : || !nonimmediate_operand (operands[3], i1))
3461 0 : return -1;
3462 : return 0;
3463 : }
3464 :
3465 : int
3466 9108 : pattern939 (rtx x1)
3467 : {
3468 9108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3469 9108 : rtx x2, x3, x4, x5, x6, x7;
3470 9108 : int res ATTRIBUTE_UNUSED;
3471 9108 : x2 = XVECEXP (x1, 0, 2);
3472 9108 : if (GET_CODE (x2) != CONST_INT)
3473 : return -1;
3474 9108 : x3 = XVECEXP (x1, 0, 3);
3475 9108 : if (GET_CODE (x3) != CONST_INT)
3476 : return -1;
3477 9108 : x4 = XVECEXP (x1, 0, 4);
3478 9108 : if (GET_CODE (x4) != CONST_INT)
3479 : return -1;
3480 9108 : x5 = XVECEXP (x1, 0, 5);
3481 9108 : if (GET_CODE (x5) != CONST_INT)
3482 : return -1;
3483 9108 : x6 = XVECEXP (x1, 0, 6);
3484 9108 : if (GET_CODE (x6) != CONST_INT)
3485 : return -1;
3486 9108 : x7 = XVECEXP (x1, 0, 7);
3487 9108 : if (GET_CODE (x7) != CONST_INT)
3488 0 : return -1;
3489 : return 0;
3490 : }
3491 :
3492 : int
3493 183 : pattern948 (rtx x1)
3494 : {
3495 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3496 183 : rtx x2, x3, x4, x5, x6, x7, x8;
3497 183 : int res ATTRIBUTE_UNUSED;
3498 183 : if (!register_operand (operands[0], E_V8QImode))
3499 : return -1;
3500 183 : x2 = XVECEXP (x1, 0, 0);
3501 183 : x3 = XEXP (x2, 1);
3502 183 : x4 = XVECEXP (x3, 0, 0);
3503 183 : operands[1] = x4;
3504 183 : if (!register_operand (operands[1], E_V8QImode))
3505 : return -1;
3506 146 : x5 = XVECEXP (x3, 0, 1);
3507 146 : operands[2] = x5;
3508 146 : if (!register_mmxmem_operand (operands[2], E_V8QImode))
3509 : return -1;
3510 135 : x6 = XVECEXP (x3, 0, 2);
3511 135 : operands[4] = x6;
3512 135 : if (!reg_or_const_vector_operand (operands[4], E_V4SImode))
3513 : return -1;
3514 125 : x7 = XVECEXP (x1, 0, 1);
3515 125 : x8 = XEXP (x7, 0);
3516 125 : operands[3] = x8;
3517 125 : if (!scratch_operand (operands[3], E_V4SImode))
3518 : return -1;
3519 : return 0;
3520 : }
3521 :
3522 : int
3523 8070 : pattern958 (rtx x1)
3524 : {
3525 8070 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3526 8070 : rtx x2;
3527 8070 : int res ATTRIBUTE_UNUSED;
3528 8070 : x2 = XEXP (x1, 1);
3529 8070 : operands[1] = x2;
3530 8070 : switch (GET_MODE (operands[0]))
3531 : {
3532 631 : case E_SImode:
3533 631 : return pattern957 (x1,
3534 631 : E_SImode); /* [-1, 0] */
3535 :
3536 7285 : case E_DImode:
3537 7285 : if (pattern957 (x1,
3538 : E_DImode) != 0)
3539 : return -1;
3540 : return 1;
3541 :
3542 : default:
3543 : return -1;
3544 : }
3545 : }
3546 :
3547 : int
3548 144296 : pattern967 (rtx x1, machine_mode i1)
3549 : {
3550 144296 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3551 144296 : int res ATTRIBUTE_UNUSED;
3552 144296 : if (!nonimmediate_operand (operands[0], i1)
3553 144296 : || GET_MODE (x1) != i1
3554 144296 : || !nonimmediate_operand (operands[1], i1)
3555 287400 : || !float_vector_all_ones_operand (operands[2], i1))
3556 144289 : return -1;
3557 : return 0;
3558 : }
3559 :
3560 : int
3561 4551202 : pattern973 (rtx x1, machine_mode i1)
3562 : {
3563 4551202 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3564 4551202 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3565 4551202 : int res ATTRIBUTE_UNUSED;
3566 4551202 : operands[1] = x1;
3567 4551202 : if (!general_reg_operand (operands[1], i1))
3568 : return -1;
3569 1089494 : x2 = PATTERN (peep2_next_insn (2));
3570 1089494 : if (GET_CODE (x2) != PARALLEL
3571 169467 : || XVECLEN (x2, 0) != 2)
3572 : return -1;
3573 157316 : x3 = XVECEXP (x2, 0, 0);
3574 157316 : if (GET_CODE (x3) != SET)
3575 : return -1;
3576 157125 : x4 = XEXP (x3, 0);
3577 157125 : if (GET_CODE (x4) != REG
3578 157125 : || REGNO (x4) != 17)
3579 : return -1;
3580 17915 : x5 = XVECEXP (x2, 0, 1);
3581 17915 : if (GET_CODE (x5) != SET)
3582 : return -1;
3583 17298 : x6 = XEXP (x3, 1);
3584 17298 : operands[5] = x6;
3585 17298 : x7 = XEXP (x5, 1);
3586 17298 : operands[6] = x7;
3587 17298 : x8 = XEXP (x5, 0);
3588 17298 : if (!rtx_equal_p (x8, operands[0]))
3589 : return -1;
3590 10470 : x9 = PATTERN (peep2_next_insn (3));
3591 10470 : return pattern972 (x9,
3592 10470 : i1); /* [-1, 0] */
3593 : }
3594 :
3595 : int
3596 4096 : pattern982 (rtx x1)
3597 : {
3598 4096 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3599 4096 : rtx x2, x3;
3600 4096 : int res ATTRIBUTE_UNUSED;
3601 4096 : x2 = XEXP (x1, 1);
3602 4096 : switch (GET_CODE (x2))
3603 : {
3604 1300 : case CONST_INT:
3605 1300 : if (!register_operand (operands[0], E_QImode)
3606 1300 : || GET_MODE (x1) != E_QImode)
3607 : return -1;
3608 684 : x3 = XEXP (x1, 0);
3609 684 : if (GET_MODE (x3) != E_QImode)
3610 : return -1;
3611 684 : switch (XWINT (x2, 0))
3612 : {
3613 13 : case 15L:
3614 13 : switch (GET_MODE (operands[1]))
3615 : {
3616 8 : case E_V4SImode:
3617 8 : if (!nonimm_or_0_operand (operands[1], E_V4SImode)
3618 8 : || !nonimm_or_0_operand (operands[2], E_V4SImode))
3619 4 : return -1;
3620 : return 0;
3621 :
3622 4 : case E_V4DImode:
3623 4 : if (!nonimm_or_0_operand (operands[1], E_V4DImode)
3624 4 : || !nonimm_or_0_operand (operands[2], E_V4DImode))
3625 4 : return -1;
3626 : return 1;
3627 :
3628 : default:
3629 : return -1;
3630 : }
3631 :
3632 69 : case 3L:
3633 69 : if (!nonimm_or_0_operand (operands[1], E_V2DImode)
3634 69 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3635 69 : return -1;
3636 : return 2;
3637 :
3638 : default:
3639 : return -1;
3640 : }
3641 :
3642 2690 : case REG:
3643 2690 : case SUBREG:
3644 2690 : operands[3] = x2;
3645 2690 : switch (GET_MODE (operands[0]))
3646 : {
3647 1062 : case E_HImode:
3648 1062 : if (!register_operand (operands[0], E_HImode)
3649 1062 : || GET_MODE (x1) != E_HImode)
3650 : return -1;
3651 1048 : x3 = XEXP (x1, 0);
3652 1048 : if (GET_MODE (x3) != E_HImode
3653 1048 : || !register_operand (operands[3], E_HImode))
3654 0 : return -1;
3655 1048 : switch (GET_MODE (operands[1]))
3656 : {
3657 86 : case E_V16QImode:
3658 86 : if (!nonimm_or_0_operand (operands[1], E_V16QImode)
3659 86 : || !nonimm_or_0_operand (operands[2], E_V16QImode))
3660 0 : return -1;
3661 : return 3;
3662 :
3663 91 : case E_V16HImode:
3664 91 : if (!nonimm_or_0_operand (operands[1], E_V16HImode)
3665 91 : || !nonimm_or_0_operand (operands[2], E_V16HImode))
3666 0 : return -1;
3667 : return 4;
3668 :
3669 867 : case E_V16SImode:
3670 867 : if (!nonimm_or_0_operand (operands[1], E_V16SImode)
3671 867 : || !nonimm_or_0_operand (operands[2], E_V16SImode))
3672 8 : return -1;
3673 : return 5;
3674 :
3675 : default:
3676 : return -1;
3677 : }
3678 :
3679 550 : case E_QImode:
3680 550 : if (!register_operand (operands[0], E_QImode)
3681 550 : || GET_MODE (x1) != E_QImode)
3682 : return -1;
3683 512 : x3 = XEXP (x1, 0);
3684 512 : if (GET_MODE (x3) != E_QImode
3685 512 : || !register_operand (operands[3], E_QImode))
3686 0 : return -1;
3687 512 : switch (GET_MODE (operands[1]))
3688 : {
3689 91 : case E_V8HImode:
3690 91 : if (!nonimm_or_0_operand (operands[1], E_V8HImode)
3691 91 : || !nonimm_or_0_operand (operands[2], E_V8HImode))
3692 0 : return -1;
3693 : return 6;
3694 :
3695 77 : case E_V8SImode:
3696 77 : if (!nonimm_or_0_operand (operands[1], E_V8SImode)
3697 77 : || !nonimm_or_0_operand (operands[2], E_V8SImode))
3698 0 : return -1;
3699 : return 7;
3700 :
3701 81 : case E_V4SImode:
3702 81 : if (!nonimm_or_0_operand (operands[1], E_V4SImode)
3703 81 : || !nonimm_or_0_operand (operands[2], E_V4SImode))
3704 0 : return -1;
3705 : return 8;
3706 :
3707 80 : case E_V8DImode:
3708 80 : if (!nonimm_or_0_operand (operands[1], E_V8DImode)
3709 80 : || !nonimm_or_0_operand (operands[2], E_V8DImode))
3710 2 : return -1;
3711 : return 9;
3712 :
3713 80 : case E_V4DImode:
3714 80 : if (!nonimm_or_0_operand (operands[1], E_V4DImode)
3715 80 : || !nonimm_or_0_operand (operands[2], E_V4DImode))
3716 2 : return -1;
3717 : return 10;
3718 :
3719 99 : case E_V2DImode:
3720 99 : if (!nonimm_or_0_operand (operands[1], E_V2DImode)
3721 99 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3722 2 : return -1;
3723 : return 11;
3724 :
3725 : default:
3726 : return -1;
3727 : }
3728 :
3729 : default:
3730 : return -1;
3731 : }
3732 :
3733 : default:
3734 : return -1;
3735 : }
3736 : }
3737 :
3738 : int
3739 180 : pattern1018 (rtx x1, machine_mode i1)
3740 : {
3741 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3742 180 : rtx x2, x3, x4, x5, x6;
3743 180 : int res ATTRIBUTE_UNUSED;
3744 180 : if (!register_operand (operands[0], i1)
3745 180 : || GET_MODE (x1) != i1)
3746 : return -1;
3747 142 : x2 = XEXP (x1, 0);
3748 142 : if (GET_MODE (x2) != i1)
3749 : return -1;
3750 142 : x3 = XEXP (x2, 0);
3751 142 : if (GET_MODE (x3) != i1)
3752 : return -1;
3753 142 : x4 = XEXP (x3, 0);
3754 142 : if (GET_MODE (x4) != i1)
3755 : return -1;
3756 142 : x5 = XEXP (x4, 0);
3757 142 : if (!nonimmediate_operand (x5, i1))
3758 : return -1;
3759 142 : x6 = XEXP (x3, 1);
3760 142 : if (!nonimmediate_operand (x6, i1))
3761 : return -1;
3762 : return 0;
3763 : }
3764 :
3765 : int
3766 2257 : pattern1028 (rtx x1, machine_mode i1)
3767 : {
3768 2257 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3769 2257 : int res ATTRIBUTE_UNUSED;
3770 2257 : if (!register_operand (operands[0], i1)
3771 2147 : || GET_MODE (x1) != i1
3772 2147 : || !sse_comparison_operator (operands[3], i1)
3773 2147 : || !register_operand (operands[1], i1)
3774 4404 : || !nonimmediate_operand (operands[2], i1))
3775 110 : return -1;
3776 : return 0;
3777 : }
3778 :
3779 : int
3780 481 : pattern1035 (rtx x1, machine_mode i1, machine_mode i2)
3781 : {
3782 481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3783 481 : rtx x2;
3784 481 : int res ATTRIBUTE_UNUSED;
3785 481 : if (!register_operand (operands[0], i2)
3786 481 : || GET_MODE (x1) != i2)
3787 : return -1;
3788 461 : x2 = XVECEXP (x1, 0, 0);
3789 461 : if (GET_MODE (x2) != i2
3790 461 : || !register_operand (operands[1], i1))
3791 32 : return -1;
3792 : return 0;
3793 : }
3794 :
3795 : int
3796 156 : pattern1040 (rtx x1, machine_mode i1, machine_mode i2)
3797 : {
3798 156 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3799 156 : rtx x2;
3800 156 : int res ATTRIBUTE_UNUSED;
3801 156 : x2 = XVECEXP (x1, 0, 0);
3802 156 : if (GET_MODE (x2) != i2
3803 156 : || !register_operand (operands[0], i2)
3804 156 : || GET_MODE (x1) != i2
3805 156 : || !register_operand (operands[1], i1)
3806 308 : || !const_4_or_8_to_11_operand (operands[2], E_SImode))
3807 4 : return -1;
3808 : return 0;
3809 : }
3810 :
3811 : int
3812 227 : pattern1046 (rtx x1, machine_mode i1)
3813 : {
3814 227 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3815 227 : rtx x2;
3816 227 : int res ATTRIBUTE_UNUSED;
3817 227 : if (!register_operand (operands[0], i1)
3818 207 : || GET_MODE (x1) != i1
3819 207 : || !vector_operand (operands[1], i1)
3820 424 : || !vector_operand (operands[2], i1))
3821 36 : return -1;
3822 191 : x2 = XVECEXP (x1, 0, 2);
3823 191 : if (GET_MODE (x2) != i1
3824 191 : || !vector_operand (operands[3], i1))
3825 2 : return -1;
3826 : return 0;
3827 : }
3828 :
3829 : int
3830 19919 : pattern1055 (rtx x1)
3831 : {
3832 19919 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3833 19919 : rtx x2, x3;
3834 19919 : int res ATTRIBUTE_UNUSED;
3835 19919 : x2 = XEXP (x1, 0);
3836 19919 : switch (GET_MODE (x2))
3837 : {
3838 19793 : case E_HImode:
3839 19793 : x3 = XEXP (x1, 1);
3840 19793 : if (GET_MODE (x3) != E_HImode
3841 19793 : || !extract_high_operator (operands[3], E_HImode))
3842 0 : return -1;
3843 : return 0;
3844 :
3845 99 : case E_SImode:
3846 99 : x3 = XEXP (x1, 1);
3847 99 : if (GET_MODE (x3) != E_SImode
3848 99 : || !extract_high_operator (operands[3], E_SImode))
3849 0 : return -1;
3850 : return 1;
3851 :
3852 27 : case E_DImode:
3853 27 : x3 = XEXP (x1, 1);
3854 27 : if (GET_MODE (x3) != E_DImode
3855 27 : || !extract_high_operator (operands[3], E_DImode))
3856 0 : return -1;
3857 : return 2;
3858 :
3859 : default:
3860 : return -1;
3861 : }
3862 : }
3863 :
3864 : int
3865 505 : pattern1062 (rtx x1)
3866 : {
3867 505 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3868 505 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3869 505 : rtx x10, x11, x12, x13;
3870 505 : int res ATTRIBUTE_UNUSED;
3871 505 : x2 = XVECEXP (x1, 0, 0);
3872 505 : x3 = XEXP (x2, 1);
3873 505 : x4 = XEXP (x3, 0);
3874 505 : x5 = XVECEXP (x4, 0, 0);
3875 505 : operands[1] = x5;
3876 505 : x6 = XVECEXP (x4, 0, 1);
3877 505 : operands[2] = x6;
3878 505 : x7 = XVECEXP (x4, 0, 2);
3879 505 : operands[3] = x7;
3880 505 : x8 = XVECEXP (x1, 0, 1);
3881 505 : x9 = XEXP (x8, 0);
3882 505 : operands[4] = x9;
3883 505 : x10 = XEXP (x8, 1);
3884 505 : x11 = XVECEXP (x10, 0, 0);
3885 505 : if (!rtx_equal_p (x11, operands[1]))
3886 : return -1;
3887 505 : x12 = XVECEXP (x10, 0, 1);
3888 505 : if (!rtx_equal_p (x12, operands[2]))
3889 : return -1;
3890 505 : x13 = XVECEXP (x10, 0, 2);
3891 505 : if (!rtx_equal_p (x13, operands[3]))
3892 : return -1;
3893 505 : switch (XINT (x4, 1))
3894 : {
3895 328 : case 60:
3896 328 : if (XINT (x10, 1) != 60)
3897 : return -1;
3898 328 : switch (GET_MODE (operands[0]))
3899 : {
3900 79 : case E_HImode:
3901 79 : return pattern1060 (x1,
3902 79 : E_HImode); /* [-1, 20] */
3903 :
3904 114 : case E_SImode:
3905 114 : res = pattern1060 (x1,
3906 : E_SImode);
3907 114 : if (res >= 0)
3908 99 : return res + 21; /* [21, 41] */
3909 : return -1;
3910 :
3911 135 : case E_DImode:
3912 135 : res = pattern1060 (x1,
3913 : E_DImode);
3914 135 : if (res >= 0)
3915 117 : return res + 42; /* [42, 62] */
3916 : return -1;
3917 :
3918 : default:
3919 : return -1;
3920 : }
3921 :
3922 177 : case 158:
3923 177 : if (XINT (x10, 1) != 158
3924 177 : || !const_0_to_7_operand (operands[3], E_SImode))
3925 0 : return -1;
3926 177 : switch (GET_MODE (operands[0]))
3927 : {
3928 39 : case E_HImode:
3929 39 : res = pattern1061 (x1,
3930 : E_HImode);
3931 39 : if (res >= 0)
3932 34 : return res + 63; /* [63, 74] */
3933 : return -1;
3934 :
3935 64 : case E_SImode:
3936 64 : res = pattern1061 (x1,
3937 : E_SImode);
3938 64 : if (res >= 0)
3939 54 : return res + 75; /* [75, 86] */
3940 : return -1;
3941 :
3942 74 : case E_DImode:
3943 74 : res = pattern1061 (x1,
3944 : E_DImode);
3945 74 : if (res >= 0)
3946 64 : return res + 87; /* [87, 98] */
3947 : return -1;
3948 :
3949 : default:
3950 : return -1;
3951 : }
3952 :
3953 : default:
3954 : return -1;
3955 : }
3956 : }
3957 :
3958 : int
3959 3934 : pattern1079 (rtx x1, int i1)
3960 : {
3961 3934 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3962 3934 : rtx x2, x3, x4, x5;
3963 3934 : int res ATTRIBUTE_UNUSED;
3964 3934 : x2 = XEXP (x1, 1);
3965 3934 : x3 = XEXP (x2, 0);
3966 3934 : x4 = XEXP (x3, 0);
3967 3934 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
3968 : return -1;
3969 567 : x5 = XEXP (x1, 0);
3970 567 : operands[0] = x5;
3971 567 : return pattern1078 (x2); /* [-1, 3] */
3972 : }
3973 :
3974 : int
3975 4 : pattern1084 (rtx x1, machine_mode i1, machine_mode i2)
3976 : {
3977 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3978 4 : rtx x2, x3;
3979 4 : int res ATTRIBUTE_UNUSED;
3980 4 : if (!register_operand (operands[0], i1)
3981 4 : || GET_MODE (x1) != i1)
3982 : return -1;
3983 4 : x2 = XEXP (x1, 0);
3984 4 : if (GET_MODE (x2) != i1)
3985 : return -1;
3986 4 : x3 = XEXP (x2, 0);
3987 4 : if (GET_MODE (x3) != i2
3988 4 : || !vector_operand (operands[2], i1))
3989 0 : return -1;
3990 : return 0;
3991 : }
3992 :
3993 : int
3994 15547 : pattern1090 ()
3995 : {
3996 15547 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3997 15547 : int res ATTRIBUTE_UNUSED;
3998 15547 : switch (GET_MODE (operands[3]))
3999 : {
4000 582 : case E_HImode:
4001 582 : if (!extract_high_operator (operands[3], E_HImode))
4002 : return -1;
4003 : return 0;
4004 :
4005 10073 : case E_SImode:
4006 10073 : if (!extract_high_operator (operands[3], E_SImode))
4007 : return -1;
4008 : return 1;
4009 :
4010 4892 : case E_DImode:
4011 4892 : if (!extract_high_operator (operands[3], E_DImode))
4012 : return -1;
4013 : return 2;
4014 :
4015 : default:
4016 : return -1;
4017 : }
4018 : }
4019 :
4020 : int
4021 2 : pattern1095 (rtx x1)
4022 : {
4023 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4024 2 : rtx x2, x3, x4, x5;
4025 2 : int res ATTRIBUTE_UNUSED;
4026 2 : x2 = XEXP (x1, 0);
4027 2 : x3 = XEXP (x2, 0);
4028 2 : if (GET_CODE (x3) != REG
4029 2 : || REGNO (x3) != 17)
4030 : return -1;
4031 2 : x4 = XEXP (x2, 1);
4032 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4033 : return -1;
4034 2 : x5 = XEXP (x1, 1);
4035 2 : operands[1] = x5;
4036 2 : if (!nonimmediate_operand (operands[1], E_QImode))
4037 : return -1;
4038 : return 0;
4039 : }
4040 :
4041 : int
4042 309 : pattern1103 (rtx x1, int i1, int i2, int i3, int i4)
4043 : {
4044 309 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4045 309 : rtx x2, x3, x4, x5;
4046 309 : int res ATTRIBUTE_UNUSED;
4047 309 : x2 = XVECEXP (x1, 0, 0);
4048 309 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4049 : return -1;
4050 309 : x3 = XVECEXP (x1, 0, 1);
4051 309 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4052 : return -1;
4053 309 : x4 = XVECEXP (x1, 0, 2);
4054 309 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4055 : return -1;
4056 309 : x5 = XVECEXP (x1, 0, 3);
4057 309 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4058 0 : return -1;
4059 : return 0;
4060 : }
4061 :
4062 : int
4063 0 : pattern1115 (rtx x1, machine_mode i1)
4064 : {
4065 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4066 0 : int res ATTRIBUTE_UNUSED;
4067 0 : if (GET_MODE (x1) != i1
4068 0 : || !vector_all_ones_operand (operands[3], i1)
4069 0 : || !const0_operand (operands[4], i1)
4070 0 : || !register_operand (operands[1], i1)
4071 0 : || !const0_operand (operands[2], i1))
4072 0 : return -1;
4073 : return 0;
4074 : }
4075 :
4076 : int
4077 514 : pattern1121 (rtx x1)
4078 : {
4079 514 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4080 514 : rtx x2, x3, x4;
4081 514 : int res ATTRIBUTE_UNUSED;
4082 514 : x2 = XEXP (x1, 2);
4083 514 : x3 = XEXP (x2, 0);
4084 514 : operands[3] = x3;
4085 514 : if (!register_operand (operands[3], E_QImode))
4086 : return -1;
4087 477 : x4 = XEXP (x2, 1);
4088 477 : switch (XWINT (x4, 0))
4089 : {
4090 330 : case 15L:
4091 330 : switch (GET_MODE (operands[0]))
4092 : {
4093 0 : case E_V4SFmode:
4094 0 : return pattern1120 (x1,
4095 0 : E_V4SFmode); /* [-1, 0] */
4096 :
4097 104 : case E_V4DFmode:
4098 104 : if (pattern1120 (x1,
4099 : E_V4DFmode) != 0)
4100 : return -1;
4101 : return 1;
4102 :
4103 142 : case E_V4SImode:
4104 142 : if (pattern1120 (x1,
4105 : E_V4SImode) != 0)
4106 : return -1;
4107 : return 2;
4108 :
4109 84 : case E_V4DImode:
4110 84 : if (pattern1120 (x1,
4111 : E_V4DImode) != 0)
4112 : return -1;
4113 : return 3;
4114 :
4115 : default:
4116 : return -1;
4117 : }
4118 :
4119 147 : case 3L:
4120 147 : switch (GET_MODE (operands[0]))
4121 : {
4122 5 : case E_V2DFmode:
4123 5 : if (pattern1120 (x1,
4124 : E_V2DFmode) != 0)
4125 : return -1;
4126 : return 4;
4127 :
4128 142 : case E_V2DImode:
4129 142 : if (pattern1120 (x1,
4130 : E_V2DImode) != 0)
4131 : return -1;
4132 : return 5;
4133 :
4134 : default:
4135 : return -1;
4136 : }
4137 :
4138 : default:
4139 : return -1;
4140 : }
4141 : }
4142 :
4143 : int
4144 1406 : pattern1129 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4145 : {
4146 1406 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4147 1406 : rtx x2;
4148 1406 : int res ATTRIBUTE_UNUSED;
4149 1406 : if (!register_operand (operands[0], i1)
4150 1406 : || GET_MODE (x1) != i1)
4151 : return -1;
4152 1317 : x2 = XEXP (x1, 0);
4153 1317 : if (GET_MODE (x2) != i1
4154 1317 : || !register_operand (operands[1], i1)
4155 1315 : || !nonimmediate_operand (operands[2], i2)
4156 1315 : || !nonimm_or_0_operand (operands[3], i1)
4157 2599 : || !register_operand (operands[4], i3))
4158 122 : return -1;
4159 : return 0;
4160 : }
4161 :
4162 : int
4163 296 : pattern1138 (rtx x1, machine_mode i1, machine_mode i2)
4164 : {
4165 296 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4166 296 : rtx x2;
4167 296 : int res ATTRIBUTE_UNUSED;
4168 296 : if (!register_operand (operands[0], i2)
4169 287 : || GET_MODE (x1) != i2
4170 583 : || !register_operand (operands[1], i2))
4171 10 : return -1;
4172 286 : x2 = XEXP (x1, 1);
4173 286 : if (GET_MODE (x2) != i2
4174 286 : || !nonimmediate_operand (operands[2], i1))
4175 0 : return -1;
4176 : return 0;
4177 : }
4178 :
4179 : int
4180 1093 : pattern1142 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4181 : {
4182 1093 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4183 1093 : int res ATTRIBUTE_UNUSED;
4184 1093 : if (GET_MODE (x1) != i4
4185 1093 : || !register_operand (operands[1], i3)
4186 1093 : || !nonimm_or_0_operand (operands[3], i2)
4187 2167 : || !register_operand (operands[4], i1))
4188 71 : return -1;
4189 : return 0;
4190 : }
4191 :
4192 : int
4193 1696 : pattern1148 (rtx x1)
4194 : {
4195 1696 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4196 1696 : rtx x2, x3, x4, x5, x6, x7, x8;
4197 1696 : int res ATTRIBUTE_UNUSED;
4198 1696 : x2 = XVECEXP (x1, 0, 0);
4199 1696 : x3 = XEXP (x2, 0);
4200 1696 : x4 = XVECEXP (x3, 0, 2);
4201 1696 : operands[3] = x4;
4202 1696 : x5 = XVECEXP (x1, 0, 1);
4203 1696 : if (!const_4_or_8_to_11_operand (x5, E_SImode))
4204 : return -1;
4205 1696 : x6 = XEXP (x2, 1);
4206 1696 : switch (GET_CODE (x6))
4207 : {
4208 448 : case CONST_INT:
4209 448 : case CONST_DOUBLE:
4210 448 : case CONST_VECTOR:
4211 448 : operands[4] = x6;
4212 448 : if (!const0_operand (operands[4], E_V32HFmode))
4213 : return -1;
4214 448 : x7 = XEXP (x2, 2);
4215 448 : if (GET_CODE (x7) != UNSPEC
4216 448 : || XVECLEN (x7, 0) != 1
4217 448 : || XINT (x7, 1) != 224
4218 448 : || GET_MODE (x7) != E_SImode
4219 448 : || !register_operand (operands[0], E_V32HFmode)
4220 428 : || GET_MODE (x1) != E_V32HFmode
4221 428 : || GET_MODE (x2) != E_V32HFmode
4222 428 : || GET_MODE (x3) != E_V32HFmode
4223 428 : || !register_operand (operands[1], E_V32HFmode)
4224 428 : || !register_operand (operands[2], E_V32HFmode)
4225 866 : || !register_operand (operands[3], E_V32HFmode))
4226 38 : return -1;
4227 410 : x8 = XVECEXP (x7, 0, 0);
4228 410 : operands[5] = x8;
4229 410 : if (!register_operand (operands[5], E_HImode))
4230 : return -1;
4231 384 : operands[6] = x5;
4232 384 : return 0;
4233 :
4234 1232 : case REG:
4235 1232 : case SUBREG:
4236 1232 : x7 = XEXP (x2, 2);
4237 1232 : switch (GET_CODE (x7))
4238 : {
4239 864 : case UNSPEC:
4240 864 : if (XVECLEN (x7, 0) != 1
4241 864 : || XINT (x7, 1) != 224
4242 864 : || GET_MODE (x7) != E_SImode
4243 864 : || !register_operand (operands[0], E_V32HFmode)
4244 846 : || GET_MODE (x1) != E_V32HFmode
4245 846 : || GET_MODE (x2) != E_V32HFmode
4246 846 : || GET_MODE (x3) != E_V32HFmode
4247 846 : || !register_operand (operands[1], E_V32HFmode)
4248 846 : || !register_operand (operands[2], E_V32HFmode)
4249 1690 : || !register_operand (operands[3], E_V32HFmode))
4250 54 : return -1;
4251 810 : x8 = XVECEXP (x7, 0, 0);
4252 810 : operands[4] = x8;
4253 810 : if (!register_operand (operands[4], E_HImode))
4254 : return -1;
4255 762 : operands[5] = x5;
4256 762 : if (!rtx_equal_p (x6, operands[1]))
4257 : return -1;
4258 : return 1;
4259 :
4260 368 : case CONST_INT:
4261 368 : if (XWINT (x7, 0) != 3L
4262 368 : || !register_operand (operands[0], E_V8HFmode)
4263 352 : || GET_MODE (x1) != E_V8HFmode
4264 352 : || GET_MODE (x2) != E_V8HFmode
4265 352 : || GET_MODE (x3) != E_V8HFmode
4266 352 : || !register_operand (operands[1], E_V8HFmode)
4267 348 : || !register_operand (operands[2], E_V8HFmode)
4268 716 : || !register_operand (operands[3], E_V8HFmode))
4269 28 : return -1;
4270 340 : operands[4] = x5;
4271 340 : if (!rtx_equal_p (x6, operands[2]))
4272 : return -1;
4273 : return 2;
4274 :
4275 : default:
4276 : return -1;
4277 : }
4278 :
4279 : default:
4280 : return -1;
4281 : }
4282 : }
4283 :
4284 : int
4285 18595449 : pattern1192 (rtx x1)
4286 : {
4287 18595449 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4288 18595449 : rtx x2, x3, x4;
4289 18595449 : int res ATTRIBUTE_UNUSED;
4290 18595449 : x2 = XEXP (x1, 1);
4291 18595449 : x3 = XEXP (x2, 1);
4292 18595449 : operands[2] = x3;
4293 18595449 : x4 = XEXP (x1, 0);
4294 18595449 : switch (GET_CODE (x4))
4295 : {
4296 18594080 : case REG:
4297 18594080 : case SUBREG:
4298 18594080 : case MEM:
4299 18594080 : operands[0] = x4;
4300 18594080 : return 0;
4301 :
4302 1369 : case STRICT_LOW_PART:
4303 1369 : res = pattern561 (x1);
4304 1369 : if (res >= 0)
4305 1264 : return res + 1; /* [1, 2] */
4306 : return -1;
4307 :
4308 : default:
4309 : return -1;
4310 : }
4311 : }
4312 :
4313 : int
4314 683 : pattern1201 (rtx x1, machine_mode i1, machine_mode i2)
4315 : {
4316 683 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4317 683 : int res ATTRIBUTE_UNUSED;
4318 683 : if (!register_operand (operands[0], i2)
4319 677 : || GET_MODE (x1) != i2
4320 677 : || !const0_operand (operands[2], i2)
4321 8 : || !vector_all_ones_operand (operands[3], i2)
4322 683 : || !register_operand (operands[1], i1))
4323 683 : return -1;
4324 : return 0;
4325 : }
4326 :
4327 : int
4328 14 : pattern1208 (rtx x1, machine_mode i1)
4329 : {
4330 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4331 14 : rtx x2, x3, x4, x5, x6;
4332 14 : int res ATTRIBUTE_UNUSED;
4333 14 : if (!rtx_equal_p (x1, operands[0]))
4334 : return -1;
4335 14 : x2 = PATTERN (peep2_next_insn (2));
4336 14 : x3 = XEXP (x2, 0);
4337 14 : switch (GET_CODE (x3))
4338 : {
4339 12 : case SUBREG:
4340 12 : case MEM:
4341 12 : if (!rtx_equal_p (x3, operands[1]))
4342 : return -1;
4343 : return 0;
4344 :
4345 2 : case REG:
4346 2 : if (peep2_current_count < 4)
4347 : return -1;
4348 2 : operands[5] = x3;
4349 2 : if (!general_reg_operand (operands[5], i1))
4350 : return -1;
4351 2 : x4 = PATTERN (peep2_next_insn (3));
4352 2 : if (GET_CODE (x4) != SET)
4353 : return -1;
4354 0 : x5 = XEXP (x4, 1);
4355 0 : if (!rtx_equal_p (x5, operands[5]))
4356 : return -1;
4357 0 : x6 = XEXP (x4, 0);
4358 0 : if (!rtx_equal_p (x6, operands[1]))
4359 : return -1;
4360 : return 1;
4361 :
4362 : default:
4363 : return -1;
4364 : }
4365 : }
4366 :
4367 : int
4368 46886 : pattern1216 ()
4369 : {
4370 46886 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4371 46886 : int res ATTRIBUTE_UNUSED;
4372 46886 : switch (GET_MODE (operands[2]))
4373 : {
4374 4714 : case E_HImode:
4375 4714 : if (!extract_high_operator (operands[2], E_HImode))
4376 : return -1;
4377 : return 0;
4378 :
4379 24856 : case E_SImode:
4380 24856 : if (!extract_high_operator (operands[2], E_SImode))
4381 : return -1;
4382 : return 1;
4383 :
4384 17316 : case E_DImode:
4385 17316 : if (!extract_high_operator (operands[2], E_DImode))
4386 : return -1;
4387 : return 2;
4388 :
4389 : default:
4390 : return -1;
4391 : }
4392 : }
4393 :
4394 : int
4395 7431 : pattern1223 (rtx x1, machine_mode i1)
4396 : {
4397 7431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4398 7431 : int res ATTRIBUTE_UNUSED;
4399 7431 : if (!nonimmediate_operand (operands[0], i1)
4400 7431 : || GET_MODE (x1) != i1
4401 7431 : || !nonimmediate_operand (operands[1], i1)
4402 13452 : || !ix86_carry_flag_operator (operands[2], i1))
4403 1410 : return -1;
4404 : return 0;
4405 : }
4406 :
4407 : int
4408 1933 : pattern1228 (rtx x1, machine_mode i1, machine_mode i2)
4409 : {
4410 1933 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4411 1933 : rtx x2;
4412 1933 : int res ATTRIBUTE_UNUSED;
4413 1933 : if (!register_operand (operands[0], i1)
4414 1933 : || GET_MODE (x1) != i1)
4415 : return -1;
4416 1799 : x2 = XEXP (x1, 0);
4417 1799 : if (GET_MODE (x2) != i1
4418 1799 : || !vector_operand (operands[1], i1)
4419 1799 : || !nonimm_or_0_operand (operands[3], i1)
4420 3568 : || !register_operand (operands[4], i2))
4421 139 : return -1;
4422 : return 0;
4423 : }
4424 :
4425 : int
4426 652 : pattern1236 (rtx x1, machine_mode i1)
4427 : {
4428 652 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4429 652 : rtx x2;
4430 652 : int res ATTRIBUTE_UNUSED;
4431 652 : if (!register_operand (operands[0], i1)
4432 652 : || GET_MODE (x1) != i1)
4433 : return -1;
4434 626 : x2 = XVECEXP (x1, 0, 0);
4435 626 : if (GET_MODE (x2) != i1
4436 626 : || !nonimmediate_operand (operands[1], i1))
4437 2 : return -1;
4438 : return 0;
4439 : }
4440 :
4441 : int
4442 575 : pattern1240 (rtx x1)
4443 : {
4444 575 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4445 575 : rtx x2, x3, x4;
4446 575 : int res ATTRIBUTE_UNUSED;
4447 575 : x2 = XVECEXP (x1, 0, 2);
4448 575 : x3 = XEXP (x2, 0);
4449 575 : x4 = XEXP (x3, 1);
4450 575 : operands[4] = x4;
4451 575 : switch (GET_MODE (operands[0]))
4452 : {
4453 451 : case E_V16QImode:
4454 451 : if (!register_operand (operands[0], E_V16QImode)
4455 451 : || GET_MODE (x1) != E_V16QImode
4456 451 : || !register_operand (operands[1], E_V16QImode)
4457 442 : || !vector_operand (operands[2], E_V16QImode)
4458 889 : || GET_MODE (x2) != E_V16QImode)
4459 13 : return -1;
4460 438 : switch (GET_MODE (x3))
4461 : {
4462 323 : case E_V4SImode:
4463 323 : if (!register_operand (operands[3], E_V4SImode)
4464 323 : || !const0_operand (operands[4], E_V4SImode))
4465 212 : return -1;
4466 : return 0;
4467 :
4468 111 : case E_V2DImode:
4469 111 : if (!register_operand (operands[3], E_V2DImode)
4470 111 : || !const0_operand (operands[4], E_V2DImode))
4471 45 : return -1;
4472 : return 1;
4473 :
4474 : default:
4475 : return -1;
4476 : }
4477 :
4478 119 : case E_V32QImode:
4479 119 : if (!register_operand (operands[0], E_V32QImode)
4480 119 : || GET_MODE (x1) != E_V32QImode
4481 119 : || !register_operand (operands[1], E_V32QImode)
4482 117 : || !vector_operand (operands[2], E_V32QImode)
4483 232 : || GET_MODE (x2) != E_V32QImode)
4484 6 : return -1;
4485 113 : switch (GET_MODE (x3))
4486 : {
4487 67 : case E_V8SImode:
4488 67 : if (!register_operand (operands[3], E_V8SImode)
4489 67 : || !const0_operand (operands[4], E_V8SImode))
4490 32 : return -1;
4491 : return 2;
4492 :
4493 43 : case E_V4DImode:
4494 43 : if (!register_operand (operands[3], E_V4DImode)
4495 43 : || !const0_operand (operands[4], E_V4DImode))
4496 1 : return -1;
4497 : return 3;
4498 :
4499 : default:
4500 : return -1;
4501 : }
4502 :
4503 : default:
4504 : return -1;
4505 : }
4506 : }
4507 :
4508 : int
4509 211 : pattern1259 (rtx x1, machine_mode i1)
4510 : {
4511 211 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4512 211 : rtx x2, x3, x4;
4513 211 : int res ATTRIBUTE_UNUSED;
4514 211 : if (GET_MODE (x1) != i1)
4515 : return -1;
4516 211 : x2 = XEXP (x1, 0);
4517 211 : if (GET_MODE (x2) != i1)
4518 : return -1;
4519 211 : x3 = XEXP (x1, 1);
4520 211 : if (GET_MODE (x3) != i1)
4521 : return -1;
4522 211 : x4 = XEXP (x3, 0);
4523 211 : if (!register_operand (x4, i1))
4524 : return -1;
4525 : return 0;
4526 : }
4527 :
4528 : int
4529 549 : pattern1264 (rtx x1)
4530 : {
4531 549 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4532 549 : rtx x2, x3, x4, x5;
4533 549 : int res ATTRIBUTE_UNUSED;
4534 549 : x2 = XEXP (x1, 0);
4535 549 : x3 = XEXP (x2, 0);
4536 549 : x4 = XEXP (x3, 1);
4537 549 : operands[2] = x4;
4538 549 : if (!register_operand (operands[2], E_QImode))
4539 : return -1;
4540 474 : x5 = XEXP (x1, 1);
4541 474 : operands[1] = x5;
4542 474 : switch (GET_MODE (operands[0]))
4543 : {
4544 277 : case E_SImode:
4545 277 : return pattern1263 (x1,
4546 277 : E_SImode); /* [-1, 0] */
4547 :
4548 185 : case E_DImode:
4549 185 : if (pattern1263 (x1,
4550 : E_DImode) != 0)
4551 : return -1;
4552 : return 1;
4553 :
4554 : default:
4555 : return -1;
4556 : }
4557 : }
4558 :
4559 : int
4560 2072 : pattern1273 (rtx x1)
4561 : {
4562 2072 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4563 2072 : rtx x2, x3;
4564 2072 : int res ATTRIBUTE_UNUSED;
4565 2072 : if (GET_CODE (x1) != SET)
4566 : return -1;
4567 2054 : x2 = XEXP (x1, 1);
4568 2054 : if (GET_CODE (x2) != PLUS
4569 2054 : || GET_MODE (x2) != E_SImode)
4570 : return -1;
4571 2054 : x3 = XEXP (x2, 0);
4572 2054 : if (GET_CODE (x3) != REG
4573 2054 : || REGNO (x3) != 7
4574 4108 : || GET_MODE (x3) != E_SImode)
4575 0 : return -1;
4576 : return 0;
4577 : }
4578 :
4579 : int
4580 2 : pattern1277 (rtx x1, machine_mode i1, machine_mode i2)
4581 : {
4582 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4583 2 : int res ATTRIBUTE_UNUSED;
4584 2 : if (!vector_all_ones_operand (operands[3], i1)
4585 2 : || !const0_operand (operands[4], i1)
4586 2 : || GET_MODE (x1) != i2
4587 2 : || !vector_operand (operands[0], i1)
4588 4 : || !const0_operand (operands[1], i1))
4589 0 : return -1;
4590 : return 0;
4591 : }
4592 :
4593 : int
4594 6129 : pattern1284 (rtx x1, machine_mode i1)
4595 : {
4596 6129 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4597 6129 : rtx x2;
4598 6129 : int res ATTRIBUTE_UNUSED;
4599 6129 : if (!nonimmediate_operand (operands[0], i1)
4600 6129 : || GET_MODE (x1) != i1)
4601 : return -1;
4602 6129 : x2 = XEXP (x1, 0);
4603 6129 : if (GET_MODE (x2) != i1
4604 6129 : || !ix86_carry_flag_operator (operands[4], i1)
4605 6129 : || !nonimmediate_operand (operands[1], i1)
4606 11627 : || !x86_64_general_operand (operands[2], i1))
4607 801 : return -1;
4608 : return 0;
4609 : }
4610 :
4611 : int
4612 666 : pattern1292 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4613 : {
4614 666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4615 666 : rtx x2;
4616 666 : int res ATTRIBUTE_UNUSED;
4617 666 : if (!register_operand (operands[0], i2)
4618 666 : || GET_MODE (x1) != i2)
4619 : return -1;
4620 640 : x2 = XEXP (x1, 0);
4621 640 : if (GET_MODE (x2) != i2
4622 640 : || !register_operand (operands[1], i3)
4623 640 : || !nonimmediate_operand (operands[2], i3)
4624 640 : || !nonimm_or_0_operand (operands[4], i2)
4625 1259 : || !register_operand (operands[5], i1))
4626 54 : return -1;
4627 : return 0;
4628 : }
4629 :
4630 : int
4631 3444 : pattern1301 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4632 : {
4633 3444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4634 3444 : rtx x2, x3;
4635 3444 : int res ATTRIBUTE_UNUSED;
4636 3444 : if (!register_operand (operands[0], i1)
4637 3444 : || GET_MODE (x1) != i1)
4638 : return -1;
4639 3283 : x2 = XEXP (x1, 0);
4640 3283 : if (GET_MODE (x2) != i1)
4641 : return -1;
4642 3283 : x3 = XEXP (x2, 0);
4643 3283 : if (GET_MODE (x3) != i4
4644 3283 : || !nonimmediate_operand (operands[1], i3)
4645 3191 : || !nonimm_or_0_operand (operands[2], i1)
4646 6363 : || !register_operand (operands[3], i2))
4647 281 : return -1;
4648 : return 0;
4649 : }
4650 :
4651 : int
4652 787 : pattern1310 (rtx x1, machine_mode i1, machine_mode i2)
4653 : {
4654 787 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4655 787 : rtx x2, x3;
4656 787 : int res ATTRIBUTE_UNUSED;
4657 787 : if (!register_operand (operands[0], i2)
4658 787 : || GET_MODE (x1) != i2)
4659 : return -1;
4660 763 : x2 = XEXP (x1, 0);
4661 763 : if (GET_MODE (x2) != i2
4662 763 : || !nonimmediate_operand (operands[1], i2))
4663 27 : return -1;
4664 736 : x3 = XEXP (x2, 2);
4665 736 : return pattern1309 (x3,
4666 : i1,
4667 736 : i2); /* [-1, 0] */
4668 : }
4669 :
4670 : int
4671 459 : pattern1317 (rtx x1, int i1, int i2, int i3, int i4)
4672 : {
4673 459 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4674 459 : rtx x2, x3, x4, x5;
4675 459 : int res ATTRIBUTE_UNUSED;
4676 459 : x2 = XVECEXP (x1, 0, 8);
4677 459 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4678 : return -1;
4679 459 : x3 = XVECEXP (x1, 0, 9);
4680 459 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4681 : return -1;
4682 459 : x4 = XVECEXP (x1, 0, 10);
4683 459 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4684 : return -1;
4685 459 : x5 = XVECEXP (x1, 0, 11);
4686 459 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4687 0 : return -1;
4688 : return 0;
4689 : }
4690 :
4691 : int
4692 900 : pattern1325 (rtx x1)
4693 : {
4694 900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4695 900 : rtx x2, x3;
4696 900 : int res ATTRIBUTE_UNUSED;
4697 900 : if (!register_operand (operands[0], E_V8HFmode)
4698 900 : || GET_MODE (x1) != E_V8HFmode)
4699 : return -1;
4700 870 : x2 = XVECEXP (x1, 0, 0);
4701 870 : if (GET_MODE (x2) != E_V8HFmode)
4702 : return -1;
4703 870 : x3 = XEXP (x2, 0);
4704 870 : if (GET_MODE (x3) != E_V8HFmode
4705 870 : || !nonimm_or_0_operand (operands[2], E_V8HFmode)
4706 1738 : || !register_operand (operands[3], E_QImode))
4707 24 : return -1;
4708 846 : switch (GET_MODE (operands[1]))
4709 : {
4710 0 : case E_V8HImode:
4711 0 : if (!register_operand (operands[1], E_V8HImode))
4712 : return -1;
4713 : return 0;
4714 :
4715 0 : case E_V8SImode:
4716 0 : if (!register_operand (operands[1], E_V8SImode))
4717 : return -1;
4718 : return 1;
4719 :
4720 846 : case E_V8DImode:
4721 846 : if (!register_operand (operands[1], E_V8DImode))
4722 : return -1;
4723 : return 2;
4724 :
4725 : default:
4726 : return -1;
4727 : }
4728 : }
4729 :
4730 : int
4731 3 : pattern1336 (rtx x1)
4732 : {
4733 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4734 3 : rtx x2, x3, x4, x5, x6;
4735 3 : int res ATTRIBUTE_UNUSED;
4736 3 : x2 = XVECEXP (x1, 0, 1);
4737 3 : x3 = XEXP (x2, 1);
4738 3 : x4 = XEXP (x3, 0);
4739 3 : operands[2] = x4;
4740 3 : if (!nonimmediate_operand (operands[2], E_SImode))
4741 : return -1;
4742 3 : switch (GET_MODE (operands[0]))
4743 : {
4744 0 : case E_SImode:
4745 0 : if (!memory_operand (operands[0], E_SImode))
4746 : return -1;
4747 0 : x5 = XVECEXP (x1, 0, 0);
4748 0 : x6 = XEXP (x5, 1);
4749 0 : if (GET_MODE (x6) != E_SImode
4750 0 : || !memory_operand (operands[3], E_SImode))
4751 0 : return -1;
4752 : return 0;
4753 :
4754 3 : case E_DImode:
4755 3 : if (!memory_operand (operands[0], E_DImode))
4756 : return -1;
4757 3 : x5 = XVECEXP (x1, 0, 0);
4758 3 : x6 = XEXP (x5, 1);
4759 3 : if (GET_MODE (x6) != E_DImode
4760 3 : || !memory_operand (operands[3], E_DImode))
4761 0 : return -1;
4762 : return 1;
4763 :
4764 : default:
4765 : return -1;
4766 : }
4767 : }
4768 :
4769 : int
4770 323 : pattern1348 (rtx x1, machine_mode i1)
4771 : {
4772 323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4773 323 : rtx x2;
4774 323 : int res ATTRIBUTE_UNUSED;
4775 323 : if (!register_operand (operands[0], i1)
4776 323 : || GET_MODE (x1) != i1)
4777 : return -1;
4778 323 : x2 = XEXP (x1, 0);
4779 323 : if (GET_MODE (x2) != i1
4780 323 : || !register_operand (operands[1], i1)
4781 646 : || !register_operand (operands[2], i1))
4782 0 : return -1;
4783 : return 0;
4784 : }
4785 :
4786 : int
4787 14618 : pattern1356 (rtx x1)
4788 : {
4789 14618 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4790 14618 : rtx x2;
4791 14618 : int res ATTRIBUTE_UNUSED;
4792 14618 : if (!const_int_operand (operands[2], E_QImode))
4793 : return -1;
4794 14618 : x2 = XEXP (x1, 0);
4795 14618 : operands[1] = x2;
4796 14618 : return pattern410 (x1); /* [-1, 1] */
4797 : }
4798 :
4799 : int
4800 35950 : pattern1361 (rtx x1)
4801 : {
4802 35950 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4803 35950 : rtx x2, x3, x4, x5, x6, x7;
4804 35950 : int res ATTRIBUTE_UNUSED;
4805 35950 : x2 = XVECEXP (x1, 0, 1);
4806 35950 : if (GET_CODE (x2) != CLOBBER)
4807 : return -1;
4808 35950 : x3 = XEXP (x2, 0);
4809 35950 : if (GET_CODE (x3) != REG
4810 35950 : || REGNO (x3) != 17
4811 71900 : || GET_MODE (x3) != E_CCmode)
4812 : return -1;
4813 35950 : x4 = XVECEXP (x1, 0, 0);
4814 35950 : x5 = XEXP (x4, 1);
4815 35950 : x6 = XEXP (x5, 0);
4816 35950 : if (!rtx_equal_p (x6, operands[0]))
4817 : return -1;
4818 34681 : x7 = XEXP (x4, 0);
4819 34681 : if (!rtx_equal_p (x7, operands[0]))
4820 : return -1;
4821 : return 0;
4822 : }
4823 :
4824 : int
4825 283579 : pattern1369 (rtx x1, machine_mode i1)
4826 : {
4827 283579 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4828 283579 : rtx x2, x3, x4, x5, x6;
4829 283579 : int res ATTRIBUTE_UNUSED;
4830 283579 : if (!plusminuslogic_operator (operands[3], i1))
4831 : return -1;
4832 276145 : x2 = XVECEXP (x1, 0, 1);
4833 276145 : if (GET_CODE (x2) != CLOBBER)
4834 : return -1;
4835 276145 : x3 = XEXP (x2, 0);
4836 276145 : if (GET_CODE (x3) != REG
4837 276145 : || REGNO (x3) != 17
4838 552290 : || GET_MODE (x3) != E_CCmode)
4839 : return -1;
4840 276145 : x4 = XVECEXP (x1, 0, 0);
4841 276145 : x5 = XEXP (x4, 1);
4842 276145 : x6 = XEXP (x5, 1);
4843 276145 : operands[2] = x6;
4844 276145 : if (!x86_64_nonmemory_operand (operands[2], i1))
4845 : return -1;
4846 : return 0;
4847 : }
4848 :
4849 : int
4850 27 : pattern1378 (rtx x1, machine_mode i1)
4851 : {
4852 27 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4853 27 : rtx x2;
4854 27 : int res ATTRIBUTE_UNUSED;
4855 27 : if (!nonimmediate_operand (operands[0], i1)
4856 27 : || GET_MODE (x1) != i1)
4857 : return -1;
4858 27 : x2 = XEXP (x1, 0);
4859 27 : if (GET_MODE (x2) != i1
4860 27 : || !nonimmediate_operand (operands[1], i1)
4861 27 : || !ix86_carry_flag_operator (operands[4], i1)
4862 54 : || !general_operand (operands[2], i1))
4863 0 : return -1;
4864 : return 0;
4865 : }
4866 :
4867 : int
4868 827 : pattern1384 (rtx x1)
4869 : {
4870 827 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4871 827 : rtx x2, x3, x4, x5, x6, x7, x8;
4872 827 : int res ATTRIBUTE_UNUSED;
4873 827 : if (!register_operand (operands[0], E_DImode))
4874 : return -1;
4875 589 : x2 = XEXP (x1, 0);
4876 589 : x3 = XEXP (x2, 0);
4877 589 : operands[1] = x3;
4878 589 : if (!nonimmediate_operand (operands[1], E_DImode))
4879 : return -1;
4880 589 : x4 = XEXP (x1, 1);
4881 589 : if (GET_MODE (x4) != E_DImode)
4882 : return -1;
4883 589 : x5 = XEXP (x4, 0);
4884 589 : if (GET_MODE (x5) != E_TImode)
4885 : return -1;
4886 589 : x6 = XEXP (x5, 0);
4887 589 : if (GET_MODE (x6) != E_TImode)
4888 : return -1;
4889 589 : x7 = XEXP (x6, 0);
4890 589 : operands[2] = x7;
4891 589 : if (!register_operand (operands[2], E_DImode))
4892 : return -1;
4893 589 : x8 = XEXP (x5, 1);
4894 589 : operands[4] = x8;
4895 589 : if (!const_0_to_255_operand (operands[4], E_QImode))
4896 : return -1;
4897 : return 0;
4898 : }
4899 :
4900 : int
4901 279 : pattern1394 (rtx x1, machine_mode i1, machine_mode i2)
4902 : {
4903 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4904 279 : rtx x2;
4905 279 : int res ATTRIBUTE_UNUSED;
4906 279 : if (!register_operand (operands[0], i2)
4907 279 : || GET_MODE (x1) != i2)
4908 : return -1;
4909 273 : x2 = XEXP (x1, 0);
4910 273 : if (GET_MODE (x2) != i2
4911 273 : || !nonimmediate_operand (operands[1], i2)
4912 546 : || pattern1393 (
4913 : i1,
4914 : i2) != 0)
4915 0 : return -1;
4916 : return 0;
4917 : }
4918 :
4919 : int
4920 50 : pattern1402 (rtx x1, machine_mode i1)
4921 : {
4922 50 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4923 50 : rtx x2, x3;
4924 50 : int res ATTRIBUTE_UNUSED;
4925 50 : if (!register_operand (operands[0], i1)
4926 50 : || GET_MODE (x1) != i1)
4927 : return -1;
4928 50 : x2 = XEXP (x1, 0);
4929 50 : if (GET_MODE (x2) != i1
4930 50 : || !nonimmediate_operand (operands[1], i1))
4931 0 : return -1;
4932 50 : x3 = XEXP (x2, 2);
4933 50 : return pattern1401 (x3,
4934 50 : i1); /* [-1, 0] */
4935 : }
4936 :
4937 : int
4938 10 : pattern1411 (rtx x1, machine_mode i1)
4939 : {
4940 10 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4941 10 : rtx x2, x3, x4;
4942 10 : int res ATTRIBUTE_UNUSED;
4943 10 : if (!register_operand (operands[0], i1)
4944 10 : || GET_MODE (x1) != i1)
4945 : return -1;
4946 10 : x2 = XEXP (x1, 0);
4947 10 : if (GET_MODE (x2) != i1)
4948 : return -1;
4949 10 : x3 = XEXP (x2, 0);
4950 10 : if (GET_MODE (x3) != i1
4951 10 : || !nonimmediate_operand (operands[1], i1))
4952 0 : return -1;
4953 10 : x4 = XEXP (x2, 2);
4954 10 : return pattern1401 (x4,
4955 10 : i1); /* [-1, 0] */
4956 : }
4957 :
4958 : int
4959 1136 : pattern1420 (rtx x1, machine_mode i1, machine_mode i2)
4960 : {
4961 1136 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4962 1136 : rtx x2, x3;
4963 1136 : int res ATTRIBUTE_UNUSED;
4964 1136 : if (!register_operand (operands[0], i2)
4965 1136 : || GET_MODE (x1) != i2)
4966 : return -1;
4967 1116 : x2 = XVECEXP (x1, 0, 0);
4968 1116 : if (GET_MODE (x2) != i2)
4969 : return -1;
4970 1116 : x3 = XEXP (x2, 0);
4971 1116 : if (GET_MODE (x3) != i2
4972 1116 : || !register_operand (operands[1], i2)
4973 1108 : || !nonimm_or_0_operand (operands[2], i2)
4974 2223 : || !register_operand (operands[3], i1))
4975 9 : return -1;
4976 : return 0;
4977 : }
4978 :
4979 : int
4980 1243 : pattern1426 (rtx x1)
4981 : {
4982 1243 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4983 1243 : rtx x2;
4984 1243 : int res ATTRIBUTE_UNUSED;
4985 1243 : x2 = XVECEXP (x1, 0, 1);
4986 1243 : operands[4] = x2;
4987 1243 : if (!const48_operand (operands[4], E_SImode))
4988 : return -1;
4989 1243 : return pattern1425 (x1); /* [-1, 2] */
4990 : }
4991 :
4992 : int
4993 333 : pattern1431 (rtx x1, machine_mode i1)
4994 : {
4995 333 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4996 333 : rtx x2, x3, x4;
4997 333 : int res ATTRIBUTE_UNUSED;
4998 333 : if (!register_operand (operands[0], i1)
4999 333 : || GET_MODE (x1) != i1)
5000 : return -1;
5001 320 : x2 = XVECEXP (x1, 0, 0);
5002 320 : if (GET_MODE (x2) != i1)
5003 : return -1;
5004 320 : x3 = XEXP (x2, 0);
5005 320 : if (GET_MODE (x3) != i1
5006 320 : || !register_operand (operands[1], i1)
5007 632 : || !register_operand (operands[2], i1))
5008 13 : return -1;
5009 307 : x4 = XEXP (x2, 2);
5010 307 : if (GET_MODE (x4) != i1
5011 307 : || !register_operand (operands[3], i1))
5012 0 : return -1;
5013 : return 0;
5014 : }
5015 :
5016 : int
5017 5905 : pattern1439 (rtx x1)
5018 : {
5019 5905 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5020 5905 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5021 5905 : rtx x10;
5022 5905 : int res ATTRIBUTE_UNUSED;
5023 5905 : x2 = XVECEXP (x1, 0, 0);
5024 5905 : x3 = XEXP (x2, 1);
5025 5905 : x4 = XVECEXP (x3, 0, 0);
5026 5905 : operands[2] = x4;
5027 5905 : if (!register_operand (operands[2], E_XFmode))
5028 : return -1;
5029 5636 : x5 = XVECEXP (x3, 0, 1);
5030 5636 : operands[3] = x5;
5031 5636 : if (!register_operand (operands[3], E_XFmode))
5032 : return -1;
5033 5537 : x6 = XVECEXP (x1, 0, 1);
5034 5537 : x7 = XEXP (x6, 0);
5035 5537 : operands[1] = x7;
5036 5537 : if (!register_operand (operands[1], E_XFmode))
5037 : return -1;
5038 5537 : x8 = XEXP (x6, 1);
5039 5537 : x9 = XVECEXP (x8, 0, 0);
5040 5537 : if (!rtx_equal_p (x9, operands[2]))
5041 : return -1;
5042 5537 : x10 = XVECEXP (x8, 0, 1);
5043 5537 : if (!rtx_equal_p (x10, operands[3]))
5044 : return -1;
5045 : return 0;
5046 : }
5047 :
5048 : int
5049 13186 : pattern1453 (rtx x1, machine_mode i1)
5050 : {
5051 13186 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5052 13186 : rtx x2;
5053 13186 : int res ATTRIBUTE_UNUSED;
5054 13186 : if (!register_operand (operands[0], i1)
5055 13186 : || GET_MODE (x1) != i1)
5056 : return -1;
5057 13073 : x2 = XEXP (x1, 0);
5058 13073 : if (GET_MODE (x2) != i1
5059 13073 : || !register_operand (operands[1], i1)
5060 25139 : || !register_operand (operands[2], i1))
5061 11159 : return -1;
5062 : return 0;
5063 : }
5064 :
5065 : int
5066 114604 : pattern1461 (rtx x1, machine_mode i1)
5067 : {
5068 114604 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5069 114604 : rtx x2;
5070 114604 : int res ATTRIBUTE_UNUSED;
5071 114604 : if (!register_operand (operands[1], i1)
5072 114604 : || !register_operand (operands[0], i1)
5073 229208 : || GET_MODE (x1) != i1)
5074 0 : return -1;
5075 114604 : x2 = XEXP (x1, 0);
5076 114604 : if (GET_MODE (x2) != i1
5077 114604 : || !register_operand (operands[4], i1)
5078 229200 : || !register_operand (operands[3], i1))
5079 6948 : return -1;
5080 : return 0;
5081 : }
5082 :
5083 : int
5084 2227255 : pattern1467 (rtx x1)
5085 : {
5086 2227255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5087 2227255 : rtx x2, x3, x4, x5;
5088 2227255 : int res ATTRIBUTE_UNUSED;
5089 2227255 : x2 = XEXP (x1, 1);
5090 2227255 : x3 = XEXP (x2, 1);
5091 2227255 : operands[0] = x3;
5092 2227255 : x4 = XEXP (x1, 0);
5093 2227255 : switch (GET_MODE (x4))
5094 : {
5095 1123526 : case E_SImode:
5096 1123526 : if (GET_MODE (x2) != E_SImode)
5097 : return -1;
5098 1123526 : x5 = XEXP (x2, 0);
5099 1123526 : if (GET_MODE (x5) != E_SImode
5100 1123526 : || !const_int_operand (operands[0], E_SImode))
5101 0 : return -1;
5102 : return 0;
5103 :
5104 1103729 : case E_DImode:
5105 1103729 : if (GET_MODE (x2) != E_DImode)
5106 : return -1;
5107 1103729 : x5 = XEXP (x2, 0);
5108 1103729 : if (GET_MODE (x5) != E_DImode
5109 1103729 : || !const_int_operand (operands[0], E_DImode))
5110 126 : return -1;
5111 : return 1;
5112 :
5113 : default:
5114 : return -1;
5115 : }
5116 : }
5117 :
5118 : int
5119 114 : pattern1481 (rtx x1, machine_mode i1, machine_mode i2)
5120 : {
5121 114 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5122 114 : rtx x2, x3;
5123 114 : int res ATTRIBUTE_UNUSED;
5124 114 : if (!register_operand (operands[0], i1)
5125 114 : || GET_MODE (x1) != i1)
5126 : return -1;
5127 108 : x2 = XEXP (x1, 0);
5128 108 : if (GET_MODE (x2) != i1)
5129 : return -1;
5130 108 : x3 = XEXP (x2, 0);
5131 108 : if (GET_MODE (x3) != i2
5132 108 : || !register_operand (operands[2], i1))
5133 2 : return -1;
5134 : return 0;
5135 : }
5136 :
5137 : int
5138 0 : pattern1489 (rtx x1, machine_mode i1, machine_mode i2)
5139 : {
5140 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5141 0 : rtx x2;
5142 0 : int res ATTRIBUTE_UNUSED;
5143 0 : if (!register_operand (operands[0], i1)
5144 0 : || GET_MODE (x1) != i1
5145 0 : || !vector_all_ones_operand (operands[1], i1))
5146 0 : return -1;
5147 0 : x2 = XEXP (x1, 2);
5148 0 : return pattern1488 (x2,
5149 : i1,
5150 0 : i2); /* [-1, 0] */
5151 : }
5152 :
5153 : int
5154 1188 : pattern1494 (rtx x1, machine_mode i1, machine_mode i2)
5155 : {
5156 1188 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5157 1188 : rtx x2, x3;
5158 1188 : int res ATTRIBUTE_UNUSED;
5159 1188 : if (!register_operand (operands[0], i1)
5160 1188 : || GET_MODE (x1) != i1)
5161 : return -1;
5162 1155 : x2 = XVECEXP (x1, 0, 0);
5163 1155 : if (GET_MODE (x2) != i1)
5164 : return -1;
5165 1155 : x3 = XEXP (x2, 0);
5166 1155 : if (GET_MODE (x3) != i1
5167 1155 : || !register_operand (operands[1], i1)
5168 1147 : || !nonimm_or_0_operand (operands[2], i1)
5169 2302 : || !register_operand (operands[3], i2))
5170 23 : return -1;
5171 : return 0;
5172 : }
5173 :
5174 : int
5175 91393 : pattern1501 (rtx x1, machine_mode i1, machine_mode i2)
5176 : {
5177 91393 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5178 91393 : rtx x2;
5179 91393 : int res ATTRIBUTE_UNUSED;
5180 91393 : if (!nonimmediate_operand (operands[0], i1)
5181 91393 : || GET_MODE (x1) != i1)
5182 : return -1;
5183 91393 : x2 = XEXP (x1, 0);
5184 91393 : if (GET_MODE (x2) != i2
5185 91393 : || !nonimmediate_operand (operands[1], i1)
5186 182760 : || !nonimmediate_operand (operands[2], i1))
5187 189 : return -1;
5188 : return 0;
5189 : }
5190 :
5191 : int
5192 46578 : pattern1508 (rtx x1, machine_mode i1)
5193 : {
5194 46578 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5195 46578 : int res ATTRIBUTE_UNUSED;
5196 46578 : if (!nonimmediate_operand (operands[1], i1)
5197 46576 : || !x86_64_general_operand (operands[2], i1)
5198 46317 : || !nonimmediate_operand (operands[0], i1)
5199 92895 : || GET_MODE (x1) != i1)
5200 261 : return -1;
5201 : return 0;
5202 : }
5203 :
5204 : int
5205 142295 : pattern1514 (rtx x1, machine_mode i1)
5206 : {
5207 142295 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5208 142295 : int res ATTRIBUTE_UNUSED;
5209 142295 : if (!register_operand (operands[0], i1)
5210 142295 : || GET_MODE (x1) != i1
5211 142295 : || !memory_operand (operands[1], i1)
5212 283686 : || !register_operand (operands[2], i1))
5213 904 : return -1;
5214 : return 0;
5215 : }
5216 :
5217 : int
5218 180 : pattern1518 (rtx x1, rtx_code i1)
5219 : {
5220 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5221 180 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5222 180 : rtx x10;
5223 180 : int res ATTRIBUTE_UNUSED;
5224 180 : x2 = XVECEXP (x1, 0, 1);
5225 180 : x3 = XEXP (x2, 1);
5226 180 : if (GET_CODE (x3) != i1)
5227 : return -1;
5228 180 : x4 = XVECEXP (x1, 0, 0);
5229 180 : x5 = XEXP (x4, 0);
5230 180 : operands[0] = x5;
5231 180 : x6 = XEXP (x4, 1);
5232 180 : x7 = XEXP (x6, 0);
5233 180 : x8 = XEXP (x7, 0);
5234 180 : operands[2] = x8;
5235 180 : if (!register_operand (operands[2], E_SImode))
5236 : return -1;
5237 180 : x9 = XEXP (x7, 1);
5238 180 : operands[3] = x9;
5239 180 : if (!nonimmediate_operand (operands[3], E_SImode))
5240 : return -1;
5241 180 : x10 = XEXP (x2, 0);
5242 180 : operands[1] = x10;
5243 180 : return pattern1517 (x1); /* [-1, 1] */
5244 : }
5245 :
5246 : int
5247 167 : pattern1530 (rtx x1, machine_mode i1, machine_mode i2)
5248 : {
5249 167 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5250 167 : rtx x2, x3;
5251 167 : int res ATTRIBUTE_UNUSED;
5252 167 : if (!register_operand (operands[0], i1)
5253 167 : || GET_MODE (x1) != i1)
5254 : return -1;
5255 167 : x2 = XEXP (x1, 0);
5256 167 : if (GET_MODE (x2) != i1
5257 167 : || !register_operand (operands[1], i2))
5258 2 : return -1;
5259 165 : x3 = XEXP (x1, 1);
5260 165 : if (GET_MODE (x3) != i1)
5261 : return -1;
5262 : return 0;
5263 : }
5264 :
5265 : int
5266 5490 : pattern1536 (rtx x1)
5267 : {
5268 5490 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5269 5490 : rtx x2, x3, x4, x5, x6, x7;
5270 5490 : int res ATTRIBUTE_UNUSED;
5271 5490 : x2 = XVECEXP (x1, 0, 0);
5272 5490 : x3 = XEXP (x2, 0);
5273 5490 : x4 = XEXP (x3, 1);
5274 5490 : switch (GET_CODE (x4))
5275 : {
5276 3824 : case REG:
5277 3824 : case SUBREG:
5278 3824 : case MEM:
5279 3824 : x5 = XEXP (x3, 2);
5280 3824 : operands[4] = x5;
5281 3824 : x6 = XVECEXP (x1, 0, 1);
5282 3824 : operands[5] = x6;
5283 3824 : switch (GET_MODE (operands[0]))
5284 : {
5285 : case E_V8HFmode:
5286 : return 0;
5287 :
5288 : case E_V4SFmode:
5289 : return 1;
5290 :
5291 : case E_V2DFmode:
5292 : return 2;
5293 :
5294 : default:
5295 : return -1;
5296 : }
5297 :
5298 1666 : case CONST_INT:
5299 1666 : case CONST_DOUBLE:
5300 1666 : case CONST_VECTOR:
5301 1666 : operands[4] = x4;
5302 1666 : x5 = XEXP (x3, 2);
5303 1666 : operands[5] = x5;
5304 1666 : x6 = XVECEXP (x1, 0, 1);
5305 1666 : operands[6] = x6;
5306 1666 : x7 = XEXP (x2, 1);
5307 1666 : if (!rtx_equal_p (x7, operands[1]))
5308 : return -1;
5309 1666 : switch (GET_MODE (operands[0]))
5310 : {
5311 : case E_V8HFmode:
5312 : return 3;
5313 :
5314 : case E_V4SFmode:
5315 : return 4;
5316 :
5317 : case E_V2DFmode:
5318 : return 5;
5319 :
5320 : default:
5321 : return -1;
5322 : }
5323 :
5324 : default:
5325 : return -1;
5326 : }
5327 : }
5328 :
5329 : int
5330 20968 : pattern1556 (rtx x1)
5331 : {
5332 20968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5333 20968 : int res ATTRIBUTE_UNUSED;
5334 20968 : switch (GET_MODE (operands[0]))
5335 : {
5336 6148 : case E_V8SFmode:
5337 6148 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
5338 6148 : || GET_MODE (x1) != E_V8SFmode
5339 12296 : || !nonimmediate_operand (operands[1], E_V16SFmode))
5340 0 : return -1;
5341 : return 0;
5342 :
5343 6213 : case E_V8SImode:
5344 6213 : if (!nonimmediate_operand (operands[0], E_V8SImode)
5345 6213 : || GET_MODE (x1) != E_V8SImode
5346 12426 : || !nonimmediate_operand (operands[1], E_V16SImode))
5347 0 : return -1;
5348 : return 1;
5349 :
5350 7200 : case E_V8HImode:
5351 7200 : if (!nonimmediate_operand (operands[0], E_V8HImode)
5352 7200 : || GET_MODE (x1) != E_V8HImode
5353 14400 : || !nonimmediate_operand (operands[1], E_V16HImode))
5354 79 : return -1;
5355 : return 2;
5356 :
5357 449 : case E_V8HFmode:
5358 449 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
5359 449 : || GET_MODE (x1) != E_V8HFmode
5360 898 : || !nonimmediate_operand (operands[1], E_V16HFmode))
5361 3 : return -1;
5362 : return 3;
5363 :
5364 711 : case E_V8BFmode:
5365 711 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
5366 711 : || GET_MODE (x1) != E_V8BFmode
5367 1422 : || !nonimmediate_operand (operands[1], E_V16BFmode))
5368 34 : return -1;
5369 : return 4;
5370 :
5371 : default:
5372 : return -1;
5373 : }
5374 : }
5375 :
5376 : int
5377 302 : pattern1575 (rtx x1, machine_mode i1)
5378 : {
5379 302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5380 302 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5381 302 : rtx x10, x11, x12, x13, x14, x15;
5382 302 : int res ATTRIBUTE_UNUSED;
5383 302 : x2 = XEXP (x1, 0);
5384 302 : x3 = XEXP (x2, 0);
5385 302 : x4 = XEXP (x3, 0);
5386 302 : if (GET_MODE (x4) != i1)
5387 : return -1;
5388 302 : x5 = XEXP (x3, 1);
5389 302 : if (GET_MODE (x5) != i1)
5390 : return -1;
5391 302 : x6 = XEXP (x2, 1);
5392 302 : x7 = XEXP (x6, 0);
5393 302 : if (GET_MODE (x7) != i1)
5394 : return -1;
5395 302 : x8 = XEXP (x6, 1);
5396 302 : if (GET_MODE (x8) != i1)
5397 : return -1;
5398 302 : x9 = XEXP (x1, 1);
5399 302 : x10 = XEXP (x9, 0);
5400 302 : x11 = XEXP (x10, 0);
5401 302 : if (GET_MODE (x11) != i1)
5402 : return -1;
5403 302 : x12 = XEXP (x10, 1);
5404 302 : if (GET_MODE (x12) != i1)
5405 : return -1;
5406 302 : x13 = XEXP (x9, 1);
5407 302 : x14 = XEXP (x13, 0);
5408 302 : if (GET_MODE (x14) != i1)
5409 : return -1;
5410 302 : x15 = XEXP (x13, 1);
5411 302 : if (GET_MODE (x15) != i1)
5412 0 : return -1;
5413 : return 0;
5414 : }
5415 :
5416 : int
5417 27633 : pattern1590 (rtx x1)
5418 : {
5419 27633 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5420 27633 : int res ATTRIBUTE_UNUSED;
5421 27633 : switch (GET_MODE (operands[0]))
5422 : {
5423 22622 : case E_SImode:
5424 22622 : if (!register_operand (operands[0], E_SImode)
5425 22622 : || GET_MODE (x1) != E_SImode)
5426 : return -1;
5427 : return 0;
5428 :
5429 5011 : case E_DImode:
5430 5011 : if (!register_operand (operands[0], E_DImode)
5431 5011 : || GET_MODE (x1) != E_DImode)
5432 : return -1;
5433 : return 1;
5434 :
5435 : default:
5436 : return -1;
5437 : }
5438 : }
5439 :
5440 : int
5441 104 : pattern1599 (rtx x1)
5442 : {
5443 104 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5444 104 : rtx x2, x3, x4;
5445 104 : int res ATTRIBUTE_UNUSED;
5446 104 : x2 = XEXP (x1, 2);
5447 104 : operands[3] = x2;
5448 104 : x3 = XEXP (x1, 1);
5449 104 : x4 = XEXP (x3, 0);
5450 104 : if (!rtx_equal_p (x4, operands[2]))
5451 : return -1;
5452 104 : switch (GET_MODE (operands[0]))
5453 : {
5454 17 : case E_HImode:
5455 17 : return pattern1598 (x1,
5456 17 : E_HImode); /* [-1, 0] */
5457 :
5458 69 : case E_SImode:
5459 69 : if (pattern1598 (x1,
5460 : E_SImode) != 0)
5461 : return -1;
5462 : return 1;
5463 :
5464 18 : case E_DImode:
5465 18 : if (pattern1598 (x1,
5466 : E_DImode) != 0)
5467 : return -1;
5468 : return 2;
5469 :
5470 : default:
5471 : return -1;
5472 : }
5473 : }
5474 :
5475 : int
5476 172 : pattern1604 (rtx x1, machine_mode i1)
5477 : {
5478 172 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5479 172 : int res ATTRIBUTE_UNUSED;
5480 172 : if (!const_int_operand (operands[4], i1))
5481 : return -1;
5482 11 : switch (GET_MODE (x1))
5483 : {
5484 8 : case E_SImode:
5485 8 : if (!nonimmediate_operand (operands[1], E_SImode))
5486 : return -1;
5487 : return 0;
5488 :
5489 3 : case E_DImode:
5490 3 : if (!nonimmediate_operand (operands[1], E_DImode))
5491 : return -1;
5492 : return 1;
5493 :
5494 : default:
5495 : return -1;
5496 : }
5497 : }
5498 :
5499 : int
5500 976 : pattern1614 (machine_mode i1, machine_mode i2)
5501 : {
5502 976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5503 976 : int res ATTRIBUTE_UNUSED;
5504 976 : if (!register_operand (operands[2], i2)
5505 968 : || !register_operand (operands[3], i2)
5506 968 : || !const0_operand (operands[4], i2)
5507 1944 : || !register_operand (operands[5], i1))
5508 24 : return -1;
5509 : return 0;
5510 : }
5511 :
5512 : int
5513 0 : pattern1621 (rtx x1, machine_mode i1, machine_mode i2)
5514 : {
5515 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5516 0 : rtx x2, x3, x4, x5;
5517 0 : int res ATTRIBUTE_UNUSED;
5518 0 : if (!register_operand (operands[0], i1)
5519 0 : || GET_MODE (x1) != i1)
5520 : return -1;
5521 0 : x2 = XVECEXP (x1, 0, 0);
5522 0 : if (GET_MODE (x2) != i1)
5523 : return -1;
5524 0 : x3 = XEXP (x2, 0);
5525 0 : if (GET_MODE (x3) != i1
5526 0 : || !nonimmediate_operand (operands[1], i1)
5527 0 : || !register_operand (operands[2], i1))
5528 0 : return -1;
5529 0 : x4 = XEXP (x3, 2);
5530 0 : if (GET_MODE (x4) != i1
5531 0 : || !register_operand (operands[3], i1)
5532 0 : || !register_operand (operands[4], i2))
5533 0 : return -1;
5534 0 : x5 = XEXP (x2, 1);
5535 0 : if (!rtx_equal_p (x5, operands[1]))
5536 : return -1;
5537 : return 0;
5538 : }
5539 :
5540 : int
5541 156 : pattern1631 (machine_mode i1)
5542 : {
5543 156 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5544 156 : int res ATTRIBUTE_UNUSED;
5545 156 : if (!vsib_address_operand (operands[0], i1))
5546 : return -1;
5547 122 : switch (GET_MODE (operands[2]))
5548 : {
5549 74 : case E_V4SImode:
5550 74 : if (!register_operand (operands[2], E_V4SImode))
5551 : return -1;
5552 : return 0;
5553 :
5554 48 : case E_V4DImode:
5555 48 : if (!register_operand (operands[2], E_V4DImode))
5556 : return -1;
5557 : return 1;
5558 :
5559 : default:
5560 : return -1;
5561 : }
5562 : }
5563 :
5564 : int
5565 35 : pattern1641 (machine_mode i1)
5566 : {
5567 35 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5568 35 : int res ATTRIBUTE_UNUSED;
5569 35 : if (!vsib_address_operand (operands[3], i1))
5570 : return -1;
5571 27 : switch (GET_MODE (operands[2]))
5572 : {
5573 4 : case E_V4SImode:
5574 4 : if (!register_operand (operands[2], E_V4SImode))
5575 : return -1;
5576 : return 0;
5577 :
5578 23 : case E_V4DImode:
5579 23 : if (!register_operand (operands[2], E_V4DImode))
5580 : return -1;
5581 : return 1;
5582 :
5583 : default:
5584 : return -1;
5585 : }
5586 : }
5587 :
5588 : int
5589 2 : pattern1648 (rtx x1)
5590 : {
5591 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5592 2 : rtx x2, x3, x4, x5, x6, x7, x8;
5593 2 : int res ATTRIBUTE_UNUSED;
5594 2 : x2 = XVECEXP (x1, 0, 1);
5595 2 : x3 = XEXP (x2, 1);
5596 2 : x4 = XEXP (x3, 1);
5597 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5598 : return -1;
5599 2 : x5 = XEXP (x3, 0);
5600 2 : if (!rtx_equal_p (x5, operands[1]))
5601 : return -1;
5602 2 : x6 = XVECEXP (x1, 0, 0);
5603 2 : x7 = XEXP (x6, 1);
5604 2 : x8 = XVECEXP (x7, 0, 0);
5605 2 : switch (GET_MODE (x8))
5606 : {
5607 0 : case E_SImode:
5608 0 : if (!nonimmediate_operand (operands[1], E_SImode)
5609 0 : || !register_operand (operands[0], E_SImode)
5610 0 : || GET_MODE (x3) != E_SImode)
5611 0 : return -1;
5612 : return 0;
5613 :
5614 2 : case E_DImode:
5615 2 : if (!nonimmediate_operand (operands[1], E_DImode)
5616 2 : || !register_operand (operands[0], E_DImode)
5617 4 : || GET_MODE (x3) != E_DImode)
5618 0 : return -1;
5619 : return 1;
5620 :
5621 : default:
5622 : return -1;
5623 : }
5624 : }
5625 :
5626 : int
5627 92 : pattern1665 ()
5628 : {
5629 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5630 92 : int res ATTRIBUTE_UNUSED;
5631 92 : switch (GET_MODE (operands[3]))
5632 : {
5633 2 : case E_HImode:
5634 2 : if (!extract_high_operator (operands[3], E_HImode))
5635 : return -1;
5636 : return 0;
5637 :
5638 68 : case E_SImode:
5639 68 : if (!extract_high_operator (operands[3], E_SImode))
5640 : return -1;
5641 : return 1;
5642 :
5643 22 : case E_DImode:
5644 22 : if (!extract_high_operator (operands[3], E_DImode))
5645 : return -1;
5646 : return 2;
5647 :
5648 : default:
5649 : return -1;
5650 : }
5651 : }
5652 :
5653 : int
5654 1392 : pattern1673 (rtx x1, machine_mode i1, machine_mode i2)
5655 : {
5656 1392 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5657 1392 : rtx x2, x3;
5658 1392 : int res ATTRIBUTE_UNUSED;
5659 1392 : if (!register_operand (operands[0], i1)
5660 1392 : || GET_MODE (x1) != i1)
5661 : return -1;
5662 1222 : x2 = XEXP (x1, 0);
5663 1222 : if (GET_MODE (x2) != i1)
5664 : return -1;
5665 1222 : x3 = XEXP (x2, 0);
5666 1222 : if (GET_MODE (x3) != i2
5667 1222 : || !register_operand (operands[1], i1)
5668 2442 : || !nonimmediate_operand (operands[2], i1))
5669 139 : return -1;
5670 : return 0;
5671 : }
5672 :
5673 : int
5674 1056 : pattern1680 (rtx x1, machine_mode i1)
5675 : {
5676 1056 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5677 1056 : rtx x2, x3;
5678 1056 : int res ATTRIBUTE_UNUSED;
5679 1056 : if (!register_operand (operands[0], i1)
5680 1056 : || GET_MODE (x1) != i1)
5681 : return -1;
5682 1021 : x2 = XVECEXP (x1, 0, 0);
5683 1021 : if (GET_MODE (x2) != i1)
5684 : return -1;
5685 1021 : x3 = XEXP (x2, 0);
5686 1021 : if (GET_MODE (x3) != i1
5687 1021 : || !nonimmediate_operand (operands[1], i1)
5688 1021 : || !register_operand (operands[2], i1)
5689 2008 : || !register_operand (operands[3], i1))
5690 53 : return -1;
5691 : return 0;
5692 : }
5693 :
5694 : int
5695 454 : pattern1690 (rtx x1, machine_mode i1, machine_mode i2)
5696 : {
5697 454 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5698 454 : rtx x2, x3;
5699 454 : int res ATTRIBUTE_UNUSED;
5700 454 : if (!register_operand (operands[0], i2)
5701 448 : || GET_MODE (x1) != i2
5702 448 : || !register_operand (operands[1], i2)
5703 448 : || !register_operand (operands[7], E_QImode)
5704 780 : || !vsib_mem_operator (operands[6], i1))
5705 128 : return -1;
5706 326 : x2 = XVECEXP (x1, 0, 2);
5707 326 : x3 = XEXP (x2, 0);
5708 326 : switch (GET_MODE (x3))
5709 : {
5710 0 : case E_SImode:
5711 0 : return pattern1689 (
5712 0 : E_SImode); /* [-1, 1] */
5713 :
5714 326 : case E_DImode:
5715 326 : res = pattern1689 (
5716 : E_DImode);
5717 326 : if (res >= 0)
5718 244 : return res + 2; /* [2, 3] */
5719 : return -1;
5720 :
5721 : default:
5722 : return -1;
5723 : }
5724 : }
5725 :
5726 : int
5727 466 : pattern1702 (rtx x1)
5728 : {
5729 466 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5730 466 : rtx x2, x3, x4, x5, x6, x7;
5731 466 : int res ATTRIBUTE_UNUSED;
5732 466 : x2 = XVECEXP (x1, 0, 2);
5733 466 : if (XWINT (x2, 0) != 2L)
5734 : return -1;
5735 445 : x3 = XVECEXP (x1, 0, 3);
5736 445 : if (XWINT (x3, 0) != 2L)
5737 : return -1;
5738 445 : x4 = XVECEXP (x1, 0, 4);
5739 445 : if (XWINT (x4, 0) != 4L)
5740 : return -1;
5741 445 : x5 = XVECEXP (x1, 0, 5);
5742 445 : if (XWINT (x5, 0) != 4L)
5743 : return -1;
5744 445 : x6 = XVECEXP (x1, 0, 6);
5745 445 : if (XWINT (x6, 0) != 6L)
5746 : return -1;
5747 445 : x7 = XVECEXP (x1, 0, 7);
5748 445 : if (XWINT (x7, 0) != 6L)
5749 0 : return -1;
5750 : return 0;
5751 : }
5752 :
5753 : int
5754 61043 : pattern1713 (rtx x1, rtx_code i1)
5755 : {
5756 61043 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5757 61043 : rtx x2, x3, x4;
5758 61043 : int res ATTRIBUTE_UNUSED;
5759 61043 : if (GET_CODE (x1) != i1)
5760 : return -1;
5761 51908 : x2 = XEXP (x1, 0);
5762 51908 : if (GET_CODE (x2) != MINUS)
5763 : return -1;
5764 45376 : x3 = XEXP (x2, 1);
5765 45376 : switch (GET_CODE (x3))
5766 : {
5767 41012 : case LTU:
5768 41012 : case UNLT:
5769 41012 : operands[5] = x3;
5770 41012 : x4 = XEXP (x3, 1);
5771 41012 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5772 : return -1;
5773 : return 0;
5774 :
5775 : default:
5776 : return -1;
5777 : }
5778 : }
5779 :
5780 : int
5781 398 : pattern1722 (rtx x1, int i1, int i2, int i3, int i4, int i5)
5782 : {
5783 398 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5784 398 : rtx x2, x3, x4, x5, x6;
5785 398 : int res ATTRIBUTE_UNUSED;
5786 398 : x2 = XVECEXP (x1, 0, 12);
5787 398 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5788 : return -1;
5789 398 : x3 = XVECEXP (x1, 0, 13);
5790 398 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5791 : return -1;
5792 398 : x4 = XVECEXP (x1, 0, 14);
5793 398 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5794 : return -1;
5795 398 : x5 = XVECEXP (x1, 0, 15);
5796 398 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5797 : return -1;
5798 398 : x6 = XVECEXP (x1, 0, 16);
5799 398 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
5800 0 : return -1;
5801 : return 0;
5802 : }
5803 :
5804 : int
5805 423 : pattern1731 (machine_mode i1)
5806 : {
5807 423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5808 423 : int res ATTRIBUTE_UNUSED;
5809 423 : if (!vsib_address_operand (operands[0], i1))
5810 : return -1;
5811 401 : switch (GET_MODE (operands[2]))
5812 : {
5813 125 : case E_V16SImode:
5814 125 : if (!register_operand (operands[2], E_V16SImode)
5815 108 : || !register_operand (operands[6], E_HImode)
5816 160 : || !register_operand (operands[3], E_V16SImode))
5817 99 : return -1;
5818 : return 0;
5819 :
5820 276 : case E_V8DImode:
5821 276 : if (!register_operand (operands[2], E_V8DImode)
5822 266 : || !register_operand (operands[6], E_QImode)
5823 466 : || !register_operand (operands[3], E_V8SImode))
5824 208 : return -1;
5825 : return 1;
5826 :
5827 : default:
5828 : return -1;
5829 : }
5830 : }
5831 :
5832 : int
5833 1110 : pattern1740 (machine_mode i1)
5834 : {
5835 1110 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5836 1110 : int res ATTRIBUTE_UNUSED;
5837 1110 : if (!vsib_address_operand (operands[0], i1))
5838 : return -1;
5839 1068 : switch (GET_MODE (operands[2]))
5840 : {
5841 615 : case E_V8SImode:
5842 615 : if (!register_operand (operands[2], E_V8SImode))
5843 : return -1;
5844 : return 0;
5845 :
5846 453 : case E_V8DImode:
5847 453 : if (!register_operand (operands[2], E_V8DImode))
5848 : return -1;
5849 : return 1;
5850 :
5851 : default:
5852 : return -1;
5853 : }
5854 : }
5855 :
5856 : int
5857 1443 : pattern1750 (rtx x1, machine_mode i1, machine_mode i2)
5858 : {
5859 1443 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5860 1443 : rtx x2, x3;
5861 1443 : int res ATTRIBUTE_UNUSED;
5862 1443 : if (!register_operand (operands[0], i2)
5863 1415 : || GET_MODE (x1) != i2
5864 1415 : || !register_operand (operands[6], E_QImode)
5865 855 : || !vsib_mem_operator (operands[5], i1)
5866 2298 : || !scratch_operand (operands[1], E_QImode))
5867 588 : return -1;
5868 855 : x2 = XVECEXP (x1, 0, 2);
5869 855 : x3 = XEXP (x2, 0);
5870 855 : switch (GET_MODE (x3))
5871 : {
5872 0 : case E_SImode:
5873 0 : return pattern1749 (
5874 0 : E_SImode); /* [-1, 1] */
5875 :
5876 855 : case E_DImode:
5877 855 : res = pattern1749 (
5878 : E_DImode);
5879 855 : if (res >= 0)
5880 776 : return res + 2; /* [2, 3] */
5881 : return -1;
5882 :
5883 : default:
5884 : return -1;
5885 : }
5886 : }
5887 :
5888 : int
5889 624 : pattern1763 (rtx x1)
5890 : {
5891 624 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5892 624 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5893 624 : rtx x10, x11;
5894 624 : int res ATTRIBUTE_UNUSED;
5895 624 : x2 = XEXP (x1, 0);
5896 624 : x3 = XEXP (x2, 1);
5897 624 : x4 = XVECEXP (x3, 0, 4);
5898 624 : if (XWINT (x4, 0) != 6L)
5899 : return -1;
5900 624 : x5 = XVECEXP (x3, 0, 5);
5901 624 : if (XWINT (x5, 0) != 14L)
5902 : return -1;
5903 624 : x6 = XVECEXP (x3, 0, 6);
5904 624 : if (XWINT (x6, 0) != 7L)
5905 : return -1;
5906 624 : x7 = XVECEXP (x3, 0, 7);
5907 624 : if (XWINT (x7, 0) != 15L)
5908 : return -1;
5909 624 : x8 = XEXP (x2, 0);
5910 624 : x9 = XEXP (x8, 1);
5911 624 : operands[2] = x9;
5912 624 : x10 = XEXP (x1, 1);
5913 624 : operands[3] = x10;
5914 624 : x11 = XEXP (x1, 2);
5915 624 : operands[4] = x11;
5916 624 : return 0;
5917 : }
5918 :
5919 : int
5920 276 : pattern1772 (machine_mode i1)
5921 : {
5922 276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5923 276 : int res ATTRIBUTE_UNUSED;
5924 276 : if (!vsib_address_operand (operands[3], i1))
5925 : return -1;
5926 236 : switch (GET_MODE (operands[4]))
5927 : {
5928 85 : case E_V4SImode:
5929 85 : if (!register_operand (operands[4], E_V4SImode))
5930 : return -1;
5931 : return 0;
5932 :
5933 151 : case E_V2DImode:
5934 151 : if (!register_operand (operands[4], E_V2DImode))
5935 : return -1;
5936 : return 1;
5937 :
5938 : default:
5939 : return -1;
5940 : }
5941 : }
5942 :
5943 : int
5944 580 : pattern1778 (rtx x1, machine_mode i1, machine_mode i2)
5945 : {
5946 580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5947 580 : int res ATTRIBUTE_UNUSED;
5948 580 : if (!register_operand (operands[0], i2)
5949 580 : || GET_MODE (x1) != i2
5950 580 : || !register_operand (operands[7], E_QImode)
5951 580 : || !vsib_mem_operator (operands[6], i1)
5952 1160 : || !scratch_operand (operands[2], E_QImode))
5953 0 : return -1;
5954 : return 0;
5955 : }
5956 :
5957 : int
5958 80 : pattern1785 (rtx x1, machine_mode i1)
5959 : {
5960 80 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5961 80 : int res ATTRIBUTE_UNUSED;
5962 80 : if (!nonimmediate_operand (operands[1], i1)
5963 80 : || !ix86_carry_flag_operator (operands[2], i1)
5964 80 : || !nonimmediate_operand (operands[0], i1)
5965 160 : || GET_MODE (x1) != i1)
5966 0 : return -1;
5967 : return 0;
5968 : }
5969 :
5970 : int
5971 792 : pattern1793 (rtx x1, machine_mode i1, machine_mode i2)
5972 : {
5973 792 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5974 792 : rtx x2;
5975 792 : int res ATTRIBUTE_UNUSED;
5976 792 : if (!register_operand (operands[1], i1)
5977 792 : || GET_MODE (x1) != i2)
5978 : return -1;
5979 792 : x2 = XEXP (x1, 0);
5980 792 : if (GET_MODE (x2) != i2
5981 792 : || !x86_64_dwzext_immediate_operand (operands[2], i2)
5982 864 : || !scratch_operand (operands[0], i1))
5983 720 : return -1;
5984 : return 0;
5985 : }
5986 :
5987 : int
5988 878 : pattern1799 (rtx x1, machine_mode i1, machine_mode i2)
5989 : {
5990 878 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5991 878 : rtx x2, x3, x4, x5;
5992 878 : int res ATTRIBUTE_UNUSED;
5993 878 : if (!register_operand (operands[0], i1)
5994 878 : || GET_MODE (x1) != i1)
5995 : return -1;
5996 864 : x2 = XVECEXP (x1, 0, 0);
5997 864 : if (GET_MODE (x2) != i1)
5998 : return -1;
5999 864 : x3 = XEXP (x2, 0);
6000 864 : if (GET_MODE (x3) != i1)
6001 : return -1;
6002 864 : x4 = XEXP (x3, 0);
6003 864 : if (GET_MODE (x4) != i1)
6004 : return -1;
6005 864 : x5 = XEXP (x4, 0);
6006 864 : if (GET_MODE (x5) != i2
6007 864 : || !nonimm_or_0_operand (operands[3], i1)
6008 1728 : || !register_operand (operands[2], i1))
6009 10 : return -1;
6010 : return 0;
6011 : }
6012 :
6013 : int
6014 1397 : pattern1808 (rtx x1, machine_mode i1, machine_mode i2)
6015 : {
6016 1397 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6017 1397 : rtx x2, x3;
6018 1397 : int res ATTRIBUTE_UNUSED;
6019 1397 : if (!register_operand (operands[0], i1)
6020 1382 : || GET_MODE (x1) != i1
6021 1382 : || !vsib_mem_operator (operands[6], i2)
6022 1382 : || !register_operand (operands[4], i1)
6023 2414 : || !scratch_operand (operands[1], i1))
6024 380 : return -1;
6025 1017 : x2 = XVECEXP (x1, 0, 1);
6026 1017 : x3 = XEXP (x2, 0);
6027 1017 : switch (GET_MODE (x3))
6028 : {
6029 52 : case E_SImode:
6030 52 : return pattern1807 (
6031 52 : E_SImode); /* [-1, 1] */
6032 :
6033 965 : case E_DImode:
6034 965 : res = pattern1807 (
6035 : E_DImode);
6036 965 : if (res >= 0)
6037 869 : return res + 2; /* [2, 3] */
6038 : return -1;
6039 :
6040 : default:
6041 : return -1;
6042 : }
6043 : }
6044 :
6045 : int
6046 718 : pattern1819 (rtx x1, int i1, int i2, int i3, int i4)
6047 : {
6048 718 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6049 718 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6050 718 : int res ATTRIBUTE_UNUSED;
6051 718 : x2 = XVECEXP (x1, 0, 12);
6052 718 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6053 : return -1;
6054 718 : x3 = XVECEXP (x1, 0, 13);
6055 718 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6056 : return -1;
6057 718 : x4 = XVECEXP (x1, 0, 14);
6058 718 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6059 : return -1;
6060 718 : x5 = XVECEXP (x1, 0, 15);
6061 718 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6062 : return -1;
6063 718 : x6 = XVECEXP (x1, 0, 16);
6064 718 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6065 : return -1;
6066 718 : x7 = XVECEXP (x1, 0, 17);
6067 718 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
6068 : return -1;
6069 718 : x8 = XVECEXP (x1, 0, 18);
6070 718 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
6071 : return -1;
6072 718 : x9 = XVECEXP (x1, 0, 19);
6073 718 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
6074 0 : return -1;
6075 : return 0;
6076 : }
6077 :
6078 : int
6079 3582 : pattern1833 (rtx x1, machine_mode i1)
6080 : {
6081 3582 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6082 3582 : rtx x2, x3, x4, x5, x6, x7;
6083 3582 : int res ATTRIBUTE_UNUSED;
6084 3582 : x2 = XVECEXP (x1, 0, 0);
6085 3582 : x3 = XEXP (x2, 1);
6086 3582 : x4 = XEXP (x3, 0);
6087 3582 : x5 = XEXP (x4, 0);
6088 3582 : if (GET_MODE (x5) != i1
6089 3582 : || !ix86_carry_flag_operator (operands[4], i1)
6090 7164 : || !nonimmediate_operand (operands[1], i1))
6091 30 : return -1;
6092 3552 : x6 = XVECEXP (x1, 0, 1);
6093 3552 : x7 = XEXP (x6, 1);
6094 3552 : return pattern1832 (x7,
6095 3552 : i1); /* [-1, 0] */
6096 : }
6097 :
6098 : int
6099 208 : pattern1841 (rtx x1, int i1, int i2, int i3, int i4, int i5)
6100 : {
6101 208 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6102 208 : rtx x2, x3, x4, x5, x6;
6103 208 : int res ATTRIBUTE_UNUSED;
6104 208 : x2 = XVECEXP (x1, 0, 17);
6105 208 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
6106 : return -1;
6107 208 : x3 = XVECEXP (x1, 0, 18);
6108 208 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6109 : return -1;
6110 208 : x4 = XVECEXP (x1, 0, 19);
6111 208 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6112 : return -1;
6113 208 : x5 = XVECEXP (x1, 0, 20);
6114 208 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6115 : return -1;
6116 208 : x6 = XVECEXP (x1, 0, 21);
6117 208 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6118 0 : return -1;
6119 : return 0;
6120 : }
6121 :
6122 : int
6123 255 : pattern1853 (rtx x1, machine_mode i1, machine_mode i2)
6124 : {
6125 255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6126 255 : int res ATTRIBUTE_UNUSED;
6127 255 : if (!register_operand (operands[2], i1)
6128 255 : || !register_operand (operands[4], i2))
6129 54 : return -1;
6130 201 : return pattern1852 (x1,
6131 201 : i1); /* [-1, 1] */
6132 : }
6133 :
6134 : int
6135 358 : pattern1858 (machine_mode i1)
6136 : {
6137 358 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6138 358 : int res ATTRIBUTE_UNUSED;
6139 358 : if (!vsib_address_operand (operands[0], i1))
6140 : return -1;
6141 345 : switch (GET_MODE (operands[2]))
6142 : {
6143 151 : case E_V8SImode:
6144 151 : if (!register_operand (operands[2], E_V8SImode)
6145 151 : || !register_operand (operands[3], E_V8SFmode))
6146 2 : return -1;
6147 : return 0;
6148 :
6149 194 : case E_V4DImode:
6150 194 : if (!register_operand (operands[2], E_V4DImode)
6151 194 : || !register_operand (operands[3], E_V4SFmode))
6152 21 : return -1;
6153 : return 1;
6154 :
6155 : default:
6156 : return -1;
6157 : }
6158 : }
6159 :
6160 : int
6161 89007 : pattern1866 (rtx x1, machine_mode i1)
6162 : {
6163 89007 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6164 89007 : rtx x2, x3, x4, x5;
6165 89007 : int res ATTRIBUTE_UNUSED;
6166 89007 : if (!register_operand (operands[2], i1)
6167 89007 : || !register_operand (operands[0], i1))
6168 0 : return -1;
6169 89007 : x2 = XVECEXP (x1, 0, 1);
6170 89007 : x3 = XEXP (x2, 1);
6171 89007 : if (GET_MODE (x3) != i1
6172 89007 : || !register_operand (operands[3], i1)
6173 89007 : || !register_operand (operands[5], i1)
6174 171572 : || !register_operand (operands[1], i1))
6175 6442 : return -1;
6176 82565 : x4 = XVECEXP (x1, 0, 2);
6177 82565 : x5 = XEXP (x4, 1);
6178 82565 : if (GET_MODE (x5) != i1
6179 82565 : || !register_operand (operands[4], i1))
6180 1193 : return -1;
6181 : return 0;
6182 : }
6183 :
6184 : int
6185 194 : pattern1874 (machine_mode i1)
6186 : {
6187 194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6188 194 : int res ATTRIBUTE_UNUSED;
6189 194 : if (!vsib_address_operand (operands[2], i1))
6190 : return -1;
6191 186 : switch (GET_MODE (operands[3]))
6192 : {
6193 106 : case E_V8SImode:
6194 106 : if (!register_operand (operands[3], E_V8SImode)
6195 106 : || !register_operand (operands[4], E_V8SImode))
6196 40 : return -1;
6197 : return 0;
6198 :
6199 80 : case E_V4DImode:
6200 80 : if (!register_operand (operands[3], E_V4DImode)
6201 80 : || !register_operand (operands[4], E_V4SImode))
6202 16 : return -1;
6203 : return 1;
6204 :
6205 : default:
6206 : return -1;
6207 : }
6208 : }
6209 :
6210 : int
6211 40506 : pattern1881 (rtx x1, machine_mode i1, machine_mode i2)
6212 : {
6213 40506 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6214 40506 : rtx x2, x3, x4, x5, x6, x7, x8;
6215 40506 : int res ATTRIBUTE_UNUSED;
6216 40506 : if (!nonimmediate_operand (operands[1], i1))
6217 : return -1;
6218 40506 : x2 = XVECEXP (x1, 0, 0);
6219 40506 : x3 = XEXP (x2, 1);
6220 40506 : x4 = XEXP (x3, 1);
6221 40506 : if (GET_MODE (x4) != i2
6222 40506 : || !ix86_carry_flag_operator (operands[4], i2))
6223 0 : return -1;
6224 40506 : x5 = XEXP (x4, 1);
6225 40506 : if (GET_MODE (x5) != i2
6226 40506 : || !nonimmediate_operand (operands[2], i1)
6227 79553 : || !nonimmediate_operand (operands[0], i1))
6228 1459 : return -1;
6229 39047 : x6 = XVECEXP (x1, 0, 1);
6230 39047 : x7 = XEXP (x6, 1);
6231 39047 : if (GET_MODE (x7) != i1)
6232 : return -1;
6233 39047 : x8 = XEXP (x7, 0);
6234 39047 : if (GET_MODE (x8) != i1
6235 39047 : || !ix86_carry_flag_operator (operands[5], i1))
6236 0 : return -1;
6237 : return 0;
6238 : }
6239 :
6240 : int
6241 38 : pattern1891 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6242 : {
6243 38 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6244 38 : rtx x2, x3, x4;
6245 38 : int res ATTRIBUTE_UNUSED;
6246 38 : if (!register_operand (operands[0], i2)
6247 38 : || GET_MODE (x1) != i2)
6248 : return -1;
6249 36 : x2 = XEXP (x1, 0);
6250 36 : if (GET_MODE (x2) != i1
6251 36 : || !register_operand (operands[2], i2)
6252 36 : || !vsib_mem_operator (operands[7], i3)
6253 36 : || !register_operand (operands[5], i2)
6254 68 : || !scratch_operand (operands[1], i1))
6255 4 : return -1;
6256 32 : x3 = XVECEXP (x2, 0, 1);
6257 32 : x4 = XEXP (x3, 0);
6258 32 : switch (GET_MODE (x4))
6259 : {
6260 0 : case E_SImode:
6261 0 : if (!vsib_address_operand (operands[3], E_SImode))
6262 : return -1;
6263 : return 0;
6264 :
6265 32 : case E_DImode:
6266 32 : if (!vsib_address_operand (operands[3], E_DImode))
6267 : return -1;
6268 : return 1;
6269 :
6270 : default:
6271 : return -1;
6272 : }
6273 : }
6274 :
6275 : int
6276 24 : pattern1900 (rtx x1, machine_mode i1)
6277 : {
6278 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6279 24 : rtx x2, x3, x4, x5, x6, x7, x8;
6280 24 : int res ATTRIBUTE_UNUSED;
6281 24 : if (!x86_64_general_operand (operands[1], i1))
6282 : return -1;
6283 24 : x2 = XVECEXP (x1, 0, 1);
6284 24 : x3 = XEXP (x2, 1);
6285 24 : if (XINT (x3, 1) != 112
6286 24 : || GET_MODE (x3) != i1)
6287 : return -1;
6288 24 : x4 = XVECEXP (x1, 0, 2);
6289 24 : x5 = XEXP (x4, 1);
6290 24 : if (GET_CODE (x5) != COMPARE
6291 24 : || GET_MODE (x5) != E_CCmode
6292 24 : || !memory_operand (operands[2], i1)
6293 48 : || !register_operand (operands[3], i1))
6294 0 : return -1;
6295 24 : x6 = XEXP (x4, 0);
6296 24 : if (GET_MODE (x6) != E_CCmode)
6297 : return -1;
6298 24 : x7 = XEXP (x5, 0);
6299 24 : if (!rtx_equal_p (x7, operands[2]))
6300 : return -1;
6301 24 : x8 = XEXP (x5, 1);
6302 24 : if (!rtx_equal_p (x8, operands[0])
6303 24 : || !register_operand (operands[5], i1)
6304 48 : || !x86_64_general_operand (operands[6], i1))
6305 0 : return -1;
6306 : return 0;
6307 : }
6308 :
6309 : int
6310 22 : pattern1907 (rtx x1, machine_mode i1)
6311 : {
6312 22 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6313 22 : rtx x2, x3, x4, x5, x6, x7;
6314 22 : int res ATTRIBUTE_UNUSED;
6315 22 : if (!register_operand (operands[4], E_SImode)
6316 22 : || GET_MODE (x1) != E_SImode
6317 44 : || !nonmemory_operand (operands[2], E_SImode))
6318 0 : return -1;
6319 22 : x2 = PATTERN (peep2_next_insn (3));
6320 22 : x3 = XEXP (x2, 1);
6321 22 : operands[5] = x3;
6322 22 : if (!register_operand (operands[5], i1))
6323 : return -1;
6324 22 : x4 = PATTERN (peep2_next_insn (4));
6325 22 : x5 = XEXP (x4, 1);
6326 22 : x6 = XEXP (x5, 0);
6327 22 : operands[6] = x6;
6328 22 : x7 = XEXP (x5, 1);
6329 22 : operands[7] = x7;
6330 22 : return 0;
6331 : }
6332 :
6333 : int
6334 321 : pattern1915 (rtx x1, machine_mode i1, machine_mode i2)
6335 : {
6336 321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6337 321 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6338 321 : rtx x10, x11;
6339 321 : int res ATTRIBUTE_UNUSED;
6340 321 : x2 = XVECEXP (x1, 0, 0);
6341 321 : x3 = XEXP (x2, 1);
6342 321 : x4 = XEXP (x3, 0);
6343 321 : x5 = XEXP (x4, 0);
6344 321 : if (GET_MODE (x5) != i2
6345 321 : || !ix86_carry_flag_operator (operands[4], i2))
6346 0 : return -1;
6347 321 : x6 = XEXP (x5, 1);
6348 321 : if (GET_MODE (x6) != i2
6349 321 : || !nonimmediate_operand (operands[1], i1)
6350 642 : || !const_int_operand (operands[6], i2))
6351 0 : return -1;
6352 321 : x7 = XEXP (x3, 1);
6353 321 : if (GET_MODE (x7) != i2)
6354 : return -1;
6355 321 : x8 = XEXP (x7, 0);
6356 321 : if (GET_MODE (x8) != i1)
6357 : return -1;
6358 321 : x9 = XEXP (x8, 0);
6359 321 : if (GET_MODE (x9) != i1
6360 321 : || !ix86_carry_flag_operator (operands[5], i1))
6361 0 : return -1;
6362 321 : x10 = XVECEXP (x1, 0, 1);
6363 321 : x11 = XEXP (x10, 1);
6364 321 : return pattern1914 (x11,
6365 321 : i1); /* [-1, 0] */
6366 : }
6367 :
6368 : int
6369 1060 : pattern1923 (rtx x1)
6370 : {
6371 1060 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6372 1060 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6373 1060 : int res ATTRIBUTE_UNUSED;
6374 1060 : x2 = XVECEXP (x1, 0, 8);
6375 1060 : if (XWINT (x2, 0) != 12L)
6376 : return -1;
6377 1060 : x3 = XVECEXP (x1, 0, 9);
6378 1060 : if (XWINT (x3, 0) != 44L)
6379 : return -1;
6380 1060 : x4 = XVECEXP (x1, 0, 10);
6381 1060 : if (XWINT (x4, 0) != 13L)
6382 : return -1;
6383 1060 : x5 = XVECEXP (x1, 0, 11);
6384 1060 : if (XWINT (x5, 0) != 45L)
6385 : return -1;
6386 1060 : x6 = XVECEXP (x1, 0, 12);
6387 1060 : if (XWINT (x6, 0) != 14L)
6388 : return -1;
6389 1060 : x7 = XVECEXP (x1, 0, 13);
6390 1060 : if (XWINT (x7, 0) != 46L)
6391 : return -1;
6392 1060 : x8 = XVECEXP (x1, 0, 14);
6393 1060 : if (XWINT (x8, 0) != 15L)
6394 : return -1;
6395 1060 : x9 = XVECEXP (x1, 0, 15);
6396 1060 : if (XWINT (x9, 0) != 47L)
6397 0 : return -1;
6398 : return 0;
6399 : }
6400 :
6401 : int
6402 93919732 : recog_3 (rtx x1 ATTRIBUTE_UNUSED,
6403 : rtx_insn *insn ATTRIBUTE_UNUSED,
6404 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6405 : {
6406 93919732 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6407 93919732 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6408 93919732 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6409 93919732 : int res ATTRIBUTE_UNUSED;
6410 93919732 : x2 = XEXP (x1, 1);
6411 93919732 : x3 = XEXP (x2, 0);
6412 93919732 : switch (GET_CODE (x3))
6413 : {
6414 93918483 : case NE:
6415 93918483 : case EQ:
6416 93918483 : case GE:
6417 93918483 : case GT:
6418 93918483 : case LE:
6419 93918483 : case LT:
6420 93918483 : case LTGT:
6421 93918483 : case GEU:
6422 93918483 : case GTU:
6423 93918483 : case LEU:
6424 93918483 : case LTU:
6425 93918483 : case UNORDERED:
6426 93918483 : case ORDERED:
6427 93918483 : case UNEQ:
6428 93918483 : case UNGE:
6429 93918483 : case UNGT:
6430 93918483 : case UNLE:
6431 93918483 : case UNLT:
6432 93918483 : operands[1] = x3;
6433 93918483 : res = recog_1 (x1, insn, pnum_clobbers);
6434 93918483 : if (res >= 0)
6435 : return res;
6436 14934977 : if (pnum_clobbers == NULL
6437 14934977 : || !bt_comparison_operator (x3, E_VOIDmode))
6438 5734252 : return -1;
6439 9200725 : x4 = XEXP (x3, 1);
6440 9200725 : if (GET_CODE (x4) != CONST_INT)
6441 : return -1;
6442 6941981 : x5 = XEXP (x3, 0);
6443 6941981 : switch (GET_CODE (x5))
6444 : {
6445 4365251 : case REG:
6446 4365251 : case SUBREG:
6447 4365251 : switch (XWINT (x4, 0))
6448 : {
6449 3146875 : case 0L:
6450 3146875 : x6 = XEXP (x2, 1);
6451 3146875 : if (GET_CODE (x6) != PLUS
6452 25961 : || GET_MODE (x6) != E_HImode)
6453 : return -1;
6454 306 : x7 = XEXP (x6, 1);
6455 306 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
6456 : return -1;
6457 18 : x8 = XEXP (x1, 0);
6458 18 : operands[0] = x8;
6459 18 : if (!register_operand (operands[0], E_HImode)
6460 18 : || GET_MODE (x2) != E_HImode)
6461 : return -1;
6462 18 : operands[1] = x3;
6463 18 : operands[2] = x5;
6464 18 : if (!register_operand (operands[2], E_HImode))
6465 : return -1;
6466 14 : x9 = XEXP (x2, 2);
6467 14 : operands[3] = x9;
6468 14 : if (!nonimmediate_operand (operands[3], E_HImode))
6469 : return -1;
6470 4 : x10 = XEXP (x6, 0);
6471 4 : if (!rtx_equal_p (x10, operands[2])
6472 4 : || !
6473 : #line 9094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6474 : (TARGET_CMOVE))
6475 : return -1;
6476 : *pnum_clobbers = 1;
6477 : return 457; /* *dec_cmovhi */
6478 :
6479 : case -1L:
6480 : x6 = XEXP (x2, 1);
6481 : switch (GET_CODE (x6))
6482 : {
6483 : case LABEL_REF:
6484 : x9 = XEXP (x2, 2);
6485 : if (GET_CODE (x9) != PC)
6486 : return -1;
6487 : x8 = XEXP (x1, 0);
6488 : if (GET_CODE (x8) != PC)
6489 : return -1;
6490 : operands[0] = x3;
6491 : operands[1] = x5;
6492 : x10 = XEXP (x6, 0);
6493 : operands[2] = x10;
6494 : switch (GET_MODE (operands[1]))
6495 : {
6496 : case E_QImode:
6497 : if (!register_operand (operands[1], E_QImode)
6498 : || !(
6499 : #line 2444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6500 : (TARGET_AVX512BW) &&
6501 : #line 1592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6502 : (TARGET_AVX512DQ)))
6503 : return -1;
6504 : *pnum_clobbers = 1;
6505 : return 2705; /* *kortest_cmpqi_jcc */
6506 :
6507 : case E_HImode:
6508 : if (!register_operand (operands[1], E_HImode)
6509 : || !
6510 : #line 2444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6511 : (TARGET_AVX512BW))
6512 : return -1;
6513 : *pnum_clobbers = 1;
6514 : return 2706; /* *kortest_cmphi_jcc */
6515 :
6516 : case E_SImode:
6517 : if (!register_operand (operands[1], E_SImode)
6518 : || !
6519 : #line 2444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6520 : (TARGET_AVX512BW))
6521 : return -1;
6522 : *pnum_clobbers = 1;
6523 : return 2707; /* *kortest_cmpsi_jcc */
6524 :
6525 : case E_DImode:
6526 : if (!register_operand (operands[1], E_DImode)
6527 : || !(
6528 : #line 2444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6529 : (TARGET_AVX512BW) &&
6530 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6531 : (TARGET_AVX512BW && TARGET_64BIT)))
6532 : return -1;
6533 : *pnum_clobbers = 1;
6534 : return 2708; /* *kortest_cmpdi_jcc */
6535 :
6536 : default:
6537 : return -1;
6538 : }
6539 :
6540 : case REG:
6541 : case SUBREG:
6542 : case MEM:
6543 : operands[2] = x6;
6544 : x8 = XEXP (x1, 0);
6545 : operands[0] = x8;
6546 : operands[1] = x3;
6547 : operands[4] = x5;
6548 : x9 = XEXP (x2, 2);
6549 : operands[3] = x9;
6550 : switch (GET_MODE (operands[0]))
6551 : {
6552 : case E_QImode:
6553 : if (!register_operand (operands[0], E_QImode)
6554 : || GET_MODE (x2) != E_QImode
6555 : || !register_operand (operands[2], E_QImode)
6556 : || !register_operand (operands[3], E_QImode))
6557 : return -1;
6558 : switch (pattern1468 ())
6559 : {
6560 : case 0:
6561 : if (!(
6562 : #line 2480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6563 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6564 : #line 1592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6565 : (TARGET_AVX512DQ)))
6566 : return -1;
6567 : *pnum_clobbers = 1;
6568 : return 2709; /* *kortest_cmpqi_movqicc */
6569 :
6570 : case 1:
6571 : if (!
6572 : #line 2480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6573 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
6574 : return -1;
6575 : *pnum_clobbers = 1;
6576 : return 2710; /* *kortest_cmphi_movqicc */
6577 :
6578 : case 2:
6579 : if (!(
6580 : #line 2480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6581 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6582 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6583 : (TARGET_AVX512BW)))
6584 : return -1;
6585 : *pnum_clobbers = 1;
6586 : return 2711; /* *kortest_cmpsi_movqicc */
6587 :
6588 : case 3:
6589 : if (!(
6590 : #line 2480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6591 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6592 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6593 : (TARGET_AVX512BW && TARGET_64BIT)))
6594 : return -1;
6595 : *pnum_clobbers = 1;
6596 : return 2712; /* *kortest_cmpdi_movqicc */
6597 :
6598 : default:
6599 : return -1;
6600 : }
6601 :
6602 : case E_HImode:
6603 : switch (pattern1469 (x2,
6604 : E_HImode))
6605 : {
6606 : case 0:
6607 : if (!(
6608 : #line 2523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6609 : (TARGET_AVX512BW && TARGET_CMOVE
6610 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6611 : #line 1592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6612 : (TARGET_AVX512DQ)))
6613 : return -1;
6614 : *pnum_clobbers = 1;
6615 : return 2713; /* *kortest_cmpqi_movhicc */
6616 :
6617 : case 1:
6618 : if (!
6619 : #line 2523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6620 : (TARGET_AVX512BW && TARGET_CMOVE
6621 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
6622 : return -1;
6623 : *pnum_clobbers = 1;
6624 : return 2716; /* *kortest_cmphi_movhicc */
6625 :
6626 : case 2:
6627 : if (!(
6628 : #line 2523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6629 : (TARGET_AVX512BW && TARGET_CMOVE
6630 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6631 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6632 : (TARGET_AVX512BW)))
6633 : return -1;
6634 : *pnum_clobbers = 1;
6635 : return 2719; /* *kortest_cmpsi_movhicc */
6636 :
6637 : case 3:
6638 : if (!(
6639 : #line 2523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6640 : (TARGET_AVX512BW && TARGET_CMOVE
6641 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6642 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6643 : (TARGET_AVX512BW && TARGET_64BIT)))
6644 : return -1;
6645 : *pnum_clobbers = 1;
6646 : return 2722; /* *kortest_cmpdi_movhicc */
6647 :
6648 : default:
6649 : return -1;
6650 : }
6651 :
6652 : default:
6653 : return -1;
6654 : }
6655 :
6656 : default:
6657 : return -1;
6658 : }
6659 :
6660 : default:
6661 : return -1;
6662 : }
6663 :
6664 : case ZERO_EXTRACT:
6665 : x11 = XEXP (x5, 1);
6666 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
6667 : || XWINT (x4, 0) != 0L)
6668 : return -1;
6669 : x12 = XEXP (x5, 0);
6670 : operands[1] = x12;
6671 : x13 = XEXP (x5, 2);
6672 : switch (GET_CODE (x13))
6673 : {
6674 : case CONST_INT:
6675 : case CONST_WIDE_INT:
6676 : case CONST_POLY_INT:
6677 : case CONST_FIXED:
6678 : case CONST_DOUBLE:
6679 : case CONST_VECTOR:
6680 : case CONST:
6681 : case REG:
6682 : case SUBREG:
6683 : case LABEL_REF:
6684 : case SYMBOL_REF:
6685 : case HIGH:
6686 : operands[2] = x13;
6687 : res = recog_2 (x1, insn, pnum_clobbers);
6688 : if (res >= 0)
6689 : return res;
6690 : if (GET_CODE (x13) != SUBREG
6691 : || maybe_ne (SUBREG_BYTE (x13), 0)
6692 : || GET_MODE (x13) != E_QImode)
6693 : return -1;
6694 : x14 = XEXP (x13, 0);
6695 : if (GET_CODE (x14) != AND)
6696 : return -1;
6697 : x6 = XEXP (x2, 1);
6698 : if (GET_CODE (x6) != LABEL_REF)
6699 : return -1;
6700 : x9 = XEXP (x2, 2);
6701 : if (GET_CODE (x9) != PC)
6702 : return -1;
6703 : x8 = XEXP (x1, 0);
6704 : if (GET_CODE (x8) != PC)
6705 : return -1;
6706 : operands[0] = x3;
6707 : x15 = XEXP (x14, 0);
6708 : operands[2] = x15;
6709 : if (!int248_register_operand (operands[2], E_VOIDmode))
6710 : return -1;
6711 : x16 = XEXP (x14, 1);
6712 : operands[3] = x16;
6713 : if (!const_int_operand (operands[3], E_VOIDmode))
6714 : return -1;
6715 : x10 = XEXP (x6, 0);
6716 : operands[4] = x10;
6717 : switch (GET_MODE (x5))
6718 : {
6719 : case E_SImode:
6720 : if (!nonimmediate_operand (operands[1], E_SImode)
6721 : || !
6722 : #line 20268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6723 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6724 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
6725 : == GET_MODE_BITSIZE (SImode)-1
6726 : && ix86_pre_reload_split ()))
6727 : return -1;
6728 : *pnum_clobbers = 1;
6729 : return 1462; /* *jcc_btsi_mask_1 */
6730 :
6731 : case E_DImode:
6732 : if (!nonimmediate_operand (operands[1], E_DImode)
6733 : || !(
6734 : #line 20268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6735 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6736 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
6737 : == GET_MODE_BITSIZE (DImode)-1
6738 : && ix86_pre_reload_split ()) &&
6739 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6740 : (TARGET_64BIT)))
6741 : return -1;
6742 : *pnum_clobbers = 1;
6743 : return 1463; /* *jcc_btdi_mask_1 */
6744 :
6745 : default:
6746 : return -1;
6747 : }
6748 :
6749 : case AND:
6750 : if (GET_MODE (x13) != E_QImode)
6751 : return -1;
6752 : x6 = XEXP (x2, 1);
6753 : if (GET_CODE (x6) != LABEL_REF)
6754 : return -1;
6755 : x9 = XEXP (x2, 2);
6756 : if (GET_CODE (x9) != PC)
6757 : return -1;
6758 : x8 = XEXP (x1, 0);
6759 : if (GET_CODE (x8) != PC)
6760 : return -1;
6761 : operands[0] = x3;
6762 : x14 = XEXP (x13, 0);
6763 : operands[2] = x14;
6764 : if (!register_operand (operands[2], E_QImode))
6765 : return -1;
6766 : x17 = XEXP (x13, 1);
6767 : operands[3] = x17;
6768 : if (!const_int_operand (operands[3], E_VOIDmode))
6769 : return -1;
6770 : x10 = XEXP (x6, 0);
6771 : operands[4] = x10;
6772 : switch (GET_MODE (x5))
6773 : {
6774 : case E_SImode:
6775 : if (!nonimmediate_operand (operands[1], E_SImode)
6776 : || !
6777 : #line 20231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6778 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6779 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
6780 : == GET_MODE_BITSIZE (SImode)-1
6781 : && ix86_pre_reload_split ()))
6782 : return -1;
6783 : *pnum_clobbers = 1;
6784 : return 1460; /* *jcc_btsi_mask */
6785 :
6786 : case E_DImode:
6787 : if (!nonimmediate_operand (operands[1], E_DImode)
6788 : || !(
6789 : #line 20231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6790 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6791 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
6792 : == GET_MODE_BITSIZE (DImode)-1
6793 : && ix86_pre_reload_split ()) &&
6794 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6795 : (TARGET_64BIT)))
6796 : return -1;
6797 : *pnum_clobbers = 1;
6798 : return 1461; /* *jcc_btdi_mask */
6799 :
6800 : default:
6801 : return -1;
6802 : }
6803 :
6804 : default:
6805 : return -1;
6806 : }
6807 :
6808 : default:
6809 : return -1;
6810 : }
6811 :
6812 : case REG:
6813 : case SUBREG:
6814 : x8 = XEXP (x1, 0);
6815 : operands[0] = x8;
6816 : switch (GET_MODE (operands[0]))
6817 : {
6818 : case E_SFmode:
6819 : if (pattern253 (x2,
6820 : E_SFmode) != 0
6821 : || !
6822 : #line 27886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6823 : (TARGET_XOP))
6824 : return -1;
6825 : return 1851; /* *xop_pcmov_sf */
6826 :
6827 : case E_DFmode:
6828 : if (pattern253 (x2,
6829 : E_DFmode) != 0
6830 : || !
6831 : #line 27886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6832 : (TARGET_XOP))
6833 : return -1;
6834 : return 1852; /* *xop_pcmov_df */
6835 :
6836 : case E_V8QImode:
6837 : if (pattern254 (x2,
6838 : E_V8QImode) != 0
6839 : || !
6840 : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6841 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6842 : return -1;
6843 : return 2312; /* *xop_pcmov_v8qi */
6844 :
6845 : case E_V4HImode:
6846 : if (pattern254 (x2,
6847 : E_V4HImode) != 0
6848 : || !
6849 : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6850 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6851 : return -1;
6852 : return 2313; /* *xop_pcmov_v4hi */
6853 :
6854 : case E_V2SImode:
6855 : if (pattern254 (x2,
6856 : E_V2SImode) != 0
6857 : || !
6858 : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6859 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6860 : return -1;
6861 : return 2314; /* *xop_pcmov_v2si */
6862 :
6863 : case E_V2SFmode:
6864 : if (pattern254 (x2,
6865 : E_V2SFmode) != 0
6866 : || !
6867 : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6868 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6869 : return -1;
6870 : return 2315; /* *xop_pcmov_v2sf */
6871 :
6872 : case E_V4HFmode:
6873 : if (pattern254 (x2,
6874 : E_V4HFmode) != 0
6875 : || !
6876 : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6877 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6878 : return -1;
6879 : return 2316; /* *xop_pcmov_v4hf */
6880 :
6881 : case E_V4BFmode:
6882 : if (pattern254 (x2,
6883 : E_V4BFmode) != 0
6884 : || !
6885 : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6886 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6887 : return -1;
6888 : return 2317; /* *xop_pcmov_v4bf */
6889 :
6890 : case E_V4QImode:
6891 : if (pattern254 (x2,
6892 : E_V4QImode) != 0
6893 : || !
6894 : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6895 : (TARGET_XOP))
6896 : return -1;
6897 : return 2318; /* *xop_pcmov_v4qi */
6898 :
6899 : case E_V2QImode:
6900 : if (pattern254 (x2,
6901 : E_V2QImode) != 0
6902 : || !
6903 : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6904 : (TARGET_XOP))
6905 : return -1;
6906 : return 2319; /* *xop_pcmov_v2qi */
6907 :
6908 : case E_V2HImode:
6909 : if (pattern254 (x2,
6910 : E_V2HImode) != 0
6911 : || !
6912 : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6913 : (TARGET_XOP))
6914 : return -1;
6915 : return 2320; /* *xop_pcmov_v2hi */
6916 :
6917 : case E_V2HFmode:
6918 : if (pattern254 (x2,
6919 : E_V2HFmode) != 0
6920 : || !
6921 : #line 4533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6922 : (TARGET_XOP))
6923 : return -1;
6924 : return 2321; /* *xop_pcmov_v2hf */
6925 :
6926 : case E_V2BFmode:
6927 : if (pattern254 (x2,
6928 : E_V2BFmode) != 0
6929 : || !
6930 : #line 4533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6931 : (TARGET_XOP))
6932 : return -1;
6933 : return 2322; /* *xop_pcmov_v2bf */
6934 :
6935 : default:
6936 : return -1;
6937 : }
6938 :
6939 : case AND:
6940 : if (GET_MODE (x3) != E_QImode)
6941 : return -1;
6942 : x4 = XEXP (x3, 1);
6943 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6944 : return -1;
6945 : x6 = XEXP (x2, 1);
6946 : if (pattern255 (x6) != 0)
6947 : return -1;
6948 : x8 = XEXP (x1, 0);
6949 : operands[0] = x8;
6950 : x5 = XEXP (x3, 0);
6951 : operands[2] = x5;
6952 : if (!register_operand (operands[2], E_QImode))
6953 : return -1;
6954 : x10 = XEXP (x6, 0);
6955 : operands[1] = x10;
6956 : x9 = XEXP (x2, 2);
6957 : if (!rtx_equal_p (x9, operands[0]))
6958 : return -1;
6959 : switch (GET_MODE (operands[0]))
6960 : {
6961 : case E_HFmode:
6962 : if (pattern1470 (x2,
6963 : E_V8HFmode,
6964 : E_HFmode) != 0
6965 : || !(
6966 : #line 1749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6967 : (TARGET_AVX512F) &&
6968 : #line 1390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6969 : (TARGET_AVX512FP16)))
6970 : return -1;
6971 : return 2569; /* avx512f_storehf_mask */
6972 :
6973 : case E_SFmode:
6974 : if (pattern1470 (x2,
6975 : E_V4SFmode,
6976 : E_SFmode) != 0
6977 : || !
6978 : #line 1749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6979 : (TARGET_AVX512F))
6980 : return -1;
6981 : return 2570; /* avx512f_storesf_mask */
6982 :
6983 : case E_DFmode:
6984 : if (pattern1470 (x2,
6985 : E_V2DFmode,
6986 : E_DFmode) != 0
6987 : || !
6988 : #line 1749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6989 : (TARGET_AVX512F))
6990 : return -1;
6991 : return 2571; /* avx512f_storedf_mask */
6992 :
6993 : default:
6994 : return -1;
6995 : }
6996 :
6997 : default:
6998 : return -1;
6999 : }
7000 : }
7001 :
7002 : int
7003 : recog_25 (rtx x1 ATTRIBUTE_UNUSED,
7004 : rtx_insn *insn ATTRIBUTE_UNUSED,
7005 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7006 : {
7007 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7008 : rtx x2, x3, x4, x5, x6, x7;
7009 : int res ATTRIBUTE_UNUSED;
7010 : x2 = XEXP (x1, 1);
7011 : x3 = XEXP (x2, 0);
7012 : switch (GET_CODE (x3))
7013 : {
7014 : case REG:
7015 : case SUBREG:
7016 : case MEM:
7017 : switch (pattern38 (x1, pnum_clobbers))
7018 : {
7019 : case 0:
7020 : if (pnum_clobbers != NULL
7021 : && pattern294 (x1,
7022 : E_TImode) == 0
7023 : && (
7024 : #line 17561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7025 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7026 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7027 : == (2 * 8 * BITS_PER_UNIT - 1)))
7028 : && ix86_pre_reload_split ()) &&
7029 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7030 : (TARGET_64BIT)))
7031 : {
7032 : *pnum_clobbers = 1;
7033 : return 1163; /* *ashrti3_doubleword_mask */
7034 : }
7035 : x4 = XEXP (x2, 1);
7036 : operands[2] = x4;
7037 : switch (pattern428 (x1, pnum_clobbers))
7038 : {
7039 : case 0:
7040 : switch (GET_MODE (operands[0]))
7041 : {
7042 : case E_TImode:
7043 : if (pnum_clobbers == NULL
7044 : || pattern866 (x2,
7045 : E_TImode,
7046 : E_QImode) != 0
7047 : || !
7048 : #line 1231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7049 : (TARGET_64BIT))
7050 : return -1;
7051 : *pnum_clobbers = 1;
7052 : return 1171; /* ashrti3_doubleword */
7053 :
7054 : case E_QImode:
7055 : if (pattern643 (x2,
7056 : E_QImode) != 0)
7057 : return -1;
7058 : if (
7059 : #line 18540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7060 : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
7061 : && TARGET_APX_NF))
7062 : return 1246; /* *ashrqi3_1_nf */
7063 : if (pnum_clobbers == NULL
7064 : || !
7065 : #line 18540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7066 : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
7067 : && true))
7068 : return -1;
7069 : *pnum_clobbers = 1;
7070 : return 1247; /* *ashrqi3_1 */
7071 :
7072 : case E_HImode:
7073 : if (pattern643 (x2,
7074 : E_HImode) != 0)
7075 : return -1;
7076 : if (
7077 : #line 18540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7078 : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
7079 : && TARGET_APX_NF))
7080 : return 1248; /* *ashrhi3_1_nf */
7081 : if (pnum_clobbers == NULL
7082 : || !
7083 : #line 18540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7084 : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
7085 : && true))
7086 : return -1;
7087 : *pnum_clobbers = 1;
7088 : return 1249; /* *ashrhi3_1 */
7089 :
7090 : case E_V4HImode:
7091 : if (pattern866 (x2,
7092 : E_V4HImode,
7093 : E_DImode) != 0
7094 : || !
7095 : #line 3886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7096 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7097 : return -1;
7098 : return 2258; /* mmx_ashrv4hi3 */
7099 :
7100 : case E_V2SImode:
7101 : if (pattern866 (x2,
7102 : E_V2SImode,
7103 : E_DImode) != 0
7104 : || !
7105 : #line 3886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7106 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7107 : return -1;
7108 : return 2259; /* mmx_ashrv2si3 */
7109 :
7110 : case E_V2HImode:
7111 : if (pattern866 (x2,
7112 : E_V2HImode,
7113 : E_DImode) != 0
7114 : || !
7115 : #line 3977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7116 : (TARGET_SSE2))
7117 : return -1;
7118 : return 2272; /* ashrv2hi3 */
7119 :
7120 : case E_V2QImode:
7121 : if (pnum_clobbers == NULL
7122 : || pattern866 (x2,
7123 : E_V2QImode,
7124 : E_QImode) != 0
7125 : || !
7126 : #line 4039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7127 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7128 : return -1;
7129 : *pnum_clobbers = 1;
7130 : return 2276; /* ashrv2qi3 */
7131 :
7132 : default:
7133 : return -1;
7134 : }
7135 :
7136 : case 1:
7137 : if (!
7138 : #line 18635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7139 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7140 : return -1;
7141 : *pnum_clobbers = 1;
7142 : return 1255; /* *ashrqi3_1_slp */
7143 :
7144 : case 2:
7145 : if (!
7146 : #line 18635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7147 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7148 : return -1;
7149 : *pnum_clobbers = 1;
7150 : return 1257; /* *ashrhi3_1_slp */
7151 :
7152 : default:
7153 : return -1;
7154 : }
7155 :
7156 : case 1:
7157 : if (!(
7158 : #line 17622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7159 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7160 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7161 : == (2 * 8 * BITS_PER_UNIT - 1)))
7162 : && ix86_pre_reload_split ()) &&
7163 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7164 : (TARGET_64BIT)))
7165 : return -1;
7166 : *pnum_clobbers = 1;
7167 : return 1167; /* *ashrti3_doubleword_mask_1 */
7168 :
7169 : default:
7170 : return -1;
7171 : }
7172 :
7173 : case ASHIFT:
7174 : x5 = XEXP (x1, 0);
7175 : operands[0] = x5;
7176 : x6 = XEXP (x3, 0);
7177 : operands[1] = x6;
7178 : x7 = XEXP (x3, 1);
7179 : operands[2] = x7;
7180 : if (!const_int_operand (operands[2], E_QImode))
7181 : return -1;
7182 : x4 = XEXP (x2, 1);
7183 : operands[3] = x4;
7184 : if (!const_int_operand (operands[3], E_QImode))
7185 : return -1;
7186 : switch (GET_MODE (operands[0]))
7187 : {
7188 : case E_TImode:
7189 : if (pnum_clobbers == NULL
7190 : || pattern768 (x2,
7191 : E_TImode) != 0
7192 : || !(
7193 : #line 18967 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7194 : (INTVAL (operands[2]) == INTVAL (operands[3])
7195 : && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
7196 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7197 : (TARGET_64BIT)))
7198 : return -1;
7199 : *pnum_clobbers = 1;
7200 : return 1319; /* *extendti2_doubleword_highpart */
7201 :
7202 : case E_V2DImode:
7203 : if (pattern768 (x2,
7204 : E_V2DImode) != 0)
7205 : return -1;
7206 : if (
7207 : #line 18985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7208 : (!TARGET_64BIT && TARGET_STV && TARGET_AVX512VL
7209 : && INTVAL (operands[2]) == INTVAL (operands[3])
7210 : && UINTVAL (operands[2]) < 32))
7211 : return 1320; /* *extendv2di2_highpart_stv */
7212 : if (!
7213 : #line 19002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7214 : (!TARGET_AVX512VL
7215 : && INTVAL (operands[2]) == INTVAL (operands[3])
7216 : && UINTVAL (operands[2]) < 32
7217 : && ix86_pre_reload_split ()))
7218 : return -1;
7219 : return 1321; /* *extendv2di2_highpart_stv_noavx512vl */
7220 :
7221 : default:
7222 : return -1;
7223 : }
7224 :
7225 : default:
7226 : return -1;
7227 : }
7228 : }
7229 :
7230 : int
7231 : recog_31 (rtx x1 ATTRIBUTE_UNUSED,
7232 : rtx_insn *insn ATTRIBUTE_UNUSED,
7233 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7234 : {
7235 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7236 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7237 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
7238 : int res ATTRIBUTE_UNUSED;
7239 : x2 = XEXP (x1, 0);
7240 : operands[0] = x2;
7241 : x3 = XEXP (x1, 1);
7242 : x4 = XEXP (x3, 0);
7243 : switch (GET_CODE (x4))
7244 : {
7245 : case CONST_INT:
7246 : case CONST:
7247 : case REG:
7248 : case SUBREG:
7249 : case MEM:
7250 : case LABEL_REF:
7251 : case SYMBOL_REF:
7252 : operands[1] = x4;
7253 : res = recog_29 (x1, insn, pnum_clobbers);
7254 : if (res >= 0)
7255 : return res;
7256 : if (GET_CODE (x4) != SUBREG
7257 : || maybe_ne (SUBREG_BYTE (x4), 0)
7258 : || GET_MODE (x4) != E_SImode)
7259 : return -1;
7260 : x5 = XEXP (x4, 0);
7261 : if (GET_CODE (x5) != FIX
7262 : || GET_MODE (x5) != E_DImode
7263 : || !register_operand (operands[0], E_DImode)
7264 : || GET_MODE (x3) != E_DImode)
7265 : return -1;
7266 : x6 = XEXP (x5, 0);
7267 : operands[1] = x6;
7268 : switch (GET_MODE (operands[1]))
7269 : {
7270 : case E_SFmode:
7271 : if (!nonimmediate_operand (operands[1], E_SFmode)
7272 : || !
7273 : #line 6096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7274 : (TARGET_64BIT
7275 : && SSE_FLOAT_MODE_P (SFmode)
7276 : && (!TARGET_FISTTP || TARGET_SSE_MATH)))
7277 : return -1;
7278 : return 235; /* *fix_truncsfsi_sse_2_zext */
7279 :
7280 : case E_DFmode:
7281 : if (!nonimmediate_operand (operands[1], E_DFmode)
7282 : || !
7283 : #line 6096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7284 : (TARGET_64BIT
7285 : && SSE_FLOAT_MODE_P (DFmode)
7286 : && (!TARGET_FISTTP || TARGET_SSE_MATH)))
7287 : return -1;
7288 : return 236; /* *fix_truncdfsi_sse_2_zext */
7289 :
7290 : default:
7291 : return -1;
7292 : }
7293 :
7294 : case SIGN_EXTEND:
7295 : if (GET_MODE (x4) != E_SImode
7296 : || !register_operand (operands[0], E_DImode)
7297 : || GET_MODE (x3) != E_DImode)
7298 : return -1;
7299 : x5 = XEXP (x4, 0);
7300 : operands[1] = x5;
7301 : switch (GET_MODE (operands[1]))
7302 : {
7303 : case E_HImode:
7304 : if (!nonimmediate_operand (operands[1], E_HImode)
7305 : || !
7306 : #line 5287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7307 : (TARGET_64BIT))
7308 : return -1;
7309 : return 194; /* *extendhisi2_zext */
7310 :
7311 : case E_QImode:
7312 : if (!nonimmediate_operand (operands[1], E_QImode)
7313 : || !
7314 : #line 5322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7315 : (TARGET_64BIT))
7316 : return -1;
7317 : return 196; /* *extendqisi2_zext */
7318 :
7319 : default:
7320 : return -1;
7321 : }
7322 :
7323 : case UNSIGNED_FIX:
7324 : if (GET_MODE (x4) != E_SImode
7325 : || !register_operand (operands[0], E_DImode)
7326 : || GET_MODE (x3) != E_DImode)
7327 : return -1;
7328 : x5 = XEXP (x4, 0);
7329 : operands[1] = x5;
7330 : switch (GET_MODE (operands[1]))
7331 : {
7332 : case E_HFmode:
7333 : if (!nonimmediate_operand (operands[1], E_HFmode)
7334 : || !
7335 : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7336 : (TARGET_64BIT && TARGET_AVX512FP16))
7337 : return -1;
7338 : return 224; /* *fixuns_trunchfsi2zext */
7339 :
7340 : case E_SFmode:
7341 : if (!nonimmediate_operand (operands[1], E_SFmode)
7342 : || !
7343 : #line 6013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7344 : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
7345 : return -1;
7346 : return 225; /* *fixuns_truncsfsi2_avx512f_zext */
7347 :
7348 : case E_DFmode:
7349 : if (!nonimmediate_operand (operands[1], E_DFmode)
7350 : || !
7351 : #line 6013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7352 : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
7353 : return -1;
7354 : return 226; /* *fixuns_truncdfsi2_avx512f_zext */
7355 :
7356 : default:
7357 : return -1;
7358 : }
7359 :
7360 : case FIX:
7361 : if (GET_MODE (x4) != E_SImode
7362 : || !register_operand (operands[0], E_DImode)
7363 : || GET_MODE (x3) != E_DImode)
7364 : return -1;
7365 : x5 = XEXP (x4, 0);
7366 : operands[1] = x5;
7367 : switch (GET_MODE (operands[1]))
7368 : {
7369 : case E_SFmode:
7370 : if (!nonimmediate_operand (operands[1], E_SFmode)
7371 : || !
7372 : #line 6079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7373 : (TARGET_64BIT
7374 : && SSE_FLOAT_MODE_P (SFmode)
7375 : && (!TARGET_FISTTP || TARGET_SSE_MATH)))
7376 : return -1;
7377 : return 233; /* *fix_truncsfsi_sse_zext */
7378 :
7379 : case E_DFmode:
7380 : if (!nonimmediate_operand (operands[1], E_DFmode)
7381 : || !
7382 : #line 6079 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7383 : (TARGET_64BIT
7384 : && SSE_FLOAT_MODE_P (DFmode)
7385 : && (!TARGET_FISTTP || TARGET_SSE_MATH)))
7386 : return -1;
7387 : return 234; /* *fix_truncdfsi_sse_zext */
7388 :
7389 : default:
7390 : return -1;
7391 : }
7392 :
7393 : case PLUS:
7394 : if (GET_MODE (x4) != E_QImode
7395 : || !register_operand (operands[0], E_HImode)
7396 : || GET_MODE (x3) != E_HImode)
7397 : return -1;
7398 : x5 = XEXP (x4, 0);
7399 : switch (GET_CODE (x5))
7400 : {
7401 : case REG:
7402 : case SUBREG:
7403 : case MEM:
7404 : operands[1] = x5;
7405 : if (!nonimmediate_operand (operands[1], E_QImode))
7406 : return -1;
7407 : x7 = XEXP (x4, 1);
7408 : operands[2] = x7;
7409 : if (!general_operand (operands[2], E_QImode))
7410 : return -1;
7411 : if (
7412 : #line 6883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7413 : (TARGET_APX_NDD && TARGET_APX_NF
7414 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7415 : return 294; /* *addqi_1_zexthi_nf */
7416 : if (pnum_clobbers == NULL
7417 : || !
7418 : #line 6883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7419 : (TARGET_APX_NDD && true
7420 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7421 : return -1;
7422 : *pnum_clobbers = 1;
7423 : return 295; /* *addqi_1_zexthi */
7424 :
7425 : case PLUS:
7426 : if (pnum_clobbers == NULL
7427 : || GET_MODE (x5) != E_QImode)
7428 : return -1;
7429 : x6 = XEXP (x5, 0);
7430 : if (!ix86_carry_flag_operator (x6, E_QImode))
7431 : return -1;
7432 : operands[3] = x6;
7433 : x8 = XEXP (x6, 0);
7434 : if (GET_CODE (x8) != REG
7435 : || REGNO (x8) != 17)
7436 : return -1;
7437 : x9 = XEXP (x6, 1);
7438 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7439 : return -1;
7440 : x10 = XEXP (x5, 1);
7441 : operands[1] = x10;
7442 : if (!nonimmediate_operand (operands[1], E_QImode))
7443 : return -1;
7444 : x7 = XEXP (x4, 1);
7445 : operands[2] = x7;
7446 : if (!x86_64_general_operand (operands[2], E_QImode)
7447 : || !
7448 : #line 9318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7449 : (TARGET_APX_NDD
7450 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7451 : return -1;
7452 : *pnum_clobbers = 1;
7453 : return 485; /* *addqi3_carry_zexthi */
7454 :
7455 : case LTU:
7456 : case UNLT:
7457 : if (pnum_clobbers == NULL)
7458 : return -1;
7459 : operands[2] = x5;
7460 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
7461 : || pattern1095 (x4) != 0
7462 : || !
7463 : #line 9390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7464 : (TARGET_APX_NDD))
7465 : return -1;
7466 : *pnum_clobbers = 1;
7467 : return 491; /* *addqi3_carry_zexthi_0 */
7468 :
7469 : case GE:
7470 : case GEU:
7471 : if (pnum_clobbers == NULL)
7472 : return -1;
7473 : operands[2] = x5;
7474 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
7475 : || pattern1095 (x4) != 0
7476 : || !
7477 : #line 9448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7478 : (TARGET_APX_NDD))
7479 : return -1;
7480 : *pnum_clobbers = 1;
7481 : return 497; /* *addqi3_carry_zexthi_0r */
7482 :
7483 : default:
7484 : return -1;
7485 : }
7486 :
7487 : case MINUS:
7488 : if (GET_MODE (x4) != E_QImode
7489 : || !register_operand (operands[0], E_HImode)
7490 : || GET_MODE (x3) != E_HImode)
7491 : return -1;
7492 : x7 = XEXP (x4, 1);
7493 : operands[2] = x7;
7494 : x5 = XEXP (x4, 0);
7495 : switch (GET_CODE (x5))
7496 : {
7497 : case REG:
7498 : case SUBREG:
7499 : case MEM:
7500 : operands[1] = x5;
7501 : if (!nonimmediate_operand (operands[1], E_QImode))
7502 : return -1;
7503 : switch (GET_CODE (operands[2]))
7504 : {
7505 : case CONST_INT:
7506 : case CONST_WIDE_INT:
7507 : case CONST_POLY_INT:
7508 : case CONST_FIXED:
7509 : case CONST_DOUBLE:
7510 : case CONST_VECTOR:
7511 : case CONST:
7512 : case REG:
7513 : case SUBREG:
7514 : case MEM:
7515 : case LABEL_REF:
7516 : case SYMBOL_REF:
7517 : case HIGH:
7518 : if (!x86_64_general_operand (operands[2], E_QImode))
7519 : return -1;
7520 : if (
7521 : #line 8416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7522 : (TARGET_APX_NDD && TARGET_APX_NF
7523 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7524 : return 400; /* *subqi_1_zexthi_nf */
7525 : if (pnum_clobbers == NULL
7526 : || !
7527 : #line 8416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7528 : (TARGET_APX_NDD && true
7529 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7530 : return -1;
7531 : *pnum_clobbers = 1;
7532 : return 401; /* *subqi_1_zexthi */
7533 :
7534 : case LTU:
7535 : case UNLT:
7536 : if (pnum_clobbers == NULL
7537 : || !ix86_carry_flag_operator (operands[2], E_QImode))
7538 : return -1;
7539 : x11 = XEXP (x7, 0);
7540 : if (GET_CODE (x11) != REG
7541 : || REGNO (x11) != 17)
7542 : return -1;
7543 : x12 = XEXP (x7, 1);
7544 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7545 : || !
7546 : #line 10115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7547 : (TARGET_APX_NDD))
7548 : return -1;
7549 : *pnum_clobbers = 1;
7550 : return 537; /* *subqi3_carry_zexthi_0 */
7551 :
7552 : case GE:
7553 : case GEU:
7554 : if (pnum_clobbers == NULL
7555 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode))
7556 : return -1;
7557 : x11 = XEXP (x7, 0);
7558 : if (GET_CODE (x11) != REG
7559 : || REGNO (x11) != 17)
7560 : return -1;
7561 : x12 = XEXP (x7, 1);
7562 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7563 : || !
7564 : #line 10176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7565 : (TARGET_APX_NDD))
7566 : return -1;
7567 : *pnum_clobbers = 1;
7568 : return 543; /* *subqi3_carry_zexthi_0r */
7569 :
7570 : default:
7571 : return -1;
7572 : }
7573 :
7574 : case MINUS:
7575 : if (pnum_clobbers == NULL
7576 : || GET_MODE (x5) != E_QImode)
7577 : return -1;
7578 : x10 = XEXP (x5, 1);
7579 : if (!ix86_carry_flag_operator (x10, E_QImode))
7580 : return -1;
7581 : operands[3] = x10;
7582 : x13 = XEXP (x10, 0);
7583 : if (GET_CODE (x13) != REG
7584 : || REGNO (x13) != 17)
7585 : return -1;
7586 : x14 = XEXP (x10, 1);
7587 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7588 : return -1;
7589 : x6 = XEXP (x5, 0);
7590 : operands[1] = x6;
7591 : if (!nonimmediate_operand (operands[1], E_QImode)
7592 : || !x86_64_general_operand (operands[2], E_QImode)
7593 : || !
7594 : #line 10040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7595 : (TARGET_APX_NDD
7596 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7597 : return -1;
7598 : *pnum_clobbers = 1;
7599 : return 531; /* *subqi3_carry_zexthi */
7600 :
7601 : default:
7602 : return -1;
7603 : }
7604 :
7605 : case AND:
7606 : if (!register_operand (operands[0], E_HImode)
7607 : || GET_MODE (x3) != E_HImode)
7608 : return -1;
7609 : x5 = XEXP (x4, 0);
7610 : switch (GET_CODE (x5))
7611 : {
7612 : case REG:
7613 : case SUBREG:
7614 : case MEM:
7615 : operands[1] = x5;
7616 : if (!nonimmediate_operand (operands[1], E_QImode)
7617 : || GET_MODE (x4) != E_QImode)
7618 : return -1;
7619 : x7 = XEXP (x4, 1);
7620 : operands[2] = x7;
7621 : if (!x86_64_general_operand (operands[2], E_QImode))
7622 : return -1;
7623 : if (
7624 : #line 13462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7625 : (TARGET_APX_NDD && TARGET_APX_NF
7626 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7627 : return 742; /* *andqi_1_zexthi_nf */
7628 : if (pnum_clobbers == NULL
7629 : || !
7630 : #line 13462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7631 : (TARGET_APX_NDD && true
7632 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7633 : return -1;
7634 : *pnum_clobbers = 1;
7635 : return 743; /* *andqi_1_zexthi */
7636 :
7637 : case UNSPEC:
7638 : if (XVECLEN (x5, 0) != 2)
7639 : return -1;
7640 : x15 = XVECEXP (x5, 0, 0);
7641 : operands[1] = x15;
7642 : x16 = XVECEXP (x5, 0, 1);
7643 : operands[2] = x16;
7644 : x7 = XEXP (x4, 1);
7645 : operands[3] = x7;
7646 : switch (XINT (x5, 1))
7647 : {
7648 : case 159:
7649 : switch (pattern1106 (x4))
7650 : {
7651 : case 0:
7652 : if (!(
7653 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7654 : (TARGET_AVX512BW
7655 : && (2
7656 : > GET_MODE_SIZE (DImode))) &&
7657 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7658 : (TARGET_AVX512BW)))
7659 : return -1;
7660 : return 8314; /* *avx512bw_testmv64qi3_zext_mask */
7661 :
7662 : case 1:
7663 : if (!(
7664 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7665 : (TARGET_AVX512BW
7666 : && (2
7667 : > GET_MODE_SIZE (SImode))) &&
7668 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7669 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7670 : return -1;
7671 : return 8317; /* *avx512vl_testmv32qi3_zext_mask */
7672 :
7673 : case 2:
7674 : if (!(
7675 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7676 : (TARGET_AVX512BW
7677 : && (2
7678 : > GET_MODE_SIZE (SImode))) &&
7679 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7680 : (TARGET_AVX512BW)))
7681 : return -1;
7682 : return 8323; /* *avx512bw_testmv32hi3_zext_mask */
7683 :
7684 : case 3:
7685 : if (!(
7686 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7687 : (TARGET_AVX512BW
7688 : && (2
7689 : > GET_MODE_SIZE (HImode))) &&
7690 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7691 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7692 : return -1;
7693 : return 8320; /* *avx512vl_testmv16qi3_zext_mask */
7694 :
7695 : case 4:
7696 : if (!(
7697 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7698 : (TARGET_AVX512BW
7699 : && (2
7700 : > GET_MODE_SIZE (HImode))) &&
7701 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7702 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7703 : return -1;
7704 : return 8326; /* *avx512vl_testmv16hi3_zext_mask */
7705 :
7706 : case 5:
7707 : if (!
7708 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7709 : (TARGET_AVX512BW
7710 : && (2
7711 : > GET_MODE_SIZE (HImode))))
7712 : return -1;
7713 : return 8332; /* *avx512f_testmv16si3_zext_mask */
7714 :
7715 : case 6:
7716 : if (!(
7717 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7718 : (TARGET_AVX512BW
7719 : && (2
7720 : > GET_MODE_SIZE (QImode))) &&
7721 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7722 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7723 : return -1;
7724 : return 8329; /* *avx512vl_testmv8hi3_zext_mask */
7725 :
7726 : case 7:
7727 : if (!(
7728 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7729 : (TARGET_AVX512BW
7730 : && (2
7731 : > GET_MODE_SIZE (QImode))) &&
7732 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7733 : (TARGET_AVX512VL)))
7734 : return -1;
7735 : return 8335; /* *avx512vl_testmv8si3_zext_mask */
7736 :
7737 : case 8:
7738 : if (!(
7739 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7740 : (TARGET_AVX512BW
7741 : && (2
7742 : > GET_MODE_SIZE (QImode))) &&
7743 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7744 : (TARGET_AVX512VL)))
7745 : return -1;
7746 : return 8338; /* *avx512vl_testmv4si3_zext_mask */
7747 :
7748 : case 9:
7749 : if (!
7750 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7751 : (TARGET_AVX512BW
7752 : && (2
7753 : > GET_MODE_SIZE (QImode))))
7754 : return -1;
7755 : return 8341; /* *avx512f_testmv8di3_zext_mask */
7756 :
7757 : case 10:
7758 : if (!(
7759 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7760 : (TARGET_AVX512BW
7761 : && (2
7762 : > GET_MODE_SIZE (QImode))) &&
7763 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7764 : (TARGET_AVX512VL)))
7765 : return -1;
7766 : return 8344; /* *avx512vl_testmv4di3_zext_mask */
7767 :
7768 : case 11:
7769 : if (!(
7770 : #line 19873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7771 : (TARGET_AVX512BW
7772 : && (2
7773 : > GET_MODE_SIZE (QImode))) &&
7774 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7775 : (TARGET_AVX512VL)))
7776 : return -1;
7777 : return 8347; /* *avx512vl_testmv2di3_zext_mask */
7778 :
7779 : default:
7780 : return -1;
7781 : }
7782 :
7783 : case 160:
7784 : switch (pattern1106 (x4))
7785 : {
7786 : case 0:
7787 : if (!(
7788 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7789 : (TARGET_AVX512BW
7790 : && (2
7791 : > GET_MODE_SIZE (DImode))) &&
7792 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7793 : (TARGET_AVX512BW)))
7794 : return -1;
7795 : return 8386; /* *avx512bw_testnmv64qi3_zext_mask */
7796 :
7797 : case 1:
7798 : if (!(
7799 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7800 : (TARGET_AVX512BW
7801 : && (2
7802 : > GET_MODE_SIZE (SImode))) &&
7803 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7804 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7805 : return -1;
7806 : return 8389; /* *avx512vl_testnmv32qi3_zext_mask */
7807 :
7808 : case 2:
7809 : if (!(
7810 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7811 : (TARGET_AVX512BW
7812 : && (2
7813 : > GET_MODE_SIZE (SImode))) &&
7814 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7815 : (TARGET_AVX512BW)))
7816 : return -1;
7817 : return 8395; /* *avx512bw_testnmv32hi3_zext_mask */
7818 :
7819 : case 3:
7820 : if (!(
7821 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7822 : (TARGET_AVX512BW
7823 : && (2
7824 : > GET_MODE_SIZE (HImode))) &&
7825 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7826 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7827 : return -1;
7828 : return 8392; /* *avx512vl_testnmv16qi3_zext_mask */
7829 :
7830 : case 4:
7831 : if (!(
7832 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7833 : (TARGET_AVX512BW
7834 : && (2
7835 : > GET_MODE_SIZE (HImode))) &&
7836 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7837 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7838 : return -1;
7839 : return 8398; /* *avx512vl_testnmv16hi3_zext_mask */
7840 :
7841 : case 5:
7842 : if (!
7843 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7844 : (TARGET_AVX512BW
7845 : && (2
7846 : > GET_MODE_SIZE (HImode))))
7847 : return -1;
7848 : return 8404; /* *avx512f_testnmv16si3_zext_mask */
7849 :
7850 : case 6:
7851 : if (!(
7852 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7853 : (TARGET_AVX512BW
7854 : && (2
7855 : > GET_MODE_SIZE (QImode))) &&
7856 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7857 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7858 : return -1;
7859 : return 8401; /* *avx512vl_testnmv8hi3_zext_mask */
7860 :
7861 : case 7:
7862 : if (!(
7863 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7864 : (TARGET_AVX512BW
7865 : && (2
7866 : > GET_MODE_SIZE (QImode))) &&
7867 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7868 : (TARGET_AVX512VL)))
7869 : return -1;
7870 : return 8407; /* *avx512vl_testnmv8si3_zext_mask */
7871 :
7872 : case 8:
7873 : if (!(
7874 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7875 : (TARGET_AVX512BW
7876 : && (2
7877 : > GET_MODE_SIZE (QImode))) &&
7878 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7879 : (TARGET_AVX512VL)))
7880 : return -1;
7881 : return 8410; /* *avx512vl_testnmv4si3_zext_mask */
7882 :
7883 : case 9:
7884 : if (!
7885 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7886 : (TARGET_AVX512BW
7887 : && (2
7888 : > GET_MODE_SIZE (QImode))))
7889 : return -1;
7890 : return 8413; /* *avx512f_testnmv8di3_zext_mask */
7891 :
7892 : case 10:
7893 : if (!(
7894 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7895 : (TARGET_AVX512BW
7896 : && (2
7897 : > GET_MODE_SIZE (QImode))) &&
7898 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7899 : (TARGET_AVX512VL)))
7900 : return -1;
7901 : return 8416; /* *avx512vl_testnmv4di3_zext_mask */
7902 :
7903 : case 11:
7904 : if (!(
7905 : #line 19903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7906 : (TARGET_AVX512BW
7907 : && (2
7908 : > GET_MODE_SIZE (QImode))) &&
7909 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7910 : (TARGET_AVX512VL)))
7911 : return -1;
7912 : return 8419; /* *avx512vl_testnmv2di3_zext_mask */
7913 :
7914 : default:
7915 : return -1;
7916 : }
7917 :
7918 : default:
7919 : return -1;
7920 : }
7921 :
7922 : default:
7923 : return -1;
7924 : }
7925 :
7926 : case IOR:
7927 : if (pattern85 (x3) != 0)
7928 : return -1;
7929 : if (
7930 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7931 : (TARGET_APX_NDD && TARGET_APX_NF
7932 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7933 : return 877; /* *iorqi_1_zexthi_nf */
7934 : if (pnum_clobbers == NULL
7935 : || !
7936 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7937 : (TARGET_APX_NDD && true
7938 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7939 : return -1;
7940 : *pnum_clobbers = 1;
7941 : return 878; /* *iorqi_1_zexthi */
7942 :
7943 : case XOR:
7944 : if (pattern85 (x3) != 0)
7945 : return -1;
7946 : if (
7947 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7948 : (TARGET_APX_NDD && TARGET_APX_NF
7949 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7950 : return 879; /* *xorqi_1_zexthi_nf */
7951 : if (pnum_clobbers == NULL
7952 : || !
7953 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7954 : (TARGET_APX_NDD && true
7955 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7956 : return -1;
7957 : *pnum_clobbers = 1;
7958 : return 880; /* *xorqi_1_zexthi */
7959 :
7960 : case NEG:
7961 : if (pattern86 (x3) != 0)
7962 : return -1;
7963 : if (
7964 : #line 15295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7965 : (TARGET_APX_NDD && TARGET_APX_NF))
7966 : return 1000; /* *negqi_1_zexthi_nf */
7967 : if (pnum_clobbers == NULL
7968 : || !
7969 : #line 15295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7970 : (TARGET_APX_NDD && true))
7971 : return -1;
7972 : *pnum_clobbers = 1;
7973 : return 1001; /* *negqi_1_zexthi */
7974 :
7975 : case NOT:
7976 : if (pattern86 (x3) != 0
7977 : || !
7978 : #line 15988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7979 : (TARGET_APX_NDD))
7980 : return -1;
7981 : return 1073; /* *one_cmplqi2_1_zexthi */
7982 :
7983 : case ASHIFT:
7984 : if (pattern87 (x3) != 0)
7985 : return -1;
7986 : if (
7987 : #line 17026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7988 : (TARGET_APX_NDD && TARGET_APX_NF))
7989 : return 1131; /* *ashlqi3_1_zexthi_nf */
7990 : if (pnum_clobbers == NULL
7991 : || !
7992 : #line 17026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7993 : (TARGET_APX_NDD && true))
7994 : return -1;
7995 : *pnum_clobbers = 1;
7996 : return 1132; /* *ashlqi3_1_zexthi */
7997 :
7998 : case LSHIFTRT:
7999 : if (pattern87 (x3) != 0)
8000 : return -1;
8001 : if (
8002 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8003 : (TARGET_APX_NDD && TARGET_APX_NF))
8004 : return 1224; /* *lshrqi3_1_zexthi_nf */
8005 : if (pnum_clobbers == NULL
8006 : || !
8007 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8008 : (TARGET_APX_NDD && true))
8009 : return -1;
8010 : *pnum_clobbers = 1;
8011 : return 1225; /* *lshrqi3_1_zexthi */
8012 :
8013 : case ASHIFTRT:
8014 : if (pattern87 (x3) != 0)
8015 : return -1;
8016 : if (
8017 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8018 : (TARGET_APX_NDD && TARGET_APX_NF))
8019 : return 1226; /* *ashrqi3_1_zexthi_nf */
8020 : if (pnum_clobbers == NULL
8021 : || !
8022 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8023 : (TARGET_APX_NDD && true))
8024 : return -1;
8025 : *pnum_clobbers = 1;
8026 : return 1227; /* *ashrqi3_1_zexthi */
8027 :
8028 : case ROTATE:
8029 : if (pattern87 (x3) != 0)
8030 : return -1;
8031 : if (
8032 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8033 : (TARGET_APX_NDD && TARGET_APX_NF))
8034 : return 1389; /* *rotlqi3_1_zexthi_nf */
8035 : if (pnum_clobbers == NULL
8036 : || !
8037 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8038 : (TARGET_APX_NDD && true))
8039 : return -1;
8040 : *pnum_clobbers = 1;
8041 : return 1390; /* *rotlqi3_1_zexthi */
8042 :
8043 : case ROTATERT:
8044 : if (pattern87 (x3) != 0)
8045 : return -1;
8046 : if (
8047 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8048 : (TARGET_APX_NDD && TARGET_APX_NF))
8049 : return 1391; /* *rotrqi3_1_zexthi_nf */
8050 : if (pnum_clobbers == NULL
8051 : || !
8052 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8053 : (TARGET_APX_NDD && true))
8054 : return -1;
8055 : *pnum_clobbers = 1;
8056 : return 1392; /* *rotrqi3_1_zexthi */
8057 :
8058 : case VEC_SELECT:
8059 : x7 = XEXP (x4, 1);
8060 : if (GET_CODE (x7) != PARALLEL)
8061 : return -1;
8062 : x5 = XEXP (x4, 0);
8063 : operands[1] = x5;
8064 : switch (XVECLEN (x7, 0))
8065 : {
8066 : case 4:
8067 : if (pattern621 (x3) != 0
8068 : || !
8069 : #line 5045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8070 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8071 : return -1;
8072 : return 2365; /* sse4_1_zero_extendv4qiv4hi2 */
8073 :
8074 : case 2:
8075 : switch (pattern622 (x3))
8076 : {
8077 : case 0:
8078 : if (!
8079 : #line 5078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8080 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8081 : return -1;
8082 : return 2367; /* sse4_1_zero_extendv2hiv2si2 */
8083 :
8084 : case 1:
8085 : if (!
8086 : #line 5111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8087 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8088 : return -1;
8089 : return 2369; /* sse4_1_zero_extendv2qiv2si2 */
8090 :
8091 : case 2:
8092 : if (!
8093 : #line 5138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8094 : (TARGET_SSE4_1))
8095 : return -1;
8096 : return 2371; /* sse4_1_zero_extendv2qiv2hi2 */
8097 :
8098 : default:
8099 : return -1;
8100 : }
8101 :
8102 : case 1:
8103 : if (!register_operand (operands[0], E_HImode)
8104 : || GET_MODE (x3) != E_HImode
8105 : || GET_MODE (x4) != E_QImode)
8106 : return -1;
8107 : x17 = XVECEXP (x7, 0, 0);
8108 : operands[2] = x17;
8109 : switch (pattern998 ())
8110 : {
8111 : case 0:
8112 : if (!
8113 : #line 5519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8114 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8115 : return -1;
8116 : return 2387; /* *mmx_pextrb_zext */
8117 :
8118 : case 1:
8119 : if (!
8120 : #line 6186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8121 : (TARGET_SSE4_1))
8122 : return -1;
8123 : return 2425; /* *pextrb_zext */
8124 :
8125 : case 2:
8126 : if (!
8127 : #line 21933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8128 : (TARGET_SSE4_1))
8129 : return -1;
8130 : return 8583; /* *vec_extractv16qi_zext */
8131 :
8132 : default:
8133 : return -1;
8134 : }
8135 :
8136 : default:
8137 : return -1;
8138 : }
8139 :
8140 : case UNSPEC:
8141 : return recog_30 (x1, insn, pnum_clobbers);
8142 :
8143 : default:
8144 : return -1;
8145 : }
8146 : }
8147 :
8148 : int
8149 : recog_65 (rtx x1 ATTRIBUTE_UNUSED,
8150 : rtx_insn *insn ATTRIBUTE_UNUSED,
8151 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8152 : {
8153 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8154 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8155 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
8156 : int res ATTRIBUTE_UNUSED;
8157 : x2 = XEXP (x1, 0);
8158 : operands[0] = x2;
8159 : x3 = XEXP (x1, 1);
8160 : x4 = XEXP (x3, 0);
8161 : switch (GET_CODE (x4))
8162 : {
8163 : case PLUS:
8164 : if (pattern102 (x3,
8165 : E_V2SFmode,
8166 : E_SFmode) != 0)
8167 : return -1;
8168 : x5 = XEXP (x3, 1);
8169 : x6 = XEXP (x5, 0);
8170 : x7 = XEXP (x6, 0);
8171 : operands[2] = x7;
8172 : if (!nonimmediate_operand (operands[2], E_V2SFmode)
8173 : || pattern1889 (x3) != 0
8174 : || !
8175 : #line 1019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8176 : (TARGET_3DNOW
8177 : && INTVAL (operands[3]) != INTVAL (operands[4])
8178 : && INTVAL (operands[5]) != INTVAL (operands[6])))
8179 : return -1;
8180 : return 2124; /* *mmx_haddv2sf3 */
8181 :
8182 : case MINUS:
8183 : if (pattern103 (x4,
8184 : E_SFmode) != 0
8185 : || !register_operand (operands[0], E_V2SFmode)
8186 : || GET_MODE (x3) != E_V2SFmode)
8187 : return -1;
8188 : x8 = XEXP (x4, 0);
8189 : x9 = XEXP (x8, 0);
8190 : operands[1] = x9;
8191 : if (!register_operand (operands[1], E_V2SFmode))
8192 : return -1;
8193 : x5 = XEXP (x3, 1);
8194 : if (GET_MODE (x5) != E_SFmode)
8195 : return -1;
8196 : x10 = XEXP (x4, 1);
8197 : x11 = XEXP (x10, 0);
8198 : if (!rtx_equal_p (x11, operands[1]))
8199 : return -1;
8200 : switch (GET_CODE (x5))
8201 : {
8202 : case MINUS:
8203 : if (pattern1576 (x5,
8204 : E_SFmode) != 0)
8205 : return -1;
8206 : x6 = XEXP (x5, 0);
8207 : x7 = XEXP (x6, 0);
8208 : operands[2] = x7;
8209 : if (!nonimmediate_operand (operands[2], E_V2SFmode))
8210 : return -1;
8211 : x12 = XEXP (x5, 1);
8212 : x13 = XEXP (x12, 0);
8213 : if (!rtx_equal_p (x13, operands[2])
8214 : || !
8215 : #line 1067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8216 : (TARGET_3DNOW_A))
8217 : return -1;
8218 : return 2126; /* mmx_hsubv2sf3 */
8219 :
8220 : case PLUS:
8221 : x6 = XEXP (x5, 0);
8222 : if (GET_CODE (x6) != VEC_SELECT
8223 : || GET_MODE (x6) != E_SFmode)
8224 : return -1;
8225 : x14 = XEXP (x6, 1);
8226 : if (GET_CODE (x14) != PARALLEL
8227 : || XVECLEN (x14, 0) != 1)
8228 : return -1;
8229 : x12 = XEXP (x5, 1);
8230 : if (GET_CODE (x12) != VEC_SELECT
8231 : || GET_MODE (x12) != E_SFmode)
8232 : return -1;
8233 : x15 = XEXP (x12, 1);
8234 : if (GET_CODE (x15) != PARALLEL
8235 : || XVECLEN (x15, 0) != 1)
8236 : return -1;
8237 : x7 = XEXP (x6, 0);
8238 : operands[2] = x7;
8239 : if (!nonimmediate_operand (operands[2], E_V2SFmode))
8240 : return -1;
8241 : x16 = XVECEXP (x14, 0, 0);
8242 : operands[3] = x16;
8243 : if (!const_0_to_1_operand (operands[3], E_SImode))
8244 : return -1;
8245 : x17 = XVECEXP (x15, 0, 0);
8246 : operands[4] = x17;
8247 : if (!const_0_to_1_operand (operands[4], E_SImode))
8248 : return -1;
8249 : x13 = XEXP (x12, 0);
8250 : if (!rtx_equal_p (x13, operands[2])
8251 : || !
8252 : #line 1129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8253 : (TARGET_3DNOW_A
8254 : && INTVAL (operands[3]) != INTVAL (operands[4])))
8255 : return -1;
8256 : return 2128; /* *mmx_haddsubv2sf3 */
8257 :
8258 : default:
8259 : return -1;
8260 : }
8261 :
8262 : case REG:
8263 : case SUBREG:
8264 : case MEM:
8265 : operands[1] = x4;
8266 : x5 = XEXP (x3, 1);
8267 : operands[2] = x5;
8268 : switch (GET_MODE (operands[0]))
8269 : {
8270 : case E_V2SFmode:
8271 : if (!register_operand (operands[0], E_V2SFmode)
8272 : || GET_MODE (x3) != E_V2SFmode
8273 : || !nonimmediate_operand (operands[1], E_SFmode))
8274 : return -1;
8275 : if (nonimm_or_0_operand (operands[2], E_SFmode))
8276 : {
8277 : if (
8278 : #line 1781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8279 : (TARGET_MMX && !TARGET_SSE))
8280 : return 2152; /* *mmx_concatv2sf */
8281 : if (
8282 : #line 12426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8283 : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8284 : return 5348; /* *vec_concatv2sf_sse4_1 */
8285 : }
8286 : if (!reg_or_0_operand (operands[2], E_SFmode)
8287 : || !
8288 : #line 12490 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8289 : (TARGET_SSE))
8290 : return -1;
8291 : return 5349; /* *vec_concatv2sf_sse */
8292 :
8293 : case E_V2SImode:
8294 : if (!register_operand (operands[0], E_V2SImode)
8295 : || GET_MODE (x3) != E_V2SImode
8296 : || !nonimmediate_operand (operands[1], E_SImode))
8297 : return -1;
8298 : if (nonimm_or_0_operand (operands[2], E_SImode))
8299 : {
8300 : if (
8301 : #line 5749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8302 : (TARGET_MMX && !TARGET_SSE))
8303 : return 2408; /* *mmx_concatv2si */
8304 : if (
8305 : #line 22336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8306 : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8307 : return 8598; /* *vec_concatv2si_sse4_1 */
8308 : }
8309 : if (!reg_or_0_operand (operands[2], E_SImode)
8310 : || !
8311 : #line 22389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8312 : (TARGET_SSE && !TARGET_SSE4_1))
8313 : return -1;
8314 : return 8599; /* *vec_concatv2si */
8315 :
8316 : default:
8317 : return -1;
8318 : }
8319 :
8320 : case SS_TRUNCATE:
8321 : x5 = XEXP (x3, 1);
8322 : if (GET_CODE (x5) != SS_TRUNCATE)
8323 : return -1;
8324 : switch (pattern273 (x3))
8325 : {
8326 : case 0:
8327 : if (!
8328 : #line 4805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8329 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8330 : return -1;
8331 : return 2352; /* mmx_packsswb */
8332 :
8333 : case 1:
8334 : if (!
8335 : #line 4846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8336 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8337 : return -1;
8338 : return 2354; /* mmx_packssdw */
8339 :
8340 : default:
8341 : return -1;
8342 : }
8343 :
8344 : default:
8345 : return -1;
8346 : }
8347 : }
8348 :
8349 : int
8350 : recog_70 (rtx x1 ATTRIBUTE_UNUSED,
8351 : rtx_insn *insn ATTRIBUTE_UNUSED,
8352 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8353 : {
8354 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8355 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8356 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
8357 : rtx x18, x19;
8358 : int res ATTRIBUTE_UNUSED;
8359 : x2 = XEXP (x1, 0);
8360 : operands[0] = x2;
8361 : x3 = XEXP (x1, 1);
8362 : x4 = XEXP (x3, 0);
8363 : switch (GET_CODE (x4))
8364 : {
8365 : case REG:
8366 : case SUBREG:
8367 : case MEM:
8368 : switch (pattern47 (x3))
8369 : {
8370 : case 0:
8371 : if (!
8372 : #line 3354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8373 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8374 : && ix86_binary_operator_ok (SS_PLUS, V8QImode, operands)))
8375 : return -1;
8376 : return 2198; /* *mmx_ssaddv8qi3 */
8377 :
8378 : case 1:
8379 : if (!
8380 : #line 3354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8381 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8382 : && ix86_binary_operator_ok (SS_PLUS, V4HImode, operands)))
8383 : return -1;
8384 : return 2202; /* *mmx_ssaddv4hi3 */
8385 :
8386 : case 2:
8387 : if (!
8388 : #line 3370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8389 : (TARGET_SSE2))
8390 : return -1;
8391 : return 2206; /* ssaddv4qi3 */
8392 :
8393 : case 3:
8394 : if (!
8395 : #line 3370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8396 : (TARGET_SSE2))
8397 : return -1;
8398 : return 2210; /* ssaddv2qi3 */
8399 :
8400 : case 4:
8401 : if (!
8402 : #line 3370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8403 : (TARGET_SSE2))
8404 : return -1;
8405 : return 2214; /* ssaddv2hi3 */
8406 :
8407 : default:
8408 : return -1;
8409 : }
8410 :
8411 : case VEC_SELECT:
8412 : if (pattern108 (x3) != 0
8413 : || !
8414 : #line 23508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8415 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8416 : return -1;
8417 : return 8715; /* ssse3_phaddswv4hi3 */
8418 :
8419 : case MULT:
8420 : if (GET_MODE (x4) != E_V4HImode)
8421 : return -1;
8422 : x5 = XEXP (x4, 0);
8423 : if (GET_CODE (x5) != ZERO_EXTEND
8424 : || GET_MODE (x5) != E_V4HImode)
8425 : return -1;
8426 : x6 = XEXP (x5, 0);
8427 : if (GET_CODE (x6) != VEC_SELECT
8428 : || GET_MODE (x6) != E_V4QImode)
8429 : return -1;
8430 : x7 = XEXP (x6, 1);
8431 : if (GET_CODE (x7) != PARALLEL
8432 : || XVECLEN (x7, 0) != 4
8433 : || pattern1103 (x7,
8434 : 6,
8435 : 4,
8436 : 2,
8437 : 0) != 0)
8438 : return -1;
8439 : x8 = XEXP (x4, 1);
8440 : if (pattern1282 (x8,
8441 : E_V4QImode,
8442 : E_V4HImode) != 0)
8443 : return -1;
8444 : x9 = XEXP (x8, 0);
8445 : x10 = XEXP (x9, 1);
8446 : if (pattern1647 (x10,
8447 : 6,
8448 : 4,
8449 : 2,
8450 : 0) != 0)
8451 : return -1;
8452 : x11 = XEXP (x3, 1);
8453 : if (pattern1818 (x11,
8454 : E_V4QImode,
8455 : E_V4HImode,
8456 : ZERO_EXTEND) != 0
8457 : || !register_operand (operands[0], E_V4HImode)
8458 : || GET_MODE (x3) != E_V4HImode)
8459 : return -1;
8460 : x12 = XEXP (x6, 0);
8461 : operands[1] = x12;
8462 : if (!register_operand (operands[1], E_V8QImode))
8463 : return -1;
8464 : x13 = XEXP (x9, 0);
8465 : operands[2] = x13;
8466 : if (!register_mmxmem_operand (operands[2], E_V8QImode))
8467 : return -1;
8468 : x14 = XEXP (x11, 0);
8469 : x15 = XEXP (x14, 0);
8470 : x16 = XEXP (x15, 0);
8471 : if (!rtx_equal_p (x16, operands[1]))
8472 : return -1;
8473 : x17 = XEXP (x11, 1);
8474 : x18 = XEXP (x17, 0);
8475 : x19 = XEXP (x18, 0);
8476 : if (!rtx_equal_p (x19, operands[2])
8477 : || !
8478 : #line 23799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8479 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8480 : return -1;
8481 : return 8734; /* ssse3_pmaddubsw */
8482 :
8483 : default:
8484 : return -1;
8485 : }
8486 : }
8487 :
8488 : int
8489 : recog_74 (rtx x1 ATTRIBUTE_UNUSED,
8490 : rtx_insn *insn ATTRIBUTE_UNUSED,
8491 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8492 : {
8493 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8494 : rtx x2, x3, x4, x5;
8495 : int res ATTRIBUTE_UNUSED;
8496 : x2 = XEXP (x1, 1);
8497 : if (GET_MODE (x2) != E_DImode)
8498 : return -1;
8499 : x3 = XEXP (x2, 0);
8500 : x4 = XEXP (x3, 0);
8501 : operands[1] = x4;
8502 : if (!nonimmediate_operand (operands[1], E_SImode))
8503 : return -1;
8504 : x5 = XEXP (x3, 1);
8505 : operands[2] = x5;
8506 : switch (GET_CODE (operands[2]))
8507 : {
8508 : case CONST_INT:
8509 : if (pnum_clobbers == NULL
8510 : || !const_int_operand (operands[2], E_QImode)
8511 : || !
8512 : #line 18266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8513 : (TARGET_64BIT && INTVAL (operands[2]) == 31
8514 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
8515 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
8516 : return -1;
8517 : *pnum_clobbers = 1;
8518 : return 1208; /* *ashrsi3_cvt_zext */
8519 :
8520 : case REG:
8521 : case SUBREG:
8522 : if (!register_operand (operands[2], E_SImode)
8523 : || !
8524 : #line 18448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8525 : (TARGET_64BIT && TARGET_BMI2))
8526 : return -1;
8527 : return 1223; /* *bmi2_ashrsi3_1_zext */
8528 :
8529 : default:
8530 : return -1;
8531 : }
8532 : }
8533 :
8534 : int
8535 : recog_75 (rtx x1 ATTRIBUTE_UNUSED,
8536 : rtx_insn *insn ATTRIBUTE_UNUSED,
8537 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8538 : {
8539 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8540 : rtx x2, x3, x4, x5, x6, x7;
8541 : int res ATTRIBUTE_UNUSED;
8542 : x2 = XEXP (x1, 1);
8543 : x3 = XEXP (x2, 0);
8544 : x4 = XVECEXP (x3, 0, 1);
8545 : operands[2] = x4;
8546 : switch (XINT (x3, 1))
8547 : {
8548 : case 96:
8549 : if (pattern631 (x2,
8550 : E_DImode) != 0
8551 : || !nonimmediate_operand (operands[2], E_DImode)
8552 : || !
8553 : #line 30481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8554 : (TARGET_64BIT && TARGET_CRC32))
8555 : return -1;
8556 : return 1951; /* sse4_2_crc32di */
8557 :
8558 : case 179:
8559 : if (GET_MODE (x3) != E_SImode
8560 : || !register_operand (operands[0], E_DImode)
8561 : || GET_MODE (x2) != E_DImode)
8562 : return -1;
8563 : x5 = XVECEXP (x3, 0, 0);
8564 : if (GET_MODE (x5) != E_SImode)
8565 : return -1;
8566 : switch (GET_CODE (x5))
8567 : {
8568 : case UNSPEC:
8569 : if (XVECLEN (x5, 0) != 1)
8570 : return -1;
8571 : switch (XINT (x5, 1))
8572 : {
8573 : case 157:
8574 : x6 = XVECEXP (x5, 0, 0);
8575 : switch (pattern1380 (x6))
8576 : {
8577 : case 0:
8578 : if (!(
8579 : #line 484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8580 : (TARGET_64BIT && TARGET_AVX512F) &&
8581 : #line 8225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8582 : (TARGET_64BIT && TARGET_AVX512FP16)))
8583 : return -1;
8584 : return 4605; /* *avx512fp16_vcvtsh2usi_round_zext */
8585 :
8586 : case 1:
8587 : if (!
8588 : #line 484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8589 : (TARGET_64BIT && TARGET_AVX512F))
8590 : return -1;
8591 : return 4978; /* *avx512f_vcvtss2usi_round_zext */
8592 :
8593 : case 2:
8594 : if (!
8595 : #line 484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8596 : (TARGET_64BIT && TARGET_AVX512F))
8597 : return -1;
8598 : return 4996; /* *avx512f_vcvtsd2usi_round_zext */
8599 :
8600 : default:
8601 : return -1;
8602 : }
8603 :
8604 : case 47:
8605 : x6 = XVECEXP (x5, 0, 0);
8606 : switch (pattern1380 (x6))
8607 : {
8608 : case 0:
8609 : if (!(
8610 : #line 484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8611 : (TARGET_64BIT && TARGET_AVX512F) &&
8612 : #line 8225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8613 : (TARGET_64BIT && TARGET_AVX512FP16)))
8614 : return -1;
8615 : return 4607; /* *avx512fp16_vcvtsh2si_round_zext */
8616 :
8617 : case 1:
8618 : if (!(
8619 : #line 484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8620 : (TARGET_64BIT && TARGET_AVX512F) &&
8621 : #line 8994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8622 : (TARGET_64BIT && TARGET_SSE)))
8623 : return -1;
8624 : return 4860; /* *sse_cvtss2si_round_zext */
8625 :
8626 : case 2:
8627 : if (!(
8628 : #line 484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8629 : (TARGET_64BIT && TARGET_AVX512F) &&
8630 : #line 9708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8631 : (TARGET_64BIT && TARGET_SSE2)))
8632 : return -1;
8633 : return 5014; /* *sse2_cvtsd2si_round_zext */
8634 :
8635 : default:
8636 : return -1;
8637 : }
8638 :
8639 : case 173:
8640 : x6 = XVECEXP (x5, 0, 0);
8641 : switch (pattern1381 (x6))
8642 : {
8643 : case 0:
8644 : if (!(
8645 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8646 : (TARGET_64BIT && TARGET_AVX512F) &&
8647 : #line 8414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8648 : (TARGET_64BIT && TARGET_AVX512FP16)))
8649 : return -1;
8650 : return 4763; /* *unspec_avx512fp16_fix_truncsi2_round_zext */
8651 :
8652 : case 1:
8653 : if (!(
8654 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8655 : (TARGET_64BIT && TARGET_AVX512F) &&
8656 : #line 9054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8657 : (TARGET_64BIT && TARGET_SSE)))
8658 : return -1;
8659 : return 4869; /* *unspec_sse_cvttss2si_round_zext */
8660 :
8661 : case 2:
8662 : if (!(
8663 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8664 : (TARGET_64BIT && TARGET_AVX512F) &&
8665 : #line 9769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8666 : (TARGET_64BIT && TARGET_SSE2)))
8667 : return -1;
8668 : return 5023; /* *unspec_sse2_cvttsd2si_round_zext */
8669 :
8670 : default:
8671 : return -1;
8672 : }
8673 :
8674 : case 174:
8675 : x6 = XVECEXP (x5, 0, 0);
8676 : switch (pattern1381 (x6))
8677 : {
8678 : case 0:
8679 : if (!(
8680 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8681 : (TARGET_64BIT && TARGET_AVX512F) &&
8682 : #line 8414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8683 : (TARGET_64BIT && TARGET_AVX512FP16)))
8684 : return -1;
8685 : return 4765; /* *unspec_avx512fp16_fixuns_truncsi2_round_zext */
8686 :
8687 : case 1:
8688 : if (!
8689 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8690 : (TARGET_64BIT && TARGET_AVX512F))
8691 : return -1;
8692 : return 4984; /* *unspec_avx512f_vcvttss2usi_round_zext */
8693 :
8694 : case 2:
8695 : if (!
8696 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8697 : (TARGET_64BIT && TARGET_AVX512F))
8698 : return -1;
8699 : return 5002; /* *unspec_avx512f_vcvttsd2usi_round_zext */
8700 :
8701 : default:
8702 : return -1;
8703 : }
8704 :
8705 : case 276:
8706 : x6 = XVECEXP (x5, 0, 0);
8707 : switch (pattern1382 (x6))
8708 : {
8709 : case 0:
8710 : if (!(
8711 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8712 : (TARGET_64BIT && TARGET_AVX512F) &&
8713 : #line 34070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8714 : (TARGET_64BIT && TARGET_AVX10_2)))
8715 : return -1;
8716 : return 11039; /* *avx10_2_vcvttsd2sissi_round_zext */
8717 :
8718 : case 1:
8719 : if (!(
8720 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8721 : (TARGET_64BIT && TARGET_AVX512F) &&
8722 : #line 34097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8723 : (TARGET_64BIT && TARGET_AVX10_2)))
8724 : return -1;
8725 : return 11051; /* *avx10_2_vcvttss2sissi_round_zext */
8726 :
8727 : default:
8728 : return -1;
8729 : }
8730 :
8731 : case 277:
8732 : x6 = XVECEXP (x5, 0, 0);
8733 : switch (pattern1382 (x6))
8734 : {
8735 : case 0:
8736 : if (!(
8737 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8738 : (TARGET_64BIT && TARGET_AVX512F) &&
8739 : #line 34070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8740 : (TARGET_64BIT && TARGET_AVX10_2)))
8741 : return -1;
8742 : return 11041; /* *avx10_2_vcvttsd2usissi_round_zext */
8743 :
8744 : case 1:
8745 : if (!(
8746 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8747 : (TARGET_64BIT && TARGET_AVX512F) &&
8748 : #line 34097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8749 : (TARGET_64BIT && TARGET_AVX10_2)))
8750 : return -1;
8751 : return 11053; /* *avx10_2_vcvttss2usissi_round_zext */
8752 :
8753 : default:
8754 : return -1;
8755 : }
8756 :
8757 : default:
8758 : return -1;
8759 : }
8760 :
8761 : case FIX:
8762 : x7 = XEXP (x5, 0);
8763 : switch (pattern1222 (x7))
8764 : {
8765 : case 0:
8766 : if (!(
8767 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8768 : (TARGET_64BIT && TARGET_AVX512F) &&
8769 : #line 9087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8770 : (TARGET_64BIT && TARGET_SSE)))
8771 : return -1;
8772 : return 4875; /* *sse_cvttss2si_round_zext */
8773 :
8774 : case 1:
8775 : if (!(
8776 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8777 : (TARGET_64BIT && TARGET_AVX512F) &&
8778 : #line 9804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8779 : (TARGET_64BIT && TARGET_SSE2)))
8780 : return -1;
8781 : return 5029; /* *sse2_cvttsd2si_round_zext */
8782 :
8783 : default:
8784 : return -1;
8785 : }
8786 :
8787 : case UNSIGNED_FIX:
8788 : x7 = XEXP (x5, 0);
8789 : switch (pattern1222 (x7))
8790 : {
8791 : case 0:
8792 : if (!
8793 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8794 : (TARGET_64BIT && TARGET_AVX512F))
8795 : return -1;
8796 : return 4990; /* *avx512f_vcvttss2usi_round_zext */
8797 :
8798 : case 1:
8799 : if (!
8800 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
8801 : (TARGET_64BIT && TARGET_AVX512F))
8802 : return -1;
8803 : return 5008; /* *avx512f_vcvttsd2usi_round_zext */
8804 :
8805 : default:
8806 : return -1;
8807 : }
8808 :
8809 : default:
8810 : return -1;
8811 : }
8812 :
8813 : case 159:
8814 : switch (pattern636 (x2))
8815 : {
8816 : case 0:
8817 : if (!(
8818 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8819 : (TARGET_AVX512BW
8820 : && (8
8821 : > GET_MODE_SIZE (DImode))) &&
8822 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8823 : (TARGET_AVX512BW)))
8824 : return -1;
8825 : return 8276; /* *avx512bw_testmv64qi3_zext */
8826 :
8827 : case 1:
8828 : if (!(
8829 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8830 : (TARGET_AVX512BW
8831 : && (8
8832 : > GET_MODE_SIZE (SImode))) && ((
8833 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8834 : (TARGET_AVX512BW) &&
8835 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8836 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8837 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8838 : (TARGET_AVX512VL && TARGET_AVX512BW))))
8839 : return -1;
8840 : return 8279; /* *avx512vl_testmv32qi3_zext */
8841 :
8842 : case 2:
8843 : if (!(
8844 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8845 : (TARGET_AVX512BW
8846 : && (8
8847 : > GET_MODE_SIZE (SImode))) &&
8848 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8849 : (TARGET_AVX512BW)))
8850 : return -1;
8851 : return 8285; /* *avx512bw_testmv32hi3_zext */
8852 :
8853 : case 3:
8854 : if (!(
8855 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8856 : (TARGET_AVX512BW
8857 : && (8
8858 : > GET_MODE_SIZE (HImode))) && ((
8859 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8860 : (TARGET_AVX512BW) &&
8861 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8862 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8863 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8864 : (TARGET_AVX512VL && TARGET_AVX512BW))))
8865 : return -1;
8866 : return 8282; /* *avx512vl_testmv16qi3_zext */
8867 :
8868 : case 4:
8869 : if (!(
8870 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8871 : (TARGET_AVX512BW
8872 : && (8
8873 : > GET_MODE_SIZE (HImode))) && ((
8874 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8875 : (TARGET_AVX512BW) &&
8876 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8877 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8878 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8879 : (TARGET_AVX512VL && TARGET_AVX512BW))))
8880 : return -1;
8881 : return 8288; /* *avx512vl_testmv16hi3_zext */
8882 :
8883 : case 5:
8884 : if (!(
8885 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8886 : (TARGET_AVX512BW
8887 : && (8
8888 : > GET_MODE_SIZE (HImode))) &&
8889 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8890 : (TARGET_AVX512BW)))
8891 : return -1;
8892 : return 8294; /* *avx512f_testmv16si3_zext */
8893 :
8894 : case 6:
8895 : if (!(
8896 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8897 : (TARGET_AVX512BW
8898 : && (8
8899 : > GET_MODE_SIZE (QImode))) && ((
8900 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8901 : (TARGET_AVX512BW) &&
8902 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8903 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8904 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8905 : (TARGET_AVX512VL && TARGET_AVX512BW))))
8906 : return -1;
8907 : return 8291; /* *avx512vl_testmv8hi3_zext */
8908 :
8909 : case 7:
8910 : if (!(
8911 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8912 : (TARGET_AVX512BW
8913 : && (8
8914 : > GET_MODE_SIZE (QImode))) && ((
8915 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8916 : (TARGET_AVX512BW) &&
8917 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8918 : (TARGET_AVX512VL)) &&
8919 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8920 : (TARGET_AVX512VL))))
8921 : return -1;
8922 : return 8297; /* *avx512vl_testmv8si3_zext */
8923 :
8924 : case 8:
8925 : if (!(
8926 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8927 : (TARGET_AVX512BW
8928 : && (8
8929 : > GET_MODE_SIZE (QImode))) && ((
8930 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8931 : (TARGET_AVX512BW) &&
8932 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8933 : (TARGET_AVX512VL)) &&
8934 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8935 : (TARGET_AVX512VL))))
8936 : return -1;
8937 : return 8300; /* *avx512vl_testmv4si3_zext */
8938 :
8939 : case 9:
8940 : if (!(
8941 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8942 : (TARGET_AVX512BW
8943 : && (8
8944 : > GET_MODE_SIZE (QImode))) &&
8945 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8946 : (TARGET_AVX512BW)))
8947 : return -1;
8948 : return 8303; /* *avx512f_testmv8di3_zext */
8949 :
8950 : case 10:
8951 : if (!(
8952 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8953 : (TARGET_AVX512BW
8954 : && (8
8955 : > GET_MODE_SIZE (QImode))) && ((
8956 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8957 : (TARGET_AVX512BW) &&
8958 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8959 : (TARGET_AVX512VL)) &&
8960 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8961 : (TARGET_AVX512VL))))
8962 : return -1;
8963 : return 8306; /* *avx512vl_testmv4di3_zext */
8964 :
8965 : case 11:
8966 : if (!(
8967 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8968 : (TARGET_AVX512BW
8969 : && (8
8970 : > GET_MODE_SIZE (QImode))) && ((
8971 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8972 : (TARGET_AVX512BW) &&
8973 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8974 : (TARGET_AVX512VL)) &&
8975 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8976 : (TARGET_AVX512VL))))
8977 : return -1;
8978 : return 8309; /* *avx512vl_testmv2di3_zext */
8979 :
8980 : case 12:
8981 : if (!(
8982 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8983 : (TARGET_AVX512BW
8984 : && (4
8985 : > GET_MODE_SIZE (DImode))) &&
8986 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8987 : (TARGET_AVX512BW)))
8988 : return -1;
8989 : return 8277; /* *avx512bw_testmv64qi3_zext */
8990 :
8991 : case 13:
8992 : if (!(
8993 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8994 : (TARGET_AVX512BW
8995 : && (4
8996 : > GET_MODE_SIZE (SImode))) && ((
8997 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8998 : (TARGET_AVX512BW) &&
8999 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9000 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9001 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9002 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9003 : return -1;
9004 : return 8280; /* *avx512vl_testmv32qi3_zext */
9005 :
9006 : case 14:
9007 : if (!(
9008 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9009 : (TARGET_AVX512BW
9010 : && (4
9011 : > GET_MODE_SIZE (SImode))) &&
9012 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9013 : (TARGET_AVX512BW)))
9014 : return -1;
9015 : return 8286; /* *avx512bw_testmv32hi3_zext */
9016 :
9017 : case 15:
9018 : if (!(
9019 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9020 : (TARGET_AVX512BW
9021 : && (4
9022 : > GET_MODE_SIZE (HImode))) && ((
9023 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9024 : (TARGET_AVX512BW) &&
9025 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9026 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9027 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9028 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9029 : return -1;
9030 : return 8283; /* *avx512vl_testmv16qi3_zext */
9031 :
9032 : case 16:
9033 : if (!(
9034 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9035 : (TARGET_AVX512BW
9036 : && (4
9037 : > GET_MODE_SIZE (HImode))) && ((
9038 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9039 : (TARGET_AVX512BW) &&
9040 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9041 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9042 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9043 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9044 : return -1;
9045 : return 8289; /* *avx512vl_testmv16hi3_zext */
9046 :
9047 : case 17:
9048 : if (!(
9049 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9050 : (TARGET_AVX512BW
9051 : && (4
9052 : > GET_MODE_SIZE (HImode))) &&
9053 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9054 : (TARGET_AVX512BW)))
9055 : return -1;
9056 : return 8295; /* *avx512f_testmv16si3_zext */
9057 :
9058 : case 18:
9059 : if (!(
9060 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9061 : (TARGET_AVX512BW
9062 : && (4
9063 : > GET_MODE_SIZE (QImode))) && ((
9064 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9065 : (TARGET_AVX512BW) &&
9066 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9067 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9068 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9069 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9070 : return -1;
9071 : return 8292; /* *avx512vl_testmv8hi3_zext */
9072 :
9073 : case 19:
9074 : if (!(
9075 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9076 : (TARGET_AVX512BW
9077 : && (4
9078 : > GET_MODE_SIZE (QImode))) && ((
9079 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9080 : (TARGET_AVX512BW) &&
9081 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9082 : (TARGET_AVX512VL)) &&
9083 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9084 : (TARGET_AVX512VL))))
9085 : return -1;
9086 : return 8298; /* *avx512vl_testmv8si3_zext */
9087 :
9088 : case 20:
9089 : if (!(
9090 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9091 : (TARGET_AVX512BW
9092 : && (4
9093 : > GET_MODE_SIZE (QImode))) && ((
9094 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9095 : (TARGET_AVX512BW) &&
9096 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9097 : (TARGET_AVX512VL)) &&
9098 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9099 : (TARGET_AVX512VL))))
9100 : return -1;
9101 : return 8301; /* *avx512vl_testmv4si3_zext */
9102 :
9103 : case 21:
9104 : if (!(
9105 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9106 : (TARGET_AVX512BW
9107 : && (4
9108 : > GET_MODE_SIZE (QImode))) &&
9109 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9110 : (TARGET_AVX512BW)))
9111 : return -1;
9112 : return 8304; /* *avx512f_testmv8di3_zext */
9113 :
9114 : case 22:
9115 : if (!(
9116 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9117 : (TARGET_AVX512BW
9118 : && (4
9119 : > GET_MODE_SIZE (QImode))) && ((
9120 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9121 : (TARGET_AVX512BW) &&
9122 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9123 : (TARGET_AVX512VL)) &&
9124 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9125 : (TARGET_AVX512VL))))
9126 : return -1;
9127 : return 8307; /* *avx512vl_testmv4di3_zext */
9128 :
9129 : case 23:
9130 : if (!(
9131 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9132 : (TARGET_AVX512BW
9133 : && (4
9134 : > GET_MODE_SIZE (QImode))) && ((
9135 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9136 : (TARGET_AVX512BW) &&
9137 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9138 : (TARGET_AVX512VL)) &&
9139 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9140 : (TARGET_AVX512VL))))
9141 : return -1;
9142 : return 8310; /* *avx512vl_testmv2di3_zext */
9143 :
9144 : default:
9145 : return -1;
9146 : }
9147 :
9148 : case 160:
9149 : switch (pattern636 (x2))
9150 : {
9151 : case 0:
9152 : if (!(
9153 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9154 : (TARGET_AVX512BW
9155 : && (8
9156 : > GET_MODE_SIZE (DImode))) &&
9157 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9158 : (TARGET_AVX512BW)))
9159 : return -1;
9160 : return 8348; /* *avx512bw_testnmv64qi3_zext */
9161 :
9162 : case 1:
9163 : if (!(
9164 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9165 : (TARGET_AVX512BW
9166 : && (8
9167 : > GET_MODE_SIZE (SImode))) && ((
9168 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9169 : (TARGET_AVX512BW) &&
9170 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9171 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9172 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9173 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9174 : return -1;
9175 : return 8351; /* *avx512vl_testnmv32qi3_zext */
9176 :
9177 : case 2:
9178 : if (!(
9179 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9180 : (TARGET_AVX512BW
9181 : && (8
9182 : > GET_MODE_SIZE (SImode))) &&
9183 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9184 : (TARGET_AVX512BW)))
9185 : return -1;
9186 : return 8357; /* *avx512bw_testnmv32hi3_zext */
9187 :
9188 : case 3:
9189 : if (!(
9190 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9191 : (TARGET_AVX512BW
9192 : && (8
9193 : > GET_MODE_SIZE (HImode))) && ((
9194 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9195 : (TARGET_AVX512BW) &&
9196 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9197 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9198 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9199 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9200 : return -1;
9201 : return 8354; /* *avx512vl_testnmv16qi3_zext */
9202 :
9203 : case 4:
9204 : if (!(
9205 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9206 : (TARGET_AVX512BW
9207 : && (8
9208 : > GET_MODE_SIZE (HImode))) && ((
9209 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9210 : (TARGET_AVX512BW) &&
9211 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9212 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9213 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9214 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9215 : return -1;
9216 : return 8360; /* *avx512vl_testnmv16hi3_zext */
9217 :
9218 : case 5:
9219 : if (!(
9220 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9221 : (TARGET_AVX512BW
9222 : && (8
9223 : > GET_MODE_SIZE (HImode))) &&
9224 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9225 : (TARGET_AVX512BW)))
9226 : return -1;
9227 : return 8366; /* *avx512f_testnmv16si3_zext */
9228 :
9229 : case 6:
9230 : if (!(
9231 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9232 : (TARGET_AVX512BW
9233 : && (8
9234 : > GET_MODE_SIZE (QImode))) && ((
9235 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9236 : (TARGET_AVX512BW) &&
9237 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9238 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9239 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9240 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9241 : return -1;
9242 : return 8363; /* *avx512vl_testnmv8hi3_zext */
9243 :
9244 : case 7:
9245 : if (!(
9246 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9247 : (TARGET_AVX512BW
9248 : && (8
9249 : > GET_MODE_SIZE (QImode))) && ((
9250 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9251 : (TARGET_AVX512BW) &&
9252 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9253 : (TARGET_AVX512VL)) &&
9254 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9255 : (TARGET_AVX512VL))))
9256 : return -1;
9257 : return 8369; /* *avx512vl_testnmv8si3_zext */
9258 :
9259 : case 8:
9260 : if (!(
9261 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9262 : (TARGET_AVX512BW
9263 : && (8
9264 : > GET_MODE_SIZE (QImode))) && ((
9265 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9266 : (TARGET_AVX512BW) &&
9267 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9268 : (TARGET_AVX512VL)) &&
9269 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9270 : (TARGET_AVX512VL))))
9271 : return -1;
9272 : return 8372; /* *avx512vl_testnmv4si3_zext */
9273 :
9274 : case 9:
9275 : if (!(
9276 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9277 : (TARGET_AVX512BW
9278 : && (8
9279 : > GET_MODE_SIZE (QImode))) &&
9280 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9281 : (TARGET_AVX512BW)))
9282 : return -1;
9283 : return 8375; /* *avx512f_testnmv8di3_zext */
9284 :
9285 : case 10:
9286 : if (!(
9287 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9288 : (TARGET_AVX512BW
9289 : && (8
9290 : > GET_MODE_SIZE (QImode))) && ((
9291 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9292 : (TARGET_AVX512BW) &&
9293 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9294 : (TARGET_AVX512VL)) &&
9295 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9296 : (TARGET_AVX512VL))))
9297 : return -1;
9298 : return 8378; /* *avx512vl_testnmv4di3_zext */
9299 :
9300 : case 11:
9301 : if (!(
9302 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9303 : (TARGET_AVX512BW
9304 : && (8
9305 : > GET_MODE_SIZE (QImode))) && ((
9306 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9307 : (TARGET_AVX512BW) &&
9308 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9309 : (TARGET_AVX512VL)) &&
9310 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9311 : (TARGET_AVX512VL))))
9312 : return -1;
9313 : return 8381; /* *avx512vl_testnmv2di3_zext */
9314 :
9315 : case 12:
9316 : if (!(
9317 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9318 : (TARGET_AVX512BW
9319 : && (4
9320 : > GET_MODE_SIZE (DImode))) &&
9321 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9322 : (TARGET_AVX512BW)))
9323 : return -1;
9324 : return 8349; /* *avx512bw_testnmv64qi3_zext */
9325 :
9326 : case 13:
9327 : if (!(
9328 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9329 : (TARGET_AVX512BW
9330 : && (4
9331 : > GET_MODE_SIZE (SImode))) && ((
9332 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9333 : (TARGET_AVX512BW) &&
9334 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9335 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9336 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9337 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9338 : return -1;
9339 : return 8352; /* *avx512vl_testnmv32qi3_zext */
9340 :
9341 : case 14:
9342 : if (!(
9343 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9344 : (TARGET_AVX512BW
9345 : && (4
9346 : > GET_MODE_SIZE (SImode))) &&
9347 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9348 : (TARGET_AVX512BW)))
9349 : return -1;
9350 : return 8358; /* *avx512bw_testnmv32hi3_zext */
9351 :
9352 : case 15:
9353 : if (!(
9354 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9355 : (TARGET_AVX512BW
9356 : && (4
9357 : > GET_MODE_SIZE (HImode))) && ((
9358 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9359 : (TARGET_AVX512BW) &&
9360 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9361 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9362 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9363 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9364 : return -1;
9365 : return 8355; /* *avx512vl_testnmv16qi3_zext */
9366 :
9367 : case 16:
9368 : if (!(
9369 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9370 : (TARGET_AVX512BW
9371 : && (4
9372 : > GET_MODE_SIZE (HImode))) && ((
9373 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9374 : (TARGET_AVX512BW) &&
9375 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9376 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9377 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9378 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9379 : return -1;
9380 : return 8361; /* *avx512vl_testnmv16hi3_zext */
9381 :
9382 : case 17:
9383 : if (!(
9384 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9385 : (TARGET_AVX512BW
9386 : && (4
9387 : > GET_MODE_SIZE (HImode))) &&
9388 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9389 : (TARGET_AVX512BW)))
9390 : return -1;
9391 : return 8367; /* *avx512f_testnmv16si3_zext */
9392 :
9393 : case 18:
9394 : if (!(
9395 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9396 : (TARGET_AVX512BW
9397 : && (4
9398 : > GET_MODE_SIZE (QImode))) && ((
9399 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9400 : (TARGET_AVX512BW) &&
9401 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9402 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9403 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9404 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9405 : return -1;
9406 : return 8364; /* *avx512vl_testnmv8hi3_zext */
9407 :
9408 : case 19:
9409 : if (!(
9410 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9411 : (TARGET_AVX512BW
9412 : && (4
9413 : > GET_MODE_SIZE (QImode))) && ((
9414 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9415 : (TARGET_AVX512BW) &&
9416 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9417 : (TARGET_AVX512VL)) &&
9418 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9419 : (TARGET_AVX512VL))))
9420 : return -1;
9421 : return 8370; /* *avx512vl_testnmv8si3_zext */
9422 :
9423 : case 20:
9424 : if (!(
9425 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9426 : (TARGET_AVX512BW
9427 : && (4
9428 : > GET_MODE_SIZE (QImode))) && ((
9429 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9430 : (TARGET_AVX512BW) &&
9431 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9432 : (TARGET_AVX512VL)) &&
9433 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9434 : (TARGET_AVX512VL))))
9435 : return -1;
9436 : return 8373; /* *avx512vl_testnmv4si3_zext */
9437 :
9438 : case 21:
9439 : if (!(
9440 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9441 : (TARGET_AVX512BW
9442 : && (4
9443 : > GET_MODE_SIZE (QImode))) &&
9444 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9445 : (TARGET_AVX512BW)))
9446 : return -1;
9447 : return 8376; /* *avx512f_testnmv8di3_zext */
9448 :
9449 : case 22:
9450 : if (!(
9451 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9452 : (TARGET_AVX512BW
9453 : && (4
9454 : > GET_MODE_SIZE (QImode))) && ((
9455 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9456 : (TARGET_AVX512BW) &&
9457 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9458 : (TARGET_AVX512VL)) &&
9459 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9460 : (TARGET_AVX512VL))))
9461 : return -1;
9462 : return 8379; /* *avx512vl_testnmv4di3_zext */
9463 :
9464 : case 23:
9465 : if (!(
9466 : #line 19887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9467 : (TARGET_AVX512BW
9468 : && (4
9469 : > GET_MODE_SIZE (QImode))) && ((
9470 : #line 19826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9471 : (TARGET_AVX512BW) &&
9472 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9473 : (TARGET_AVX512VL)) &&
9474 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9475 : (TARGET_AVX512VL))))
9476 : return -1;
9477 : return 8382; /* *avx512vl_testnmv2di3_zext */
9478 :
9479 : default:
9480 : return -1;
9481 : }
9482 :
9483 : default:
9484 : return -1;
9485 : }
9486 : }
9487 :
9488 : int
9489 : recog_93 (rtx x1 ATTRIBUTE_UNUSED,
9490 : rtx_insn *insn ATTRIBUTE_UNUSED,
9491 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9492 : {
9493 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9494 : rtx x2, x3, x4, x5, x6, x7;
9495 : int res ATTRIBUTE_UNUSED;
9496 : x2 = XEXP (x1, 1);
9497 : x3 = XEXP (x2, 0);
9498 : switch (GET_CODE (x3))
9499 : {
9500 : case NE:
9501 : case EQ:
9502 : case GE:
9503 : case GT:
9504 : case LE:
9505 : case LT:
9506 : case LTGT:
9507 : case GEU:
9508 : case GTU:
9509 : case LEU:
9510 : case LTU:
9511 : case UNORDERED:
9512 : case ORDERED:
9513 : case UNEQ:
9514 : case UNGE:
9515 : case UNGT:
9516 : case UNLE:
9517 : case UNLT:
9518 : if (pnum_clobbers != NULL)
9519 : {
9520 : res = recog_92 (x1, insn, pnum_clobbers);
9521 : if (res >= 0)
9522 : return res;
9523 : }
9524 : operands[1] = x3;
9525 : if (!ix86_comparison_operator (operands[1], E_VOIDmode))
9526 : return -1;
9527 : switch (pattern249 (x1))
9528 : {
9529 : case 0:
9530 : switch (GET_MODE (operands[0]))
9531 : {
9532 : case E_SImode:
9533 : if (pattern1286 (x2,
9534 : E_SImode) != 0
9535 : || !
9536 : #line 27482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9537 : (TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9538 : return -1;
9539 : return 1842; /* *movsicc_noc */
9540 :
9541 : case E_DImode:
9542 : if (pattern1286 (x2,
9543 : E_DImode) != 0
9544 : || !(
9545 : #line 27482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9546 : (TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9547 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9548 : (TARGET_64BIT)))
9549 : return -1;
9550 : return 1843; /* *movdicc_noc */
9551 :
9552 : default:
9553 : return -1;
9554 : }
9555 :
9556 : case 1:
9557 : if (!register_operand (operands[0], E_DImode)
9558 : || GET_MODE (x2) != E_DImode)
9559 : return -1;
9560 : x4 = XEXP (x2, 1);
9561 : x5 = XEXP (x4, 0);
9562 : operands[2] = x5;
9563 : if (!nonimmediate_operand (operands[2], E_SImode))
9564 : return -1;
9565 : x6 = XEXP (x2, 2);
9566 : x7 = XEXP (x6, 0);
9567 : operands[3] = x7;
9568 : if (!nonimmediate_operand (operands[3], E_SImode)
9569 : || !
9570 : #line 27505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9571 : (TARGET_64BIT
9572 : && TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9573 : return -1;
9574 : return 1844; /* *movsicc_noc_zext */
9575 :
9576 : default:
9577 : return -1;
9578 : }
9579 :
9580 : default:
9581 : return -1;
9582 : }
9583 : }
9584 :
9585 : int
9586 : recog_96 (rtx x1 ATTRIBUTE_UNUSED,
9587 : rtx_insn *insn ATTRIBUTE_UNUSED,
9588 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9589 : {
9590 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9591 : rtx x2, x3;
9592 : int res ATTRIBUTE_UNUSED;
9593 : x2 = XEXP (x1, 1);
9594 : x3 = XEXP (x2, 1);
9595 : operands[2] = x3;
9596 : switch (pattern441 (x2))
9597 : {
9598 : case 0:
9599 : if (pnum_clobbers != NULL
9600 : && x86_64_hilo_general_operand (operands[2], E_DImode)
9601 : && (
9602 : #line 13327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9603 : (ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)) &&
9604 : #line 1270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9605 : (!TARGET_64BIT)))
9606 : {
9607 : *pnum_clobbers = 1;
9608 : return 737; /* *anddi3_doubleword */
9609 : }
9610 : if (x86_64_szext_general_operand (operands[2], E_DImode))
9611 : {
9612 : if (
9613 : #line 13373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9614 : (TARGET_64BIT
9615 : && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)
9616 : && TARGET_APX_NF))
9617 : return 739; /* *anddi_1_nf */
9618 : if (pnum_clobbers != NULL
9619 : &&
9620 : #line 13373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9621 : (TARGET_64BIT
9622 : && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)
9623 : && true))
9624 : {
9625 : *pnum_clobbers = 1;
9626 : return 740; /* *anddi_1 */
9627 : }
9628 : }
9629 : if (pnum_clobbers == NULL
9630 : || !const_int_operand (operands[2], E_DImode)
9631 : || !
9632 : #line 13411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9633 : (TARGET_64BIT && TARGET_USE_BT
9634 : && ix86_binary_operator_ok (AND, DImode, operands)
9635 : && IN_RANGE (exact_log2 (~INTVAL (operands[2])), 31, 63)))
9636 : return -1;
9637 : *pnum_clobbers = 1;
9638 : return 741; /* *anddi_1_btr */
9639 :
9640 : case 1:
9641 : if (
9642 : #line 13522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9643 : (ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)
9644 : && TARGET_APX_NF))
9645 : return 755; /* *andsi_1_nf */
9646 : if (pnum_clobbers == NULL
9647 : || !
9648 : #line 13522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9649 : (ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)
9650 : && true))
9651 : return -1;
9652 : *pnum_clobbers = 1;
9653 : return 756; /* *andsi_1 */
9654 :
9655 : default:
9656 : return -1;
9657 : }
9658 : }
9659 :
9660 : int
9661 : recog_101 (rtx x1 ATTRIBUTE_UNUSED,
9662 : rtx_insn *insn ATTRIBUTE_UNUSED,
9663 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9664 : {
9665 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9666 : rtx x2;
9667 : int res ATTRIBUTE_UNUSED;
9668 : if (register_operand (operands[2], E_SImode)
9669 : && register_operand (operands[0], E_SImode))
9670 : {
9671 : x2 = XEXP (x1, 1);
9672 : if (GET_MODE (x2) == E_SImode
9673 : && nonimmediate_operand (operands[1], E_SImode)
9674 : &&
9675 : #line 16924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9676 : (TARGET_BMI2))
9677 : return 1124; /* *bmi2_ashlsi3_1 */
9678 : }
9679 : switch (GET_MODE (operands[0]))
9680 : {
9681 : case E_DImode:
9682 : x2 = XEXP (x1, 1);
9683 : if (GET_MODE (x2) != E_DImode)
9684 : return -1;
9685 : if (register_operand (operands[0], E_DImode))
9686 : {
9687 : if (pnum_clobbers != NULL
9688 : && reg_or_pm1_operand (operands[1], E_DImode)
9689 : && nonmemory_operand (operands[2], E_QImode)
9690 : &&
9691 : #line 1230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9692 : (!TARGET_64BIT))
9693 : {
9694 : *pnum_clobbers = 1;
9695 : return 1094; /* ashldi3_doubleword */
9696 : }
9697 : if (nonimmediate_operand (operands[1], E_DImode)
9698 : && register_operand (operands[2], E_DImode)
9699 : && (
9700 : #line 16924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9701 : (TARGET_BMI2) &&
9702 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9703 : (TARGET_64BIT)))
9704 : return 1125; /* *bmi2_ashldi3_1 */
9705 : }
9706 : if (!nonimmediate_operand (operands[0], E_DImode)
9707 : || !nonimmediate_operand (operands[1], E_DImode)
9708 : || !nonmemory_operand (operands[2], E_QImode))
9709 : return -1;
9710 : if ((
9711 : #line 16933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9712 : (ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)
9713 : && TARGET_APX_NF) &&
9714 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9715 : (TARGET_64BIT)))
9716 : return 1128; /* *ashldi3_1_nf */
9717 : if (pnum_clobbers == NULL
9718 : || !(
9719 : #line 16933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9720 : (ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)
9721 : && true) &&
9722 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9723 : (TARGET_64BIT)))
9724 : return -1;
9725 : *pnum_clobbers = 1;
9726 : return 1129; /* *ashldi3_1 */
9727 :
9728 : case E_SImode:
9729 : x2 = XEXP (x1, 1);
9730 : if (pattern643 (x2,
9731 : E_SImode) != 0)
9732 : return -1;
9733 : if (
9734 : #line 16933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9735 : (ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)
9736 : && TARGET_APX_NF))
9737 : return 1126; /* *ashlsi3_1_nf */
9738 : if (pnum_clobbers == NULL
9739 : || !
9740 : #line 16933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9741 : (ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)
9742 : && true))
9743 : return -1;
9744 : *pnum_clobbers = 1;
9745 : return 1127; /* *ashlsi3_1 */
9746 :
9747 : default:
9748 : return -1;
9749 : }
9750 : }
9751 :
9752 : int
9753 : recog_105 (rtx x1 ATTRIBUTE_UNUSED,
9754 : rtx_insn *insn ATTRIBUTE_UNUSED,
9755 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9756 : {
9757 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9758 : rtx x2;
9759 : int res ATTRIBUTE_UNUSED;
9760 : switch (GET_MODE (operands[0]))
9761 : {
9762 : case E_DImode:
9763 : if (pnum_clobbers != NULL)
9764 : {
9765 : x2 = XEXP (x1, 1);
9766 : if (pattern866 (x2,
9767 : E_DImode,
9768 : E_QImode) == 0
9769 : &&
9770 : #line 1230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9771 : (!TARGET_64BIT))
9772 : {
9773 : *pnum_clobbers = 1;
9774 : return 1169; /* ashrdi3_doubleword */
9775 : }
9776 : }
9777 : x2 = XEXP (x1, 1);
9778 : if (GET_MODE (x2) != E_DImode
9779 : || !nonimmediate_operand (operands[1], E_DImode))
9780 : return -1;
9781 : if (nonimmediate_operand (operands[0], E_DImode)
9782 : && const_int_operand (operands[2], E_QImode))
9783 : {
9784 : if ((
9785 : #line 18239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9786 : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
9787 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9788 : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9789 : && TARGET_APX_NF) &&
9790 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9791 : (TARGET_64BIT)))
9792 : return 1206; /* ashrdi3_cvt_nf */
9793 : if (pnum_clobbers != NULL
9794 : && (
9795 : #line 18239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9796 : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
9797 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
9798 : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9799 : && true) &&
9800 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9801 : (TARGET_64BIT)))
9802 : {
9803 : *pnum_clobbers = 1;
9804 : return 1207; /* ashrdi3_cvt */
9805 : }
9806 : }
9807 : if (register_operand (operands[0], E_DImode)
9808 : && register_operand (operands[2], E_DImode)
9809 : && (
9810 : #line 18318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9811 : (TARGET_BMI2) &&
9812 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9813 : (TARGET_64BIT)))
9814 : return 1212; /* *bmi2_ashrdi3_1 */
9815 : if (!nonimmediate_operand (operands[0], E_DImode)
9816 : || !nonmemory_operand (operands[2], E_QImode))
9817 : return -1;
9818 : if ((
9819 : #line 18328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9820 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9821 : && TARGET_APX_NF) &&
9822 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9823 : (TARGET_64BIT)))
9824 : return 1215; /* *ashrdi3_1_nf */
9825 : if (pnum_clobbers == NULL
9826 : || !(
9827 : #line 18328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9828 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
9829 : && true) &&
9830 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9831 : (TARGET_64BIT)))
9832 : return -1;
9833 : *pnum_clobbers = 1;
9834 : return 1216; /* *ashrdi3_1 */
9835 :
9836 : case E_SImode:
9837 : x2 = XEXP (x1, 1);
9838 : if (pattern643 (x2,
9839 : E_SImode) != 0)
9840 : return -1;
9841 : if (
9842 : #line 18328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9843 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9844 : && TARGET_APX_NF))
9845 : return 1213; /* *ashrsi3_1_nf */
9846 : if (pnum_clobbers == NULL
9847 : || !
9848 : #line 18328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9849 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
9850 : && true))
9851 : return -1;
9852 : *pnum_clobbers = 1;
9853 : return 1214; /* *ashrsi3_1 */
9854 :
9855 : default:
9856 : return -1;
9857 : }
9858 : }
9859 :
9860 : int
9861 : recog_110 (rtx x1 ATTRIBUTE_UNUSED,
9862 : rtx_insn *insn ATTRIBUTE_UNUSED,
9863 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9864 : {
9865 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9866 : rtx x2, x3, x4, x5, x6, x7, x8;
9867 : int res ATTRIBUTE_UNUSED;
9868 : x2 = XEXP (x1, 0);
9869 : if (GET_CODE (x2) == SUBREG
9870 : && known_eq (SUBREG_BYTE (x2), 0))
9871 : {
9872 : x3 = XEXP (x2, 0);
9873 : operands[0] = x3;
9874 : if (register_operand (operands[0], E_QImode))
9875 : {
9876 : x4 = XEXP (x1, 1);
9877 : x5 = XEXP (x4, 2);
9878 : operands[2] = x5;
9879 : if (register_operand (operands[2], E_QImode))
9880 : {
9881 : switch (GET_MODE (x2))
9882 : {
9883 : case E_SImode:
9884 : if (GET_MODE (x4) == E_SImode
9885 : && nonimmediate_operand (operands[1], E_SImode)
9886 : &&
9887 : #line 20362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9888 : (TARGET_USE_BT && ix86_pre_reload_split ()))
9889 : {
9890 : *pnum_clobbers = 1;
9891 : return 1470; /* *btsi_setcqi */
9892 : }
9893 : break;
9894 :
9895 : case E_DImode:
9896 : if (GET_MODE (x4) == E_DImode
9897 : && nonimmediate_operand (operands[1], E_DImode)
9898 : && (
9899 : #line 20362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9900 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
9901 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9902 : (TARGET_64BIT)))
9903 : {
9904 : *pnum_clobbers = 1;
9905 : return 1471; /* *btdi_setcqi */
9906 : }
9907 : break;
9908 :
9909 : default:
9910 : break;
9911 : }
9912 : }
9913 : }
9914 : }
9915 : x4 = XEXP (x1, 1);
9916 : x5 = XEXP (x4, 2);
9917 : if (GET_CODE (x5) != SUBREG
9918 : || maybe_ne (SUBREG_BYTE (x5), 0)
9919 : || GET_MODE (x5) != E_QImode)
9920 : return -1;
9921 : x6 = XEXP (x5, 0);
9922 : if (GET_CODE (x6) != AND)
9923 : return -1;
9924 : operands[0] = x2;
9925 : x7 = XEXP (x6, 0);
9926 : operands[2] = x7;
9927 : if (!int248_register_operand (operands[2], E_VOIDmode))
9928 : return -1;
9929 : x8 = XEXP (x6, 1);
9930 : operands[3] = x8;
9931 : if (!const_int_operand (operands[3], E_VOIDmode))
9932 : return -1;
9933 : switch (pattern132 (x4))
9934 : {
9935 : case 0:
9936 : if (!
9937 : #line 20443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9938 : (TARGET_USE_BT
9939 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
9940 : == GET_MODE_BITSIZE (SImode)-1
9941 : && ix86_pre_reload_split ()))
9942 : return -1;
9943 : *pnum_clobbers = 1;
9944 : return 1478; /* *btsi_setcsi_mask */
9945 :
9946 : case 1:
9947 : if (!(
9948 : #line 20443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9949 : (TARGET_USE_BT
9950 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
9951 : == GET_MODE_BITSIZE (DImode)-1
9952 : && ix86_pre_reload_split ()) &&
9953 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9954 : (TARGET_64BIT)))
9955 : return -1;
9956 : *pnum_clobbers = 1;
9957 : return 1479; /* *btdi_setcdi_mask */
9958 :
9959 : default:
9960 : return -1;
9961 : }
9962 : }
9963 :
9964 : int
9965 : recog_114 (rtx x1 ATTRIBUTE_UNUSED,
9966 : rtx_insn *insn ATTRIBUTE_UNUSED,
9967 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9968 : {
9969 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9970 : rtx x2, x3, x4, x5, x6;
9971 : int res ATTRIBUTE_UNUSED;
9972 : x2 = XEXP (x1, 1);
9973 : switch (XINT (x2, 1))
9974 : {
9975 : case 18:
9976 : if (GET_MODE (x2) != E_BLKmode)
9977 : return -1;
9978 : x3 = XEXP (x1, 0);
9979 : operands[0] = x3;
9980 : x4 = XVECEXP (x2, 0, 0);
9981 : if (!rtx_equal_p (x4, operands[0]))
9982 : return -1;
9983 : return 1523; /* *memory_blockage */
9984 :
9985 : case 15:
9986 : x3 = XEXP (x1, 0);
9987 : operands[0] = x3;
9988 : x4 = XVECEXP (x2, 0, 0);
9989 : switch (GET_CODE (x4))
9990 : {
9991 : case CONST_INT:
9992 : if (XWINT (x4, 0) != 0L)
9993 : return -1;
9994 : switch (GET_MODE (operands[0]))
9995 : {
9996 : case E_SImode:
9997 : if (pnum_clobbers == NULL
9998 : || !register_operand (operands[0], E_SImode)
9999 : || GET_MODE (x2) != E_SImode
10000 : || !
10001 : #line 21804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10002 : (!TARGET_64BIT))
10003 : return -1;
10004 : *pnum_clobbers = 1;
10005 : return 1534; /* *set_got */
10006 :
10007 : case E_DImode:
10008 : if (!register_operand (operands[0], E_DImode)
10009 : || GET_MODE (x2) != E_DImode
10010 : || !
10011 : #line 21834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10012 : (TARGET_64BIT))
10013 : return -1;
10014 : return 1536; /* set_got_rex64 */
10015 :
10016 : default:
10017 : return -1;
10018 : }
10019 :
10020 : case LABEL_REF:
10021 : if (pnum_clobbers == NULL
10022 : || !register_operand (operands[0], E_SImode)
10023 : || GET_MODE (x2) != E_SImode)
10024 : return -1;
10025 : x5 = XEXP (x4, 0);
10026 : operands[1] = x5;
10027 : if (!
10028 : #line 21826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10029 : (!TARGET_64BIT))
10030 : return -1;
10031 : *pnum_clobbers = 1;
10032 : return 1535; /* *set_got_labelled */
10033 :
10034 : default:
10035 : return -1;
10036 : }
10037 :
10038 : case 16:
10039 : if (GET_MODE (x2) != E_DImode)
10040 : return -1;
10041 : x4 = XVECEXP (x2, 0, 0);
10042 : if (GET_CODE (x4) != LABEL_REF)
10043 : return -1;
10044 : x3 = XEXP (x1, 0);
10045 : operands[0] = x3;
10046 : if (!register_operand (operands[0], E_DImode))
10047 : return -1;
10048 : x5 = XEXP (x4, 0);
10049 : operands[1] = x5;
10050 : if (!
10051 : #line 21843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10052 : (TARGET_64BIT))
10053 : return -1;
10054 : return 1537; /* set_rip_rex64 */
10055 :
10056 : case 17:
10057 : if (GET_MODE (x2) != E_DImode)
10058 : return -1;
10059 : x4 = XVECEXP (x2, 0, 0);
10060 : if (GET_CODE (x4) != LABEL_REF)
10061 : return -1;
10062 : x3 = XEXP (x1, 0);
10063 : operands[0] = x3;
10064 : if (!register_operand (operands[0], E_DImode))
10065 : return -1;
10066 : x5 = XEXP (x4, 0);
10067 : operands[1] = x5;
10068 : if (!
10069 : #line 21854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10070 : (TARGET_LP64))
10071 : return -1;
10072 : return 1538; /* set_got_offset_rex64 */
10073 :
10074 : case 98:
10075 : x3 = XEXP (x1, 0);
10076 : operands[0] = x3;
10077 : switch (pattern305 (x2))
10078 : {
10079 : case 0:
10080 : if ((
10081 : #line 22711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10082 : (TARGET_APX_NF) &&
10083 : #line 22693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10084 : (TARGET_BMI)))
10085 : return 1584; /* tzcnt_si_nf */
10086 : if (pnum_clobbers == NULL
10087 : || !
10088 : #line 22693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10089 : (TARGET_BMI))
10090 : return -1;
10091 : *pnum_clobbers = 1;
10092 : return 1588; /* tzcnt_si */
10093 :
10094 : case 1:
10095 : if ((
10096 : #line 22711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10097 : (TARGET_APX_NF) && (((
10098 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10099 : (TARGET_64BIT) &&
10100 : #line 22693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10101 : (TARGET_BMI)) &&
10102 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10103 : (TARGET_64BIT)) &&
10104 : #line 22693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10105 : (TARGET_BMI))))
10106 : return 1586; /* tzcnt_di_nf */
10107 : if (pnum_clobbers == NULL
10108 : || !(((
10109 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10110 : (TARGET_64BIT) &&
10111 : #line 22693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10112 : (TARGET_BMI)) &&
10113 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10114 : (TARGET_64BIT)) &&
10115 : #line 22693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10116 : (TARGET_BMI)))
10117 : return -1;
10118 : *pnum_clobbers = 1;
10119 : return 1590; /* tzcnt_di */
10120 :
10121 : default:
10122 : return -1;
10123 : }
10124 :
10125 : case 97:
10126 : x3 = XEXP (x1, 0);
10127 : operands[0] = x3;
10128 : switch (pattern305 (x2))
10129 : {
10130 : case 0:
10131 : if ((
10132 : #line 22711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10133 : (TARGET_APX_NF) &&
10134 : #line 22694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10135 : (TARGET_LZCNT)))
10136 : return 1585; /* lzcnt_si_nf */
10137 : if (pnum_clobbers == NULL
10138 : || !
10139 : #line 22694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10140 : (TARGET_LZCNT))
10141 : return -1;
10142 : *pnum_clobbers = 1;
10143 : return 1589; /* lzcnt_si */
10144 :
10145 : case 1:
10146 : if ((
10147 : #line 22711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10148 : (TARGET_APX_NF) && (((
10149 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10150 : (TARGET_64BIT) &&
10151 : #line 22694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10152 : (TARGET_LZCNT)) &&
10153 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10154 : (TARGET_64BIT)) &&
10155 : #line 22694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10156 : (TARGET_LZCNT))))
10157 : return 1587; /* lzcnt_di_nf */
10158 : if (pnum_clobbers == NULL
10159 : || !(((
10160 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10161 : (TARGET_64BIT) &&
10162 : #line 22694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10163 : (TARGET_LZCNT)) &&
10164 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10165 : (TARGET_64BIT)) &&
10166 : #line 22694 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10167 : (TARGET_LZCNT)))
10168 : return -1;
10169 : *pnum_clobbers = 1;
10170 : return 1591; /* lzcnt_di */
10171 :
10172 : default:
10173 : return -1;
10174 : }
10175 :
10176 : case 20:
10177 : x4 = XVECEXP (x2, 0, 0);
10178 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10179 : return -1;
10180 : x3 = XEXP (x1, 0);
10181 : operands[0] = x3;
10182 : switch (pattern24 (x2))
10183 : {
10184 : case 0:
10185 : if (!
10186 : #line 1443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10187 : (ptr_mode == SImode))
10188 : return -1;
10189 : return 1696; /* *load_tp_si */
10190 :
10191 : case 1:
10192 : if (!
10193 : #line 1443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10194 : (ptr_mode == DImode))
10195 : return -1;
10196 : return 1697; /* *load_tp_di */
10197 :
10198 : default:
10199 : return -1;
10200 : }
10201 :
10202 : case 23:
10203 : x3 = XEXP (x1, 0);
10204 : operands[0] = x3;
10205 : x4 = XVECEXP (x2, 0, 0);
10206 : operands[1] = x4;
10207 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
10208 : return -1;
10209 : switch (pattern24 (x2))
10210 : {
10211 : case 0:
10212 : if (!(
10213 : #line 24407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10214 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
10215 : #line 1443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10216 : (ptr_mode == SImode)))
10217 : return -1;
10218 : return 1705; /* *tls_dynamic_gnu2_lea_64_si */
10219 :
10220 : case 1:
10221 : if (!(
10222 : #line 24407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10223 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
10224 : #line 1443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10225 : (ptr_mode == DImode)))
10226 : return -1;
10227 : return 1706; /* *tls_dynamic_gnu2_lea_64_di */
10228 :
10229 : default:
10230 : return -1;
10231 : }
10232 :
10233 : case 71:
10234 : x3 = XEXP (x1, 0);
10235 : operands[0] = x3;
10236 : x4 = XVECEXP (x2, 0, 0);
10237 : operands[1] = x4;
10238 : if (!register_operand (operands[1], E_XFmode))
10239 : return -1;
10240 : switch (GET_MODE (operands[0]))
10241 : {
10242 : case E_DImode:
10243 : if (pnum_clobbers == NULL
10244 : || !nonimmediate_operand (operands[0], E_DImode)
10245 : || GET_MODE (x2) != E_DImode
10246 : || !
10247 : #line 26202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10248 : (TARGET_USE_FANCY_MATH_387))
10249 : return -1;
10250 : *pnum_clobbers = 1;
10251 : return 1771; /* lrintxfdi2 */
10252 :
10253 : case E_SImode:
10254 : if (!nonimmediate_operand (operands[0], E_SImode)
10255 : || GET_MODE (x2) != E_SImode
10256 : || !
10257 : #line 26211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10258 : (TARGET_USE_FANCY_MATH_387))
10259 : return -1;
10260 : return 1773; /* lrintxfsi2 */
10261 :
10262 : default:
10263 : return -1;
10264 : }
10265 :
10266 : case 79:
10267 : switch (pattern126 (x1, pnum_clobbers))
10268 : {
10269 : case 0:
10270 : if (!
10271 : #line 26418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10272 : (TARGET_USE_FANCY_MATH_387
10273 : && flag_unsafe_math_optimizations
10274 : && ix86_pre_reload_split ()))
10275 : return -1;
10276 : *pnum_clobbers = 1;
10277 : return 1784; /* *fistsi2_floor_1 */
10278 :
10279 : case 1:
10280 : if (!
10281 : #line 26418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10282 : (TARGET_USE_FANCY_MATH_387
10283 : && flag_unsafe_math_optimizations
10284 : && ix86_pre_reload_split ()))
10285 : return -1;
10286 : *pnum_clobbers = 1;
10287 : return 1786; /* *fistdi2_floor_1 */
10288 :
10289 : default:
10290 : return -1;
10291 : }
10292 :
10293 : case 80:
10294 : switch (pattern126 (x1, pnum_clobbers))
10295 : {
10296 : case 0:
10297 : if (!
10298 : #line 26418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10299 : (TARGET_USE_FANCY_MATH_387
10300 : && flag_unsafe_math_optimizations
10301 : && ix86_pre_reload_split ()))
10302 : return -1;
10303 : *pnum_clobbers = 1;
10304 : return 1785; /* *fistsi2_ceil_1 */
10305 :
10306 : case 1:
10307 : if (!
10308 : #line 26418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10309 : (TARGET_USE_FANCY_MATH_387
10310 : && flag_unsafe_math_optimizations
10311 : && ix86_pre_reload_split ()))
10312 : return -1;
10313 : *pnum_clobbers = 1;
10314 : return 1787; /* *fistdi2_ceil_1 */
10315 :
10316 : default:
10317 : return -1;
10318 : }
10319 :
10320 : case 50:
10321 : return recog_113 (x1, insn, pnum_clobbers);
10322 :
10323 : case 34:
10324 : if (GET_MODE (x2) != E_BLKmode)
10325 : return -1;
10326 : x3 = XEXP (x1, 0);
10327 : operands[0] = x3;
10328 : x4 = XVECEXP (x2, 0, 0);
10329 : if (!rtx_equal_p (x4, operands[0]))
10330 : return -1;
10331 : return 2012; /* *pause */
10332 :
10333 : case 103:
10334 : switch (pattern127 (x1))
10335 : {
10336 : case 0:
10337 : if (!
10338 : #line 31232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10339 : (TARGET_MOVDIRI))
10340 : return -1;
10341 : return 2043; /* movdirisi */
10342 :
10343 : case 1:
10344 : if (!(
10345 : #line 31232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10346 : (TARGET_MOVDIRI) &&
10347 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10348 : (TARGET_64BIT)))
10349 : return -1;
10350 : return 2044; /* movdiridi */
10351 :
10352 : default:
10353 : return -1;
10354 : }
10355 :
10356 : case 104:
10357 : if (GET_MODE (x2) != E_XImode)
10358 : return -1;
10359 : x3 = XEXP (x1, 0);
10360 : if (GET_CODE (x3) != MEM
10361 : || GET_MODE (x3) != E_XImode)
10362 : return -1;
10363 : x6 = XEXP (x3, 0);
10364 : operands[0] = x6;
10365 : x4 = XVECEXP (x2, 0, 0);
10366 : operands[1] = x4;
10367 : if (!memory_operand (operands[1], E_XImode))
10368 : return -1;
10369 : switch (GET_MODE (operands[0]))
10370 : {
10371 : case E_SImode:
10372 : if (!register_operand (operands[0], E_SImode)
10373 : || !(
10374 : #line 31240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10375 : (TARGET_MOVDIR64B) &&
10376 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10377 : (Pmode == SImode)))
10378 : return -1;
10379 : return 2045; /* movdir64b_si */
10380 :
10381 : case E_DImode:
10382 : if (!register_operand (operands[0], E_DImode)
10383 : || !(
10384 : #line 31240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10385 : (TARGET_MOVDIR64B) &&
10386 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10387 : (Pmode == DImode)))
10388 : return -1;
10389 : return 2046; /* movdir64b_di */
10390 :
10391 : default:
10392 : return -1;
10393 : }
10394 :
10395 : case 112:
10396 : if (GET_MODE (x2) != E_DImode)
10397 : return -1;
10398 : x3 = XEXP (x1, 0);
10399 : operands[0] = x3;
10400 : if (!memory_operand (operands[0], E_DImode))
10401 : return -1;
10402 : x4 = XVECEXP (x2, 0, 0);
10403 : operands[1] = x4;
10404 : if (!register_operand (operands[1], E_DImode)
10405 : || !
10406 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
10407 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
10408 : && (TARGET_SSE || TARGET_3DNOW_A)))
10409 : return -1;
10410 : return 2108; /* sse_movntq */
10411 :
10412 : case 118:
10413 : switch (pattern127 (x1))
10414 : {
10415 : case 0:
10416 : if (!
10417 : #line 2027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10418 : (TARGET_SSE2))
10419 : return -1;
10420 : return 2627; /* sse2_movntisi */
10421 :
10422 : case 1:
10423 : if (!(
10424 : #line 2027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10425 : (TARGET_SSE2) &&
10426 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10427 : (TARGET_64BIT)))
10428 : return -1;
10429 : return 2628; /* sse2_movntidi */
10430 :
10431 : default:
10432 : return -1;
10433 : }
10434 :
10435 : case 157:
10436 : x3 = XEXP (x1, 0);
10437 : operands[0] = x3;
10438 : x4 = XVECEXP (x2, 0, 0);
10439 : switch (GET_CODE (x4))
10440 : {
10441 : case VEC_SELECT:
10442 : switch (pattern459 (x4))
10443 : {
10444 : case 0:
10445 : switch (pattern1118 (x2,
10446 : E_SImode))
10447 : {
10448 : case 0:
10449 : if (!
10450 : #line 8211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10451 : (TARGET_AVX512FP16))
10452 : return -1;
10453 : return 4596; /* avx512fp16_vcvtsh2usi */
10454 :
10455 : case 1:
10456 : if (!
10457 : #line 9540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10458 : (TARGET_AVX512F))
10459 : return -1;
10460 : return 4973; /* avx512f_vcvtss2usi */
10461 :
10462 : case 2:
10463 : if (!
10464 : #line 9615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10465 : (TARGET_AVX512F))
10466 : return -1;
10467 : return 4991; /* avx512f_vcvtsd2usi */
10468 :
10469 : default:
10470 : return -1;
10471 : }
10472 :
10473 : case 1:
10474 : switch (pattern1118 (x2,
10475 : E_DImode))
10476 : {
10477 : case 0:
10478 : if (!(
10479 : #line 8211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10480 : (TARGET_AVX512FP16) &&
10481 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10482 : (TARGET_64BIT)))
10483 : return -1;
10484 : return 4600; /* avx512fp16_vcvtsh2usiq */
10485 :
10486 : case 1:
10487 : if (!(
10488 : #line 9540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10489 : (TARGET_AVX512F) &&
10490 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10491 : (TARGET_64BIT)))
10492 : return -1;
10493 : return 4975; /* avx512f_vcvtss2usiq */
10494 :
10495 : case 2:
10496 : if (!(
10497 : #line 9615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10498 : (TARGET_AVX512F) &&
10499 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10500 : (TARGET_64BIT)))
10501 : return -1;
10502 : return 4993; /* avx512f_vcvtsd2usiq */
10503 :
10504 : default:
10505 : return -1;
10506 : }
10507 :
10508 : default:
10509 : return -1;
10510 : }
10511 :
10512 : case REG:
10513 : case SUBREG:
10514 : case MEM:
10515 : operands[1] = x4;
10516 : if (!nonimmediate_operand (operands[1], E_HFmode))
10517 : return -1;
10518 : switch (pattern24 (x2))
10519 : {
10520 : case 0:
10521 : if (!
10522 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10523 : (TARGET_AVX512FP16))
10524 : return -1;
10525 : return 4608; /* avx512fp16_vcvtsh2usi_2 */
10526 :
10527 : case 1:
10528 : if (!(
10529 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10530 : (TARGET_AVX512FP16) &&
10531 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10532 : (TARGET_64BIT)))
10533 : return -1;
10534 : return 4610; /* avx512fp16_vcvtsh2usiq_2 */
10535 :
10536 : default:
10537 : return -1;
10538 : }
10539 :
10540 : default:
10541 : return -1;
10542 : }
10543 :
10544 : case 47:
10545 : x3 = XEXP (x1, 0);
10546 : operands[0] = x3;
10547 : x4 = XVECEXP (x2, 0, 0);
10548 : switch (GET_CODE (x4))
10549 : {
10550 : case VEC_SELECT:
10551 : switch (pattern459 (x4))
10552 : {
10553 : case 0:
10554 : switch (pattern1119 (x2,
10555 : E_SImode))
10556 : {
10557 : case 0:
10558 : if (!
10559 : #line 8211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10560 : (TARGET_AVX512FP16))
10561 : return -1;
10562 : return 4598; /* avx512fp16_vcvtsh2si */
10563 :
10564 : case 1:
10565 : if (!
10566 : #line 8977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10567 : (TARGET_SSE))
10568 : return -1;
10569 : return 4855; /* sse_cvtss2si */
10570 :
10571 : case 2:
10572 : if (!
10573 : #line 9690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10574 : (TARGET_SSE2))
10575 : return -1;
10576 : return 5009; /* sse2_cvtsd2si */
10577 :
10578 : default:
10579 : return -1;
10580 : }
10581 :
10582 : case 1:
10583 : switch (pattern1119 (x2,
10584 : E_DImode))
10585 : {
10586 : case 0:
10587 : if (!(
10588 : #line 8211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10589 : (TARGET_AVX512FP16) &&
10590 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10591 : (TARGET_64BIT)))
10592 : return -1;
10593 : return 4602; /* avx512fp16_vcvtsh2siq */
10594 :
10595 : case 1:
10596 : if (!(
10597 : #line 8977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10598 : (TARGET_SSE) &&
10599 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10600 : (TARGET_64BIT)))
10601 : return -1;
10602 : return 4857; /* sse_cvtss2siq */
10603 :
10604 : case 2:
10605 : if (!(
10606 : #line 9690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10607 : (TARGET_SSE2) &&
10608 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10609 : (TARGET_64BIT)))
10610 : return -1;
10611 : return 5011; /* sse2_cvtsd2siq */
10612 :
10613 : default:
10614 : return -1;
10615 : }
10616 :
10617 : default:
10618 : return -1;
10619 : }
10620 :
10621 : case REG:
10622 : case SUBREG:
10623 : case MEM:
10624 : operands[1] = x4;
10625 : switch (GET_MODE (operands[0]))
10626 : {
10627 : case E_SImode:
10628 : switch (pattern778 (x2,
10629 : E_SImode))
10630 : {
10631 : case 0:
10632 : if (!
10633 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10634 : (TARGET_AVX512FP16))
10635 : return -1;
10636 : return 4609; /* avx512fp16_vcvtsh2si_2 */
10637 :
10638 : case 1:
10639 : if (!
10640 : #line 9007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10641 : (TARGET_SSE))
10642 : return -1;
10643 : return 4861; /* sse_cvtss2si_2 */
10644 :
10645 : case 2:
10646 : if (!
10647 : #line 9722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10648 : (TARGET_SSE2))
10649 : return -1;
10650 : return 5015; /* sse2_cvtsd2si_2 */
10651 :
10652 : default:
10653 : return -1;
10654 : }
10655 :
10656 : case E_DImode:
10657 : switch (pattern778 (x2,
10658 : E_DImode))
10659 : {
10660 : case 0:
10661 : if (!(
10662 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10663 : (TARGET_AVX512FP16) &&
10664 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10665 : (TARGET_64BIT)))
10666 : return -1;
10667 : return 4611; /* avx512fp16_vcvtsh2siq_2 */
10668 :
10669 : case 1:
10670 : if (!(
10671 : #line 9007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10672 : (TARGET_SSE) &&
10673 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10674 : (TARGET_64BIT)))
10675 : return -1;
10676 : return 4862; /* sse_cvtss2siq_2 */
10677 :
10678 : case 2:
10679 : if (!(
10680 : #line 9722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10681 : (TARGET_SSE2) &&
10682 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10683 : (TARGET_64BIT)))
10684 : return -1;
10685 : return 5016; /* sse2_cvtsd2siq_2 */
10686 :
10687 : default:
10688 : return -1;
10689 : }
10690 :
10691 : default:
10692 : return -1;
10693 : }
10694 :
10695 : default:
10696 : return -1;
10697 : }
10698 :
10699 : case 173:
10700 : switch (pattern129 (x1))
10701 : {
10702 : case 0:
10703 : if (!
10704 : #line 8402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10705 : (TARGET_AVX512FP16))
10706 : return -1;
10707 : return 4754; /* unspec_avx512fp16_fix_truncsi2 */
10708 :
10709 : case 1:
10710 : if (!
10711 : #line 9038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10712 : (TARGET_SSE))
10713 : return -1;
10714 : return 4864; /* unspec_sse_cvttss2si */
10715 :
10716 : case 2:
10717 : if (!
10718 : #line 9752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10719 : (TARGET_SSE2))
10720 : return -1;
10721 : return 5018; /* unspec_sse2_cvttsd2si */
10722 :
10723 : case 3:
10724 : if (!(
10725 : #line 8402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10726 : (TARGET_AVX512FP16) &&
10727 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10728 : (TARGET_64BIT)))
10729 : return -1;
10730 : return 4758; /* unspec_avx512fp16_fix_truncdi2 */
10731 :
10732 : case 4:
10733 : if (!(
10734 : #line 9038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10735 : (TARGET_SSE) &&
10736 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10737 : (TARGET_64BIT)))
10738 : return -1;
10739 : return 4866; /* unspec_sse_cvttss2siq */
10740 :
10741 : case 5:
10742 : if (!(
10743 : #line 9752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10744 : (TARGET_SSE2) &&
10745 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10746 : (TARGET_64BIT)))
10747 : return -1;
10748 : return 5020; /* unspec_sse2_cvttsd2siq */
10749 :
10750 : default:
10751 : return -1;
10752 : }
10753 :
10754 : case 174:
10755 : switch (pattern129 (x1))
10756 : {
10757 : case 0:
10758 : if (!
10759 : #line 8402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10760 : (TARGET_AVX512FP16))
10761 : return -1;
10762 : return 4756; /* unspec_avx512fp16_fixuns_truncsi2 */
10763 :
10764 : case 1:
10765 : if (!
10766 : #line 9565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10767 : (TARGET_AVX512F))
10768 : return -1;
10769 : return 4979; /* unspec_avx512f_vcvttss2usi */
10770 :
10771 : case 2:
10772 : if (!
10773 : #line 9640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10774 : (TARGET_AVX512F))
10775 : return -1;
10776 : return 4997; /* unspec_avx512f_vcvttsd2usi */
10777 :
10778 : case 3:
10779 : if (!(
10780 : #line 8402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10781 : (TARGET_AVX512FP16) &&
10782 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10783 : (TARGET_64BIT)))
10784 : return -1;
10785 : return 4760; /* unspec_avx512fp16_fixuns_truncdi2 */
10786 :
10787 : case 4:
10788 : if (!(
10789 : #line 9565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10790 : (TARGET_AVX512F) &&
10791 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10792 : (TARGET_64BIT)))
10793 : return -1;
10794 : return 4981; /* unspec_avx512f_vcvttss2usiq */
10795 :
10796 : case 5:
10797 : if (!(
10798 : #line 9640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10799 : (TARGET_AVX512F) &&
10800 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10801 : (TARGET_64BIT)))
10802 : return -1;
10803 : return 4999; /* unspec_avx512f_vcvttsd2usiq */
10804 :
10805 : default:
10806 : return -1;
10807 : }
10808 :
10809 : case 192:
10810 : x3 = XEXP (x1, 0);
10811 : operands[0] = x3;
10812 : x4 = XVECEXP (x2, 0, 0);
10813 : operands[1] = x4;
10814 : switch (GET_MODE (operands[0]))
10815 : {
10816 : case E_DImode:
10817 : if (!register_operand (operands[0], E_DImode)
10818 : || GET_MODE (x2) != E_DImode
10819 : || !register_operand (operands[1], E_V64QImode)
10820 : || !
10821 : #line 10933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10822 : (TARGET_AVX512BW))
10823 : return -1;
10824 : return 5257; /* avx512bw_cvtb2maskv64qi */
10825 :
10826 : case E_SImode:
10827 : if (!register_operand (operands[0], E_SImode)
10828 : || GET_MODE (x2) != E_SImode)
10829 : return -1;
10830 : switch (GET_MODE (operands[1]))
10831 : {
10832 : case E_V32QImode:
10833 : if (!register_operand (operands[1], E_V32QImode)
10834 : || !(
10835 : #line 10933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10836 : (TARGET_AVX512BW) &&
10837 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10838 : (TARGET_AVX512VL)))
10839 : return -1;
10840 : return 5259; /* avx512vl_cvtb2maskv32qi */
10841 :
10842 : case E_V32HImode:
10843 : if (!register_operand (operands[1], E_V32HImode)
10844 : || !
10845 : #line 10933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10846 : (TARGET_AVX512BW))
10847 : return -1;
10848 : return 5260; /* avx512bw_cvtw2maskv32hi */
10849 :
10850 : default:
10851 : return -1;
10852 : }
10853 :
10854 : default:
10855 : return -1;
10856 : }
10857 :
10858 : case 276:
10859 : switch (pattern131 (x1))
10860 : {
10861 : case 0:
10862 : if (!
10863 : #line 34056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10864 : (TARGET_AVX10_2))
10865 : return -1;
10866 : return 11030; /* avx10_2_vcvttsd2sissi */
10867 :
10868 : case 1:
10869 : if (!
10870 : #line 34083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10871 : (TARGET_AVX10_2))
10872 : return -1;
10873 : return 11042; /* avx10_2_vcvttss2sissi */
10874 :
10875 : case 2:
10876 : if (!(
10877 : #line 34056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10878 : (TARGET_AVX10_2) &&
10879 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10880 : (TARGET_64BIT)))
10881 : return -1;
10882 : return 11034; /* avx10_2_vcvttsd2sisdi */
10883 :
10884 : case 3:
10885 : if (!(
10886 : #line 34083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10887 : (TARGET_AVX10_2) &&
10888 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10889 : (TARGET_64BIT)))
10890 : return -1;
10891 : return 11046; /* avx10_2_vcvttss2sisdi */
10892 :
10893 : default:
10894 : return -1;
10895 : }
10896 :
10897 : case 277:
10898 : switch (pattern131 (x1))
10899 : {
10900 : case 0:
10901 : if (!
10902 : #line 34056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10903 : (TARGET_AVX10_2))
10904 : return -1;
10905 : return 11032; /* avx10_2_vcvttsd2usissi */
10906 :
10907 : case 1:
10908 : if (!
10909 : #line 34083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10910 : (TARGET_AVX10_2))
10911 : return -1;
10912 : return 11044; /* avx10_2_vcvttss2usissi */
10913 :
10914 : case 2:
10915 : if (!(
10916 : #line 34056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10917 : (TARGET_AVX10_2) &&
10918 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10919 : (TARGET_64BIT)))
10920 : return -1;
10921 : return 11036; /* avx10_2_vcvttsd2usisdi */
10922 :
10923 : case 3:
10924 : if (!(
10925 : #line 34083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10926 : (TARGET_AVX10_2) &&
10927 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10928 : (TARGET_64BIT)))
10929 : return -1;
10930 : return 11048; /* avx10_2_vcvttss2usisdi */
10931 :
10932 : default:
10933 : return -1;
10934 : }
10935 :
10936 : case 284:
10937 : if (GET_MODE (x2) != E_BLKmode)
10938 : return -1;
10939 : x3 = XEXP (x1, 0);
10940 : operands[0] = x3;
10941 : x4 = XVECEXP (x2, 0, 0);
10942 : if (!rtx_equal_p (x4, operands[0])
10943 : || !
10944 : #line 60 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10945 : (TARGET_SSE2))
10946 : return -1;
10947 : return 11142; /* *sse2_lfence */
10948 :
10949 : case 285:
10950 : if (GET_MODE (x2) != E_BLKmode)
10951 : return -1;
10952 : x3 = XEXP (x1, 0);
10953 : operands[0] = x3;
10954 : x4 = XVECEXP (x2, 0, 0);
10955 : if (!rtx_equal_p (x4, operands[0])
10956 : || !
10957 : #line 79 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10958 : (TARGET_SSE || TARGET_3DNOW_A))
10959 : return -1;
10960 : return 11143; /* *sse_sfence */
10961 :
10962 : case 286:
10963 : if (GET_MODE (x2) != E_BLKmode)
10964 : return -1;
10965 : x3 = XEXP (x1, 0);
10966 : operands[0] = x3;
10967 : x4 = XVECEXP (x2, 0, 0);
10968 : if (!rtx_equal_p (x4, operands[0]))
10969 : return -1;
10970 : if (
10971 : #line 98 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10972 : (TARGET_64BIT || TARGET_SSE2))
10973 : return 11144; /* mfence_sse2 */
10974 : if (pnum_clobbers == NULL)
10975 : return -1;
10976 : *pnum_clobbers = 1;
10977 : return 11145; /* mfence_nosse */
10978 :
10979 : case 288:
10980 : if (GET_MODE (x2) != E_DImode)
10981 : return -1;
10982 : x3 = XEXP (x1, 0);
10983 : operands[0] = x3;
10984 : if (!memory_operand (operands[0], E_DImode))
10985 : return -1;
10986 : x4 = XVECEXP (x2, 0, 0);
10987 : operands[1] = x4;
10988 : if (!register_operand (operands[1], E_DFmode)
10989 : || !
10990 : #line 356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10991 : (TARGET_80387))
10992 : return -1;
10993 : return 11153; /* storedi_via_fpu */
10994 :
10995 : case 290:
10996 : if (GET_MODE (x2) != E_DImode)
10997 : return -1;
10998 : x3 = XEXP (x1, 0);
10999 : operands[0] = x3;
11000 : if (!memory_operand (operands[0], E_DImode))
11001 : return -1;
11002 : x4 = XVECEXP (x2, 0, 0);
11003 : operands[1] = x4;
11004 : if (!register_operand (operands[1], E_DFmode)
11005 : || !
11006 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
11007 : (TARGET_SSE))
11008 : return -1;
11009 : return 11155; /* storedi_via_sse */
11010 :
11011 : default:
11012 : return -1;
11013 : }
11014 : }
11015 :
11016 : int
11017 : recog_151 (rtx x1 ATTRIBUTE_UNUSED,
11018 : rtx_insn *insn ATTRIBUTE_UNUSED,
11019 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11020 : {
11021 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11022 : rtx x2, x3, x4, x5, x6, x7;
11023 : int res ATTRIBUTE_UNUSED;
11024 : x2 = XEXP (x1, 1);
11025 : x3 = XEXP (x2, 0);
11026 : switch (XINT (x3, 1))
11027 : {
11028 : case 64:
11029 : switch (pattern463 (x2))
11030 : {
11031 : case 0:
11032 : if (!(
11033 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11034 : (TARGET_AVX512F) && (
11035 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11036 : (TARGET_SSE
11037 : && (64 == 64 || TARGET_AVX512VL)
11038 : && 1) &&
11039 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11040 : (TARGET_AVX512FP16))))
11041 : return -1;
11042 : return 3128; /* ieee_maxv32hf3_mask */
11043 :
11044 : case 1:
11045 : if (!(
11046 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11047 : (TARGET_AVX512F) && (
11048 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11049 : (TARGET_SSE
11050 : && (32 == 64 || TARGET_AVX512VL)
11051 : && 1) &&
11052 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11053 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11054 : return -1;
11055 : return 3135; /* ieee_maxv16hf3_mask */
11056 :
11057 : case 2:
11058 : if (!(
11059 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11060 : (TARGET_AVX512F) && (
11061 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11062 : (TARGET_SSE
11063 : && (16 == 64 || TARGET_AVX512VL)
11064 : && 1) &&
11065 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11066 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11067 : return -1;
11068 : return 3139; /* ieee_maxv8hf3_mask */
11069 :
11070 : case 3:
11071 : if (!(
11072 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11073 : (TARGET_AVX512F) && (
11074 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11075 : (TARGET_SSE
11076 : && (64 == 64 || TARGET_AVX512VL)
11077 : && 1) &&
11078 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11079 : (TARGET_AVX512F))))
11080 : return -1;
11081 : return 3144; /* ieee_maxv16sf3_mask */
11082 :
11083 : case 4:
11084 : if (!(
11085 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11086 : (TARGET_AVX512F) && (
11087 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11088 : (TARGET_SSE
11089 : && (32 == 64 || TARGET_AVX512VL)
11090 : && 1) &&
11091 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11092 : (TARGET_AVX))))
11093 : return -1;
11094 : return 3151; /* ieee_maxv8sf3_mask */
11095 :
11096 : case 5:
11097 : if (!(
11098 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11099 : (TARGET_AVX512F) &&
11100 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11101 : (TARGET_SSE
11102 : && (16 == 64 || TARGET_AVX512VL)
11103 : && 1)))
11104 : return -1;
11105 : return 3155; /* ieee_maxv4sf3_mask */
11106 :
11107 : case 6:
11108 : if (!(
11109 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11110 : (TARGET_AVX512F) && (
11111 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11112 : (TARGET_SSE
11113 : && (64 == 64 || TARGET_AVX512VL)
11114 : && 1) &&
11115 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11116 : (TARGET_AVX512F))))
11117 : return -1;
11118 : return 3160; /* ieee_maxv8df3_mask */
11119 :
11120 : case 7:
11121 : if (!(
11122 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11123 : (TARGET_AVX512F) && (
11124 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11125 : (TARGET_SSE
11126 : && (32 == 64 || TARGET_AVX512VL)
11127 : && 1) &&
11128 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11129 : (TARGET_AVX))))
11130 : return -1;
11131 : return 3167; /* ieee_maxv4df3_mask */
11132 :
11133 : case 8:
11134 : if (!(
11135 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11136 : (TARGET_AVX512F) && (
11137 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11138 : (TARGET_SSE
11139 : && (16 == 64 || TARGET_AVX512VL)
11140 : && 1) &&
11141 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11142 : (TARGET_SSE2))))
11143 : return -1;
11144 : return 3171; /* ieee_maxv2df3_mask */
11145 :
11146 : case 9:
11147 : if (!(
11148 : #line 3577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11149 : (TARGET_SSE) &&
11150 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11151 : (TARGET_AVX512FP16)))
11152 : return -1;
11153 : return 3204; /* avx512fp16_ieee_vmmaxv8hf3 */
11154 :
11155 : case 10:
11156 : if (!
11157 : #line 3577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11158 : (TARGET_SSE))
11159 : return -1;
11160 : return 3212; /* sse_ieee_vmmaxv4sf3 */
11161 :
11162 : case 11:
11163 : if (!(
11164 : #line 3577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11165 : (TARGET_SSE) &&
11166 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11167 : (TARGET_SSE2)))
11168 : return -1;
11169 : return 3220; /* sse2_ieee_vmmaxv2df3 */
11170 :
11171 : default:
11172 : return -1;
11173 : }
11174 :
11175 : case 63:
11176 : switch (pattern463 (x2))
11177 : {
11178 : case 0:
11179 : if (!(
11180 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11181 : (TARGET_AVX512F) && (
11182 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11183 : (TARGET_SSE
11184 : && (64 == 64 || TARGET_AVX512VL)
11185 : && 1) &&
11186 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11187 : (TARGET_AVX512FP16))))
11188 : return -1;
11189 : return 3132; /* ieee_minv32hf3_mask */
11190 :
11191 : case 1:
11192 : if (!(
11193 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11194 : (TARGET_AVX512F) && (
11195 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11196 : (TARGET_SSE
11197 : && (32 == 64 || TARGET_AVX512VL)
11198 : && 1) &&
11199 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11200 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11201 : return -1;
11202 : return 3137; /* ieee_minv16hf3_mask */
11203 :
11204 : case 2:
11205 : if (!(
11206 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11207 : (TARGET_AVX512F) && (
11208 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11209 : (TARGET_SSE
11210 : && (16 == 64 || TARGET_AVX512VL)
11211 : && 1) &&
11212 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11213 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11214 : return -1;
11215 : return 3141; /* ieee_minv8hf3_mask */
11216 :
11217 : case 3:
11218 : if (!(
11219 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11220 : (TARGET_AVX512F) && (
11221 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11222 : (TARGET_SSE
11223 : && (64 == 64 || TARGET_AVX512VL)
11224 : && 1) &&
11225 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11226 : (TARGET_AVX512F))))
11227 : return -1;
11228 : return 3148; /* ieee_minv16sf3_mask */
11229 :
11230 : case 4:
11231 : if (!(
11232 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11233 : (TARGET_AVX512F) && (
11234 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11235 : (TARGET_SSE
11236 : && (32 == 64 || TARGET_AVX512VL)
11237 : && 1) &&
11238 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11239 : (TARGET_AVX))))
11240 : return -1;
11241 : return 3153; /* ieee_minv8sf3_mask */
11242 :
11243 : case 5:
11244 : if (!(
11245 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11246 : (TARGET_AVX512F) &&
11247 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11248 : (TARGET_SSE
11249 : && (16 == 64 || TARGET_AVX512VL)
11250 : && 1)))
11251 : return -1;
11252 : return 3157; /* ieee_minv4sf3_mask */
11253 :
11254 : case 6:
11255 : if (!(
11256 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11257 : (TARGET_AVX512F) && (
11258 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11259 : (TARGET_SSE
11260 : && (64 == 64 || TARGET_AVX512VL)
11261 : && 1) &&
11262 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11263 : (TARGET_AVX512F))))
11264 : return -1;
11265 : return 3164; /* ieee_minv8df3_mask */
11266 :
11267 : case 7:
11268 : if (!(
11269 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11270 : (TARGET_AVX512F) && (
11271 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11272 : (TARGET_SSE
11273 : && (32 == 64 || TARGET_AVX512VL)
11274 : && 1) &&
11275 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11276 : (TARGET_AVX))))
11277 : return -1;
11278 : return 3169; /* ieee_minv4df3_mask */
11279 :
11280 : case 8:
11281 : if (!(
11282 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11283 : (TARGET_AVX512F) && (
11284 : #line 3482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11285 : (TARGET_SSE
11286 : && (16 == 64 || TARGET_AVX512VL)
11287 : && 1) &&
11288 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11289 : (TARGET_SSE2))))
11290 : return -1;
11291 : return 3173; /* ieee_minv2df3_mask */
11292 :
11293 : case 9:
11294 : if (!(
11295 : #line 3577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11296 : (TARGET_SSE) &&
11297 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11298 : (TARGET_AVX512FP16)))
11299 : return -1;
11300 : return 3208; /* avx512fp16_ieee_vmminv8hf3 */
11301 :
11302 : case 10:
11303 : if (!
11304 : #line 3577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11305 : (TARGET_SSE))
11306 : return -1;
11307 : return 3216; /* sse_ieee_vmminv4sf3 */
11308 :
11309 : case 11:
11310 : if (!(
11311 : #line 3577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11312 : (TARGET_SSE) &&
11313 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11314 : (TARGET_SSE2)))
11315 : return -1;
11316 : return 3224; /* sse2_ieee_vmminv2df3 */
11317 :
11318 : default:
11319 : return -1;
11320 : }
11321 :
11322 : case 193:
11323 : x4 = XVECEXP (x3, 0, 0);
11324 : operands[1] = x4;
11325 : x5 = XVECEXP (x3, 0, 1);
11326 : operands[2] = x5;
11327 : if (!const_0_to_255_operand (operands[2], E_SImode))
11328 : return -1;
11329 : x6 = XEXP (x2, 1);
11330 : operands[3] = x6;
11331 : x7 = XEXP (x2, 2);
11332 : operands[4] = x7;
11333 : switch (GET_MODE (operands[0]))
11334 : {
11335 : case E_V32HFmode:
11336 : if (pattern1228 (x2,
11337 : E_V32HFmode,
11338 : E_SImode) != 0
11339 : || !(
11340 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11341 : (TARGET_AVX512F) && (
11342 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11343 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) &&
11344 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11345 : (TARGET_AVX512FP16))))
11346 : return -1;
11347 : return 3244; /* reducepv32hf_mask */
11348 :
11349 : case E_V16HFmode:
11350 : if (pattern1228 (x2,
11351 : E_V16HFmode,
11352 : E_HImode) != 0
11353 : || !(
11354 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11355 : (TARGET_AVX512F) && (
11356 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11357 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) &&
11358 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11359 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11360 : return -1;
11361 : return 3248; /* reducepv16hf_mask */
11362 :
11363 : case E_V8HFmode:
11364 : if (pattern1228 (x2,
11365 : E_V8HFmode,
11366 : E_QImode) != 0
11367 : || !(
11368 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11369 : (TARGET_AVX512F) && (
11370 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11371 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
11372 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11373 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
11374 : return -1;
11375 : return 3252; /* reducepv8hf_mask */
11376 :
11377 : case E_V16SFmode:
11378 : if (pattern1228 (x2,
11379 : E_V16SFmode,
11380 : E_HImode) != 0
11381 : || !(
11382 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11383 : (TARGET_AVX512F) &&
11384 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11385 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode)))))
11386 : return -1;
11387 : return 3256; /* reducepv16sf_mask */
11388 :
11389 : case E_V8SFmode:
11390 : if (pattern1228 (x2,
11391 : E_V8SFmode,
11392 : E_QImode) != 0
11393 : || !(
11394 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11395 : (TARGET_AVX512F) && (
11396 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11397 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) &&
11398 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11399 : (TARGET_AVX512VL))))
11400 : return -1;
11401 : return 3260; /* reducepv8sf_mask */
11402 :
11403 : case E_V4SFmode:
11404 : if (pattern1228 (x2,
11405 : E_V4SFmode,
11406 : E_QImode) != 0
11407 : || !(
11408 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11409 : (TARGET_AVX512F) && (
11410 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11411 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) &&
11412 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11413 : (TARGET_AVX512VL))))
11414 : return -1;
11415 : return 3264; /* reducepv4sf_mask */
11416 :
11417 : case E_V8DFmode:
11418 : if (pattern1228 (x2,
11419 : E_V8DFmode,
11420 : E_QImode) != 0
11421 : || !(
11422 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11423 : (TARGET_AVX512F) &&
11424 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11425 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode)))))
11426 : return -1;
11427 : return 3268; /* reducepv8df_mask */
11428 :
11429 : case E_V4DFmode:
11430 : if (pattern1228 (x2,
11431 : E_V4DFmode,
11432 : E_QImode) != 0
11433 : || !(
11434 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11435 : (TARGET_AVX512F) && (
11436 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11437 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) &&
11438 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11439 : (TARGET_AVX512VL))))
11440 : return -1;
11441 : return 3272; /* reducepv4df_mask */
11442 :
11443 : case E_V2DFmode:
11444 : if (pattern1228 (x2,
11445 : E_V2DFmode,
11446 : E_QImode) != 0
11447 : || !(
11448 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11449 : (TARGET_AVX512F) && (
11450 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11451 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
11452 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11453 : (TARGET_AVX512VL))))
11454 : return -1;
11455 : return 3276; /* reducepv2df_mask */
11456 :
11457 : default:
11458 : return -1;
11459 : }
11460 :
11461 : case 222:
11462 : switch (pattern465 (x2))
11463 : {
11464 : case 0:
11465 : if (!(
11466 : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11467 : (TARGET_AVX512F) &&
11468 : #line 7718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11469 : (TARGET_AVX512FP16 && 1)))
11470 : return -1;
11471 : return 4423; /* avx512bw_fmulc_v32hf_mask */
11472 :
11473 : case 1:
11474 : if (!(
11475 : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11476 : (TARGET_AVX512F) && (
11477 : #line 7718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11478 : (TARGET_AVX512FP16 && 1) &&
11479 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11480 : (TARGET_AVX512VL))))
11481 : return -1;
11482 : return 4431; /* avx512vl_fmulc_v16hf_mask */
11483 :
11484 : case 2:
11485 : if (!(
11486 : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11487 : (TARGET_AVX512F) && (
11488 : #line 7718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11489 : (TARGET_AVX512FP16 && 1) &&
11490 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11491 : (TARGET_AVX512VL))))
11492 : return -1;
11493 : return 4435; /* avx512fp16_fmulc_v8hf_mask */
11494 :
11495 : case 3:
11496 : if (!
11497 : #line 7922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11498 : (TARGET_AVX512FP16))
11499 : return -1;
11500 : return 4450; /* avx512fp16_fmulcsh_v8hf */
11501 :
11502 : default:
11503 : return -1;
11504 : }
11505 :
11506 : case 223:
11507 : switch (pattern465 (x2))
11508 : {
11509 : case 0:
11510 : if (!(
11511 : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11512 : (TARGET_AVX512F) &&
11513 : #line 7718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11514 : (TARGET_AVX512FP16 && 1)))
11515 : return -1;
11516 : return 4427; /* avx512bw_fcmulc_v32hf_mask */
11517 :
11518 : case 1:
11519 : if (!(
11520 : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11521 : (TARGET_AVX512F) && (
11522 : #line 7718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11523 : (TARGET_AVX512FP16 && 1) &&
11524 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11525 : (TARGET_AVX512VL))))
11526 : return -1;
11527 : return 4433; /* avx512vl_fcmulc_v16hf_mask */
11528 :
11529 : case 2:
11530 : if (!(
11531 : #line 106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11532 : (TARGET_AVX512F) && (
11533 : #line 7718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11534 : (TARGET_AVX512FP16 && 1) &&
11535 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11536 : (TARGET_AVX512VL))))
11537 : return -1;
11538 : return 4437; /* avx512fp16_fcmulc_v8hf_mask */
11539 :
11540 : case 3:
11541 : if (!
11542 : #line 7922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11543 : (TARGET_AVX512FP16))
11544 : return -1;
11545 : return 4454; /* avx512fp16_fcmulcsh_v8hf */
11546 :
11547 : default:
11548 : return -1;
11549 : }
11550 :
11551 : case 59:
11552 : return recog_136 (x1, insn, pnum_clobbers);
11553 :
11554 : case 166:
11555 : x7 = XEXP (x2, 2);
11556 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11557 : return -1;
11558 : x4 = XVECEXP (x3, 0, 0);
11559 : operands[1] = x4;
11560 : x5 = XVECEXP (x3, 0, 1);
11561 : operands[2] = x5;
11562 : switch (pattern462 (x2))
11563 : {
11564 : case 0:
11565 : if (!(
11566 : #line 14761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11567 : (TARGET_AVX512F) &&
11568 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11569 : (TARGET_AVX512FP16)))
11570 : return -1;
11571 : return 7142; /* avx512f_sgetexpv8hf */
11572 :
11573 : case 1:
11574 : if (!
11575 : #line 14761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11576 : (TARGET_AVX512F))
11577 : return -1;
11578 : return 7146; /* avx512f_sgetexpv4sf */
11579 :
11580 : case 2:
11581 : if (!(
11582 : #line 14761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11583 : (TARGET_AVX512F) &&
11584 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11585 : (TARGET_SSE2)))
11586 : return -1;
11587 : return 7150; /* avx512f_sgetexpv2df */
11588 :
11589 : default:
11590 : return -1;
11591 : }
11592 :
11593 : case 95:
11594 : return recog_135 (x1, insn, pnum_clobbers);
11595 :
11596 : case 189:
11597 : x4 = XVECEXP (x3, 0, 0);
11598 : operands[1] = x4;
11599 : x5 = XVECEXP (x3, 0, 1);
11600 : operands[2] = x5;
11601 : x6 = XEXP (x2, 1);
11602 : operands[3] = x6;
11603 : x7 = XEXP (x2, 2);
11604 : operands[4] = x7;
11605 : switch (GET_MODE (operands[0]))
11606 : {
11607 : case E_V16SImode:
11608 : if (pattern468 (x2,
11609 : E_HImode,
11610 : E_V16SImode,
11611 : E_V32HImode) != 0
11612 : || !(
11613 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11614 : (TARGET_AVX512F) && (
11615 : #line 17425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11616 : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
11617 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11618 : (TARGET_AVX512BW))))
11619 : return -1;
11620 : return 7700; /* avx512bw_pmaddwd512v32hi_mask */
11621 :
11622 : case E_V8SImode:
11623 : if (pattern468 (x2,
11624 : E_QImode,
11625 : E_V8SImode,
11626 : E_V16HImode) != 0
11627 : || !(
11628 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11629 : (TARGET_AVX512F) && (
11630 : #line 17425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11631 : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
11632 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11633 : (TARGET_AVX2))))
11634 : return -1;
11635 : return 7702; /* avx512bw_pmaddwd512v16hi_mask */
11636 :
11637 : case E_V4SImode:
11638 : if (pattern468 (x2,
11639 : E_QImode,
11640 : E_V4SImode,
11641 : E_V8HImode) != 0
11642 : || !(
11643 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11644 : (TARGET_AVX512F) &&
11645 : #line 17425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11646 : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL))))
11647 : return -1;
11648 : return 7704; /* avx512bw_pmaddwd512v8hi_mask */
11649 :
11650 : default:
11651 : return -1;
11652 : }
11653 :
11654 : case 58:
11655 : x4 = XVECEXP (x3, 0, 0);
11656 : operands[1] = x4;
11657 : x5 = XVECEXP (x3, 0, 1);
11658 : operands[2] = x5;
11659 : x6 = XEXP (x2, 1);
11660 : operands[3] = x6;
11661 : x7 = XEXP (x2, 2);
11662 : operands[4] = x7;
11663 : switch (GET_MODE (operands[0]))
11664 : {
11665 : case E_V64QImode:
11666 : if (pattern1126 (x2,
11667 : E_DImode,
11668 : E_V64QImode,
11669 : E_V32HImode) != 0
11670 : || !(
11671 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11672 : (TARGET_AVX512F) && (
11673 : #line 20158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11674 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11675 : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11676 : (TARGET_AVX512BW))))
11677 : return -1;
11678 : return 8433; /* avx512bw_packuswb_mask */
11679 :
11680 : case E_V32QImode:
11681 : if (pattern1126 (x2,
11682 : E_SImode,
11683 : E_V32QImode,
11684 : E_V16HImode) != 0
11685 : || !(
11686 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11687 : (TARGET_AVX512F) && (
11688 : #line 20158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11689 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11690 : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11691 : (TARGET_AVX2))))
11692 : return -1;
11693 : return 8435; /* avx2_packuswb_mask */
11694 :
11695 : case E_V16QImode:
11696 : if (pattern1126 (x2,
11697 : E_HImode,
11698 : E_V16QImode,
11699 : E_V8HImode) != 0
11700 : || !(
11701 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11702 : (TARGET_AVX512F) &&
11703 : #line 20158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11704 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
11705 : return -1;
11706 : return 8437; /* sse2_packuswb_mask */
11707 :
11708 : case E_V32HImode:
11709 : if (pattern1126 (x2,
11710 : E_SImode,
11711 : E_V32HImode,
11712 : E_V16SImode) != 0
11713 : || !(
11714 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11715 : (TARGET_AVX512F) && (
11716 : #line 24748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11717 : (TARGET_SSE4_1 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11718 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11719 : (TARGET_AVX512BW))))
11720 : return -1;
11721 : return 8848; /* avx512bw_packusdw_mask */
11722 :
11723 : case E_V16HImode:
11724 : if (pattern1126 (x2,
11725 : E_HImode,
11726 : E_V16HImode,
11727 : E_V8SImode) != 0
11728 : || !(
11729 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11730 : (TARGET_AVX512F) && (
11731 : #line 24748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11732 : (TARGET_SSE4_1 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11733 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11734 : (TARGET_AVX2))))
11735 : return -1;
11736 : return 8850; /* avx2_packusdw_mask */
11737 :
11738 : case E_V8HImode:
11739 : if (pattern1126 (x2,
11740 : E_QImode,
11741 : E_V8HImode,
11742 : E_V4SImode) != 0
11743 : || !(
11744 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11745 : (TARGET_AVX512F) &&
11746 : #line 24748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11747 : (TARGET_SSE4_1 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
11748 : return -1;
11749 : return 8852; /* sse4_1_packusdw_mask */
11750 :
11751 : default:
11752 : return -1;
11753 : }
11754 :
11755 : case 191:
11756 : if (pattern466 (x2) != 0
11757 : || !(
11758 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11759 : (TARGET_AVX512F) &&
11760 : #line 21510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11761 : (TARGET_AVX512BW)))
11762 : return -1;
11763 : return 8563; /* avx512bw_pshuflwv32hi_mask */
11764 :
11765 : case 190:
11766 : if (pattern466 (x2) != 0
11767 : || !(
11768 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11769 : (TARGET_AVX512F) &&
11770 : #line 21686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11771 : (TARGET_AVX512BW)))
11772 : return -1;
11773 : return 8569; /* avx512bw_pshufhwv32hi_mask */
11774 :
11775 : case 188:
11776 : x4 = XVECEXP (x3, 0, 0);
11777 : operands[1] = x4;
11778 : x5 = XVECEXP (x3, 0, 1);
11779 : operands[2] = x5;
11780 : x6 = XEXP (x2, 1);
11781 : operands[3] = x6;
11782 : x7 = XEXP (x2, 2);
11783 : operands[4] = x7;
11784 : switch (GET_MODE (operands[0]))
11785 : {
11786 : case E_V8HImode:
11787 : if (pattern468 (x2,
11788 : E_QImode,
11789 : E_V8HImode,
11790 : E_V16QImode) != 0
11791 : || !(
11792 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11793 : (TARGET_AVX512F) && (
11794 : #line 23690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11795 : (TARGET_AVX512BW) &&
11796 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11797 : (TARGET_AVX512VL))))
11798 : return -1;
11799 : return 8726; /* avx512bw_pmaddubsw512v8hi_mask */
11800 :
11801 : case E_V16HImode:
11802 : if (pattern468 (x2,
11803 : E_HImode,
11804 : E_V16HImode,
11805 : E_V32QImode) != 0
11806 : || !(
11807 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11808 : (TARGET_AVX512F) && (
11809 : #line 23690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11810 : (TARGET_AVX512BW) &&
11811 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11812 : (TARGET_AVX512VL))))
11813 : return -1;
11814 : return 8728; /* avx512bw_pmaddubsw512v16hi_mask */
11815 :
11816 : case E_V32HImode:
11817 : if (pattern468 (x2,
11818 : E_SImode,
11819 : E_V32HImode,
11820 : E_V64QImode) != 0
11821 : || !(
11822 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11823 : (TARGET_AVX512F) &&
11824 : #line 23690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11825 : (TARGET_AVX512BW)))
11826 : return -1;
11827 : return 8730; /* avx512bw_pmaddubsw512v32hi_mask */
11828 :
11829 : default:
11830 : return -1;
11831 : }
11832 :
11833 : case 53:
11834 : switch (pattern467 (x2))
11835 : {
11836 : case 0:
11837 : if (!(
11838 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11839 : (TARGET_AVX512F) && (
11840 : #line 24018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11841 : (TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11842 : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11843 : (TARGET_AVX512BW))))
11844 : return -1;
11845 : return 8744; /* avx512bw_pshufbv64qi3_mask */
11846 :
11847 : case 1:
11848 : if (!(
11849 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11850 : (TARGET_AVX512F) && (
11851 : #line 24018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11852 : (TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
11853 : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11854 : (TARGET_AVX2))))
11855 : return -1;
11856 : return 8746; /* avx2_pshufbv32qi3_mask */
11857 :
11858 : case 2:
11859 : if (!(
11860 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11861 : (TARGET_AVX512F) &&
11862 : #line 24018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11863 : (TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
11864 : return -1;
11865 : return 8748; /* ssse3_pshufbv16qi3_mask */
11866 :
11867 : default:
11868 : return -1;
11869 : }
11870 :
11871 : case 152:
11872 : return recog_134 (x1, insn, pnum_clobbers);
11873 :
11874 : case 145:
11875 : x4 = XVECEXP (x3, 0, 0);
11876 : operands[1] = x4;
11877 : x5 = XVECEXP (x3, 0, 1);
11878 : operands[2] = x5;
11879 : x6 = XEXP (x2, 1);
11880 : operands[3] = x6;
11881 : x7 = XEXP (x2, 2);
11882 : operands[4] = x7;
11883 : switch (GET_MODE (operands[0]))
11884 : {
11885 : case E_V16SFmode:
11886 : if (pattern1129 (x2,
11887 : E_V16SFmode,
11888 : E_V16SImode,
11889 : E_HImode) != 0
11890 : || !(
11891 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11892 : (TARGET_AVX512F) && (
11893 : #line 29451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11894 : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) &&
11895 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11896 : (TARGET_AVX512F))))
11897 : return -1;
11898 : return 9501; /* avx512f_vpermilvarv16sf3_mask */
11899 :
11900 : case E_V8SFmode:
11901 : if (pattern1129 (x2,
11902 : E_V8SFmode,
11903 : E_V8SImode,
11904 : E_QImode) != 0
11905 : || !(
11906 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11907 : (TARGET_AVX512F) && (
11908 : #line 29451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11909 : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)) &&
11910 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11911 : (TARGET_AVX))))
11912 : return -1;
11913 : return 9503; /* avx_vpermilvarv8sf3_mask */
11914 :
11915 : case E_V4SFmode:
11916 : if (pattern1129 (x2,
11917 : E_V4SFmode,
11918 : E_V4SImode,
11919 : E_QImode) != 0
11920 : || !(
11921 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11922 : (TARGET_AVX512F) &&
11923 : #line 29451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11924 : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL))))
11925 : return -1;
11926 : return 9505; /* avx_vpermilvarv4sf3_mask */
11927 :
11928 : case E_V8DFmode:
11929 : if (pattern1129 (x2,
11930 : E_V8DFmode,
11931 : E_V8DImode,
11932 : E_QImode) != 0
11933 : || !(
11934 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11935 : (TARGET_AVX512F) && (
11936 : #line 29451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11937 : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL)) &&
11938 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11939 : (TARGET_AVX512F))))
11940 : return -1;
11941 : return 9507; /* avx512f_vpermilvarv8df3_mask */
11942 :
11943 : case E_V4DFmode:
11944 : if (pattern1129 (x2,
11945 : E_V4DFmode,
11946 : E_V4DImode,
11947 : E_QImode) != 0
11948 : || !(
11949 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11950 : (TARGET_AVX512F) && (
11951 : #line 29451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11952 : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL)) &&
11953 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11954 : (TARGET_AVX))))
11955 : return -1;
11956 : return 9509; /* avx_vpermilvarv4df3_mask */
11957 :
11958 : case E_V2DFmode:
11959 : if (pattern1129 (x2,
11960 : E_V2DFmode,
11961 : E_V2DImode,
11962 : E_QImode) != 0
11963 : || !(
11964 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11965 : (TARGET_AVX512F) && (
11966 : #line 29451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11967 : (TARGET_AVX && (16 == 64 || TARGET_AVX512VL)) &&
11968 : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11969 : (TARGET_SSE2))))
11970 : return -1;
11971 : return 9511; /* avx_vpermilvarv2df3_mask */
11972 :
11973 : default:
11974 : return -1;
11975 : }
11976 :
11977 : case 151:
11978 : x4 = XVECEXP (x3, 0, 0);
11979 : operands[1] = x4;
11980 : x5 = XVECEXP (x3, 0, 1);
11981 : operands[2] = x5;
11982 : if (!const_0_to_255_operand (operands[2], E_SImode))
11983 : return -1;
11984 : switch (GET_MODE (operands[0]))
11985 : {
11986 : case E_V8HImode:
11987 : if (pattern1015 (x2,
11988 : E_QImode,
11989 : E_V8SFmode,
11990 : E_V8HImode) != 0)
11991 : return -1;
11992 : x7 = XEXP (x2, 2);
11993 : operands[4] = x7;
11994 : if (register_operand (operands[0], E_V8HImode))
11995 : {
11996 : x6 = XEXP (x2, 1);
11997 : operands[3] = x6;
11998 : if (nonimm_or_0_operand (operands[3], E_V8HImode)
11999 : && (
12000 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12001 : (TARGET_AVX512F) &&
12002 : #line 30582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12003 : (TARGET_F16C || TARGET_AVX512VL)))
12004 : return 9809; /* vcvtps2ph256_mask */
12005 : }
12006 : operands[3] = x7;
12007 : if (!memory_operand (operands[0], E_V8HImode))
12008 : return -1;
12009 : x6 = XEXP (x2, 1);
12010 : if (!rtx_equal_p (x6, operands[0])
12011 : || !(
12012 : #line 96 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12013 : (TARGET_AVX512F) &&
12014 : #line 30594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12015 : (TARGET_F16C || TARGET_AVX512VL)))
12016 : return -1;
12017 : return 9811; /* *vcvtps2ph256_merge_mask */
12018 :
12019 : case E_V16HImode:
12020 : if (pattern1015 (x2,
12021 : E_HImode,
12022 : E_V16SFmode,
12023 : E_V16HImode) != 0)
12024 : return -1;
12025 : x7 = XEXP (x2, 2);
12026 : operands[4] = x7;
12027 : if (register_operand (operands[0], E_V16HImode))
12028 : {
12029 : x6 = XEXP (x2, 1);
12030 : operands[3] = x6;
12031 : if (nonimm_or_0_operand (operands[3], E_V16HImode)
12032 : &&
12033 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12034 : (TARGET_AVX512F))
12035 : return 9814; /* avx512f_vcvtps2ph512_mask */
12036 : }
12037 : operands[3] = x7;
12038 : if (!memory_operand (operands[0], E_V16HImode))
12039 : return -1;
12040 : x6 = XEXP (x2, 1);
12041 : if (!rtx_equal_p (x6, operands[0])
12042 : || !
12043 : #line 96 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12044 : (TARGET_AVX512F))
12045 : return -1;
12046 : return 9817; /* *avx512f_vcvtps2ph512_merge_mask */
12047 :
12048 : default:
12049 : return -1;
12050 : }
12051 :
12052 : case 167:
12053 : return recog_137 (x1, insn, pnum_clobbers);
12054 :
12055 : case 198:
12056 : x4 = XVECEXP (x3, 0, 0);
12057 : operands[1] = x4;
12058 : x5 = XVECEXP (x3, 0, 1);
12059 : operands[2] = x5;
12060 : x6 = XEXP (x2, 1);
12061 : operands[3] = x6;
12062 : x7 = XEXP (x2, 2);
12063 : operands[4] = x7;
12064 : switch (GET_MODE (operands[0]))
12065 : {
12066 : case E_V64QImode:
12067 : if (pattern1130 (x2,
12068 : E_V64QImode,
12069 : E_DImode) != 0
12070 : || !(
12071 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12072 : (TARGET_AVX512F) &&
12073 : #line 31698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12074 : (TARGET_AVX512VBMI)))
12075 : return -1;
12076 : return 10276; /* vpmultishiftqbv64qi_mask */
12077 :
12078 : case E_V16QImode:
12079 : if (pattern1130 (x2,
12080 : E_V16QImode,
12081 : E_HImode) != 0
12082 : || !(
12083 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12084 : (TARGET_AVX512F) && (
12085 : #line 31698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12086 : (TARGET_AVX512VBMI) &&
12087 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12088 : (TARGET_AVX512VL))))
12089 : return -1;
12090 : return 10278; /* vpmultishiftqbv16qi_mask */
12091 :
12092 : case E_V32QImode:
12093 : if (pattern1130 (x2,
12094 : E_V32QImode,
12095 : E_SImode) != 0
12096 : || !(
12097 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12098 : (TARGET_AVX512F) && (
12099 : #line 31698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12100 : (TARGET_AVX512VBMI) &&
12101 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12102 : (TARGET_AVX512VL))))
12103 : return -1;
12104 : return 10280; /* vpmultishiftqbv32qi_mask */
12105 :
12106 : default:
12107 : return -1;
12108 : }
12109 :
12110 : case 201:
12111 : switch (pattern467 (x2))
12112 : {
12113 : case 0:
12114 : if (!(
12115 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12116 : (TARGET_AVX512F) && (
12117 : #line 31807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12118 : (TARGET_GFNI) &&
12119 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12120 : (TARGET_AVX512F))))
12121 : return -1;
12122 : return 10326; /* vgf2p8mulb_v64qi_mask */
12123 :
12124 : case 1:
12125 : if (!(
12126 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12127 : (TARGET_AVX512F) && (
12128 : #line 31807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12129 : (TARGET_GFNI) &&
12130 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12131 : (TARGET_AVX))))
12132 : return -1;
12133 : return 10328; /* vgf2p8mulb_v32qi_mask */
12134 :
12135 : case 2:
12136 : if (!(
12137 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12138 : (TARGET_AVX512F) &&
12139 : #line 31807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12140 : (TARGET_GFNI)))
12141 : return -1;
12142 : return 10330; /* vgf2p8mulb_v16qi_mask */
12143 :
12144 : default:
12145 : return -1;
12146 : }
12147 :
12148 : case 250:
12149 : switch (pattern469 (x2))
12150 : {
12151 : case 0:
12152 : if (!(
12153 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12154 : (TARGET_AVX512F) &&
12155 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12156 : (TARGET_AVX10_2)))
12157 : return -1;
12158 : return 10594; /* vcvt2ph2bf8v32hf_mask */
12159 :
12160 : case 1:
12161 : if (!(
12162 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12163 : (TARGET_AVX512F) && (
12164 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12165 : (TARGET_AVX10_2) &&
12166 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12167 : (TARGET_AVX512VL))))
12168 : return -1;
12169 : return 10602; /* vcvt2ph2bf8v16hf_mask */
12170 :
12171 : case 2:
12172 : if (!(
12173 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12174 : (TARGET_AVX512F) && (
12175 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12176 : (TARGET_AVX10_2) &&
12177 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12178 : (TARGET_AVX512VL))))
12179 : return -1;
12180 : return 10610; /* vcvt2ph2bf8v8hf_mask */
12181 :
12182 : default:
12183 : return -1;
12184 : }
12185 :
12186 : case 251:
12187 : switch (pattern469 (x2))
12188 : {
12189 : case 0:
12190 : if (!(
12191 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12192 : (TARGET_AVX512F) &&
12193 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12194 : (TARGET_AVX10_2)))
12195 : return -1;
12196 : return 10596; /* vcvt2ph2bf8sv32hf_mask */
12197 :
12198 : case 1:
12199 : if (!(
12200 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12201 : (TARGET_AVX512F) && (
12202 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12203 : (TARGET_AVX10_2) &&
12204 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12205 : (TARGET_AVX512VL))))
12206 : return -1;
12207 : return 10604; /* vcvt2ph2bf8sv16hf_mask */
12208 :
12209 : case 2:
12210 : if (!(
12211 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12212 : (TARGET_AVX512F) && (
12213 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12214 : (TARGET_AVX10_2) &&
12215 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12216 : (TARGET_AVX512VL))))
12217 : return -1;
12218 : return 10612; /* vcvt2ph2bf8sv8hf_mask */
12219 :
12220 : default:
12221 : return -1;
12222 : }
12223 :
12224 : case 252:
12225 : switch (pattern469 (x2))
12226 : {
12227 : case 0:
12228 : if (!(
12229 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12230 : (TARGET_AVX512F) &&
12231 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12232 : (TARGET_AVX10_2)))
12233 : return -1;
12234 : return 10598; /* vcvt2ph2hf8v32hf_mask */
12235 :
12236 : case 1:
12237 : if (!(
12238 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12239 : (TARGET_AVX512F) && (
12240 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12241 : (TARGET_AVX10_2) &&
12242 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12243 : (TARGET_AVX512VL))))
12244 : return -1;
12245 : return 10606; /* vcvt2ph2hf8v16hf_mask */
12246 :
12247 : case 2:
12248 : if (!(
12249 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12250 : (TARGET_AVX512F) && (
12251 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12252 : (TARGET_AVX10_2) &&
12253 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12254 : (TARGET_AVX512VL))))
12255 : return -1;
12256 : return 10614; /* vcvt2ph2hf8v8hf_mask */
12257 :
12258 : default:
12259 : return -1;
12260 : }
12261 :
12262 : case 253:
12263 : switch (pattern469 (x2))
12264 : {
12265 : case 0:
12266 : if (!(
12267 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12268 : (TARGET_AVX512F) &&
12269 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12270 : (TARGET_AVX10_2)))
12271 : return -1;
12272 : return 10600; /* vcvt2ph2hf8sv32hf_mask */
12273 :
12274 : case 1:
12275 : if (!(
12276 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12277 : (TARGET_AVX512F) && (
12278 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12279 : (TARGET_AVX10_2) &&
12280 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12281 : (TARGET_AVX512VL))))
12282 : return -1;
12283 : return 10608; /* vcvt2ph2hf8sv16hf_mask */
12284 :
12285 : case 2:
12286 : if (!(
12287 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12288 : (TARGET_AVX512F) && (
12289 : #line 33179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12290 : (TARGET_AVX10_2) &&
12291 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12292 : (TARGET_AVX512VL))))
12293 : return -1;
12294 : return 10616; /* vcvt2ph2hf8sv8hf_mask */
12295 :
12296 : default:
12297 : return -1;
12298 : }
12299 :
12300 : case 246:
12301 : switch (pattern471 (x2))
12302 : {
12303 : case 0:
12304 : if (!(
12305 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12306 : (TARGET_AVX512F) &&
12307 : #line 33271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12308 : (TARGET_AVX10_2)))
12309 : return -1;
12310 : return 10626; /* vcvtbiasph2bf8v32hf_mask */
12311 :
12312 : case 1:
12313 : if (!(
12314 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12315 : (TARGET_AVX512F) &&
12316 : #line 33271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12317 : (TARGET_AVX10_2)))
12318 : return -1;
12319 : return 10634; /* vcvtbiasph2bf8v16hf_mask */
12320 :
12321 : default:
12322 : return -1;
12323 : }
12324 :
12325 : case 247:
12326 : switch (pattern471 (x2))
12327 : {
12328 : case 0:
12329 : if (!(
12330 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12331 : (TARGET_AVX512F) &&
12332 : #line 33271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12333 : (TARGET_AVX10_2)))
12334 : return -1;
12335 : return 10628; /* vcvtbiasph2bf8sv32hf_mask */
12336 :
12337 : case 1:
12338 : if (!(
12339 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12340 : (TARGET_AVX512F) &&
12341 : #line 33271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12342 : (TARGET_AVX10_2)))
12343 : return -1;
12344 : return 10636; /* vcvtbiasph2bf8sv16hf_mask */
12345 :
12346 : default:
12347 : return -1;
12348 : }
12349 :
12350 : case 248:
12351 : switch (pattern471 (x2))
12352 : {
12353 : case 0:
12354 : if (!(
12355 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12356 : (TARGET_AVX512F) &&
12357 : #line 33271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12358 : (TARGET_AVX10_2)))
12359 : return -1;
12360 : return 10630; /* vcvtbiasph2hf8v32hf_mask */
12361 :
12362 : case 1:
12363 : if (!(
12364 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12365 : (TARGET_AVX512F) &&
12366 : #line 33271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12367 : (TARGET_AVX10_2)))
12368 : return -1;
12369 : return 10638; /* vcvtbiasph2hf8v16hf_mask */
12370 :
12371 : default:
12372 : return -1;
12373 : }
12374 :
12375 : case 249:
12376 : switch (pattern471 (x2))
12377 : {
12378 : case 0:
12379 : if (!(
12380 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12381 : (TARGET_AVX512F) &&
12382 : #line 33271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12383 : (TARGET_AVX10_2)))
12384 : return -1;
12385 : return 10632; /* vcvtbiasph2hf8sv32hf_mask */
12386 :
12387 : case 1:
12388 : if (!(
12389 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12390 : (TARGET_AVX512F) &&
12391 : #line 33271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12392 : (TARGET_AVX10_2)))
12393 : return -1;
12394 : return 10640; /* vcvtbiasph2hf8sv16hf_mask */
12395 :
12396 : default:
12397 : return -1;
12398 : }
12399 :
12400 : case 259:
12401 : x4 = XVECEXP (x3, 0, 0);
12402 : operands[1] = x4;
12403 : x5 = XVECEXP (x3, 0, 1);
12404 : operands[2] = x5;
12405 : x6 = XEXP (x2, 1);
12406 : operands[3] = x6;
12407 : x7 = XEXP (x2, 2);
12408 : operands[4] = x7;
12409 : switch (GET_MODE (operands[0]))
12410 : {
12411 : case E_V32BFmode:
12412 : if (pattern1130 (x2,
12413 : E_V32BFmode,
12414 : E_SImode) != 0
12415 : || !(
12416 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12417 : (TARGET_AVX512F) &&
12418 : #line 33538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12419 : (TARGET_AVX10_2)))
12420 : return -1;
12421 : return 10735; /* avx10_2_scalefbf16_v32bf_mask */
12422 :
12423 : case E_V16BFmode:
12424 : if (pattern1130 (x2,
12425 : E_V16BFmode,
12426 : E_HImode) != 0
12427 : || !(
12428 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12429 : (TARGET_AVX512F) &&
12430 : #line 33538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12431 : (TARGET_AVX10_2)))
12432 : return -1;
12433 : return 10737; /* avx10_2_scalefbf16_v16bf_mask */
12434 :
12435 : case E_V8BFmode:
12436 : if (pattern1130 (x2,
12437 : E_V8BFmode,
12438 : E_QImode) != 0
12439 : || !(
12440 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12441 : (TARGET_AVX512F) &&
12442 : #line 33538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12443 : (TARGET_AVX10_2)))
12444 : return -1;
12445 : return 10739; /* avx10_2_scalefbf16_v8bf_mask */
12446 :
12447 : default:
12448 : return -1;
12449 : }
12450 :
12451 : case 260:
12452 : switch (pattern473 (x2))
12453 : {
12454 : case 0:
12455 : if (!(
12456 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12457 : (TARGET_AVX512F) &&
12458 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12459 : (TARGET_AVX10_2)))
12460 : return -1;
12461 : return 10849; /* avx10_2_rndscalebf16_v32bf_mask */
12462 :
12463 : case 1:
12464 : if (!(
12465 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12466 : (TARGET_AVX512F) &&
12467 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12468 : (TARGET_AVX10_2)))
12469 : return -1;
12470 : return 10855; /* avx10_2_rndscalebf16_v16bf_mask */
12471 :
12472 : case 2:
12473 : if (!(
12474 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12475 : (TARGET_AVX512F) &&
12476 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12477 : (TARGET_AVX10_2)))
12478 : return -1;
12479 : return 10861; /* avx10_2_rndscalebf16_v8bf_mask */
12480 :
12481 : default:
12482 : return -1;
12483 : }
12484 :
12485 : case 261:
12486 : switch (pattern473 (x2))
12487 : {
12488 : case 0:
12489 : if (!(
12490 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12491 : (TARGET_AVX512F) &&
12492 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12493 : (TARGET_AVX10_2)))
12494 : return -1;
12495 : return 10851; /* avx10_2_reducebf16_v32bf_mask */
12496 :
12497 : case 1:
12498 : if (!(
12499 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12500 : (TARGET_AVX512F) &&
12501 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12502 : (TARGET_AVX10_2)))
12503 : return -1;
12504 : return 10857; /* avx10_2_reducebf16_v16bf_mask */
12505 :
12506 : case 2:
12507 : if (!(
12508 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12509 : (TARGET_AVX512F) &&
12510 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12511 : (TARGET_AVX10_2)))
12512 : return -1;
12513 : return 10863; /* avx10_2_reducebf16_v8bf_mask */
12514 :
12515 : default:
12516 : return -1;
12517 : }
12518 :
12519 : case 262:
12520 : switch (pattern473 (x2))
12521 : {
12522 : case 0:
12523 : if (!(
12524 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12525 : (TARGET_AVX512F) &&
12526 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12527 : (TARGET_AVX10_2)))
12528 : return -1;
12529 : return 10853; /* avx10_2_getmantbf16_v32bf_mask */
12530 :
12531 : case 1:
12532 : if (!(
12533 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12534 : (TARGET_AVX512F) &&
12535 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12536 : (TARGET_AVX10_2)))
12537 : return -1;
12538 : return 10859; /* avx10_2_getmantbf16_v16bf_mask */
12539 :
12540 : case 2:
12541 : if (!(
12542 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12543 : (TARGET_AVX512F) &&
12544 : #line 33879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12545 : (TARGET_AVX10_2)))
12546 : return -1;
12547 : return 10865; /* avx10_2_getmantbf16_v8bf_mask */
12548 :
12549 : default:
12550 : return -1;
12551 : }
12552 :
12553 : default:
12554 : return -1;
12555 : }
12556 : }
12557 :
12558 : int
12559 : recog_188 (rtx x1 ATTRIBUTE_UNUSED,
12560 : rtx_insn *insn ATTRIBUTE_UNUSED,
12561 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12562 : {
12563 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12564 : rtx x2, x3, x4, x5, x6;
12565 : int res ATTRIBUTE_UNUSED;
12566 : x2 = XEXP (x1, 1);
12567 : x3 = XEXP (x2, 0);
12568 : x4 = XEXP (x3, 1);
12569 : operands[2] = x4;
12570 : x5 = XEXP (x3, 0);
12571 : switch (GET_CODE (x5))
12572 : {
12573 : case REG:
12574 : case SUBREG:
12575 : case MEM:
12576 : case VEC_DUPLICATE:
12577 : operands[1] = x5;
12578 : switch (pattern658 (x2))
12579 : {
12580 : case 0:
12581 : if (pattern1392 (x2,
12582 : E_V32HFmode,
12583 : E_SImode) != 0
12584 : || !(
12585 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12586 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
12587 : #line 6329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12588 : (TARGET_AVX512FP16)))
12589 : return -1;
12590 : return 3889; /* fma_fmadd_v32hf_maskz_1 */
12591 :
12592 : case 1:
12593 : if (pattern1392 (x2,
12594 : E_V16HFmode,
12595 : E_HImode) != 0
12596 : || !(
12597 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12598 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12599 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12600 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12601 : return -1;
12602 : return 3893; /* fma_fmadd_v16hf_maskz_1 */
12603 :
12604 : case 2:
12605 : if (pattern1392 (x2,
12606 : E_V8HFmode,
12607 : E_QImode) != 0
12608 : || !(
12609 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12610 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12611 : #line 6331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12612 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12613 : return -1;
12614 : return 3895; /* fma_fmadd_v8hf_maskz_1 */
12615 :
12616 : case 3:
12617 : if (pattern1392 (x2,
12618 : E_V16SFmode,
12619 : E_HImode) != 0
12620 : || !
12621 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12622 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
12623 : return -1;
12624 : return 3899; /* fma_fmadd_v16sf_maskz_1 */
12625 :
12626 : case 4:
12627 : if (pattern1392 (x2,
12628 : E_V8SFmode,
12629 : E_QImode) != 0
12630 : || !(
12631 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12632 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12633 : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12634 : (TARGET_AVX512VL)))
12635 : return -1;
12636 : return 3903; /* fma_fmadd_v8sf_maskz_1 */
12637 :
12638 : case 5:
12639 : if (pattern1392 (x2,
12640 : E_V4SFmode,
12641 : E_QImode) != 0
12642 : || !(
12643 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12644 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12645 : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12646 : (TARGET_AVX512VL)))
12647 : return -1;
12648 : return 3905; /* fma_fmadd_v4sf_maskz_1 */
12649 :
12650 : case 6:
12651 : if (pattern1392 (x2,
12652 : E_V8DFmode,
12653 : E_QImode) != 0
12654 : || !
12655 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12656 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
12657 : return -1;
12658 : return 3908; /* fma_fmadd_v8df_maskz_1 */
12659 :
12660 : case 7:
12661 : if (pattern1392 (x2,
12662 : E_V4DFmode,
12663 : E_QImode) != 0
12664 : || !(
12665 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12666 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12667 : #line 6334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12668 : (TARGET_AVX512VL)))
12669 : return -1;
12670 : return 3912; /* fma_fmadd_v4df_maskz_1 */
12671 :
12672 : case 8:
12673 : if (pattern1392 (x2,
12674 : E_V2DFmode,
12675 : E_QImode) != 0
12676 : || !(
12677 : #line 6342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12678 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12679 : #line 6334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12680 : (TARGET_AVX512VL)))
12681 : return -1;
12682 : return 3914; /* fma_fmadd_v2df_maskz_1 */
12683 :
12684 : case 9:
12685 : if (pattern1394 (x2,
12686 : E_SImode,
12687 : E_V32BFmode) != 0
12688 : || !
12689 : #line 33589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12690 : (TARGET_AVX10_2))
12691 : return -1;
12692 : return 10777; /* avx10_2_fmaddbf16_v32bf_maskz_1 */
12693 :
12694 : case 10:
12695 : if (pattern1394 (x2,
12696 : E_HImode,
12697 : E_V16BFmode) != 0
12698 : || !
12699 : #line 33589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12700 : (TARGET_AVX10_2))
12701 : return -1;
12702 : return 10779; /* avx10_2_fmaddbf16_v16bf_maskz_1 */
12703 :
12704 : case 11:
12705 : if (pattern1394 (x2,
12706 : E_QImode,
12707 : E_V8BFmode) != 0
12708 : || !
12709 : #line 33589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12710 : (TARGET_AVX10_2))
12711 : return -1;
12712 : return 10781; /* avx10_2_fmaddbf16_v8bf_maskz_1 */
12713 :
12714 : case 12:
12715 : if (pattern1395 (x2,
12716 : E_V4SFmode) != 0
12717 : || !
12718 : #line 7355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12719 : (TARGET_FMA4))
12720 : return -1;
12721 : return 4366; /* *fma4i_vmfmadd_v4sf */
12722 :
12723 : case 13:
12724 : if (pattern1395 (x2,
12725 : E_V2DFmode) != 0
12726 : || !(
12727 : #line 7355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12728 : (TARGET_FMA4) &&
12729 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12730 : (TARGET_SSE2)))
12731 : return -1;
12732 : return 4367; /* *fma4i_vmfmadd_v2df */
12733 :
12734 : case 14:
12735 : if (pattern1306 (x2,
12736 : E_V32HFmode,
12737 : E_SImode) != 0)
12738 : return -1;
12739 : if (nonimmediate_operand (operands[1], E_V32HFmode)
12740 : && vector_operand (operands[3], E_V32HFmode))
12741 : {
12742 : x6 = XEXP (x2, 1);
12743 : if (rtx_equal_p (x6, operands[1])
12744 : && (
12745 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12746 : (TARGET_AVX512F && 1) &&
12747 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12748 : (TARGET_AVX512FP16)))
12749 : return 3915; /* avx512bw_fmadd_v32hf_mask */
12750 : }
12751 : if (!vector_operand (operands[1], E_V32HFmode)
12752 : || !nonimmediate_operand (operands[3], E_V32HFmode))
12753 : return -1;
12754 : x6 = XEXP (x2, 1);
12755 : if (!rtx_equal_p (x6, operands[3])
12756 : || !(
12757 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12758 : (TARGET_AVX512F) &&
12759 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12760 : (TARGET_AVX512FP16)))
12761 : return -1;
12762 : return 3927; /* avx512bw_fmadd_v32hf_mask3 */
12763 :
12764 : case 15:
12765 : if (pattern1306 (x2,
12766 : E_V16HFmode,
12767 : E_HImode) != 0)
12768 : return -1;
12769 : if (nonimmediate_operand (operands[1], E_V16HFmode)
12770 : && vector_operand (operands[3], E_V16HFmode))
12771 : {
12772 : x6 = XEXP (x2, 1);
12773 : if (rtx_equal_p (x6, operands[1])
12774 : && (
12775 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12776 : (TARGET_AVX512F && 1) &&
12777 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12778 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12779 : return 3917; /* avx512vl_fmadd_v16hf_mask */
12780 : }
12781 : if (!vector_operand (operands[1], E_V16HFmode)
12782 : || !nonimmediate_operand (operands[3], E_V16HFmode))
12783 : return -1;
12784 : x6 = XEXP (x2, 1);
12785 : if (!rtx_equal_p (x6, operands[3])
12786 : || !(
12787 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12788 : (TARGET_AVX512F) &&
12789 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12790 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12791 : return -1;
12792 : return 3929; /* avx512vl_fmadd_v16hf_mask3 */
12793 :
12794 : case 16:
12795 : if (pattern1306 (x2,
12796 : E_V8HFmode,
12797 : E_QImode) != 0)
12798 : return -1;
12799 : if (nonimmediate_operand (operands[1], E_V8HFmode)
12800 : && vector_operand (operands[3], E_V8HFmode))
12801 : {
12802 : x6 = XEXP (x2, 1);
12803 : if (rtx_equal_p (x6, operands[1])
12804 : && (
12805 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12806 : (TARGET_AVX512F && 1) &&
12807 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12808 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12809 : return 3918; /* avx512fp16_fmadd_v8hf_mask */
12810 : }
12811 : if (!vector_operand (operands[1], E_V8HFmode)
12812 : || !nonimmediate_operand (operands[3], E_V8HFmode))
12813 : return -1;
12814 : x6 = XEXP (x2, 1);
12815 : if (!rtx_equal_p (x6, operands[3])
12816 : || !(
12817 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12818 : (TARGET_AVX512F) &&
12819 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12820 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12821 : return -1;
12822 : return 3931; /* avx512fp16_fmadd_v8hf_mask3 */
12823 :
12824 : case 17:
12825 : if (pattern1306 (x2,
12826 : E_V16SFmode,
12827 : E_HImode) != 0)
12828 : return -1;
12829 : if (nonimmediate_operand (operands[1], E_V16SFmode)
12830 : && vector_operand (operands[3], E_V16SFmode))
12831 : {
12832 : x6 = XEXP (x2, 1);
12833 : if (rtx_equal_p (x6, operands[1])
12834 : &&
12835 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12836 : (TARGET_AVX512F && 1))
12837 : return 3919; /* avx512f_fmadd_v16sf_mask */
12838 : }
12839 : if (!vector_operand (operands[1], E_V16SFmode)
12840 : || !nonimmediate_operand (operands[3], E_V16SFmode))
12841 : return -1;
12842 : x6 = XEXP (x2, 1);
12843 : if (!rtx_equal_p (x6, operands[3])
12844 : || !
12845 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12846 : (TARGET_AVX512F))
12847 : return -1;
12848 : return 3933; /* avx512f_fmadd_v16sf_mask3 */
12849 :
12850 : case 18:
12851 : if (pattern1306 (x2,
12852 : E_V8SFmode,
12853 : E_QImode) != 0)
12854 : return -1;
12855 : if (nonimmediate_operand (operands[1], E_V8SFmode)
12856 : && vector_operand (operands[3], E_V8SFmode))
12857 : {
12858 : x6 = XEXP (x2, 1);
12859 : if (rtx_equal_p (x6, operands[1])
12860 : && (
12861 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12862 : (TARGET_AVX512F && 1) &&
12863 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12864 : (TARGET_AVX512VL)))
12865 : return 3921; /* avx512vl_fmadd_v8sf_mask */
12866 : }
12867 : if (!vector_operand (operands[1], E_V8SFmode)
12868 : || !nonimmediate_operand (operands[3], E_V8SFmode))
12869 : return -1;
12870 : x6 = XEXP (x2, 1);
12871 : if (!rtx_equal_p (x6, operands[3])
12872 : || !(
12873 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12874 : (TARGET_AVX512F) &&
12875 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12876 : (TARGET_AVX512VL)))
12877 : return -1;
12878 : return 3935; /* avx512vl_fmadd_v8sf_mask3 */
12879 :
12880 : case 19:
12881 : if (pattern1306 (x2,
12882 : E_V4SFmode,
12883 : E_QImode) != 0)
12884 : return -1;
12885 : if (nonimmediate_operand (operands[1], E_V4SFmode)
12886 : && vector_operand (operands[3], E_V4SFmode))
12887 : {
12888 : x6 = XEXP (x2, 1);
12889 : if (rtx_equal_p (x6, operands[1])
12890 : && (
12891 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12892 : (TARGET_AVX512F && 1) &&
12893 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12894 : (TARGET_AVX512VL)))
12895 : return 3922; /* avx512vl_fmadd_v4sf_mask */
12896 : }
12897 : if (!vector_operand (operands[1], E_V4SFmode)
12898 : || !nonimmediate_operand (operands[3], E_V4SFmode))
12899 : return -1;
12900 : x6 = XEXP (x2, 1);
12901 : if (!rtx_equal_p (x6, operands[3])
12902 : || !(
12903 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12904 : (TARGET_AVX512F) &&
12905 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12906 : (TARGET_AVX512VL)))
12907 : return -1;
12908 : return 3937; /* avx512vl_fmadd_v4sf_mask3 */
12909 :
12910 : case 20:
12911 : if (pattern1306 (x2,
12912 : E_V8DFmode,
12913 : E_QImode) != 0)
12914 : return -1;
12915 : if (nonimmediate_operand (operands[1], E_V8DFmode)
12916 : && vector_operand (operands[3], E_V8DFmode))
12917 : {
12918 : x6 = XEXP (x2, 1);
12919 : if (rtx_equal_p (x6, operands[1])
12920 : &&
12921 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12922 : (TARGET_AVX512F && 1))
12923 : return 3923; /* avx512f_fmadd_v8df_mask */
12924 : }
12925 : if (!vector_operand (operands[1], E_V8DFmode)
12926 : || !nonimmediate_operand (operands[3], E_V8DFmode))
12927 : return -1;
12928 : x6 = XEXP (x2, 1);
12929 : if (!rtx_equal_p (x6, operands[3])
12930 : || !
12931 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12932 : (TARGET_AVX512F))
12933 : return -1;
12934 : return 3939; /* avx512f_fmadd_v8df_mask3 */
12935 :
12936 : case 21:
12937 : if (pattern1306 (x2,
12938 : E_V4DFmode,
12939 : E_QImode) != 0)
12940 : return -1;
12941 : if (nonimmediate_operand (operands[1], E_V4DFmode)
12942 : && vector_operand (operands[3], E_V4DFmode))
12943 : {
12944 : x6 = XEXP (x2, 1);
12945 : if (rtx_equal_p (x6, operands[1])
12946 : && (
12947 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12948 : (TARGET_AVX512F && 1) &&
12949 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12950 : (TARGET_AVX512VL)))
12951 : return 3925; /* avx512vl_fmadd_v4df_mask */
12952 : }
12953 : if (!vector_operand (operands[1], E_V4DFmode)
12954 : || !nonimmediate_operand (operands[3], E_V4DFmode))
12955 : return -1;
12956 : x6 = XEXP (x2, 1);
12957 : if (!rtx_equal_p (x6, operands[3])
12958 : || !(
12959 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12960 : (TARGET_AVX512F) &&
12961 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12962 : (TARGET_AVX512VL)))
12963 : return -1;
12964 : return 3941; /* avx512vl_fmadd_v4df_mask3 */
12965 :
12966 : case 22:
12967 : if (pattern1306 (x2,
12968 : E_V2DFmode,
12969 : E_QImode) != 0)
12970 : return -1;
12971 : if (nonimmediate_operand (operands[1], E_V2DFmode)
12972 : && vector_operand (operands[3], E_V2DFmode))
12973 : {
12974 : x6 = XEXP (x2, 1);
12975 : if (rtx_equal_p (x6, operands[1])
12976 : && (
12977 : #line 6383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12978 : (TARGET_AVX512F && 1) &&
12979 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12980 : (TARGET_AVX512VL)))
12981 : return 3926; /* avx512vl_fmadd_v2df_mask */
12982 : }
12983 : if (!vector_operand (operands[1], E_V2DFmode)
12984 : || !nonimmediate_operand (operands[3], E_V2DFmode))
12985 : return -1;
12986 : x6 = XEXP (x2, 1);
12987 : if (!rtx_equal_p (x6, operands[3])
12988 : || !(
12989 : #line 6400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12990 : (TARGET_AVX512F) &&
12991 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12992 : (TARGET_AVX512VL)))
12993 : return -1;
12994 : return 3943; /* avx512vl_fmadd_v2df_mask3 */
12995 :
12996 : case 23:
12997 : if (pattern1307 (x2,
12998 : E_SImode,
12999 : E_V32BFmode) != 0)
13000 : return -1;
13001 : x6 = XEXP (x2, 1);
13002 : if (rtx_equal_p (x6, operands[1])
13003 : &&
13004 : #line 33607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13005 : (TARGET_AVX10_2))
13006 : return 10782; /* avx10_2_fmaddbf16_v32bf_mask */
13007 : if (!rtx_equal_p (x6, operands[3])
13008 : || !
13009 : #line 33624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13010 : (TARGET_AVX10_2))
13011 : return -1;
13012 : return 10785; /* avx10_2_fmaddbf16_v32bf_mask3 */
13013 :
13014 : case 24:
13015 : if (pattern1307 (x2,
13016 : E_HImode,
13017 : E_V16BFmode) != 0)
13018 : return -1;
13019 : x6 = XEXP (x2, 1);
13020 : if (rtx_equal_p (x6, operands[1])
13021 : &&
13022 : #line 33607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13023 : (TARGET_AVX10_2))
13024 : return 10783; /* avx10_2_fmaddbf16_v16bf_mask */
13025 : if (!rtx_equal_p (x6, operands[3])
13026 : || !
13027 : #line 33624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13028 : (TARGET_AVX10_2))
13029 : return -1;
13030 : return 10786; /* avx10_2_fmaddbf16_v16bf_mask3 */
13031 :
13032 : case 25:
13033 : if (pattern1307 (x2,
13034 : E_QImode,
13035 : E_V8BFmode) != 0)
13036 : return -1;
13037 : x6 = XEXP (x2, 1);
13038 : if (rtx_equal_p (x6, operands[1])
13039 : &&
13040 : #line 33607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13041 : (TARGET_AVX10_2))
13042 : return 10784; /* avx10_2_fmaddbf16_v8bf_mask */
13043 : if (!rtx_equal_p (x6, operands[3])
13044 : || !
13045 : #line 33624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13046 : (TARGET_AVX10_2))
13047 : return -1;
13048 : return 10787; /* avx10_2_fmaddbf16_v8bf_mask3 */
13049 :
13050 : case 26:
13051 : if (pattern1396 (x2,
13052 : E_V8HFmode) != 0
13053 : || !(
13054 : #line 6996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13055 : (TARGET_FMA || TARGET_AVX512F) &&
13056 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13057 : (TARGET_AVX512FP16)))
13058 : return -1;
13059 : return 4270; /* *fmai_fmadd_v8hf */
13060 :
13061 : case 27:
13062 : if (pattern1396 (x2,
13063 : E_V4SFmode) != 0
13064 : || !
13065 : #line 6996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13066 : (TARGET_FMA || TARGET_AVX512F))
13067 : return -1;
13068 : return 4272; /* *fmai_fmadd_v4sf */
13069 :
13070 : case 28:
13071 : if (pattern1396 (x2,
13072 : E_V2DFmode) != 0
13073 : || !(
13074 : #line 6996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13075 : (TARGET_FMA || TARGET_AVX512F) &&
13076 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13077 : (TARGET_SSE2)))
13078 : return -1;
13079 : return 4274; /* *fmai_fmadd_v2df */
13080 :
13081 : case 29:
13082 : return recog_164 (x1, insn, pnum_clobbers);
13083 :
13084 : default:
13085 : return -1;
13086 : }
13087 :
13088 : case NEG:
13089 : return recog_166 (x1, insn, pnum_clobbers);
13090 :
13091 : default:
13092 : return -1;
13093 : }
13094 : }
13095 :
13096 : int
13097 : recog_196 (rtx x1 ATTRIBUTE_UNUSED,
13098 : rtx_insn *insn ATTRIBUTE_UNUSED,
13099 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13100 : {
13101 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13102 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13103 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
13104 : int res ATTRIBUTE_UNUSED;
13105 : x2 = XEXP (x1, 1);
13106 : x3 = XEXP (x2, 0);
13107 : x4 = XEXP (x3, 0);
13108 : switch (GET_CODE (x4))
13109 : {
13110 : case REG:
13111 : case SUBREG:
13112 : switch (pattern146 (x2))
13113 : {
13114 : case 0:
13115 : if (!
13116 : #line 15852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13117 : (TARGET_AVX512F))
13118 : return -1;
13119 : return 7328; /* avx512f_truncatev16siv16qi2_mask */
13120 :
13121 : case 1:
13122 : if (!(
13123 : #line 16024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13124 : (TARGET_AVX512VL) &&
13125 : #line 15941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13126 : (TARGET_AVX512BW)))
13127 : return -1;
13128 : return 7364; /* avx512vl_truncatev16hiv16qi2_mask */
13129 :
13130 : case 2:
13131 : if (!
13132 : #line 15852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13133 : (TARGET_AVX512F))
13134 : return -1;
13135 : return 7331; /* avx512f_truncatev16siv16hi2_mask */
13136 :
13137 : case 3:
13138 : if (!
13139 : #line 15852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13140 : (TARGET_AVX512F))
13141 : return -1;
13142 : return 7334; /* avx512f_truncatev8div8si2_mask */
13143 :
13144 : case 4:
13145 : if (!
13146 : #line 15852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13147 : (TARGET_AVX512F))
13148 : return -1;
13149 : return 7337; /* avx512f_truncatev8div8hi2_mask */
13150 :
13151 : case 5:
13152 : if (!
13153 : #line 16024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13154 : (TARGET_AVX512VL))
13155 : return -1;
13156 : return 7361; /* avx512vl_truncatev8siv8hi2_mask */
13157 :
13158 : case 6:
13159 : if (!
13160 : #line 15924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13161 : (TARGET_AVX512BW))
13162 : return -1;
13163 : return 7344; /* avx512bw_truncatev32hiv32qi2_mask */
13164 :
13165 : case 7:
13166 : if (!
13167 : #line 16024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13168 : (TARGET_AVX512VL))
13169 : return -1;
13170 : return 7358; /* avx512vl_truncatev4div4si2_mask */
13171 :
13172 : default:
13173 : return -1;
13174 : }
13175 :
13176 : case LSHIFTRT:
13177 : x5 = XEXP (x4, 1);
13178 : if (GET_CODE (x5) != CONST_INT)
13179 : return -1;
13180 : x6 = XEXP (x4, 0);
13181 : switch (GET_CODE (x6))
13182 : {
13183 : case MULT:
13184 : if (XWINT (x5, 0) != 16L)
13185 : return -1;
13186 : x7 = XEXP (x2, 1);
13187 : operands[3] = x7;
13188 : x8 = XEXP (x2, 2);
13189 : operands[4] = x8;
13190 : x9 = XEXP (x6, 0);
13191 : switch (GET_CODE (x9))
13192 : {
13193 : case SIGN_EXTEND:
13194 : switch (pattern1140 (x2,
13195 : SIGN_EXTEND))
13196 : {
13197 : case 0:
13198 : if (!(
13199 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13200 : (TARGET_AVX512F) && (
13201 : #line 17174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13202 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13203 : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13204 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13205 : (TARGET_AVX512BW))))
13206 : return -1;
13207 : return 7676; /* *smulv32hi3_highpart_mask */
13208 :
13209 : case 1:
13210 : if (!(
13211 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13212 : (TARGET_AVX512F) && (
13213 : #line 17174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13214 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13215 : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13216 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13217 : (TARGET_AVX2))))
13218 : return -1;
13219 : return 7680; /* *smulv16hi3_highpart_mask */
13220 :
13221 : case 2:
13222 : if (!(
13223 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13224 : (TARGET_AVX512F) &&
13225 : #line 17174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13226 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13227 : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
13228 : return -1;
13229 : return 7684; /* *smulv8hi3_highpart_mask */
13230 :
13231 : default:
13232 : return -1;
13233 : }
13234 :
13235 : case ZERO_EXTEND:
13236 : switch (pattern1140 (x2,
13237 : ZERO_EXTEND))
13238 : {
13239 : case 0:
13240 : if (!(
13241 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13242 : (TARGET_AVX512F) && (
13243 : #line 17174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13244 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13245 : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13246 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13247 : (TARGET_AVX512BW))))
13248 : return -1;
13249 : return 7678; /* *umulv32hi3_highpart_mask */
13250 :
13251 : case 1:
13252 : if (!(
13253 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13254 : (TARGET_AVX512F) && (
13255 : #line 17174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13256 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13257 : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13258 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13259 : (TARGET_AVX2))))
13260 : return -1;
13261 : return 7682; /* *umulv16hi3_highpart_mask */
13262 :
13263 : case 2:
13264 : if (!(
13265 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13266 : (TARGET_AVX512F) &&
13267 : #line 17174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13268 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13269 : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
13270 : return -1;
13271 : return 7686; /* *umulv8hi3_highpart_mask */
13272 :
13273 : default:
13274 : return -1;
13275 : }
13276 :
13277 : default:
13278 : return -1;
13279 : }
13280 :
13281 : case PLUS:
13282 : if (XWINT (x5, 0) != 1L)
13283 : return -1;
13284 : x9 = XEXP (x6, 0);
13285 : switch (GET_CODE (x9))
13286 : {
13287 : case PLUS:
13288 : x10 = XEXP (x9, 0);
13289 : if (GET_CODE (x10) != ZERO_EXTEND)
13290 : return -1;
13291 : x11 = XEXP (x9, 1);
13292 : if (GET_CODE (x11) != ZERO_EXTEND)
13293 : return -1;
13294 : x12 = XEXP (x10, 0);
13295 : operands[1] = x12;
13296 : x13 = XEXP (x11, 0);
13297 : operands[2] = x13;
13298 : x14 = XEXP (x6, 1);
13299 : operands[5] = x14;
13300 : x7 = XEXP (x2, 1);
13301 : operands[3] = x7;
13302 : x8 = XEXP (x2, 2);
13303 : operands[4] = x8;
13304 : switch (GET_MODE (operands[0]))
13305 : {
13306 : case E_V64QImode:
13307 : if (pattern1570 (x2,
13308 : E_DImode,
13309 : E_V64QImode,
13310 : E_V64HImode) != 0
13311 : || !(
13312 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13313 : (TARGET_AVX512F) && (
13314 : #line 22768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13315 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13316 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13317 : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13318 : (TARGET_AVX512BW))))
13319 : return -1;
13320 : return 8613; /* *avx512bw_uavgv64qi3_mask */
13321 :
13322 : case E_V32QImode:
13323 : if (pattern1570 (x2,
13324 : E_SImode,
13325 : E_V32QImode,
13326 : E_V32HImode) != 0
13327 : || !(
13328 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13329 : (TARGET_AVX512F) && (
13330 : #line 22768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13331 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13332 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13333 : #line 728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13334 : (TARGET_AVX2))))
13335 : return -1;
13336 : return 8615; /* *avx2_uavgv32qi3_mask */
13337 :
13338 : case E_V16QImode:
13339 : if (pattern1570 (x2,
13340 : E_HImode,
13341 : E_V16QImode,
13342 : E_V16HImode) != 0
13343 : || !(
13344 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13345 : (TARGET_AVX512F) &&
13346 : #line 22768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13347 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13348 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13349 : return -1;
13350 : return 8617; /* *sse2_uavgv16qi3_mask */
13351 :
13352 : case E_V32HImode:
13353 : if (pattern1570 (x2,
13354 : E_SImode,
13355 : E_V32HImode,
13356 : E_V32SImode) != 0
13357 : || !(
13358 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13359 : (TARGET_AVX512F) && (
13360 : #line 22768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13361 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13362 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13363 : #line 729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13364 : (TARGET_AVX512BW))))
13365 : return -1;
13366 : return 8619; /* *avx512bw_uavgv32hi3_mask */
13367 :
13368 : case E_V16HImode:
13369 : if (pattern1570 (x2,
13370 : E_HImode,
13371 : E_V16HImode,
13372 : E_V16SImode) != 0
13373 : || !(
13374 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13375 : (TARGET_AVX512F) && (
13376 : #line 22768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13377 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13378 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13379 : #line 729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13380 : (TARGET_AVX2))))
13381 : return -1;
13382 : return 8621; /* *avx2_uavgv16hi3_mask */
13383 :
13384 : case E_V8HImode:
13385 : if (pattern1570 (x2,
13386 : E_QImode,
13387 : E_V8HImode,
13388 : E_V8SImode) != 0
13389 : || !(
13390 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13391 : (TARGET_AVX512F) &&
13392 : #line 22768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13393 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13394 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13395 : return -1;
13396 : return 8623; /* *sse2_uavgv8hi3_mask */
13397 :
13398 : default:
13399 : return -1;
13400 : }
13401 :
13402 : case LSHIFTRT:
13403 : x10 = XEXP (x9, 0);
13404 : if (GET_CODE (x10) != MULT)
13405 : return -1;
13406 : x12 = XEXP (x10, 0);
13407 : if (GET_CODE (x12) != SIGN_EXTEND)
13408 : return -1;
13409 : x15 = XEXP (x10, 1);
13410 : if (GET_CODE (x15) != SIGN_EXTEND)
13411 : return -1;
13412 : x11 = XEXP (x9, 1);
13413 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
13414 : return -1;
13415 : x16 = XEXP (x12, 0);
13416 : operands[1] = x16;
13417 : if (nonimmediate_operand (operands[1], E_V32HImode))
13418 : {
13419 : res = recog_183 (x1, insn, pnum_clobbers);
13420 : if (res >= 0)
13421 : return res;
13422 : }
13423 : x17 = XEXP (x15, 0);
13424 : operands[2] = x17;
13425 : x14 = XEXP (x6, 1);
13426 : operands[3] = x14;
13427 : x7 = XEXP (x2, 1);
13428 : operands[4] = x7;
13429 : x8 = XEXP (x2, 2);
13430 : operands[5] = x8;
13431 : switch (GET_MODE (operands[0]))
13432 : {
13433 : case E_V32HImode:
13434 : if (pattern1674 (x2,
13435 : E_SImode,
13436 : E_V32HImode,
13437 : E_V32SImode) != 0
13438 : || !(
13439 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13440 : (TARGET_AVX512F) && (
13441 : #line 23893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13442 : (TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13443 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13444 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13445 : (TARGET_AVX512BW))))
13446 : return -1;
13447 : return 8736; /* *avx512bw_pmulhrswv32hi3_mask */
13448 :
13449 : case E_V16HImode:
13450 : if (pattern1674 (x2,
13451 : E_HImode,
13452 : E_V16HImode,
13453 : E_V16SImode) != 0
13454 : || !(
13455 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13456 : (TARGET_AVX512F) && (
13457 : #line 23893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13458 : (TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13459 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13460 : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13461 : (TARGET_AVX2))))
13462 : return -1;
13463 : return 8738; /* *avx2_pmulhrswv16hi3_mask */
13464 :
13465 : case E_V8HImode:
13466 : if (pattern1674 (x2,
13467 : E_QImode,
13468 : E_V8HImode,
13469 : E_V8SImode) != 0
13470 : || !(
13471 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13472 : (TARGET_AVX512F) &&
13473 : #line 23893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13474 : (TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13475 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13476 : return -1;
13477 : return 8740; /* *ssse3_pmulhrswv8hi3_mask */
13478 :
13479 : default:
13480 : return -1;
13481 : }
13482 :
13483 : default:
13484 : return -1;
13485 : }
13486 :
13487 : default:
13488 : return -1;
13489 : }
13490 :
13491 : default:
13492 : return -1;
13493 : }
13494 : }
13495 :
13496 : int
13497 : recog_209 (rtx x1 ATTRIBUTE_UNUSED,
13498 : rtx_insn *insn ATTRIBUTE_UNUSED,
13499 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13500 : {
13501 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13502 : rtx x2, x3, x4, x5, x6, x7;
13503 : int res ATTRIBUTE_UNUSED;
13504 : x2 = XEXP (x1, 1);
13505 : x3 = XEXP (x2, 0);
13506 : x4 = XEXP (x3, 0);
13507 : operands[1] = x4;
13508 : x5 = XEXP (x3, 1);
13509 : operands[2] = x5;
13510 : x6 = XEXP (x2, 2);
13511 : switch (GET_CODE (x6))
13512 : {
13513 : case CONST_INT:
13514 : switch (pattern138 (x2))
13515 : {
13516 : case 0:
13517 : if (!(
13518 : #line 2830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13519 : (TARGET_SSE) &&
13520 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13521 : (TARGET_AVX512FP16)))
13522 : return -1;
13523 : return 2906; /* avx512fp16_vmdivv8hf3 */
13524 :
13525 : case 1:
13526 : if (!
13527 : #line 2830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13528 : (TARGET_SSE))
13529 : return -1;
13530 : return 2914; /* sse_vmdivv4sf3 */
13531 :
13532 : case 2:
13533 : if (!(
13534 : #line 2830 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13535 : (TARGET_SSE) &&
13536 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13537 : (TARGET_SSE2)))
13538 : return -1;
13539 : return 2922; /* sse2_vmdivv2df3 */
13540 :
13541 : default:
13542 : return -1;
13543 : }
13544 :
13545 : case REG:
13546 : case SUBREG:
13547 : operands[4] = x6;
13548 : x7 = XEXP (x2, 1);
13549 : operands[3] = x7;
13550 : switch (GET_MODE (operands[0]))
13551 : {
13552 : case E_V32HFmode:
13553 : if (pattern1025 (x2,
13554 : E_V32HFmode,
13555 : E_SImode) != 0
13556 : || !(
13557 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13558 : (TARGET_AVX512F) && (
13559 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13560 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13561 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13562 : (TARGET_AVX512FP16))))
13563 : return -1;
13564 : return 2928; /* avx512fp16_divv32hf3_mask */
13565 :
13566 : case E_V16HFmode:
13567 : if (pattern1025 (x2,
13568 : E_V16HFmode,
13569 : E_HImode) != 0
13570 : || !(
13571 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13572 : (TARGET_AVX512F) && (
13573 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13574 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13575 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13576 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13577 : return -1;
13578 : return 2931; /* avx512fp16_divv16hf3_mask */
13579 :
13580 : case E_V8HFmode:
13581 : if (pattern1025 (x2,
13582 : E_V8HFmode,
13583 : E_QImode) != 0
13584 : || !(
13585 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13586 : (TARGET_AVX512F) && (
13587 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13588 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13589 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13590 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13591 : return -1;
13592 : return 2933; /* avx512fp16_divv8hf3_mask */
13593 :
13594 : case E_V16SFmode:
13595 : if (pattern1025 (x2,
13596 : E_V16SFmode,
13597 : E_HImode) != 0
13598 : || !(
13599 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13600 : (TARGET_AVX512F) && (
13601 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13602 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13603 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13604 : (TARGET_AVX512F))))
13605 : return -1;
13606 : return 2936; /* avx512f_divv16sf3_mask */
13607 :
13608 : case E_V8SFmode:
13609 : if (pattern1025 (x2,
13610 : E_V8SFmode,
13611 : E_QImode) != 0
13612 : || !(
13613 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13614 : (TARGET_AVX512F) && (
13615 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13616 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13617 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13618 : (TARGET_AVX))))
13619 : return -1;
13620 : return 2939; /* avx_divv8sf3_mask */
13621 :
13622 : case E_V4SFmode:
13623 : if (pattern1025 (x2,
13624 : E_V4SFmode,
13625 : E_QImode) != 0
13626 : || !(
13627 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13628 : (TARGET_AVX512F) &&
13629 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13630 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1)))
13631 : return -1;
13632 : return 2941; /* sse_divv4sf3_mask */
13633 :
13634 : case E_V8DFmode:
13635 : if (pattern1025 (x2,
13636 : E_V8DFmode,
13637 : E_QImode) != 0
13638 : || !(
13639 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13640 : (TARGET_AVX512F) && (
13641 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13642 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13643 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13644 : (TARGET_AVX512F))))
13645 : return -1;
13646 : return 2944; /* avx512f_divv8df3_mask */
13647 :
13648 : case E_V4DFmode:
13649 : if (pattern1025 (x2,
13650 : E_V4DFmode,
13651 : E_QImode) != 0
13652 : || !(
13653 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13654 : (TARGET_AVX512F) && (
13655 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13656 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13657 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13658 : (TARGET_AVX))))
13659 : return -1;
13660 : return 2947; /* avx_divv4df3_mask */
13661 :
13662 : case E_V2DFmode:
13663 : if (pattern1025 (x2,
13664 : E_V2DFmode,
13665 : E_QImode) != 0
13666 : || !(
13667 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13668 : (TARGET_AVX512F) && (
13669 : #line 2928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13670 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13671 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13672 : (TARGET_SSE2))))
13673 : return -1;
13674 : return 2949; /* sse2_divv2df3_mask */
13675 :
13676 : case E_V32BFmode:
13677 : if (pattern136 (x2,
13678 : E_V32BFmode,
13679 : E_SImode) != 0
13680 : || !(
13681 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13682 : (TARGET_AVX512F) &&
13683 : #line 33564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13684 : (TARGET_AVX10_2)))
13685 : return -1;
13686 : return 10759; /* avx10_2_divbf16_v32bf_mask */
13687 :
13688 : case E_V16BFmode:
13689 : if (pattern136 (x2,
13690 : E_V16BFmode,
13691 : E_HImode) != 0
13692 : || !(
13693 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13694 : (TARGET_AVX512F) &&
13695 : #line 33564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13696 : (TARGET_AVX10_2)))
13697 : return -1;
13698 : return 10767; /* avx10_2_divbf16_v16bf_mask */
13699 :
13700 : case E_V8BFmode:
13701 : if (pattern136 (x2,
13702 : E_V8BFmode,
13703 : E_QImode) != 0
13704 : || !(
13705 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13706 : (TARGET_AVX512F) &&
13707 : #line 33564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13708 : (TARGET_AVX10_2)))
13709 : return -1;
13710 : return 10775; /* avx10_2_divbf16_v8bf_mask */
13711 :
13712 : default:
13713 : return -1;
13714 : }
13715 :
13716 : default:
13717 : return -1;
13718 : }
13719 : }
13720 :
13721 : int
13722 : recog_217 (rtx x1 ATTRIBUTE_UNUSED,
13723 : rtx_insn *insn ATTRIBUTE_UNUSED,
13724 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13725 : {
13726 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13727 : rtx x2;
13728 : int res ATTRIBUTE_UNUSED;
13729 : x2 = XEXP (x1, 1);
13730 : switch (pattern328 (x2))
13731 : {
13732 : case 0:
13733 : if (!register_operand (operands[0], E_V32HImode)
13734 : || GET_MODE (x2) != E_V32HImode
13735 : || !vector_operand (operands[1], E_V32HFmode)
13736 : || !
13737 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13738 : (TARGET_AVX512FP16))
13739 : return -1;
13740 : return 4458; /* avx512fp16_vcvtph2uw_v32hi */
13741 :
13742 : case 1:
13743 : if (!register_operand (operands[0], E_V16SImode)
13744 : || GET_MODE (x2) != E_V16SImode)
13745 : return -1;
13746 : switch (GET_MODE (operands[1]))
13747 : {
13748 : case E_V16HFmode:
13749 : if (!vector_operand (operands[1], E_V16HFmode)
13750 : || !
13751 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13752 : (TARGET_AVX512FP16))
13753 : return -1;
13754 : return 4466; /* avx512fp16_vcvtph2udq_v16si */
13755 :
13756 : case E_V16SFmode:
13757 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
13758 : || !
13759 : #line 9198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13760 : (TARGET_AVX512F))
13761 : return -1;
13762 : return 4911; /* *avx512f_fixuns_notruncv16sfv16si */
13763 :
13764 : default:
13765 : return -1;
13766 : }
13767 :
13768 : case 2:
13769 : switch (pattern785 (x2,
13770 : E_V8DImode))
13771 : {
13772 : case 0:
13773 : if (!
13774 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13775 : (TARGET_AVX512FP16))
13776 : return -1;
13777 : return 4474; /* avx512fp16_vcvtph2uqq_v8di */
13778 :
13779 : case 1:
13780 : if (!
13781 : #line 9256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13782 : (TARGET_AVX512DQ && 1))
13783 : return -1;
13784 : return 4931; /* *avx512dq_cvtps2uqqv8di */
13785 :
13786 : case 2:
13787 : if (!
13788 : #line 10395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13789 : (TARGET_AVX512DQ && 1))
13790 : return -1;
13791 : return 5176; /* fixuns_notruncv8dfv8di2 */
13792 :
13793 : default:
13794 : return -1;
13795 : }
13796 :
13797 : case 3:
13798 : if (!register_operand (operands[0], E_V16HImode)
13799 : || GET_MODE (x2) != E_V16HImode
13800 : || !vector_operand (operands[1], E_V16HFmode)
13801 : || !(
13802 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13803 : (TARGET_AVX512FP16) &&
13804 : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13805 : (TARGET_AVX512VL)))
13806 : return -1;
13807 : return 4482; /* avx512fp16_vcvtph2uw_v16hi */
13808 :
13809 : case 4:
13810 : switch (pattern785 (x2,
13811 : E_V8SImode))
13812 : {
13813 : case 0:
13814 : if (!(
13815 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13816 : (TARGET_AVX512FP16) &&
13817 : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13818 : (TARGET_AVX512VL)))
13819 : return -1;
13820 : return 4490; /* avx512fp16_vcvtph2udq_v8si */
13821 :
13822 : case 1:
13823 : if (!(
13824 : #line 9198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13825 : (TARGET_AVX512F) &&
13826 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13827 : (TARGET_AVX512VL)))
13828 : return -1;
13829 : return 4915; /* *avx512vl_fixuns_notruncv8sfv8si */
13830 :
13831 : case 2:
13832 : if (!
13833 : #line 10176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13834 : (TARGET_AVX512F))
13835 : return -1;
13836 : return 5096; /* fixuns_notruncv8dfv8si2 */
13837 :
13838 : default:
13839 : return -1;
13840 : }
13841 :
13842 : case 5:
13843 : switch (pattern786 (x2,
13844 : E_V4DImode))
13845 : {
13846 : case 0:
13847 : if (!(
13848 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13849 : (TARGET_AVX512FP16) &&
13850 : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13851 : (TARGET_AVX512VL)))
13852 : return -1;
13853 : return 4498; /* avx512fp16_vcvtph2uqq_v4di */
13854 :
13855 : case 1:
13856 : if (!(
13857 : #line 9256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13858 : (TARGET_AVX512DQ && 1) &&
13859 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13860 : (TARGET_AVX512VL)))
13861 : return -1;
13862 : return 4935; /* *avx512dq_cvtps2uqqv4di */
13863 :
13864 : case 2:
13865 : if (!(
13866 : #line 10395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13867 : (TARGET_AVX512DQ && 1) &&
13868 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13869 : (TARGET_AVX512VL)))
13870 : return -1;
13871 : return 5180; /* fixuns_notruncv4dfv4di2 */
13872 :
13873 : default:
13874 : return -1;
13875 : }
13876 :
13877 : case 6:
13878 : if (!register_operand (operands[0], E_V8HImode)
13879 : || GET_MODE (x2) != E_V8HImode
13880 : || !vector_operand (operands[1], E_V8HFmode)
13881 : || !(
13882 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13883 : (TARGET_AVX512FP16) &&
13884 : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13885 : (TARGET_AVX512VL)))
13886 : return -1;
13887 : return 4506; /* avx512fp16_vcvtph2uw_v8hi */
13888 :
13889 : case 7:
13890 : switch (pattern786 (x2,
13891 : E_V4SImode))
13892 : {
13893 : case 0:
13894 : if (!(
13895 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13896 : (TARGET_AVX512FP16) &&
13897 : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13898 : (TARGET_AVX512VL)))
13899 : return -1;
13900 : return 4514; /* avx512fp16_vcvtph2udq_v4si */
13901 :
13902 : case 1:
13903 : if (!(
13904 : #line 9198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13905 : (TARGET_AVX512F) &&
13906 : #line 664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13907 : (TARGET_AVX512VL)))
13908 : return -1;
13909 : return 4919; /* *avx512vl_fixuns_notruncv4sfv4si */
13910 :
13911 : case 2:
13912 : if (!(
13913 : #line 10176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13914 : (TARGET_AVX512F) &&
13915 : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13916 : (TARGET_AVX512VL)))
13917 : return -1;
13918 : return 5100; /* fixuns_notruncv4dfv4si2 */
13919 :
13920 : default:
13921 : return -1;
13922 : }
13923 :
13924 : case 8:
13925 : if (!register_operand (operands[0], E_V2DImode)
13926 : || GET_MODE (x2) != E_V2DImode)
13927 : return -1;
13928 : switch (GET_MODE (operands[1]))
13929 : {
13930 : case E_V8HFmode:
13931 : if (!vector_operand (operands[1], E_V8HFmode)
13932 : || !(
13933 : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13934 : (TARGET_AVX512FP16) &&
13935 : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13936 : (TARGET_AVX512VL)))
13937 : return -1;
13938 : return 4522; /* avx512fp16_vcvtph2uqq_v2di */
13939 :
13940 : case E_V2DFmode:
13941 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
13942 : || !(
13943 : #line 10395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13944 : (TARGET_AVX512DQ && 1) &&
13945 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13946 : (TARGET_AVX512VL)))
13947 : return -1;
13948 : return 5182; /* fixuns_notruncv2dfv2di2 */
13949 :
13950 : default:
13951 : return -1;
13952 : }
13953 :
13954 : case 9:
13955 : if (!
13956 : #line 9269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13957 : (TARGET_AVX512DQ && TARGET_AVX512VL))
13958 : return -1;
13959 : return 4937; /* *avx512dq_cvtps2uqqv2di */
13960 :
13961 : default:
13962 : return -1;
13963 : }
13964 : }
13965 :
13966 : int
13967 : recog_231 (rtx x1 ATTRIBUTE_UNUSED,
13968 : rtx_insn *insn ATTRIBUTE_UNUSED,
13969 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13970 : {
13971 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13972 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13973 : rtx x10, x11;
13974 : int res ATTRIBUTE_UNUSED;
13975 : x2 = XEXP (x1, 1);
13976 : x3 = XVECEXP (x2, 0, 0);
13977 : x4 = XEXP (x3, 0);
13978 : switch (XVECLEN (x4, 0))
13979 : {
13980 : case 2:
13981 : return recog_226 (x1, insn, pnum_clobbers);
13982 :
13983 : case 3:
13984 : x5 = XVECEXP (x4, 0, 0);
13985 : operands[1] = x5;
13986 : x6 = XVECEXP (x4, 0, 1);
13987 : operands[2] = x6;
13988 : switch (XINT (x4, 1))
13989 : {
13990 : case 193:
13991 : x7 = XEXP (x3, 2);
13992 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13993 : return -1;
13994 : x8 = XVECEXP (x4, 0, 2);
13995 : operands[3] = x8;
13996 : if (!const_0_to_255_operand (operands[3], E_SImode))
13997 : return -1;
13998 : switch (pattern1426 (x2))
13999 : {
14000 : case 0:
14001 : if (!(
14002 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14003 : (TARGET_AVX512F) && (
14004 : #line 4306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14005 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
14006 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14007 : (TARGET_AVX512FP16))))
14008 : return -1;
14009 : return 3280; /* reducesv8hf_round */
14010 :
14011 : case 1:
14012 : if (!(
14013 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14014 : (TARGET_AVX512F) &&
14015 : #line 4306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14016 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode)))))
14017 : return -1;
14018 : return 3284; /* reducesv4sf_round */
14019 :
14020 : case 2:
14021 : if (!(
14022 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14023 : (TARGET_AVX512F) && (
14024 : #line 4306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14025 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
14026 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14027 : (TARGET_SSE2))))
14028 : return -1;
14029 : return 3288; /* reducesv2df_round */
14030 :
14031 : default:
14032 : return -1;
14033 : }
14034 :
14035 : case 134:
14036 : return recog_225 (x1, insn, pnum_clobbers);
14037 :
14038 : case 218:
14039 : switch (pattern1148 (x2))
14040 : {
14041 : case 0:
14042 : if (!(
14043 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14044 : (TARGET_AVX512F) &&
14045 : #line 7560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14046 : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14047 : || V32HFmode == V8DFmode
14048 : || V32HFmode == V8DImode
14049 : || V32HFmode == V16SImode
14050 : || V32HFmode == V32HFmode))))
14051 : return -1;
14052 : return 4377; /* fma_fmaddc_v32hf_maskz_1_round */
14053 :
14054 : case 1:
14055 : if (!(
14056 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14057 : (TARGET_AVX512F) &&
14058 : #line 7698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14059 : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
14060 : || V32HFmode == V8DFmode
14061 : || V32HFmode == V8DImode
14062 : || V32HFmode == V16SImode
14063 : || V32HFmode == V32HFmode))))
14064 : return -1;
14065 : return 4415; /* avx512bw_fmaddc_v32hf_mask_round */
14066 :
14067 : case 2:
14068 : if (!(
14069 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14070 : (TARGET_AVX512F) &&
14071 : #line 7887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14072 : (TARGET_AVX512FP16)))
14073 : return -1;
14074 : return 4440; /* avx512fp16_fma_fmaddcsh_v8hf_round */
14075 :
14076 : default:
14077 : return -1;
14078 : }
14079 :
14080 : case 220:
14081 : switch (pattern1148 (x2))
14082 : {
14083 : case 0:
14084 : if (!(
14085 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14086 : (TARGET_AVX512F) &&
14087 : #line 7560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14088 : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14089 : || V32HFmode == V8DFmode
14090 : || V32HFmode == V8DImode
14091 : || V32HFmode == V16SImode
14092 : || V32HFmode == V32HFmode))))
14093 : return -1;
14094 : return 4381; /* fma_fcmaddc_v32hf_maskz_1_round */
14095 :
14096 : case 1:
14097 : if (!(
14098 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14099 : (TARGET_AVX512F) &&
14100 : #line 7698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14101 : (TARGET_AVX512FP16 && (V32HFmode == V16SFmode
14102 : || V32HFmode == V8DFmode
14103 : || V32HFmode == V8DImode
14104 : || V32HFmode == V16SImode
14105 : || V32HFmode == V32HFmode))))
14106 : return -1;
14107 : return 4417; /* avx512bw_fcmaddc_v32hf_mask_round */
14108 :
14109 : case 2:
14110 : if (!(
14111 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14112 : (TARGET_AVX512F) &&
14113 : #line 7887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14114 : (TARGET_AVX512FP16)))
14115 : return -1;
14116 : return 4444; /* avx512fp16_fma_fcmaddcsh_v8hf_round */
14117 :
14118 : default:
14119 : return -1;
14120 : }
14121 :
14122 : case 195:
14123 : x8 = XVECEXP (x4, 0, 2);
14124 : operands[3] = x8;
14125 : if (!const_0_to_15_operand (operands[3], E_SImode))
14126 : return -1;
14127 : x9 = XVECEXP (x2, 0, 1);
14128 : if (!const48_operand (x9, E_SImode))
14129 : return -1;
14130 : x7 = XEXP (x3, 2);
14131 : switch (GET_CODE (x7))
14132 : {
14133 : case REG:
14134 : case SUBREG:
14135 : operands[5] = x7;
14136 : x10 = XEXP (x3, 1);
14137 : operands[4] = x10;
14138 : operands[6] = x9;
14139 : switch (GET_MODE (operands[0]))
14140 : {
14141 : case E_V16SFmode:
14142 : if (pattern1679 (x2,
14143 : E_V16SFmode,
14144 : E_HImode) != 0
14145 : || !(
14146 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14147 : (TARGET_AVX512F) && (
14148 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14149 : (TARGET_AVX512F) &&
14150 : #line 31233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14151 : (TARGET_AVX512DQ && (V16SFmode == V16SFmode
14152 : || V16SFmode == V8DFmode
14153 : || V16SFmode == V8DImode
14154 : || V16SFmode == V16SImode
14155 : || V16SFmode == V32HFmode)))))
14156 : return -1;
14157 : return 10109; /* avx512dq_rangepv16sf_mask_round */
14158 :
14159 : case E_V8DFmode:
14160 : if (pattern1679 (x2,
14161 : E_V8DFmode,
14162 : E_QImode) != 0
14163 : || !(
14164 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14165 : (TARGET_AVX512F) && (
14166 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14167 : (TARGET_AVX512F) &&
14168 : #line 31233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14169 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14170 : || V8DFmode == V8DFmode
14171 : || V8DFmode == V8DImode
14172 : || V8DFmode == V16SImode
14173 : || V8DFmode == V32HFmode)))))
14174 : return -1;
14175 : return 10117; /* avx512dq_rangepv8df_mask_round */
14176 :
14177 : default:
14178 : return -1;
14179 : }
14180 :
14181 : case CONST_INT:
14182 : if (XWINT (x7, 0) != 1L)
14183 : return -1;
14184 : operands[4] = x9;
14185 : x10 = XEXP (x3, 1);
14186 : if (!rtx_equal_p (x10, operands[1]))
14187 : return -1;
14188 : switch (GET_MODE (operands[0]))
14189 : {
14190 : case E_V4SFmode:
14191 : if (pattern1424 (x2,
14192 : E_V4SFmode) != 0
14193 : || !(
14194 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14195 : (TARGET_AVX512F) &&
14196 : #line 31256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14197 : (TARGET_AVX512DQ)))
14198 : return -1;
14199 : return 10124; /* avx512dq_rangesv4sf_round */
14200 :
14201 : case E_V2DFmode:
14202 : if (pattern1424 (x2,
14203 : E_V2DFmode) != 0
14204 : || !(
14205 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14206 : (TARGET_AVX512F) && (
14207 : #line 31256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14208 : (TARGET_AVX512DQ) &&
14209 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14210 : (TARGET_SSE2))))
14211 : return -1;
14212 : return 10128; /* avx512dq_rangesv2df_round */
14213 :
14214 : default:
14215 : return -1;
14216 : }
14217 :
14218 : default:
14219 : return -1;
14220 : }
14221 :
14222 : case 167:
14223 : x7 = XEXP (x3, 2);
14224 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14225 : return -1;
14226 : x8 = XVECEXP (x4, 0, 2);
14227 : operands[3] = x8;
14228 : if (!const_0_to_15_operand (operands[3], E_SImode))
14229 : return -1;
14230 : switch (pattern1426 (x2))
14231 : {
14232 : case 0:
14233 : if (!(
14234 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14235 : (TARGET_AVX512F) && (
14236 : #line 31324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14237 : (TARGET_AVX512F) &&
14238 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14239 : (TARGET_AVX512FP16))))
14240 : return -1;
14241 : return 10192; /* avx512f_vgetmantv8hf_round */
14242 :
14243 : case 1:
14244 : if (!
14245 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14246 : (TARGET_AVX512F))
14247 : return -1;
14248 : return 10196; /* avx512f_vgetmantv4sf_round */
14249 :
14250 : case 2:
14251 : if (!(
14252 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14253 : (TARGET_AVX512F) && (
14254 : #line 31324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14255 : (TARGET_AVX512F) &&
14256 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14257 : (TARGET_SSE2))))
14258 : return -1;
14259 : return 10200; /* avx512f_vgetmantv2df_round */
14260 :
14261 : default:
14262 : return -1;
14263 : }
14264 :
14265 : case 279:
14266 : x8 = XVECEXP (x4, 0, 2);
14267 : operands[3] = x8;
14268 : if (!const_0_to_255_operand (operands[3], E_SImode))
14269 : return -1;
14270 : x9 = XVECEXP (x2, 0, 1);
14271 : if (!const48_operand (x9, E_SImode))
14272 : return -1;
14273 : x7 = XEXP (x3, 2);
14274 : switch (GET_CODE (x7))
14275 : {
14276 : case REG:
14277 : case SUBREG:
14278 : operands[5] = x7;
14279 : x10 = XEXP (x3, 1);
14280 : operands[4] = x10;
14281 : operands[6] = x9;
14282 : switch (GET_MODE (operands[0]))
14283 : {
14284 : case E_V32HFmode:
14285 : if (pattern1679 (x2,
14286 : E_V32HFmode,
14287 : E_SImode) != 0
14288 : || !(
14289 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14290 : (TARGET_AVX512F) && (
14291 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14292 : (TARGET_AVX512F) && (
14293 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14294 : (TARGET_AVX10_2) &&
14295 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14296 : (TARGET_AVX512FP16)))))
14297 : return -1;
14298 : return 11063; /* avx10_2_minmaxpv32hf_mask_round */
14299 :
14300 : case E_V16HFmode:
14301 : if (pattern1679 (x2,
14302 : E_V16HFmode,
14303 : E_HImode) != 0
14304 : || !(
14305 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14306 : (TARGET_AVX512F) && (
14307 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14308 : (TARGET_AVX512F) && (
14309 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14310 : (TARGET_AVX10_2) &&
14311 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14312 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14313 : return -1;
14314 : return 11067; /* avx10_2_minmaxpv16hf_mask_round */
14315 :
14316 : case E_V8HFmode:
14317 : if (pattern1679 (x2,
14318 : E_V8HFmode,
14319 : E_QImode) != 0
14320 : || !(
14321 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14322 : (TARGET_AVX512F) && (
14323 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14324 : (TARGET_AVX512F) && (
14325 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14326 : (TARGET_AVX10_2) &&
14327 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14328 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14329 : return -1;
14330 : return 11071; /* avx10_2_minmaxpv8hf_mask_round */
14331 :
14332 : case E_V16SFmode:
14333 : if (pattern1679 (x2,
14334 : E_V16SFmode,
14335 : E_HImode) != 0
14336 : || !(
14337 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14338 : (TARGET_AVX512F) && (
14339 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14340 : (TARGET_AVX512F) &&
14341 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14342 : (TARGET_AVX10_2))))
14343 : return -1;
14344 : return 11075; /* avx10_2_minmaxpv16sf_mask_round */
14345 :
14346 : case E_V8SFmode:
14347 : if (pattern1679 (x2,
14348 : E_V8SFmode,
14349 : E_QImode) != 0
14350 : || !(
14351 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14352 : (TARGET_AVX512F) && (
14353 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14354 : (TARGET_AVX512F) && (
14355 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14356 : (TARGET_AVX10_2) &&
14357 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14358 : (TARGET_AVX512VL)))))
14359 : return -1;
14360 : return 11079; /* avx10_2_minmaxpv8sf_mask_round */
14361 :
14362 : case E_V4SFmode:
14363 : if (pattern1679 (x2,
14364 : E_V4SFmode,
14365 : E_QImode) != 0
14366 : || !(
14367 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14368 : (TARGET_AVX512F) && (
14369 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14370 : (TARGET_AVX512F) && (
14371 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14372 : (TARGET_AVX10_2) &&
14373 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14374 : (TARGET_AVX512VL)))))
14375 : return -1;
14376 : return 11083; /* avx10_2_minmaxpv4sf_mask_round */
14377 :
14378 : case E_V8DFmode:
14379 : if (pattern1679 (x2,
14380 : E_V8DFmode,
14381 : E_QImode) != 0
14382 : || !(
14383 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14384 : (TARGET_AVX512F) && (
14385 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14386 : (TARGET_AVX512F) &&
14387 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14388 : (TARGET_AVX10_2))))
14389 : return -1;
14390 : return 11087; /* avx10_2_minmaxpv8df_mask_round */
14391 :
14392 : case E_V4DFmode:
14393 : if (pattern1679 (x2,
14394 : E_V4DFmode,
14395 : E_QImode) != 0
14396 : || !(
14397 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14398 : (TARGET_AVX512F) && (
14399 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14400 : (TARGET_AVX512F) && (
14401 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14402 : (TARGET_AVX10_2) &&
14403 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14404 : (TARGET_AVX512VL)))))
14405 : return -1;
14406 : return 11091; /* avx10_2_minmaxpv4df_mask_round */
14407 :
14408 : case E_V2DFmode:
14409 : if (pattern1679 (x2,
14410 : E_V2DFmode,
14411 : E_QImode) != 0
14412 : || !(
14413 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14414 : (TARGET_AVX512F) && (
14415 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14416 : (TARGET_AVX512F) && (
14417 : #line 34122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14418 : (TARGET_AVX10_2) &&
14419 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14420 : (TARGET_AVX512VL)))))
14421 : return -1;
14422 : return 11095; /* avx10_2_minmaxpv2df_mask_round */
14423 :
14424 : default:
14425 : return -1;
14426 : }
14427 :
14428 : case CONST_INT:
14429 : if (XWINT (x7, 0) != 1L)
14430 : return -1;
14431 : operands[4] = x9;
14432 : switch (pattern1425 (x2))
14433 : {
14434 : case 0:
14435 : if (!(
14436 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14437 : (TARGET_AVX512F) && (
14438 : #line 34137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14439 : (TARGET_AVX10_2) &&
14440 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14441 : (TARGET_AVX512FP16))))
14442 : return -1;
14443 : return 11098; /* avx10_2_minmaxsv8hf_round */
14444 :
14445 : case 1:
14446 : if (!(
14447 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14448 : (TARGET_AVX512F) &&
14449 : #line 34137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14450 : (TARGET_AVX10_2)))
14451 : return -1;
14452 : return 11102; /* avx10_2_minmaxsv4sf_round */
14453 :
14454 : case 2:
14455 : if (!(
14456 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14457 : (TARGET_AVX512F) && (
14458 : #line 34137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14459 : (TARGET_AVX10_2) &&
14460 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14461 : (TARGET_SSE2))))
14462 : return -1;
14463 : return 11106; /* avx10_2_minmaxsv2df_round */
14464 :
14465 : default:
14466 : return -1;
14467 : }
14468 :
14469 : default:
14470 : return -1;
14471 : }
14472 :
14473 : default:
14474 : return -1;
14475 : }
14476 :
14477 : case 1:
14478 : return recog_227 (x1, insn, pnum_clobbers);
14479 :
14480 : case 4:
14481 : if (XINT (x4, 1) != 164)
14482 : return -1;
14483 : x5 = XVECEXP (x4, 0, 0);
14484 : operands[1] = x5;
14485 : x6 = XVECEXP (x4, 0, 1);
14486 : operands[2] = x6;
14487 : x8 = XVECEXP (x4, 0, 2);
14488 : operands[3] = x8;
14489 : x11 = XVECEXP (x4, 0, 3);
14490 : operands[4] = x11;
14491 : if (!const_0_to_255_operand (operands[4], E_SImode))
14492 : return -1;
14493 : x9 = XVECEXP (x2, 0, 1);
14494 : if (!const48_operand (x9, E_SImode))
14495 : return -1;
14496 : x10 = XEXP (x3, 1);
14497 : switch (GET_CODE (x10))
14498 : {
14499 : case CONST_INT:
14500 : case CONST_DOUBLE:
14501 : case CONST_VECTOR:
14502 : operands[5] = x10;
14503 : x7 = XEXP (x3, 2);
14504 : operands[6] = x7;
14505 : operands[7] = x9;
14506 : switch (GET_MODE (operands[0]))
14507 : {
14508 : case E_V16SFmode:
14509 : if (pattern1708 (x2,
14510 : E_V16SFmode,
14511 : E_V16SImode,
14512 : E_HImode) != 0
14513 : || !
14514 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14515 : (TARGET_AVX512F))
14516 : return -1;
14517 : return 7177; /* avx512f_fixupimmv16sf_maskz_1_round */
14518 :
14519 : case E_V8SFmode:
14520 : if (pattern1708 (x2,
14521 : E_V8SFmode,
14522 : E_V8SImode,
14523 : E_QImode) != 0
14524 : || !(
14525 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14526 : (TARGET_AVX512F) && (
14527 : #line 14863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14528 : (TARGET_AVX512F) &&
14529 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14530 : (TARGET_AVX512VL))))
14531 : return -1;
14532 : return 7181; /* avx512vl_fixupimmv8sf_maskz_1_round */
14533 :
14534 : case E_V4SFmode:
14535 : if (pattern1708 (x2,
14536 : E_V4SFmode,
14537 : E_V4SImode,
14538 : E_QImode) != 0
14539 : || !(
14540 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14541 : (TARGET_AVX512F) && (
14542 : #line 14863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14543 : (TARGET_AVX512F) &&
14544 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14545 : (TARGET_AVX512VL))))
14546 : return -1;
14547 : return 7185; /* avx512vl_fixupimmv4sf_maskz_1_round */
14548 :
14549 : case E_V8DFmode:
14550 : if (pattern1708 (x2,
14551 : E_V8DFmode,
14552 : E_V8DImode,
14553 : E_QImode) != 0
14554 : || !
14555 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14556 : (TARGET_AVX512F))
14557 : return -1;
14558 : return 7189; /* avx512f_fixupimmv8df_maskz_1_round */
14559 :
14560 : case E_V4DFmode:
14561 : if (pattern1708 (x2,
14562 : E_V4DFmode,
14563 : E_V4DImode,
14564 : E_QImode) != 0
14565 : || !(
14566 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14567 : (TARGET_AVX512F) && (
14568 : #line 14863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14569 : (TARGET_AVX512F) &&
14570 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14571 : (TARGET_AVX512VL))))
14572 : return -1;
14573 : return 7193; /* avx512vl_fixupimmv4df_maskz_1_round */
14574 :
14575 : case E_V2DFmode:
14576 : if (pattern1708 (x2,
14577 : E_V2DFmode,
14578 : E_V2DImode,
14579 : E_QImode) != 0
14580 : || !(
14581 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14582 : (TARGET_AVX512F) && (
14583 : #line 14863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14584 : (TARGET_AVX512F) &&
14585 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14586 : (TARGET_AVX512VL))))
14587 : return -1;
14588 : return 7197; /* avx512vl_fixupimmv2df_maskz_1_round */
14589 :
14590 : default:
14591 : return -1;
14592 : }
14593 :
14594 : case REG:
14595 : case SUBREG:
14596 : x7 = XEXP (x3, 2);
14597 : switch (GET_CODE (x7))
14598 : {
14599 : case REG:
14600 : case SUBREG:
14601 : operands[5] = x7;
14602 : operands[6] = x9;
14603 : if (!rtx_equal_p (x10, operands[1]))
14604 : return -1;
14605 : switch (GET_MODE (operands[0]))
14606 : {
14607 : case E_V16SFmode:
14608 : if (pattern1729 (x2,
14609 : E_V16SImode,
14610 : E_V16SFmode,
14611 : E_HImode) != 0
14612 : || !
14613 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14614 : (TARGET_AVX512F))
14615 : return -1;
14616 : return 7199; /* avx512f_fixupimmv16sf_mask_round */
14617 :
14618 : case E_V8SFmode:
14619 : if (pattern1729 (x2,
14620 : E_V8SImode,
14621 : E_V8SFmode,
14622 : E_QImode) != 0
14623 : || !(
14624 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14625 : (TARGET_AVX512F) && (
14626 : #line 14879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14627 : (TARGET_AVX512F) &&
14628 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14629 : (TARGET_AVX512VL))))
14630 : return -1;
14631 : return 7201; /* avx512vl_fixupimmv8sf_mask_round */
14632 :
14633 : case E_V4SFmode:
14634 : if (pattern1729 (x2,
14635 : E_V4SImode,
14636 : E_V4SFmode,
14637 : E_QImode) != 0
14638 : || !(
14639 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14640 : (TARGET_AVX512F) && (
14641 : #line 14879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14642 : (TARGET_AVX512F) &&
14643 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14644 : (TARGET_AVX512VL))))
14645 : return -1;
14646 : return 7203; /* avx512vl_fixupimmv4sf_mask_round */
14647 :
14648 : case E_V8DFmode:
14649 : if (pattern1729 (x2,
14650 : E_V8DImode,
14651 : E_V8DFmode,
14652 : E_QImode) != 0
14653 : || !
14654 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14655 : (TARGET_AVX512F))
14656 : return -1;
14657 : return 7205; /* avx512f_fixupimmv8df_mask_round */
14658 :
14659 : case E_V4DFmode:
14660 : if (pattern1729 (x2,
14661 : E_V4DImode,
14662 : E_V4DFmode,
14663 : E_QImode) != 0
14664 : || !(
14665 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14666 : (TARGET_AVX512F) && (
14667 : #line 14879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14668 : (TARGET_AVX512F) &&
14669 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14670 : (TARGET_AVX512VL))))
14671 : return -1;
14672 : return 7207; /* avx512vl_fixupimmv4df_mask_round */
14673 :
14674 : case E_V2DFmode:
14675 : if (pattern1729 (x2,
14676 : E_V2DImode,
14677 : E_V2DFmode,
14678 : E_QImode) != 0
14679 : || !(
14680 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14681 : (TARGET_AVX512F) && (
14682 : #line 14879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14683 : (TARGET_AVX512F) &&
14684 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14685 : (TARGET_AVX512VL))))
14686 : return -1;
14687 : return 7209; /* avx512vl_fixupimmv2df_mask_round */
14688 :
14689 : default:
14690 : return -1;
14691 : }
14692 :
14693 : case CONST_INT:
14694 : if (XWINT (x7, 0) != 1L)
14695 : return -1;
14696 : operands[5] = x9;
14697 : if (!rtx_equal_p (x10, operands[2]))
14698 : return -1;
14699 : switch (GET_MODE (operands[0]))
14700 : {
14701 : case E_V4SFmode:
14702 : if (pattern1730 (x2,
14703 : E_V4SImode,
14704 : E_V4SFmode) != 0
14705 : || !
14706 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14707 : (TARGET_AVX512F))
14708 : return -1;
14709 : return 7211; /* avx512f_sfixupimmv4sf_round */
14710 :
14711 : case E_V2DFmode:
14712 : if (pattern1730 (x2,
14713 : E_V2DImode,
14714 : E_V2DFmode) != 0
14715 : || !(
14716 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14717 : (TARGET_AVX512F) && (
14718 : #line 14911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14719 : (TARGET_AVX512F) &&
14720 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14721 : (TARGET_SSE2))))
14722 : return -1;
14723 : return 7215; /* avx512f_sfixupimmv2df_round */
14724 :
14725 : default:
14726 : return -1;
14727 : }
14728 :
14729 : default:
14730 : return -1;
14731 : }
14732 :
14733 : default:
14734 : return -1;
14735 : }
14736 :
14737 : default:
14738 : return -1;
14739 : }
14740 : }
14741 :
14742 : int
14743 : recog_239 (rtx x1 ATTRIBUTE_UNUSED,
14744 : rtx_insn *insn ATTRIBUTE_UNUSED,
14745 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14746 : {
14747 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14748 : rtx x2, x3, x4, x5;
14749 : int res ATTRIBUTE_UNUSED;
14750 : x2 = XEXP (x1, 0);
14751 : if (GET_CODE (x2) != REG
14752 : || REGNO (x2) != 17)
14753 : return -1;
14754 : x3 = XEXP (x1, 1);
14755 : x4 = XVECEXP (x3, 0, 0);
14756 : operands[0] = x4;
14757 : x5 = XVECEXP (x3, 0, 1);
14758 : operands[1] = x5;
14759 : switch (GET_MODE (operands[0]))
14760 : {
14761 : case E_V16QImode:
14762 : if (!register_operand (operands[0], E_V16QImode)
14763 : || !vector_operand (operands[1], E_V16QImode)
14764 : || !
14765 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14766 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14767 : return -1;
14768 : return 9059; /* *sse4_1_ptestv16qi */
14769 :
14770 : case E_V8HImode:
14771 : if (!register_operand (operands[0], E_V8HImode)
14772 : || !vector_operand (operands[1], E_V8HImode)
14773 : || !
14774 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14775 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14776 : return -1;
14777 : return 9060; /* *sse4_1_ptestv8hi */
14778 :
14779 : case E_V4SImode:
14780 : if (!register_operand (operands[0], E_V4SImode)
14781 : || !vector_operand (operands[1], E_V4SImode)
14782 : || !
14783 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14784 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14785 : return -1;
14786 : return 9061; /* *sse4_1_ptestv4si */
14787 :
14788 : case E_V2DImode:
14789 : if (!register_operand (operands[0], E_V2DImode)
14790 : || !vector_operand (operands[1], E_V2DImode)
14791 : || !
14792 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14793 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14794 : return -1;
14795 : return 9062; /* *sse4_1_ptestv2di */
14796 :
14797 : case E_V1TImode:
14798 : if (!register_operand (operands[0], E_V1TImode)
14799 : || !vector_operand (operands[1], E_V1TImode)
14800 : || !
14801 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14802 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14803 : return -1;
14804 : return 9063; /* *sse4_1_ptestv1ti */
14805 :
14806 : case E_V4SFmode:
14807 : if (!register_operand (operands[0], E_V4SFmode)
14808 : || !vector_operand (operands[1], E_V4SFmode)
14809 : || !
14810 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14811 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14812 : return -1;
14813 : return 9064; /* *sse4_1_ptestv4sf */
14814 :
14815 : case E_V2DFmode:
14816 : if (!register_operand (operands[0], E_V2DFmode)
14817 : || !vector_operand (operands[1], E_V2DFmode)
14818 : || !
14819 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14820 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)))
14821 : return -1;
14822 : return 9065; /* *sse4_1_ptestv2df */
14823 :
14824 : case E_V32QImode:
14825 : if (!register_operand (operands[0], E_V32QImode)
14826 : || !vector_operand (operands[1], E_V32QImode)
14827 : || !(
14828 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14829 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14830 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14831 : (TARGET_AVX)))
14832 : return -1;
14833 : return 9066; /* *avx_ptestv32qi */
14834 :
14835 : case E_V16HImode:
14836 : if (!register_operand (operands[0], E_V16HImode)
14837 : || !vector_operand (operands[1], E_V16HImode)
14838 : || !(
14839 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14840 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14841 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14842 : (TARGET_AVX)))
14843 : return -1;
14844 : return 9067; /* *avx_ptestv16hi */
14845 :
14846 : case E_V8SImode:
14847 : if (!register_operand (operands[0], E_V8SImode)
14848 : || !vector_operand (operands[1], E_V8SImode)
14849 : || !(
14850 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14851 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14852 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14853 : (TARGET_AVX)))
14854 : return -1;
14855 : return 9068; /* *avx_ptestv8si */
14856 :
14857 : case E_V4DImode:
14858 : if (!register_operand (operands[0], E_V4DImode)
14859 : || !vector_operand (operands[1], E_V4DImode)
14860 : || !(
14861 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14862 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14863 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14864 : (TARGET_AVX)))
14865 : return -1;
14866 : return 9069; /* *avx_ptestv4di */
14867 :
14868 : case E_V2TImode:
14869 : if (!register_operand (operands[0], E_V2TImode)
14870 : || !vector_operand (operands[1], E_V2TImode)
14871 : || !(
14872 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14873 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14874 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14875 : (TARGET_AVX)))
14876 : return -1;
14877 : return 9070; /* *avx_ptestv2ti */
14878 :
14879 : case E_V8SFmode:
14880 : if (!register_operand (operands[0], E_V8SFmode)
14881 : || !vector_operand (operands[1], E_V8SFmode)
14882 : || !(
14883 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14884 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14885 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14886 : (TARGET_AVX)))
14887 : return -1;
14888 : return 9071; /* *avx_ptestv8sf */
14889 :
14890 : case E_V4DFmode:
14891 : if (!register_operand (operands[0], E_V4DFmode)
14892 : || !vector_operand (operands[1], E_V4DFmode)
14893 : || !(
14894 : #line 26493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14895 : (TARGET_SSE4_1 && ix86_match_ptest_ccmode (insn)) &&
14896 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14897 : (TARGET_AVX)))
14898 : return -1;
14899 : return 9072; /* *avx_ptestv4df */
14900 :
14901 : default:
14902 : return -1;
14903 : }
14904 : }
14905 :
14906 : int
14907 : recog_240 (rtx x1 ATTRIBUTE_UNUSED,
14908 : rtx_insn *insn ATTRIBUTE_UNUSED,
14909 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14910 : {
14911 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14912 : rtx x2, x3, x4, x5;
14913 : int res ATTRIBUTE_UNUSED;
14914 : x2 = XEXP (x1, 0);
14915 : operands[0] = x2;
14916 : x3 = XEXP (x1, 1);
14917 : x4 = XVECEXP (x3, 0, 0);
14918 : operands[1] = x4;
14919 : x5 = XVECEXP (x3, 0, 1);
14920 : operands[2] = x5;
14921 : switch (GET_MODE (operands[0]))
14922 : {
14923 : case E_V32HFmode:
14924 : if (pattern791 (x3,
14925 : E_V32HFmode) != 0
14926 : || !(
14927 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14928 : (TARGET_AVX512F) &&
14929 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14930 : (TARGET_AVX512FP16)))
14931 : return -1;
14932 : return 7222; /* avx512bw_rndscalev32hf */
14933 :
14934 : case E_V16HFmode:
14935 : if (pattern791 (x3,
14936 : E_V16HFmode) != 0
14937 : || !(
14938 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14939 : (TARGET_AVX512F) &&
14940 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14941 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
14942 : return -1;
14943 : return 7226; /* avx512vl_rndscalev16hf */
14944 :
14945 : case E_V8HFmode:
14946 : if (pattern791 (x3,
14947 : E_V8HFmode) != 0
14948 : || !(
14949 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14950 : (TARGET_AVX512F) &&
14951 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14952 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
14953 : return -1;
14954 : return 7230; /* avx512fp16_rndscalev8hf */
14955 :
14956 : case E_V16SFmode:
14957 : if (pattern791 (x3,
14958 : E_V16SFmode) != 0
14959 : || !
14960 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14961 : (TARGET_AVX512F))
14962 : return -1;
14963 : return 7234; /* avx512f_rndscalev16sf */
14964 :
14965 : case E_V8SFmode:
14966 : if (!register_operand (operands[0], E_V8SFmode)
14967 : || GET_MODE (x3) != E_V8SFmode)
14968 : return -1;
14969 : if (nonimmediate_operand (operands[1], E_V8SFmode)
14970 : && const_0_to_255_operand (operands[2], E_SImode)
14971 : && (
14972 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14973 : (TARGET_AVX512F) &&
14974 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14975 : (TARGET_AVX512VL)))
14976 : return 7238; /* avx512vl_rndscalev8sf */
14977 : if (!vector_operand (operands[1], E_V8SFmode)
14978 : || !const_0_to_15_operand (operands[2], E_SImode)
14979 : || !(
14980 : #line 26684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14981 : (TARGET_SSE4_1) &&
14982 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14983 : (TARGET_AVX)))
14984 : return -1;
14985 : return 9096; /* avx_roundps256 */
14986 :
14987 : case E_V4SFmode:
14988 : if (!register_operand (operands[0], E_V4SFmode)
14989 : || GET_MODE (x3) != E_V4SFmode)
14990 : return -1;
14991 : if (nonimmediate_operand (operands[1], E_V4SFmode)
14992 : && const_0_to_255_operand (operands[2], E_SImode)
14993 : && (
14994 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14995 : (TARGET_AVX512F) &&
14996 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14997 : (TARGET_AVX512VL)))
14998 : return 7242; /* avx512vl_rndscalev4sf */
14999 : if (!vector_operand (operands[1], E_V4SFmode)
15000 : || !const_0_to_15_operand (operands[2], E_SImode)
15001 : || !
15002 : #line 26684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15003 : (TARGET_SSE4_1))
15004 : return -1;
15005 : return 9097; /* sse4_1_roundps */
15006 :
15007 : case E_V8DFmode:
15008 : if (pattern791 (x3,
15009 : E_V8DFmode) != 0
15010 : || !
15011 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15012 : (TARGET_AVX512F))
15013 : return -1;
15014 : return 7246; /* avx512f_rndscalev8df */
15015 :
15016 : case E_V4DFmode:
15017 : if (!register_operand (operands[0], E_V4DFmode)
15018 : || GET_MODE (x3) != E_V4DFmode)
15019 : return -1;
15020 : if (nonimmediate_operand (operands[1], E_V4DFmode)
15021 : && const_0_to_255_operand (operands[2], E_SImode)
15022 : && (
15023 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15024 : (TARGET_AVX512F) &&
15025 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15026 : (TARGET_AVX512VL)))
15027 : return 7250; /* avx512vl_rndscalev4df */
15028 : if (!vector_operand (operands[1], E_V4DFmode)
15029 : || !const_0_to_15_operand (operands[2], E_SImode)
15030 : || !(
15031 : #line 26684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15032 : (TARGET_SSE4_1) &&
15033 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15034 : (TARGET_AVX)))
15035 : return -1;
15036 : return 9098; /* avx_roundpd256 */
15037 :
15038 : case E_V2DFmode:
15039 : if (!register_operand (operands[0], E_V2DFmode)
15040 : || GET_MODE (x3) != E_V2DFmode)
15041 : return -1;
15042 : if (nonimmediate_operand (operands[1], E_V2DFmode)
15043 : && const_0_to_255_operand (operands[2], E_SImode)
15044 : && (
15045 : #line 14941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15046 : (TARGET_AVX512F) &&
15047 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15048 : (TARGET_AVX512VL)))
15049 : return 7254; /* avx512vl_rndscalev2df */
15050 : if (!vector_operand (operands[1], E_V2DFmode)
15051 : || !const_0_to_15_operand (operands[2], E_SImode)
15052 : || !(
15053 : #line 26684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15054 : (TARGET_SSE4_1) &&
15055 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15056 : (TARGET_SSE2)))
15057 : return -1;
15058 : return 9099; /* sse4_1_roundpd */
15059 :
15060 : default:
15061 : return -1;
15062 : }
15063 : }
15064 :
15065 : int
15066 : recog_243 (rtx x1 ATTRIBUTE_UNUSED,
15067 : rtx_insn *insn ATTRIBUTE_UNUSED,
15068 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15069 : {
15070 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15071 : rtx x2, x3, x4, x5;
15072 : int res ATTRIBUTE_UNUSED;
15073 : x2 = XEXP (x1, 0);
15074 : operands[0] = x2;
15075 : x3 = XEXP (x1, 1);
15076 : x4 = XVECEXP (x3, 0, 0);
15077 : operands[1] = x4;
15078 : x5 = XVECEXP (x3, 0, 1);
15079 : operands[2] = x5;
15080 : if (!const_0_to_255_operand (operands[2], E_SImode))
15081 : return -1;
15082 : switch (GET_MODE (operands[0]))
15083 : {
15084 : case E_V32HFmode:
15085 : if (!register_operand (operands[0], E_V32HFmode)
15086 : || GET_MODE (x3) != E_V32HFmode
15087 : || !vector_operand (operands[1], E_V32HFmode)
15088 : || !(
15089 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15090 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V32HFmode))) &&
15091 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15092 : (TARGET_AVX512FP16)))
15093 : return -1;
15094 : return 3242; /* *reducepv32hf */
15095 :
15096 : case E_V16HFmode:
15097 : if (!register_operand (operands[0], E_V16HFmode)
15098 : || GET_MODE (x3) != E_V16HFmode
15099 : || !vector_operand (operands[1], E_V16HFmode)
15100 : || !(
15101 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15102 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16HFmode))) &&
15103 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15104 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15105 : return -1;
15106 : return 3246; /* *reducepv16hf */
15107 :
15108 : case E_V8HFmode:
15109 : if (!register_operand (operands[0], E_V8HFmode)
15110 : || GET_MODE (x3) != E_V8HFmode
15111 : || !vector_operand (operands[1], E_V8HFmode)
15112 : || !(
15113 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15114 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
15115 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15116 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15117 : return -1;
15118 : return 3250; /* *reducepv8hf */
15119 :
15120 : case E_V16SFmode:
15121 : if (!register_operand (operands[0], E_V16SFmode)
15122 : || GET_MODE (x3) != E_V16SFmode
15123 : || !vector_operand (operands[1], E_V16SFmode)
15124 : || !
15125 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15126 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V16SFmode))))
15127 : return -1;
15128 : return 3254; /* *reducepv16sf */
15129 :
15130 : case E_V8SFmode:
15131 : if (!register_operand (operands[0], E_V8SFmode)
15132 : || GET_MODE (x3) != E_V8SFmode
15133 : || !vector_operand (operands[1], E_V8SFmode)
15134 : || !(
15135 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15136 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8SFmode))) &&
15137 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15138 : (TARGET_AVX512VL)))
15139 : return -1;
15140 : return 3258; /* *reducepv8sf */
15141 :
15142 : case E_V4SFmode:
15143 : if (!register_operand (operands[0], E_V4SFmode)
15144 : || GET_MODE (x3) != E_V4SFmode
15145 : || !vector_operand (operands[1], E_V4SFmode)
15146 : || !(
15147 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15148 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))) &&
15149 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15150 : (TARGET_AVX512VL)))
15151 : return -1;
15152 : return 3262; /* *reducepv4sf */
15153 :
15154 : case E_V8DFmode:
15155 : if (!register_operand (operands[0], E_V8DFmode)
15156 : || GET_MODE (x3) != E_V8DFmode
15157 : || !vector_operand (operands[1], E_V8DFmode)
15158 : || !
15159 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15160 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8DFmode))))
15161 : return -1;
15162 : return 3266; /* *reducepv8df */
15163 :
15164 : case E_V4DFmode:
15165 : if (!register_operand (operands[0], E_V4DFmode)
15166 : || GET_MODE (x3) != E_V4DFmode
15167 : || !vector_operand (operands[1], E_V4DFmode)
15168 : || !(
15169 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15170 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4DFmode))) &&
15171 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15172 : (TARGET_AVX512VL)))
15173 : return -1;
15174 : return 3270; /* *reducepv4df */
15175 :
15176 : case E_V2DFmode:
15177 : if (!register_operand (operands[0], E_V2DFmode)
15178 : || GET_MODE (x3) != E_V2DFmode
15179 : || !vector_operand (operands[1], E_V2DFmode)
15180 : || !(
15181 : #line 4289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15182 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
15183 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15184 : (TARGET_AVX512VL)))
15185 : return -1;
15186 : return 3274; /* *reducepv2df */
15187 :
15188 : default:
15189 : return -1;
15190 : }
15191 : }
15192 :
15193 : int
15194 : recog_249 (rtx x1 ATTRIBUTE_UNUSED,
15195 : rtx_insn *insn ATTRIBUTE_UNUSED,
15196 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15197 : {
15198 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15199 : rtx x2, x3, x4, x5;
15200 : int res ATTRIBUTE_UNUSED;
15201 : x2 = XEXP (x1, 1);
15202 : x3 = XVECEXP (x2, 0, 2);
15203 : if (GET_MODE (x3) != E_V16QImode)
15204 : return -1;
15205 : x4 = XEXP (x1, 0);
15206 : if (GET_CODE (x4) != MEM
15207 : || GET_MODE (x4) != E_V16QImode)
15208 : return -1;
15209 : x5 = XEXP (x4, 0);
15210 : operands[0] = x5;
15211 : if (GET_MODE (x2) != E_V16QImode)
15212 : return -1;
15213 : switch (pattern1089 (x2,
15214 : E_V16QImode))
15215 : {
15216 : case 0:
15217 : if (!(
15218 : #line 23350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15219 : (TARGET_SSE2) &&
15220 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15221 : (Pmode == SImode)))
15222 : return -1;
15223 : return 8698; /* *sse2_maskmovdqu */
15224 :
15225 : case 1:
15226 : if (!(
15227 : #line 23350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15228 : (TARGET_SSE2) &&
15229 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15230 : (Pmode == DImode)))
15231 : return -1;
15232 : return 8699; /* *sse2_maskmovdqu */
15233 :
15234 : default:
15235 : return -1;
15236 : }
15237 : }
15238 :
15239 : int
15240 : recog_253 (rtx x1 ATTRIBUTE_UNUSED,
15241 : rtx_insn *insn ATTRIBUTE_UNUSED,
15242 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15243 : {
15244 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15245 : rtx x2, x3, x4, x5, x6, x7, x8;
15246 : int res ATTRIBUTE_UNUSED;
15247 : x2 = XEXP (x1, 0);
15248 : operands[0] = x2;
15249 : x3 = XEXP (x1, 1);
15250 : x4 = XVECEXP (x3, 0, 2);
15251 : switch (GET_CODE (x4))
15252 : {
15253 : case LT:
15254 : x5 = XVECEXP (x3, 0, 0);
15255 : operands[1] = x5;
15256 : switch (pattern676 (x3))
15257 : {
15258 : case 0:
15259 : if ((
15260 : #line 3405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15261 : (TARGET_SSE && ix86_pre_reload_split ()
15262 : && ((rtx_equal_p (operands[1], operands[3])
15263 : && rtx_equal_p (operands[2], operands[4]))
15264 : || (rtx_equal_p (operands[1], operands[4])
15265 : && rtx_equal_p (operands[2], operands[3])))) &&
15266 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15267 : (TARGET_AVX)))
15268 : return 3114; /* *minmaxv8sf3_2 */
15269 : break;
15270 :
15271 : case 1:
15272 : if (
15273 : #line 3405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15274 : (TARGET_SSE && ix86_pre_reload_split ()
15275 : && ((rtx_equal_p (operands[1], operands[3])
15276 : && rtx_equal_p (operands[2], operands[4]))
15277 : || (rtx_equal_p (operands[1], operands[4])
15278 : && rtx_equal_p (operands[2], operands[3])))))
15279 : return 3115; /* *minmaxv4sf3_2 */
15280 : break;
15281 :
15282 : case 2:
15283 : if ((
15284 : #line 3405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15285 : (TARGET_SSE && ix86_pre_reload_split ()
15286 : && ((rtx_equal_p (operands[1], operands[3])
15287 : && rtx_equal_p (operands[2], operands[4]))
15288 : || (rtx_equal_p (operands[1], operands[4])
15289 : && rtx_equal_p (operands[2], operands[3])))) &&
15290 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15291 : (TARGET_AVX)))
15292 : return 3116; /* *minmaxv4df3_2 */
15293 : break;
15294 :
15295 : case 3:
15296 : if ((
15297 : #line 3405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15298 : (TARGET_SSE && ix86_pre_reload_split ()
15299 : && ((rtx_equal_p (operands[1], operands[3])
15300 : && rtx_equal_p (operands[2], operands[4]))
15301 : || (rtx_equal_p (operands[1], operands[4])
15302 : && rtx_equal_p (operands[2], operands[3])))) &&
15303 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15304 : (TARGET_SSE2)))
15305 : return 3117; /* *minmaxv2df3_2 */
15306 : break;
15307 :
15308 : case 4:
15309 : if ((
15310 : #line 24492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15311 : (TARGET_SSE4_1) &&
15312 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15313 : (TARGET_AVX)))
15314 : return 8808; /* *avx_blendvps256_lt */
15315 : break;
15316 :
15317 : case 5:
15318 : if (
15319 : #line 24492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15320 : (TARGET_SSE4_1))
15321 : return 8809; /* *sse4_1_blendvps_lt */
15322 : break;
15323 :
15324 : case 6:
15325 : if ((
15326 : #line 24492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15327 : (TARGET_SSE4_1) &&
15328 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15329 : (TARGET_AVX)))
15330 : return 8810; /* *avx_blendvpd256_lt */
15331 : break;
15332 :
15333 : case 7:
15334 : if ((
15335 : #line 24492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15336 : (TARGET_SSE4_1) &&
15337 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15338 : (TARGET_SSE2)))
15339 : return 8811; /* *sse4_1_blendvpd_lt */
15340 : break;
15341 :
15342 : case 8:
15343 : if ((
15344 : #line 24819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15345 : (TARGET_SSE4_1) &&
15346 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15347 : (TARGET_AVX2)))
15348 : return 8855; /* *avx2_pblendvb_lt */
15349 : break;
15350 :
15351 : case 9:
15352 : if (
15353 : #line 24819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15354 : (TARGET_SSE4_1))
15355 : return 8856; /* *sse4_1_pblendvb_lt */
15356 : break;
15357 :
15358 : default:
15359 : break;
15360 : }
15361 : x6 = XEXP (x4, 0);
15362 : if (GET_CODE (x6) != SUBREG)
15363 : return -1;
15364 : switch (pattern678 (x3))
15365 : {
15366 : case 0:
15367 : if (!(
15368 : #line 24869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15369 : (TARGET_SSE4_1
15370 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
15371 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
15372 : && ix86_pre_reload_split ()) &&
15373 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15374 : (TARGET_AVX2)))
15375 : return -1;
15376 : return 8859; /* *avx2_pblendvb_lt_subreg_not */
15377 :
15378 : case 1:
15379 : if (!
15380 : #line 24869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15381 : (TARGET_SSE4_1
15382 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
15383 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
15384 : && ix86_pre_reload_split ()))
15385 : return -1;
15386 : return 8860; /* *sse4_1_pblendvb_lt_subreg_not */
15387 :
15388 : default:
15389 : return -1;
15390 : }
15391 :
15392 : case REG:
15393 : case SUBREG:
15394 : operands[3] = x4;
15395 : x5 = XVECEXP (x3, 0, 0);
15396 : operands[1] = x5;
15397 : x7 = XVECEXP (x3, 0, 1);
15398 : operands[2] = x7;
15399 : switch (GET_MODE (operands[0]))
15400 : {
15401 : case E_V8SFmode:
15402 : if (pattern1045 (x3,
15403 : E_V8SFmode) == 0
15404 : && (
15405 : #line 24426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15406 : (TARGET_SSE4_1) &&
15407 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15408 : (TARGET_AVX)))
15409 : return 8802; /* avx_blendvps256 */
15410 : break;
15411 :
15412 : case E_V4SFmode:
15413 : if (pattern1045 (x3,
15414 : E_V4SFmode) == 0
15415 : &&
15416 : #line 24426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15417 : (TARGET_SSE4_1))
15418 : return 8803; /* sse4_1_blendvps */
15419 : break;
15420 :
15421 : case E_V4DFmode:
15422 : if (pattern1045 (x3,
15423 : E_V4DFmode) == 0
15424 : && (
15425 : #line 24426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15426 : (TARGET_SSE4_1) &&
15427 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15428 : (TARGET_AVX)))
15429 : return 8804; /* avx_blendvpd256 */
15430 : break;
15431 :
15432 : case E_V2DFmode:
15433 : if (pattern1045 (x3,
15434 : E_V2DFmode) == 0
15435 : && (
15436 : #line 24426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15437 : (TARGET_SSE4_1) &&
15438 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15439 : (TARGET_SSE2)))
15440 : return 8805; /* sse4_1_blendvpd */
15441 : break;
15442 :
15443 : default:
15444 : break;
15445 : }
15446 : operands[1] = x5;
15447 : operands[2] = x7;
15448 : if (GET_CODE (x4) == SUBREG
15449 : && known_eq (SUBREG_BYTE (x4), 0))
15450 : {
15451 : x6 = XEXP (x4, 0);
15452 : switch (GET_CODE (x6))
15453 : {
15454 : case LT:
15455 : x8 = XEXP (x6, 0);
15456 : operands[3] = x8;
15457 : switch (pattern1240 (x3))
15458 : {
15459 : case 0:
15460 : if (
15461 : #line 24545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15462 : (TARGET_SSE4_1))
15463 : return 8816; /* *sse4_1_blendvps_ltint */
15464 : break;
15465 :
15466 : case 1:
15467 : if (
15468 : #line 24545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15469 : (TARGET_SSE4_1))
15470 : return 8817; /* *sse4_1_blendvpd_ltint */
15471 : break;
15472 :
15473 : case 2:
15474 : if ((
15475 : #line 24545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15476 : (TARGET_SSE4_1) &&
15477 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15478 : (TARGET_AVX)))
15479 : return 8818; /* *avx_blendvps256_ltint */
15480 : break;
15481 :
15482 : case 3:
15483 : if ((
15484 : #line 24545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15485 : (TARGET_SSE4_1) &&
15486 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15487 : (TARGET_AVX)))
15488 : return 8819; /* *avx_blendvpd256_ltint */
15489 : break;
15490 :
15491 : default:
15492 : break;
15493 : }
15494 : if (GET_CODE (x8) == SUBREG)
15495 : {
15496 : switch (pattern1241 (x3))
15497 : {
15498 : case 0:
15499 : if (
15500 : #line 24612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15501 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15502 : return 8824; /* *sse4_1_blendvps_not_ltint */
15503 : break;
15504 :
15505 : case 1:
15506 : if (
15507 : #line 24612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15508 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15509 : return 8825; /* *sse4_1_blendvpd_not_ltint */
15510 : break;
15511 :
15512 : case 2:
15513 : if ((
15514 : #line 24612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15515 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15516 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15517 : (TARGET_AVX)))
15518 : return 8826; /* *avx_blendvps256_not_ltint */
15519 : break;
15520 :
15521 : case 3:
15522 : if ((
15523 : #line 24612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15524 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15525 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15526 : (TARGET_AVX)))
15527 : return 8827; /* *avx_blendvpd256_not_ltint */
15528 : break;
15529 :
15530 : default:
15531 : break;
15532 : }
15533 : }
15534 : break;
15535 :
15536 : case GT:
15537 : x8 = XEXP (x6, 0);
15538 : operands[3] = x8;
15539 : switch (pattern1242 (x3))
15540 : {
15541 : case 0:
15542 : if (
15543 : #line 24577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15544 : (TARGET_SSE4_1))
15545 : return 8820; /* *sse4_1_blendvps_gtint */
15546 : break;
15547 :
15548 : case 1:
15549 : if (
15550 : #line 24577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15551 : (TARGET_SSE4_1))
15552 : return 8821; /* *sse4_1_blendvpd_gtint */
15553 : break;
15554 :
15555 : case 2:
15556 : if ((
15557 : #line 24577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15558 : (TARGET_SSE4_1) &&
15559 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15560 : (TARGET_AVX)))
15561 : return 8822; /* *avx_blendvps256_gtint */
15562 : break;
15563 :
15564 : case 3:
15565 : if ((
15566 : #line 24577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15567 : (TARGET_SSE4_1) &&
15568 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15569 : (TARGET_AVX)))
15570 : return 8823; /* *avx_blendvpd256_gtint */
15571 : break;
15572 :
15573 : default:
15574 : break;
15575 : }
15576 : if (GET_CODE (x8) == SUBREG)
15577 : {
15578 : switch (pattern1243 (x3))
15579 : {
15580 : case 0:
15581 : if (
15582 : #line 24638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15583 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15584 : return 8828; /* *sse4_1_blendvps_not_gtint */
15585 : break;
15586 :
15587 : case 1:
15588 : if (
15589 : #line 24638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15590 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
15591 : return 8829; /* *sse4_1_blendvpd_not_gtint */
15592 : break;
15593 :
15594 : case 2:
15595 : if ((
15596 : #line 24638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15597 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15598 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15599 : (TARGET_AVX)))
15600 : return 8830; /* *avx_blendvps256_not_gtint */
15601 : break;
15602 :
15603 : case 3:
15604 : if ((
15605 : #line 24638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15606 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
15607 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15608 : (TARGET_AVX)))
15609 : return 8831; /* *avx_blendvpd256_not_gtint */
15610 : break;
15611 :
15612 : default:
15613 : break;
15614 : }
15615 : }
15616 : break;
15617 :
15618 : default:
15619 : break;
15620 : }
15621 : }
15622 : operands[3] = x4;
15623 : switch (GET_MODE (operands[0]))
15624 : {
15625 : case E_V32QImode:
15626 : if (pattern1045 (x3,
15627 : E_V32QImode) != 0
15628 : || !(
15629 : #line 24767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15630 : (TARGET_SSE4_1) &&
15631 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15632 : (TARGET_AVX2)))
15633 : return -1;
15634 : return 8853; /* avx2_pblendvb */
15635 :
15636 : case E_V16QImode:
15637 : if (pattern1045 (x3,
15638 : E_V16QImode) != 0
15639 : || !
15640 : #line 24767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15641 : (TARGET_SSE4_1))
15642 : return -1;
15643 : return 8854; /* sse4_1_pblendvb */
15644 :
15645 : default:
15646 : return -1;
15647 : }
15648 :
15649 : case GT:
15650 : x5 = XVECEXP (x3, 0, 0);
15651 : operands[1] = x5;
15652 : switch (pattern681 (x3))
15653 : {
15654 : case 0:
15655 : if ((
15656 : #line 24518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15657 : (TARGET_SSE4_1) &&
15658 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15659 : (TARGET_AVX)))
15660 : return 8812; /* *avx_blendvps256_gt */
15661 : break;
15662 :
15663 : case 1:
15664 : if (
15665 : #line 24518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15666 : (TARGET_SSE4_1))
15667 : return 8813; /* *sse4_1_blendvps_gt */
15668 : break;
15669 :
15670 : case 2:
15671 : if ((
15672 : #line 24518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15673 : (TARGET_SSE4_1) &&
15674 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15675 : (TARGET_AVX)))
15676 : return 8814; /* *avx_blendvpd256_gt */
15677 : break;
15678 :
15679 : case 3:
15680 : if ((
15681 : #line 24518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15682 : (TARGET_SSE4_1) &&
15683 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15684 : (TARGET_SSE2)))
15685 : return 8815; /* *sse4_1_blendvpd_gt */
15686 : break;
15687 :
15688 : case 4:
15689 : if ((
15690 : #line 24843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15691 : (TARGET_SSE4_1) &&
15692 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15693 : (TARGET_AVX2)))
15694 : return 8857; /* *avx2_pblendvb_gt */
15695 : break;
15696 :
15697 : case 5:
15698 : if (
15699 : #line 24843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15700 : (TARGET_SSE4_1))
15701 : return 8858; /* *sse4_1_pblendvb_gt */
15702 : break;
15703 :
15704 : default:
15705 : break;
15706 : }
15707 : x6 = XEXP (x4, 0);
15708 : if (GET_CODE (x6) != SUBREG)
15709 : return -1;
15710 : switch (pattern683 (x3))
15711 : {
15712 : case 0:
15713 : if (!(
15714 : #line 24891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15715 : (TARGET_SSE4_1
15716 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
15717 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
15718 : && ix86_pre_reload_split ()) &&
15719 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15720 : (TARGET_AVX2)))
15721 : return -1;
15722 : return 8861; /* *avx2_pblendvb_gt_subreg_not */
15723 :
15724 : case 1:
15725 : if (!
15726 : #line 24891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15727 : (TARGET_SSE4_1
15728 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
15729 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
15730 : && ix86_pre_reload_split ()))
15731 : return -1;
15732 : return 8862; /* *sse4_1_pblendvb_gt_subreg_not */
15733 :
15734 : default:
15735 : return -1;
15736 : }
15737 :
15738 : default:
15739 : return -1;
15740 : }
15741 : }
15742 :
15743 : int
15744 : recog_262 (rtx x1 ATTRIBUTE_UNUSED,
15745 : rtx_insn *insn ATTRIBUTE_UNUSED,
15746 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15747 : {
15748 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15749 : int res ATTRIBUTE_UNUSED;
15750 : switch (pattern181 (x1))
15751 : {
15752 : case 0:
15753 : if (!
15754 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15755 : (TARGET_AVX512VBMI2))
15756 : return -1;
15757 : return 10349; /* vpshld_v32hi */
15758 :
15759 : case 1:
15760 : if (!
15761 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15762 : (TARGET_AVX512VBMI2))
15763 : return -1;
15764 : return 10351; /* vpshld_v16si */
15765 :
15766 : case 2:
15767 : if (!
15768 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15769 : (TARGET_AVX512VBMI2))
15770 : return -1;
15771 : return 10353; /* vpshld_v8di */
15772 :
15773 : case 3:
15774 : if (!(
15775 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15776 : (TARGET_AVX512VBMI2) &&
15777 : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15778 : (TARGET_AVX512VL)))
15779 : return -1;
15780 : return 10355; /* vpshld_v16hi */
15781 :
15782 : case 4:
15783 : if (!(
15784 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15785 : (TARGET_AVX512VBMI2) &&
15786 : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15787 : (TARGET_AVX512VL)))
15788 : return -1;
15789 : return 10357; /* vpshld_v8si */
15790 :
15791 : case 5:
15792 : if (!(
15793 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15794 : (TARGET_AVX512VBMI2) &&
15795 : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15796 : (TARGET_AVX512VL)))
15797 : return -1;
15798 : return 10359; /* vpshld_v4di */
15799 :
15800 : case 6:
15801 : if (!(
15802 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15803 : (TARGET_AVX512VBMI2) &&
15804 : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15805 : (TARGET_AVX512VL)))
15806 : return -1;
15807 : return 10361; /* vpshld_v8hi */
15808 :
15809 : case 7:
15810 : if (!(
15811 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15812 : (TARGET_AVX512VBMI2) &&
15813 : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15814 : (TARGET_AVX512VL)))
15815 : return -1;
15816 : return 10363; /* vpshld_v4si */
15817 :
15818 : case 8:
15819 : if (!(
15820 : #line 31835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15821 : (TARGET_AVX512VBMI2) &&
15822 : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15823 : (TARGET_AVX512VL)))
15824 : return -1;
15825 : return 10365; /* vpshld_v2di */
15826 :
15827 : default:
15828 : return -1;
15829 : }
15830 : }
15831 :
15832 : int
15833 : recog_268 (rtx x1 ATTRIBUTE_UNUSED,
15834 : rtx_insn *insn ATTRIBUTE_UNUSED,
15835 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15836 : {
15837 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15838 : rtx x2, x3, x4, x5;
15839 : int res ATTRIBUTE_UNUSED;
15840 : x2 = XEXP (x1, 0);
15841 : operands[0] = x2;
15842 : x3 = XEXP (x1, 1);
15843 : x4 = XVECEXP (x3, 0, 0);
15844 : operands[1] = x4;
15845 : x5 = XVECEXP (x3, 0, 1);
15846 : operands[2] = x5;
15847 : switch (pattern685 (x3))
15848 : {
15849 : case 0:
15850 : if (
15851 : #line 7560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15852 : (TARGET_AVX512FP16 && 1 && 1))
15853 : return 4374; /* fma_fmaddc_v32hf */
15854 : break;
15855 :
15856 : case 1:
15857 : if ((
15858 : #line 7560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15859 : (TARGET_AVX512FP16 && 1 && 1) &&
15860 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15861 : (TARGET_AVX512VL)))
15862 : return 4382; /* fma_fmaddc_v16hf */
15863 : break;
15864 :
15865 : case 2:
15866 : if ((
15867 : #line 7560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15868 : (TARGET_AVX512FP16 && 1 && 1) &&
15869 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15870 : (TARGET_AVX512VL)))
15871 : return 4386; /* fma_fmaddc_v8hf */
15872 : break;
15873 :
15874 : default:
15875 : break;
15876 : }
15877 : if (GET_CODE (x5) != SUBREG
15878 : || maybe_ne (SUBREG_BYTE (x5), 0))
15879 : return -1;
15880 : switch (pattern604 (x3))
15881 : {
15882 : case 0:
15883 : if (!
15884 : #line 7639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15885 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
15886 : return -1;
15887 : return 4408; /* fma_v32hf_fmaddc_bcst */
15888 :
15889 : case 1:
15890 : if (!(
15891 : #line 7639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15892 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
15893 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15894 : (TARGET_AVX512VL)))
15895 : return -1;
15896 : return 4409; /* fma_v16hf_fmaddc_bcst */
15897 :
15898 : case 2:
15899 : if (!(
15900 : #line 7639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15901 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
15902 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15903 : (TARGET_AVX512VL)))
15904 : return -1;
15905 : return 4410; /* fma_v8hf_fmaddc_bcst */
15906 :
15907 : default:
15908 : return -1;
15909 : }
15910 : }
15911 :
15912 : int
15913 : recog_275 (rtx x1 ATTRIBUTE_UNUSED,
15914 : rtx_insn *insn ATTRIBUTE_UNUSED,
15915 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15916 : {
15917 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15918 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15919 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
15920 : int res ATTRIBUTE_UNUSED;
15921 : x2 = XEXP (x1, 1);
15922 : x3 = XEXP (x2, 0);
15923 : x4 = XEXP (x3, 2);
15924 : if (!register_operand (x4, E_QImode))
15925 : return -1;
15926 : x5 = XEXP (x3, 0);
15927 : switch (GET_CODE (x5))
15928 : {
15929 : case FLOAT:
15930 : switch (pattern505 (x2))
15931 : {
15932 : case 0:
15933 : if (!
15934 : #line 8107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15935 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15936 : return -1;
15937 : return 4582; /* *avx512fp16_vcvtdq2ph_v4si_mask */
15938 :
15939 : case 1:
15940 : if (!
15941 : #line 8107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15942 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15943 : return -1;
15944 : return 4584; /* *avx512fp16_vcvtqq2ph_v4di_mask */
15945 :
15946 : case 2:
15947 : if (!
15948 : #line 8183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15949 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15950 : return -1;
15951 : return 4592; /* *avx512fp16_vcvtqq2ph_v2di_mask */
15952 :
15953 : case 3:
15954 : if (!
15955 : #line 9973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15956 : (TARGET_AVX512DQ && TARGET_AVX512VL))
15957 : return -1;
15958 : return 5072; /* *floatv2div2sf2_mask */
15959 :
15960 : case 4:
15961 : if (!
15962 : #line 8122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15963 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15964 : return -1;
15965 : return 4586; /* *avx512fp16_vcvtdq2ph_v4si_mask_1 */
15966 :
15967 : case 5:
15968 : if (!
15969 : #line 8122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15970 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15971 : return -1;
15972 : return 4588; /* *avx512fp16_vcvtqq2ph_v4di_mask_1 */
15973 :
15974 : case 6:
15975 : if (!
15976 : #line 8198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15977 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15978 : return -1;
15979 : return 4594; /* *avx512fp16_vcvtqq2ph_v2di_mask_1 */
15980 :
15981 : case 7:
15982 : if (!
15983 : #line 9988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15984 : (TARGET_AVX512DQ && TARGET_AVX512VL))
15985 : return -1;
15986 : return 5074; /* *floatv2div2sf2_mask_1 */
15987 :
15988 : default:
15989 : return -1;
15990 : }
15991 :
15992 : case UNSIGNED_FLOAT:
15993 : switch (pattern505 (x2))
15994 : {
15995 : case 0:
15996 : if (!
15997 : #line 8107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15998 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
15999 : return -1;
16000 : return 4583; /* *avx512fp16_vcvtudq2ph_v4si_mask */
16001 :
16002 : case 1:
16003 : if (!
16004 : #line 8107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16005 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16006 : return -1;
16007 : return 4585; /* *avx512fp16_vcvtuqq2ph_v4di_mask */
16008 :
16009 : case 2:
16010 : if (!
16011 : #line 8183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16012 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16013 : return -1;
16014 : return 4593; /* *avx512fp16_vcvtuqq2ph_v2di_mask */
16015 :
16016 : case 3:
16017 : if (!
16018 : #line 9973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16019 : (TARGET_AVX512DQ && TARGET_AVX512VL))
16020 : return -1;
16021 : return 5073; /* *floatunsv2div2sf2_mask */
16022 :
16023 : case 4:
16024 : if (!
16025 : #line 8122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16026 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16027 : return -1;
16028 : return 4587; /* *avx512fp16_vcvtudq2ph_v4si_mask_1 */
16029 :
16030 : case 5:
16031 : if (!
16032 : #line 8122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16033 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16034 : return -1;
16035 : return 4589; /* *avx512fp16_vcvtuqq2ph_v4di_mask_1 */
16036 :
16037 : case 6:
16038 : if (!
16039 : #line 8198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16040 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16041 : return -1;
16042 : return 4595; /* *avx512fp16_vcvtuqq2ph_v2di_mask_1 */
16043 :
16044 : case 7:
16045 : if (!
16046 : #line 9988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16047 : (TARGET_AVX512DQ && TARGET_AVX512VL))
16048 : return -1;
16049 : return 5075; /* *floatunsv2div2sf2_mask_1 */
16050 :
16051 : default:
16052 : return -1;
16053 : }
16054 :
16055 : case FLOAT_TRUNCATE:
16056 : x6 = XEXP (x5, 0);
16057 : operands[1] = x6;
16058 : x7 = XEXP (x2, 1);
16059 : operands[4] = x7;
16060 : x8 = XEXP (x3, 1);
16061 : switch (GET_CODE (x8))
16062 : {
16063 : case VEC_SELECT:
16064 : x9 = XEXP (x8, 1);
16065 : if (GET_CODE (x9) != PARALLEL)
16066 : return -1;
16067 : x10 = XEXP (x8, 0);
16068 : operands[2] = x10;
16069 : operands[3] = x4;
16070 : switch (XVECLEN (x9, 0))
16071 : {
16072 : case 4:
16073 : if (pattern1234 (x9,
16074 : 3,
16075 : 2,
16076 : 1,
16077 : 0) != 0)
16078 : return -1;
16079 : switch (GET_MODE (operands[0]))
16080 : {
16081 : case E_V8HFmode:
16082 : if (!register_operand (operands[0], E_V8HFmode)
16083 : || GET_MODE (x2) != E_V8HFmode
16084 : || GET_MODE (x3) != E_V4HFmode
16085 : || GET_MODE (x5) != E_V4HFmode
16086 : || GET_MODE (x8) != E_V4HFmode
16087 : || !nonimm_or_0_operand (operands[2], E_V8HFmode))
16088 : return -1;
16089 : switch (pattern1577 ())
16090 : {
16091 : case 0:
16092 : if (!
16093 : #line 8616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16094 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16095 : return -1;
16096 : return 4816; /* *avx512fp16_vcvtpd2ph_v4df_mask */
16097 :
16098 : case 1:
16099 : if (!
16100 : #line 8616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16101 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16102 : return -1;
16103 : return 4817; /* *avx512fp16_vcvtps2ph_v4sf_mask */
16104 :
16105 : default:
16106 : return -1;
16107 : }
16108 :
16109 : case E_V8BFmode:
16110 : if (pattern501 (x2,
16111 : E_V4BFmode,
16112 : E_V8BFmode,
16113 : E_V4SFmode) != 0
16114 : || !
16115 : #line 32538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16116 : (TARGET_AVX512BF16 && TARGET_AVX512VL))
16117 : return -1;
16118 : return 10493; /* avx512f_cvtneps2bf16_v4sf_mask_1 */
16119 :
16120 : default:
16121 : return -1;
16122 : }
16123 :
16124 : case 2:
16125 : switch (pattern502 (x2,
16126 : E_V2DFmode))
16127 : {
16128 : case 0:
16129 : if (!
16130 : #line 8692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16131 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16132 : return -1;
16133 : return 4821; /* *avx512fp16_vcvtpd2ph_v2df_mask */
16134 :
16135 : case 1:
16136 : if (!
16137 : #line 10851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16138 : (TARGET_AVX512VL))
16139 : return -1;
16140 : return 5247; /* *sse2_cvtpd2ps_mask */
16141 :
16142 : default:
16143 : return -1;
16144 : }
16145 :
16146 : default:
16147 : return -1;
16148 : }
16149 :
16150 : case CONST_INT:
16151 : case CONST_DOUBLE:
16152 : case CONST_VECTOR:
16153 : operands[3] = x8;
16154 : operands[2] = x4;
16155 : switch (GET_MODE (operands[0]))
16156 : {
16157 : case E_V8HFmode:
16158 : if (!register_operand (operands[0], E_V8HFmode)
16159 : || GET_MODE (x2) != E_V8HFmode)
16160 : return -1;
16161 : switch (GET_MODE (x3))
16162 : {
16163 : case E_V4HFmode:
16164 : if (GET_MODE (x5) != E_V4HFmode
16165 : || !const0_operand (operands[3], E_V4HFmode))
16166 : return -1;
16167 : switch (pattern1577 ())
16168 : {
16169 : case 0:
16170 : if (!
16171 : #line 8631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16172 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16173 : return -1;
16174 : return 4818; /* *avx512fp16_vcvtpd2ph_v4df_mask_1 */
16175 :
16176 : case 1:
16177 : if (!
16178 : #line 8631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16179 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16180 : return -1;
16181 : return 4819; /* *avx512fp16_vcvtps2ph_v4sf_mask_1 */
16182 :
16183 : default:
16184 : return -1;
16185 : }
16186 :
16187 : case E_V2HFmode:
16188 : if (pattern503 (x5,
16189 : E_V2DFmode) != 0
16190 : || !
16191 : #line 8707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16192 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
16193 : return -1;
16194 : return 4822; /* *avx512fp16_vcvtpd2ph_v2df_mask_1 */
16195 :
16196 : default:
16197 : return -1;
16198 : }
16199 :
16200 : case E_V4SFmode:
16201 : if (pattern504 (x2,
16202 : E_V2DFmode) != 0
16203 : || !
16204 : #line 10866 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16205 : (TARGET_AVX512VL))
16206 : return -1;
16207 : return 5248; /* *sse2_cvtpd2ps_mask_1 */
16208 :
16209 : default:
16210 : return -1;
16211 : }
16212 :
16213 : default:
16214 : return -1;
16215 : }
16216 :
16217 : case UNSPEC:
16218 : switch (XVECLEN (x5, 0))
16219 : {
16220 : case 1:
16221 : x11 = XVECEXP (x5, 0, 0);
16222 : operands[1] = x11;
16223 : switch (XINT (x5, 1))
16224 : {
16225 : case 47:
16226 : switch (pattern930 (x2))
16227 : {
16228 : case 0:
16229 : if (!
16230 : #line 10146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16231 : (TARGET_AVX512VL))
16232 : return -1;
16233 : return 5094; /* sse2_cvtpd2dq_mask */
16234 :
16235 : case 1:
16236 : if (!
16237 : #line 10161 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16238 : (TARGET_AVX512VL))
16239 : return -1;
16240 : return 5095; /* *sse2_cvtpd2dq_mask_1 */
16241 :
16242 : default:
16243 : return -1;
16244 : }
16245 :
16246 : case 157:
16247 : switch (pattern930 (x2))
16248 : {
16249 : case 0:
16250 : if (!
16251 : #line 10207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16252 : (TARGET_AVX512VL))
16253 : return -1;
16254 : return 5105; /* fixuns_notruncv2dfv2si2_mask */
16255 :
16256 : case 1:
16257 : if (!
16258 : #line 10223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16259 : (TARGET_AVX512VL))
16260 : return -1;
16261 : return 5106; /* *fixuns_notruncv2dfv2si2_mask_1 */
16262 :
16263 : default:
16264 : return -1;
16265 : }
16266 :
16267 : case 174:
16268 : if (GET_MODE (x5) != E_V2SImode)
16269 : return -1;
16270 : x8 = XEXP (x3, 1);
16271 : if (pattern686 (x8,
16272 : 2,
16273 : E_V2SImode) != 0)
16274 : return -1;
16275 : x9 = XEXP (x8, 1);
16276 : x12 = XVECEXP (x9, 0, 0);
16277 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16278 : return -1;
16279 : x13 = XVECEXP (x9, 0, 1);
16280 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16281 : return -1;
16282 : x7 = XEXP (x2, 1);
16283 : if (GET_CODE (x7) != CONST_VECTOR
16284 : || XVECLEN (x7, 0) != 2
16285 : || GET_MODE (x7) != E_V2SImode)
16286 : return -1;
16287 : x14 = XVECEXP (x7, 0, 0);
16288 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16289 : return -1;
16290 : x15 = XVECEXP (x7, 0, 1);
16291 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
16292 : || !register_operand (operands[0], E_V4SImode)
16293 : || GET_MODE (x2) != E_V4SImode
16294 : || GET_MODE (x3) != E_V2SImode
16295 : || !nonimmediate_operand (operands[1], E_V2DFmode))
16296 : return -1;
16297 : x10 = XEXP (x8, 0);
16298 : operands[2] = x10;
16299 : if (!nonimm_or_0_operand (operands[2], E_V4SImode))
16300 : return -1;
16301 : operands[3] = x4;
16302 : if (!
16303 : #line 10284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16304 : (TARGET_AVX512VL))
16305 : return -1;
16306 : return 5125; /* unspec_fixuns_truncv2dfv2si2_mask */
16307 :
16308 : case 254:
16309 : if (pattern931 (x2) != 0
16310 : || !
16311 : #line 33346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16312 : (TARGET_AVX10_2))
16313 : return -1;
16314 : return 10645; /* *vcvtph2bf8v8hf_mask */
16315 :
16316 : case 255:
16317 : if (pattern931 (x2) != 0
16318 : || !
16319 : #line 33346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16320 : (TARGET_AVX10_2))
16321 : return -1;
16322 : return 10646; /* *vcvtph2bf8sv8hf_mask */
16323 :
16324 : case 256:
16325 : if (pattern931 (x2) != 0
16326 : || !
16327 : #line 33346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16328 : (TARGET_AVX10_2))
16329 : return -1;
16330 : return 10647; /* *vcvtph2hf8v8hf_mask */
16331 :
16332 : case 257:
16333 : if (pattern931 (x2) != 0
16334 : || !
16335 : #line 33346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16336 : (TARGET_AVX10_2))
16337 : return -1;
16338 : return 10648; /* *vcvtph2hf8sv8hf_mask */
16339 :
16340 : default:
16341 : return -1;
16342 : }
16343 :
16344 : case 2:
16345 : x8 = XEXP (x3, 1);
16346 : if (pattern686 (x8,
16347 : 8,
16348 : E_V8QImode) != 0)
16349 : return -1;
16350 : x9 = XEXP (x8, 1);
16351 : x12 = XVECEXP (x9, 0, 0);
16352 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16353 : return -1;
16354 : x13 = XVECEXP (x9, 0, 1);
16355 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16356 : return -1;
16357 : x16 = XVECEXP (x9, 0, 2);
16358 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
16359 : || pattern1432 (x9,
16360 : 7,
16361 : 6,
16362 : 5,
16363 : 4,
16364 : 3) != 0
16365 : || !register_operand (operands[0], E_V16QImode)
16366 : || GET_MODE (x2) != E_V16QImode
16367 : || GET_MODE (x3) != E_V8QImode
16368 : || GET_MODE (x5) != E_V8QImode)
16369 : return -1;
16370 : x11 = XVECEXP (x5, 0, 0);
16371 : operands[1] = x11;
16372 : if (!register_operand (operands[1], E_V16QImode))
16373 : return -1;
16374 : x17 = XVECEXP (x5, 0, 1);
16375 : operands[2] = x17;
16376 : if (!nonimmediate_operand (operands[2], E_V8HFmode))
16377 : return -1;
16378 : x10 = XEXP (x8, 0);
16379 : operands[3] = x10;
16380 : if (!nonimm_or_0_operand (operands[3], E_V16QImode))
16381 : return -1;
16382 : operands[4] = x4;
16383 : x7 = XEXP (x2, 1);
16384 : operands[5] = x7;
16385 : if (!const0_operand (operands[5], E_V8QImode))
16386 : return -1;
16387 : switch (XINT (x5, 1))
16388 : {
16389 : case 246:
16390 : if (!
16391 : #line 33258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16392 : (TARGET_AVX10_2))
16393 : return -1;
16394 : return 10621; /* *vcvtbiasph2bf8v8hf_mask */
16395 :
16396 : case 247:
16397 : if (!
16398 : #line 33258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16399 : (TARGET_AVX10_2))
16400 : return -1;
16401 : return 10622; /* *vcvtbiasph2bf8sv8hf_mask */
16402 :
16403 : case 248:
16404 : if (!
16405 : #line 33258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16406 : (TARGET_AVX10_2))
16407 : return -1;
16408 : return 10623; /* *vcvtbiasph2hf8v8hf_mask */
16409 :
16410 : case 249:
16411 : if (!
16412 : #line 33258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16413 : (TARGET_AVX10_2))
16414 : return -1;
16415 : return 10624; /* *vcvtbiasph2hf8sv8hf_mask */
16416 :
16417 : default:
16418 : return -1;
16419 : }
16420 :
16421 : default:
16422 : return -1;
16423 : }
16424 :
16425 : case UNSIGNED_FIX:
16426 : switch (pattern507 (x2))
16427 : {
16428 : case 0:
16429 : if (!
16430 : #line 10300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16431 : (TARGET_AVX512VL))
16432 : return -1;
16433 : return 5126; /* fixuns_truncv2dfv2si2_mask */
16434 :
16435 : case 1:
16436 : if (!
16437 : #line 10314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16438 : (TARGET_AVX512VL))
16439 : return -1;
16440 : return 5127; /* *fixuns_truncv2dfv2si2_mask_1 */
16441 :
16442 : default:
16443 : return -1;
16444 : }
16445 :
16446 : case FIX:
16447 : switch (pattern507 (x2))
16448 : {
16449 : case 0:
16450 : if (!
16451 : #line 10649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16452 : (TARGET_AVX512VL))
16453 : return -1;
16454 : return 5227; /* sse2_cvttpd2dq_mask */
16455 :
16456 : case 1:
16457 : if (!
16458 : #line 10663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16459 : (TARGET_AVX512VL))
16460 : return -1;
16461 : return 5228; /* *sse2_cvttpd2dq_mask_1 */
16462 :
16463 : default:
16464 : return -1;
16465 : }
16466 :
16467 : case SS_TRUNCATE:
16468 : switch (pattern513 (x2))
16469 : {
16470 : case 0:
16471 : if (!
16472 : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16473 : (TARGET_AVX512VL))
16474 : return -1;
16475 : return 7388; /* avx512vl_ss_truncatev2div2qi2_mask */
16476 :
16477 : case 1:
16478 : if (!
16479 : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16480 : (TARGET_AVX512VL))
16481 : return -1;
16482 : return 7503; /* avx512vl_ss_truncatev2div2hi2_mask */
16483 :
16484 : case 2:
16485 : if (!
16486 : #line 16739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16487 : (TARGET_AVX512VL))
16488 : return -1;
16489 : return 7522; /* avx512vl_ss_truncatev2div2si2_mask */
16490 :
16491 : case 3:
16492 : if (!
16493 : #line 16248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16494 : (TARGET_AVX512VL))
16495 : return -1;
16496 : return 7409; /* avx512vl_ss_truncatev4siv4qi2_mask */
16497 :
16498 : case 4:
16499 : if (!
16500 : #line 16248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16501 : (TARGET_AVX512VL))
16502 : return -1;
16503 : return 7412; /* avx512vl_ss_truncatev4div4qi2_mask */
16504 :
16505 : case 5:
16506 : if (!
16507 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16508 : (TARGET_AVX512VL))
16509 : return -1;
16510 : return 7479; /* avx512vl_ss_truncatev4siv4hi2_mask */
16511 :
16512 : case 6:
16513 : if (!
16514 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16515 : (TARGET_AVX512VL))
16516 : return -1;
16517 : return 7482; /* avx512vl_ss_truncatev4div4hi2_mask */
16518 :
16519 : case 7:
16520 : if (!(
16521 : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16522 : (TARGET_AVX512VL) &&
16523 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16524 : (TARGET_AVX512BW)))
16525 : return -1;
16526 : return 7439; /* avx512vl_ss_truncatev8hiv8qi2_mask */
16527 :
16528 : case 8:
16529 : if (!
16530 : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16531 : (TARGET_AVX512VL))
16532 : return -1;
16533 : return 7442; /* avx512vl_ss_truncatev8siv8qi2_mask */
16534 :
16535 : case 9:
16536 : if (!
16537 : #line 16858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16538 : (TARGET_AVX512F))
16539 : return -1;
16540 : return 7540; /* avx512f_ss_truncatev8div16qi2_mask */
16541 :
16542 : case 10:
16543 : if (!
16544 : #line 16174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16545 : (TARGET_AVX512VL))
16546 : return -1;
16547 : return 7391; /* *avx512vl_ss_truncatev2div2qi2_mask_1 */
16548 :
16549 : case 11:
16550 : if (!
16551 : #line 16608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16552 : (TARGET_AVX512VL))
16553 : return -1;
16554 : return 7506; /* *avx512vl_ss_truncatev2div2hi2_mask_1 */
16555 :
16556 : case 12:
16557 : if (!
16558 : #line 16754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16559 : (TARGET_AVX512VL))
16560 : return -1;
16561 : return 7525; /* *avx512vl_ss_truncatev2div2si2_mask_1 */
16562 :
16563 : case 13:
16564 : if (!
16565 : #line 16269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16566 : (TARGET_AVX512VL))
16567 : return -1;
16568 : return 7415; /* *avx512vl_ss_truncatev4siv4qi2_mask_1 */
16569 :
16570 : case 14:
16571 : if (!
16572 : #line 16269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16573 : (TARGET_AVX512VL))
16574 : return -1;
16575 : return 7418; /* *avx512vl_ss_truncatev4div4qi2_mask_1 */
16576 :
16577 : case 15:
16578 : if (!
16579 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16580 : (TARGET_AVX512VL))
16581 : return -1;
16582 : return 7485; /* *avx512vl_ss_truncatev4siv4hi2_mask_1 */
16583 :
16584 : case 16:
16585 : if (!
16586 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16587 : (TARGET_AVX512VL))
16588 : return -1;
16589 : return 7488; /* *avx512vl_ss_truncatev4div4hi2_mask_1 */
16590 :
16591 : case 17:
16592 : if (!(
16593 : #line 16367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16594 : (TARGET_AVX512VL) &&
16595 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16596 : (TARGET_AVX512BW)))
16597 : return -1;
16598 : return 7445; /* *avx512vl_ss_truncatev8hiv8qi2_mask_1 */
16599 :
16600 : case 18:
16601 : if (!
16602 : #line 16367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16603 : (TARGET_AVX512VL))
16604 : return -1;
16605 : return 7448; /* *avx512vl_ss_truncatev8siv8qi2_mask_1 */
16606 :
16607 : case 19:
16608 : if (!
16609 : #line 16879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16610 : (TARGET_AVX512F))
16611 : return -1;
16612 : return 7543; /* *avx512f_ss_truncatev8div16qi2_mask_1 */
16613 :
16614 : default:
16615 : return -1;
16616 : }
16617 :
16618 : case TRUNCATE:
16619 : switch (pattern513 (x2))
16620 : {
16621 : case 0:
16622 : if (!
16623 : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16624 : (TARGET_AVX512VL))
16625 : return -1;
16626 : return 7389; /* avx512vl_truncatev2div2qi2_mask */
16627 :
16628 : case 1:
16629 : if (!
16630 : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16631 : (TARGET_AVX512VL))
16632 : return -1;
16633 : return 7504; /* avx512vl_truncatev2div2hi2_mask */
16634 :
16635 : case 2:
16636 : if (!
16637 : #line 16739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16638 : (TARGET_AVX512VL))
16639 : return -1;
16640 : return 7523; /* avx512vl_truncatev2div2si2_mask */
16641 :
16642 : case 3:
16643 : if (!
16644 : #line 16248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16645 : (TARGET_AVX512VL))
16646 : return -1;
16647 : return 7410; /* avx512vl_truncatev4siv4qi2_mask */
16648 :
16649 : case 4:
16650 : if (!
16651 : #line 16248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16652 : (TARGET_AVX512VL))
16653 : return -1;
16654 : return 7413; /* avx512vl_truncatev4div4qi2_mask */
16655 :
16656 : case 5:
16657 : if (!
16658 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16659 : (TARGET_AVX512VL))
16660 : return -1;
16661 : return 7480; /* avx512vl_truncatev4siv4hi2_mask */
16662 :
16663 : case 6:
16664 : if (!
16665 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16666 : (TARGET_AVX512VL))
16667 : return -1;
16668 : return 7483; /* avx512vl_truncatev4div4hi2_mask */
16669 :
16670 : case 7:
16671 : if (!(
16672 : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16673 : (TARGET_AVX512VL) &&
16674 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16675 : (TARGET_AVX512BW)))
16676 : return -1;
16677 : return 7440; /* avx512vl_truncatev8hiv8qi2_mask */
16678 :
16679 : case 8:
16680 : if (!
16681 : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16682 : (TARGET_AVX512VL))
16683 : return -1;
16684 : return 7443; /* avx512vl_truncatev8siv8qi2_mask */
16685 :
16686 : case 9:
16687 : if (!
16688 : #line 16858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16689 : (TARGET_AVX512F))
16690 : return -1;
16691 : return 7541; /* avx512f_truncatev8div16qi2_mask */
16692 :
16693 : case 10:
16694 : if (!
16695 : #line 16174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16696 : (TARGET_AVX512VL))
16697 : return -1;
16698 : return 7392; /* *avx512vl_truncatev2div2qi2_mask_1 */
16699 :
16700 : case 11:
16701 : if (!
16702 : #line 16608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16703 : (TARGET_AVX512VL))
16704 : return -1;
16705 : return 7507; /* *avx512vl_truncatev2div2hi2_mask_1 */
16706 :
16707 : case 12:
16708 : if (!
16709 : #line 16754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16710 : (TARGET_AVX512VL))
16711 : return -1;
16712 : return 7526; /* *avx512vl_truncatev2div2si2_mask_1 */
16713 :
16714 : case 13:
16715 : if (!
16716 : #line 16269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16717 : (TARGET_AVX512VL))
16718 : return -1;
16719 : return 7416; /* *avx512vl_truncatev4siv4qi2_mask_1 */
16720 :
16721 : case 14:
16722 : if (!
16723 : #line 16269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16724 : (TARGET_AVX512VL))
16725 : return -1;
16726 : return 7419; /* *avx512vl_truncatev4div4qi2_mask_1 */
16727 :
16728 : case 15:
16729 : if (!
16730 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16731 : (TARGET_AVX512VL))
16732 : return -1;
16733 : return 7486; /* *avx512vl_truncatev4siv4hi2_mask_1 */
16734 :
16735 : case 16:
16736 : if (!
16737 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16738 : (TARGET_AVX512VL))
16739 : return -1;
16740 : return 7489; /* *avx512vl_truncatev4div4hi2_mask_1 */
16741 :
16742 : case 17:
16743 : if (!(
16744 : #line 16367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16745 : (TARGET_AVX512VL) &&
16746 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16747 : (TARGET_AVX512BW)))
16748 : return -1;
16749 : return 7446; /* *avx512vl_truncatev8hiv8qi2_mask_1 */
16750 :
16751 : case 18:
16752 : if (!
16753 : #line 16367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16754 : (TARGET_AVX512VL))
16755 : return -1;
16756 : return 7449; /* *avx512vl_truncatev8siv8qi2_mask_1 */
16757 :
16758 : case 19:
16759 : if (!
16760 : #line 16879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16761 : (TARGET_AVX512F))
16762 : return -1;
16763 : return 7544; /* *avx512f_truncatev8div16qi2_mask_1 */
16764 :
16765 : default:
16766 : return -1;
16767 : }
16768 :
16769 : case US_TRUNCATE:
16770 : switch (pattern513 (x2))
16771 : {
16772 : case 0:
16773 : if (!
16774 : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16775 : (TARGET_AVX512VL))
16776 : return -1;
16777 : return 7390; /* avx512vl_us_truncatev2div2qi2_mask */
16778 :
16779 : case 1:
16780 : if (!
16781 : #line 16591 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16782 : (TARGET_AVX512VL))
16783 : return -1;
16784 : return 7505; /* avx512vl_us_truncatev2div2hi2_mask */
16785 :
16786 : case 2:
16787 : if (!
16788 : #line 16739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16789 : (TARGET_AVX512VL))
16790 : return -1;
16791 : return 7524; /* avx512vl_us_truncatev2div2si2_mask */
16792 :
16793 : case 3:
16794 : if (!
16795 : #line 16248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16796 : (TARGET_AVX512VL))
16797 : return -1;
16798 : return 7411; /* avx512vl_us_truncatev4siv4qi2_mask */
16799 :
16800 : case 4:
16801 : if (!
16802 : #line 16248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16803 : (TARGET_AVX512VL))
16804 : return -1;
16805 : return 7414; /* avx512vl_us_truncatev4div4qi2_mask */
16806 :
16807 : case 5:
16808 : if (!
16809 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16810 : (TARGET_AVX512VL))
16811 : return -1;
16812 : return 7481; /* avx512vl_us_truncatev4siv4hi2_mask */
16813 :
16814 : case 6:
16815 : if (!
16816 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16817 : (TARGET_AVX512VL))
16818 : return -1;
16819 : return 7484; /* avx512vl_us_truncatev4div4hi2_mask */
16820 :
16821 : case 7:
16822 : if (!(
16823 : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16824 : (TARGET_AVX512VL) &&
16825 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16826 : (TARGET_AVX512BW)))
16827 : return -1;
16828 : return 7441; /* avx512vl_us_truncatev8hiv8qi2_mask */
16829 :
16830 : case 8:
16831 : if (!
16832 : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16833 : (TARGET_AVX512VL))
16834 : return -1;
16835 : return 7444; /* avx512vl_us_truncatev8siv8qi2_mask */
16836 :
16837 : case 9:
16838 : if (!
16839 : #line 16858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16840 : (TARGET_AVX512F))
16841 : return -1;
16842 : return 7542; /* avx512f_us_truncatev8div16qi2_mask */
16843 :
16844 : case 10:
16845 : if (!
16846 : #line 16174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16847 : (TARGET_AVX512VL))
16848 : return -1;
16849 : return 7393; /* *avx512vl_us_truncatev2div2qi2_mask_1 */
16850 :
16851 : case 11:
16852 : if (!
16853 : #line 16608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16854 : (TARGET_AVX512VL))
16855 : return -1;
16856 : return 7508; /* *avx512vl_us_truncatev2div2hi2_mask_1 */
16857 :
16858 : case 12:
16859 : if (!
16860 : #line 16754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16861 : (TARGET_AVX512VL))
16862 : return -1;
16863 : return 7527; /* *avx512vl_us_truncatev2div2si2_mask_1 */
16864 :
16865 : case 13:
16866 : if (!
16867 : #line 16269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16868 : (TARGET_AVX512VL))
16869 : return -1;
16870 : return 7417; /* *avx512vl_us_truncatev4siv4qi2_mask_1 */
16871 :
16872 : case 14:
16873 : if (!
16874 : #line 16269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16875 : (TARGET_AVX512VL))
16876 : return -1;
16877 : return 7420; /* *avx512vl_us_truncatev4div4qi2_mask_1 */
16878 :
16879 : case 15:
16880 : if (!
16881 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16882 : (TARGET_AVX512VL))
16883 : return -1;
16884 : return 7487; /* *avx512vl_us_truncatev4siv4hi2_mask_1 */
16885 :
16886 : case 16:
16887 : if (!
16888 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16889 : (TARGET_AVX512VL))
16890 : return -1;
16891 : return 7490; /* *avx512vl_us_truncatev4div4hi2_mask_1 */
16892 :
16893 : case 17:
16894 : if (!(
16895 : #line 16367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16896 : (TARGET_AVX512VL) &&
16897 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16898 : (TARGET_AVX512BW)))
16899 : return -1;
16900 : return 7447; /* *avx512vl_us_truncatev8hiv8qi2_mask_1 */
16901 :
16902 : case 18:
16903 : if (!
16904 : #line 16367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16905 : (TARGET_AVX512VL))
16906 : return -1;
16907 : return 7450; /* *avx512vl_us_truncatev8siv8qi2_mask_1 */
16908 :
16909 : case 19:
16910 : if (!
16911 : #line 16879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16912 : (TARGET_AVX512F))
16913 : return -1;
16914 : return 7545; /* *avx512f_us_truncatev8div16qi2_mask_1 */
16915 :
16916 : default:
16917 : return -1;
16918 : }
16919 :
16920 : default:
16921 : return -1;
16922 : }
16923 : }
16924 :
16925 : int
16926 : recog_293 (rtx x1 ATTRIBUTE_UNUSED,
16927 : rtx_insn *insn ATTRIBUTE_UNUSED,
16928 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16929 : {
16930 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16931 : rtx x2, x3, x4, x5, x6;
16932 : int res ATTRIBUTE_UNUSED;
16933 : x2 = XEXP (x1, 1);
16934 : x3 = XEXP (x2, 1);
16935 : x4 = XVECEXP (x3, 0, 1);
16936 : operands[3] = x4;
16937 : x5 = XVECEXP (x3, 0, 2);
16938 : operands[4] = x5;
16939 : x6 = XVECEXP (x3, 0, 3);
16940 : operands[5] = x6;
16941 : switch (GET_MODE (operands[0]))
16942 : {
16943 : case E_V4SFmode:
16944 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
16945 : || GET_MODE (x2) != E_V4SFmode
16946 : || pattern1503 (
16947 : E_V16SFmode) != 0
16948 : || !
16949 : #line 13234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16950 : (TARGET_AVX512F
16951 : && INTVAL (operands[2]) % 4 == 0
16952 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
16953 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16954 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
16955 : return -1;
16956 : return 5406; /* *avx512f_vextractf32x4_1 */
16957 :
16958 : case E_V4SImode:
16959 : if (GET_MODE (x2) != E_V4SImode)
16960 : return -1;
16961 : if (nonimmediate_operand (operands[0], E_V4SImode)
16962 : && pattern1503 (
16963 : E_V16SImode) == 0
16964 : &&
16965 : #line 13234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16966 : (TARGET_AVX512F
16967 : && INTVAL (operands[2]) % 4 == 0
16968 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
16969 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16970 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
16971 : return 5407; /* *avx512f_vextracti32x4_1 */
16972 : if (!register_operand (operands[0], E_V4SImode)
16973 : || !vector_operand (operands[1], E_V4SImode)
16974 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
16975 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
16976 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
16977 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
16978 : || !
16979 : #line 21487 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16980 : (TARGET_SSE2 && 1))
16981 : return -1;
16982 : return 8560; /* sse2_pshufd_1 */
16983 :
16984 : default:
16985 : return -1;
16986 : }
16987 : }
16988 :
16989 : int
16990 : recog_296 (rtx x1 ATTRIBUTE_UNUSED,
16991 : rtx_insn *insn ATTRIBUTE_UNUSED,
16992 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16993 : {
16994 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16995 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16996 : int res ATTRIBUTE_UNUSED;
16997 : x2 = XEXP (x1, 1);
16998 : x3 = XEXP (x2, 1);
16999 : x4 = XVECEXP (x3, 0, 1);
17000 : operands[3] = x4;
17001 : x5 = XVECEXP (x3, 0, 2);
17002 : operands[4] = x5;
17003 : x6 = XVECEXP (x3, 0, 3);
17004 : operands[5] = x6;
17005 : x7 = XVECEXP (x3, 0, 5);
17006 : operands[7] = x7;
17007 : x8 = XVECEXP (x3, 0, 6);
17008 : operands[8] = x8;
17009 : x9 = XVECEXP (x3, 0, 7);
17010 : operands[9] = x9;
17011 : switch (GET_MODE (operands[0]))
17012 : {
17013 : case E_V8DFmode:
17014 : if (pattern1646 (x2,
17015 : E_V8DFmode) != 0
17016 : || !
17017 : #line 21064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17018 : (TARGET_AVX512F
17019 : && (INTVAL (operands[2]) & 1) == 0
17020 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17021 : && (INTVAL (operands[4]) & 1) == 0
17022 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
17023 : && (INTVAL (operands[6]) & 1) == 0
17024 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
17025 : && (INTVAL (operands[8]) & 1) == 0
17026 : && INTVAL (operands[8]) == INTVAL (operands[9]) - 1))
17027 : return -1;
17028 : return 8540; /* *avx512f_shuf_f64x2_1_1 */
17029 :
17030 : case E_V8DImode:
17031 : if (pattern1646 (x2,
17032 : E_V8DImode) != 0
17033 : || !
17034 : #line 21064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17035 : (TARGET_AVX512F
17036 : && (INTVAL (operands[2]) & 1) == 0
17037 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17038 : && (INTVAL (operands[4]) & 1) == 0
17039 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
17040 : && (INTVAL (operands[6]) & 1) == 0
17041 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
17042 : && (INTVAL (operands[8]) & 1) == 0
17043 : && INTVAL (operands[8]) == INTVAL (operands[9]) - 1))
17044 : return -1;
17045 : return 8542; /* *avx512f_shuf_i64x2_1_1 */
17046 :
17047 : case E_V8SImode:
17048 : if (!register_operand (operands[0], E_V8SImode)
17049 : || GET_MODE (x2) != E_V8SImode
17050 : || !nonimmediate_operand (operands[1], E_V8SImode)
17051 : || pattern1739 () != 0
17052 : || !
17053 : #line 21425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17054 : (TARGET_AVX2
17055 : && 1
17056 : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
17057 : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
17058 : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
17059 : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])))
17060 : return -1;
17061 : return 8558; /* avx2_pshufd_1 */
17062 :
17063 : default:
17064 : return -1;
17065 : }
17066 : }
17067 :
17068 : int
17069 : recog_301 (rtx x1 ATTRIBUTE_UNUSED,
17070 : rtx_insn *insn ATTRIBUTE_UNUSED,
17071 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17072 : {
17073 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17074 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
17075 : rtx x10, x11;
17076 : int res ATTRIBUTE_UNUSED;
17077 : x2 = XEXP (x1, 1);
17078 : x3 = XEXP (x2, 1);
17079 : x4 = XVECEXP (x3, 0, 4);
17080 : if (GET_CODE (x4) != CONST_INT)
17081 : return -1;
17082 : operands[6] = x4;
17083 : res = recog_300 (x1, insn, pnum_clobbers);
17084 : if (res >= 0)
17085 : return res;
17086 : if (XWINT (x4, 0) != 4L)
17087 : return -1;
17088 : x5 = XVECEXP (x3, 0, 5);
17089 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
17090 : return -1;
17091 : x6 = XVECEXP (x3, 0, 6);
17092 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
17093 : return -1;
17094 : x7 = XVECEXP (x3, 0, 7);
17095 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
17096 : || pattern1434 (x3) != 0
17097 : || !register_operand (operands[0], E_V16HImode)
17098 : || GET_MODE (x2) != E_V16HImode
17099 : || !nonimmediate_operand (operands[1], E_V16HImode)
17100 : || pattern760 (x3) != 0)
17101 : return -1;
17102 : x8 = XVECEXP (x3, 0, 8);
17103 : operands[6] = x8;
17104 : if (!const_8_to_11_operand (operands[6], E_VOIDmode))
17105 : return -1;
17106 : x9 = XVECEXP (x3, 0, 9);
17107 : operands[7] = x9;
17108 : if (!const_8_to_11_operand (operands[7], E_VOIDmode))
17109 : return -1;
17110 : x10 = XVECEXP (x3, 0, 10);
17111 : operands[8] = x10;
17112 : if (!const_8_to_11_operand (operands[8], E_VOIDmode))
17113 : return -1;
17114 : x11 = XVECEXP (x3, 0, 11);
17115 : operands[9] = x11;
17116 : if (!const_8_to_11_operand (operands[9], E_VOIDmode)
17117 : || !
17118 : #line 21577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17119 : (TARGET_AVX2
17120 : && 1 && 1
17121 : && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
17122 : && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
17123 : && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
17124 : && INTVAL (operands[5]) + 8 == INTVAL (operands[9])))
17125 : return -1;
17126 : return 8564; /* avx2_pshuflw_1 */
17127 : }
17128 :
17129 : int
17130 : recog_306 (rtx x1 ATTRIBUTE_UNUSED,
17131 : rtx_insn *insn ATTRIBUTE_UNUSED,
17132 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17133 : {
17134 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17135 : rtx x2, x3, x4, x5, x6, x7;
17136 : int res ATTRIBUTE_UNUSED;
17137 : x2 = XEXP (x1, 1);
17138 : x3 = XEXP (x2, 0);
17139 : x4 = XEXP (x3, 1);
17140 : if (GET_CODE (x4) != PARALLEL)
17141 : return -1;
17142 : x5 = XEXP (x3, 0);
17143 : operands[1] = x5;
17144 : switch (XVECLEN (x4, 0))
17145 : {
17146 : case 1:
17147 : x6 = XVECEXP (x4, 0, 0);
17148 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
17149 : return -1;
17150 : switch (GET_MODE (operands[0]))
17151 : {
17152 : case E_V8SFmode:
17153 : if (!register_operand (operands[0], E_V8SFmode)
17154 : || GET_MODE (x2) != E_V8SFmode
17155 : || GET_MODE (x3) != E_SFmode)
17156 : return -1;
17157 : switch (GET_MODE (operands[1]))
17158 : {
17159 : case E_V4SFmode:
17160 : if (register_operand (operands[1], E_V4SFmode)
17161 : && (
17162 : #line 12386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17163 : (TARGET_AVX2) &&
17164 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17165 : (TARGET_AVX)))
17166 : return 5343; /* avx2_vec_dupv8sf */
17167 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
17168 : || !(
17169 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17170 : (TARGET_AVX512F) &&
17171 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17172 : (TARGET_AVX512VL)))
17173 : return -1;
17174 : return 9340; /* avx512vl_vec_dupv8sf */
17175 :
17176 : case E_V8SFmode:
17177 : if (!register_operand (operands[1], E_V8SFmode)
17178 : || !
17179 : #line 12398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17180 : (TARGET_AVX2))
17181 : return -1;
17182 : return 5345; /* avx2_vec_dupv8sf_1 */
17183 :
17184 : default:
17185 : return -1;
17186 : }
17187 :
17188 : case E_V4SFmode:
17189 : if (!register_operand (operands[0], E_V4SFmode)
17190 : || GET_MODE (x2) != E_V4SFmode
17191 : || GET_MODE (x3) != E_SFmode)
17192 : return -1;
17193 : if (register_operand (operands[1], E_V4SFmode)
17194 : &&
17195 : #line 12386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17196 : (TARGET_AVX2))
17197 : return 5344; /* avx2_vec_dupv4sf */
17198 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
17199 : || !(
17200 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17201 : (TARGET_AVX512F) &&
17202 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17203 : (TARGET_AVX512VL)))
17204 : return -1;
17205 : return 9342; /* avx512vl_vec_dupv4sf */
17206 :
17207 : case E_V16SFmode:
17208 : if (!register_operand (operands[0], E_V16SFmode)
17209 : || GET_MODE (x2) != E_V16SFmode
17210 : || GET_MODE (x3) != E_SFmode)
17211 : return -1;
17212 : switch (GET_MODE (operands[1]))
17213 : {
17214 : case E_V16SFmode:
17215 : if (!register_operand (operands[1], E_V16SFmode)
17216 : || !
17217 : #line 12410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17218 : (TARGET_AVX512F))
17219 : return -1;
17220 : return 5346; /* avx512f_vec_dupv16sf_1 */
17221 :
17222 : case E_V4SFmode:
17223 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
17224 : || !
17225 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17226 : (TARGET_AVX512F))
17227 : return -1;
17228 : return 9338; /* avx512f_vec_dupv16sf */
17229 :
17230 : default:
17231 : return -1;
17232 : }
17233 :
17234 : case E_V8DFmode:
17235 : if (!register_operand (operands[0], E_V8DFmode)
17236 : || GET_MODE (x2) != E_V8DFmode
17237 : || GET_MODE (x3) != E_DFmode)
17238 : return -1;
17239 : switch (GET_MODE (operands[1]))
17240 : {
17241 : case E_V8DFmode:
17242 : if (!register_operand (operands[1], E_V8DFmode)
17243 : || !
17244 : #line 12410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17245 : (TARGET_AVX512F))
17246 : return -1;
17247 : return 5347; /* avx512f_vec_dupv8df_1 */
17248 :
17249 : case E_V2DFmode:
17250 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
17251 : || !
17252 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17253 : (TARGET_AVX512F))
17254 : return -1;
17255 : return 9344; /* avx512f_vec_dupv8df */
17256 :
17257 : default:
17258 : return -1;
17259 : }
17260 :
17261 : case E_V16SImode:
17262 : if (!register_operand (operands[0], E_V16SImode)
17263 : || GET_MODE (x2) != E_V16SImode
17264 : || GET_MODE (x3) != E_SImode)
17265 : return -1;
17266 : switch (GET_MODE (operands[1]))
17267 : {
17268 : case E_V4SImode:
17269 : if (!nonimmediate_operand (operands[1], E_V4SImode))
17270 : return -1;
17271 : if ((
17272 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17273 : (TARGET_AVX2) &&
17274 : #line 564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17275 : (TARGET_AVX512F)))
17276 : return 9219; /* avx2_pbroadcastv16si */
17277 : if (!
17278 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17279 : (TARGET_AVX512F))
17280 : return -1;
17281 : return 9326; /* avx512f_vec_dupv16si */
17282 :
17283 : case E_V16SImode:
17284 : if (!nonimmediate_operand (operands[1], E_V16SImode)
17285 : || !
17286 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17287 : (TARGET_AVX512F))
17288 : return -1;
17289 : return 9320; /* avx512f_vec_dupv16si_1 */
17290 :
17291 : default:
17292 : return -1;
17293 : }
17294 :
17295 : case E_V8DImode:
17296 : if (!register_operand (operands[0], E_V8DImode)
17297 : || GET_MODE (x2) != E_V8DImode
17298 : || GET_MODE (x3) != E_DImode)
17299 : return -1;
17300 : switch (GET_MODE (operands[1]))
17301 : {
17302 : case E_V2DImode:
17303 : if (!nonimmediate_operand (operands[1], E_V2DImode))
17304 : return -1;
17305 : if ((
17306 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17307 : (TARGET_AVX2) &&
17308 : #line 564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17309 : (TARGET_AVX512F)))
17310 : return 9220; /* avx2_pbroadcastv8di */
17311 : if (!
17312 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17313 : (TARGET_AVX512F))
17314 : return -1;
17315 : return 9332; /* avx512f_vec_dupv8di */
17316 :
17317 : case E_V8DImode:
17318 : if (!nonimmediate_operand (operands[1], E_V8DImode)
17319 : || !
17320 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17321 : (TARGET_AVX512F))
17322 : return -1;
17323 : return 9321; /* avx512f_vec_dupv8di_1 */
17324 :
17325 : default:
17326 : return -1;
17327 : }
17328 :
17329 : case E_V64QImode:
17330 : if (!register_operand (operands[0], E_V64QImode)
17331 : || GET_MODE (x2) != E_V64QImode
17332 : || GET_MODE (x3) != E_QImode)
17333 : return -1;
17334 : switch (GET_MODE (operands[1]))
17335 : {
17336 : case E_V16QImode:
17337 : if (!nonimmediate_operand (operands[1], E_V16QImode))
17338 : return -1;
17339 : if ((
17340 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17341 : (TARGET_AVX2) &&
17342 : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17343 : (TARGET_AVX512BW)))
17344 : return 9221; /* avx2_pbroadcastv64qi */
17345 : if (!
17346 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17347 : (TARGET_AVX512BW))
17348 : return -1;
17349 : return 9350; /* avx512bw_vec_dupv64qi */
17350 :
17351 : case E_V64QImode:
17352 : if (!nonimmediate_operand (operands[1], E_V64QImode)
17353 : || !(
17354 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17355 : (TARGET_AVX512F) &&
17356 : #line 964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17357 : (TARGET_AVX512BW)))
17358 : return -1;
17359 : return 9323; /* avx512bw_vec_dupv64qi_1 */
17360 :
17361 : default:
17362 : return -1;
17363 : }
17364 :
17365 : case E_V32QImode:
17366 : if (!register_operand (operands[0], E_V32QImode)
17367 : || GET_MODE (x2) != E_V32QImode
17368 : || GET_MODE (x3) != E_QImode)
17369 : return -1;
17370 : switch (GET_MODE (operands[1]))
17371 : {
17372 : case E_V16QImode:
17373 : if (!nonimmediate_operand (operands[1], E_V16QImode))
17374 : return -1;
17375 : if ((
17376 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17377 : (TARGET_AVX2) &&
17378 : #line 565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17379 : (TARGET_AVX)))
17380 : return 9222; /* avx2_pbroadcastv32qi */
17381 : if (!(
17382 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17383 : (TARGET_AVX512BW) &&
17384 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17385 : (TARGET_AVX512VL)))
17386 : return -1;
17387 : return 9354; /* avx512vl_vec_dupv32qi */
17388 :
17389 : case E_V32QImode:
17390 : if (!nonimmediate_operand (operands[1], E_V32QImode)
17391 : || !
17392 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17393 : (TARGET_AVX2))
17394 : return -1;
17395 : return 9237; /* avx2_pbroadcastv32qi_1 */
17396 :
17397 : default:
17398 : return -1;
17399 : }
17400 :
17401 : case E_V16QImode:
17402 : if (pattern942 (x2,
17403 : E_V16QImode,
17404 : E_QImode) != 0)
17405 : return -1;
17406 : if (
17407 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17408 : (TARGET_AVX2))
17409 : return 9223; /* avx2_pbroadcastv16qi */
17410 : if (!(
17411 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17412 : (TARGET_AVX512BW) &&
17413 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17414 : (TARGET_AVX512VL)))
17415 : return -1;
17416 : return 9352; /* avx512vl_vec_dupv16qi */
17417 :
17418 : case E_V32HImode:
17419 : if (!register_operand (operands[0], E_V32HImode)
17420 : || GET_MODE (x2) != E_V32HImode
17421 : || GET_MODE (x3) != E_HImode)
17422 : return -1;
17423 : switch (GET_MODE (operands[1]))
17424 : {
17425 : case E_V8HImode:
17426 : if (!nonimmediate_operand (operands[1], E_V8HImode))
17427 : return -1;
17428 : if ((
17429 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17430 : (TARGET_AVX2) &&
17431 : #line 566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17432 : (TARGET_AVX512BW)))
17433 : return 9224; /* avx2_pbroadcastv32hi */
17434 : if (!
17435 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17436 : (TARGET_AVX512BW))
17437 : return -1;
17438 : return 9356; /* avx512bw_vec_dupv32hi */
17439 :
17440 : case E_V32HImode:
17441 : if (!nonimmediate_operand (operands[1], E_V32HImode)
17442 : || !(
17443 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17444 : (TARGET_AVX512F) &&
17445 : #line 964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17446 : (TARGET_AVX512BW)))
17447 : return -1;
17448 : return 9322; /* avx512bw_vec_dupv32hi_1 */
17449 :
17450 : default:
17451 : return -1;
17452 : }
17453 :
17454 : case E_V16HImode:
17455 : if (!register_operand (operands[0], E_V16HImode)
17456 : || GET_MODE (x2) != E_V16HImode
17457 : || GET_MODE (x3) != E_HImode)
17458 : return -1;
17459 : switch (GET_MODE (operands[1]))
17460 : {
17461 : case E_V8HImode:
17462 : if (!nonimmediate_operand (operands[1], E_V8HImode))
17463 : return -1;
17464 : if ((
17465 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17466 : (TARGET_AVX2) &&
17467 : #line 566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17468 : (TARGET_AVX)))
17469 : return 9225; /* avx2_pbroadcastv16hi */
17470 : if (!(
17471 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17472 : (TARGET_AVX512BW) &&
17473 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17474 : (TARGET_AVX512VL)))
17475 : return -1;
17476 : return 9358; /* avx512vl_vec_dupv16hi */
17477 :
17478 : case E_V16HImode:
17479 : if (!nonimmediate_operand (operands[1], E_V16HImode)
17480 : || !
17481 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17482 : (TARGET_AVX2))
17483 : return -1;
17484 : return 9238; /* avx2_pbroadcastv16hi_1 */
17485 :
17486 : default:
17487 : return -1;
17488 : }
17489 :
17490 : case E_V8HImode:
17491 : if (pattern942 (x2,
17492 : E_V8HImode,
17493 : E_HImode) != 0)
17494 : return -1;
17495 : if (
17496 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17497 : (TARGET_AVX2))
17498 : return 9226; /* avx2_pbroadcastv8hi */
17499 : if (!(
17500 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17501 : (TARGET_AVX512BW) &&
17502 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17503 : (TARGET_AVX512VL)))
17504 : return -1;
17505 : return 9360; /* avx512vl_vec_dupv8hi */
17506 :
17507 : case E_V8SImode:
17508 : if (!register_operand (operands[0], E_V8SImode)
17509 : || GET_MODE (x2) != E_V8SImode
17510 : || GET_MODE (x3) != E_SImode)
17511 : return -1;
17512 : switch (GET_MODE (operands[1]))
17513 : {
17514 : case E_V4SImode:
17515 : if (!nonimmediate_operand (operands[1], E_V4SImode))
17516 : return -1;
17517 : if ((
17518 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17519 : (TARGET_AVX2) &&
17520 : #line 567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17521 : (TARGET_AVX)))
17522 : return 9227; /* avx2_pbroadcastv8si */
17523 : if (!(
17524 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17525 : (TARGET_AVX512F) &&
17526 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17527 : (TARGET_AVX512VL)))
17528 : return -1;
17529 : return 9328; /* avx512vl_vec_dupv8si */
17530 :
17531 : case E_V8SImode:
17532 : if (!nonimmediate_operand (operands[1], E_V8SImode)
17533 : || !
17534 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17535 : (TARGET_AVX2))
17536 : return -1;
17537 : return 9239; /* avx2_pbroadcastv8si_1 */
17538 :
17539 : default:
17540 : return -1;
17541 : }
17542 :
17543 : case E_V4SImode:
17544 : if (pattern942 (x2,
17545 : E_V4SImode,
17546 : E_SImode) != 0)
17547 : return -1;
17548 : if (
17549 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17550 : (TARGET_AVX2))
17551 : return 9228; /* avx2_pbroadcastv4si */
17552 : if (!(
17553 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17554 : (TARGET_AVX512F) &&
17555 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17556 : (TARGET_AVX512VL)))
17557 : return -1;
17558 : return 9330; /* avx512vl_vec_dupv4si */
17559 :
17560 : case E_V4DImode:
17561 : if (!register_operand (operands[0], E_V4DImode)
17562 : || GET_MODE (x2) != E_V4DImode
17563 : || GET_MODE (x3) != E_DImode)
17564 : return -1;
17565 : switch (GET_MODE (operands[1]))
17566 : {
17567 : case E_V2DImode:
17568 : if (!nonimmediate_operand (operands[1], E_V2DImode))
17569 : return -1;
17570 : if ((
17571 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17572 : (TARGET_AVX2) &&
17573 : #line 567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17574 : (TARGET_AVX)))
17575 : return 9229; /* avx2_pbroadcastv4di */
17576 : if (!(
17577 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17578 : (TARGET_AVX512F) &&
17579 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17580 : (TARGET_AVX512VL)))
17581 : return -1;
17582 : return 9334; /* avx512vl_vec_dupv4di */
17583 :
17584 : case E_V4DImode:
17585 : if (!nonimmediate_operand (operands[1], E_V4DImode)
17586 : || !
17587 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17588 : (TARGET_AVX2))
17589 : return -1;
17590 : return 9240; /* avx2_pbroadcastv4di_1 */
17591 :
17592 : default:
17593 : return -1;
17594 : }
17595 :
17596 : case E_V2DImode:
17597 : if (pattern942 (x2,
17598 : E_V2DImode,
17599 : E_DImode) != 0)
17600 : return -1;
17601 : if (
17602 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17603 : (TARGET_AVX2))
17604 : return 9230; /* avx2_pbroadcastv2di */
17605 : if (!(
17606 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17607 : (TARGET_AVX512F) &&
17608 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17609 : (TARGET_AVX512VL)))
17610 : return -1;
17611 : return 9336; /* avx512vl_vec_dupv2di */
17612 :
17613 : case E_V32HFmode:
17614 : if (!register_operand (operands[0], E_V32HFmode)
17615 : || GET_MODE (x2) != E_V32HFmode
17616 : || GET_MODE (x3) != E_HFmode)
17617 : return -1;
17618 : switch (GET_MODE (operands[1]))
17619 : {
17620 : case E_V8HFmode:
17621 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
17622 : return -1;
17623 : if ((
17624 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17625 : (TARGET_AVX2) &&
17626 : #line 568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17627 : (TARGET_AVX512BW)))
17628 : return 9231; /* avx2_pbroadcastv32hf */
17629 : if (!
17630 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17631 : (TARGET_AVX512BW))
17632 : return -1;
17633 : return 9362; /* avx512bw_vec_dupv32hf */
17634 :
17635 : case E_V32HFmode:
17636 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
17637 : || !(
17638 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17639 : (TARGET_AVX512F) &&
17640 : #line 965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17641 : (TARGET_AVX512BW)))
17642 : return -1;
17643 : return 9324; /* avx512bw_vec_dupv32hf_1 */
17644 :
17645 : default:
17646 : return -1;
17647 : }
17648 :
17649 : case E_V16HFmode:
17650 : if (!register_operand (operands[0], E_V16HFmode)
17651 : || GET_MODE (x2) != E_V16HFmode
17652 : || GET_MODE (x3) != E_HFmode)
17653 : return -1;
17654 : switch (GET_MODE (operands[1]))
17655 : {
17656 : case E_V8HFmode:
17657 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
17658 : return -1;
17659 : if ((
17660 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17661 : (TARGET_AVX2) &&
17662 : #line 568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17663 : (TARGET_AVX)))
17664 : return 9232; /* avx2_pbroadcastv16hf */
17665 : if (!(
17666 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17667 : (TARGET_AVX512BW) &&
17668 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17669 : (TARGET_AVX512VL)))
17670 : return -1;
17671 : return 9364; /* avx512vl_vec_dupv16hf */
17672 :
17673 : case E_V16HFmode:
17674 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
17675 : || !
17676 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17677 : (TARGET_AVX2))
17678 : return -1;
17679 : return 9241; /* avx2_pbroadcastv16hf_1 */
17680 :
17681 : default:
17682 : return -1;
17683 : }
17684 :
17685 : case E_V8HFmode:
17686 : if (pattern942 (x2,
17687 : E_V8HFmode,
17688 : E_HFmode) != 0)
17689 : return -1;
17690 : if (
17691 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17692 : (TARGET_AVX2))
17693 : return 9233; /* avx2_pbroadcastv8hf */
17694 : if (!(
17695 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17696 : (TARGET_AVX512BW) &&
17697 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17698 : (TARGET_AVX512VL)))
17699 : return -1;
17700 : return 9366; /* avx512fp16_vec_dupv8hf */
17701 :
17702 : case E_V32BFmode:
17703 : if (!register_operand (operands[0], E_V32BFmode)
17704 : || GET_MODE (x2) != E_V32BFmode
17705 : || GET_MODE (x3) != E_BFmode)
17706 : return -1;
17707 : switch (GET_MODE (operands[1]))
17708 : {
17709 : case E_V8BFmode:
17710 : if (!nonimmediate_operand (operands[1], E_V8BFmode))
17711 : return -1;
17712 : if ((
17713 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17714 : (TARGET_AVX2) &&
17715 : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17716 : (TARGET_AVX512BW)))
17717 : return 9234; /* avx2_pbroadcastv32bf */
17718 : if (!
17719 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17720 : (TARGET_AVX512BW))
17721 : return -1;
17722 : return 9368; /* avx512bw_vec_dupv32bf */
17723 :
17724 : case E_V32BFmode:
17725 : if (!nonimmediate_operand (operands[1], E_V32BFmode)
17726 : || !(
17727 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17728 : (TARGET_AVX512F) &&
17729 : #line 965 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17730 : (TARGET_AVX512BW)))
17731 : return -1;
17732 : return 9325; /* avx512bw_vec_dupv32bf_1 */
17733 :
17734 : default:
17735 : return -1;
17736 : }
17737 :
17738 : case E_V16BFmode:
17739 : if (!register_operand (operands[0], E_V16BFmode)
17740 : || GET_MODE (x2) != E_V16BFmode
17741 : || GET_MODE (x3) != E_BFmode)
17742 : return -1;
17743 : switch (GET_MODE (operands[1]))
17744 : {
17745 : case E_V8BFmode:
17746 : if (!nonimmediate_operand (operands[1], E_V8BFmode))
17747 : return -1;
17748 : if ((
17749 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17750 : (TARGET_AVX2) &&
17751 : #line 569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17752 : (TARGET_AVX)))
17753 : return 9235; /* avx2_pbroadcastv16bf */
17754 : if (!(
17755 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17756 : (TARGET_AVX512BW) &&
17757 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17758 : (TARGET_AVX512VL)))
17759 : return -1;
17760 : return 9370; /* avx512vl_vec_dupv16bf */
17761 :
17762 : case E_V16BFmode:
17763 : if (!nonimmediate_operand (operands[1], E_V16BFmode)
17764 : || !
17765 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17766 : (TARGET_AVX2))
17767 : return -1;
17768 : return 9242; /* avx2_pbroadcastv16bf_1 */
17769 :
17770 : default:
17771 : return -1;
17772 : }
17773 :
17774 : case E_V8BFmode:
17775 : if (pattern942 (x2,
17776 : E_V8BFmode,
17777 : E_BFmode) != 0)
17778 : return -1;
17779 : if (
17780 : #line 28587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17781 : (TARGET_AVX2))
17782 : return 9236; /* avx2_pbroadcastv8bf */
17783 : if (!(
17784 : #line 29042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17785 : (TARGET_AVX512BW) &&
17786 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17787 : (TARGET_AVX512VL)))
17788 : return -1;
17789 : return 9372; /* avx512vl_vec_dupv8bf */
17790 :
17791 : case E_V4DFmode:
17792 : if (!register_operand (operands[0], E_V4DFmode)
17793 : || GET_MODE (x2) != E_V4DFmode
17794 : || GET_MODE (x3) != E_DFmode)
17795 : return -1;
17796 : if (register_operand (operands[1], E_V2DFmode)
17797 : &&
17798 : #line 28997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17799 : (TARGET_AVX2))
17800 : return 9319; /* avx2_vec_dupv4df */
17801 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
17802 : || !(
17803 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17804 : (TARGET_AVX512F) &&
17805 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17806 : (TARGET_AVX512VL)))
17807 : return -1;
17808 : return 9346; /* avx512vl_vec_dupv4df */
17809 :
17810 : case E_V2DFmode:
17811 : if (pattern942 (x2,
17812 : E_V2DFmode,
17813 : E_DFmode) != 0
17814 : || !(
17815 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17816 : (TARGET_AVX512F) &&
17817 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17818 : (TARGET_AVX512VL)))
17819 : return -1;
17820 : return 9348; /* avx512vl_vec_dupv2df */
17821 :
17822 : default:
17823 : return -1;
17824 : }
17825 :
17826 : case 2:
17827 : x6 = XVECEXP (x4, 0, 0);
17828 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
17829 : return -1;
17830 : x7 = XVECEXP (x4, 0, 1);
17831 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
17832 : return -1;
17833 : switch (GET_MODE (operands[0]))
17834 : {
17835 : case E_V16SImode:
17836 : if (pattern938 (x2,
17837 : E_V4SImode,
17838 : E_V2SImode,
17839 : E_V16SImode) != 0
17840 : || !
17841 : #line 29366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17842 : (TARGET_AVX512DQ))
17843 : return -1;
17844 : return 9468; /* *avx512dq_broadcastv16si */
17845 :
17846 : case E_V8SImode:
17847 : if (pattern938 (x2,
17848 : E_V4SImode,
17849 : E_V2SImode,
17850 : E_V8SImode) != 0
17851 : || !(
17852 : #line 29366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17853 : (TARGET_AVX512DQ) &&
17854 : #line 29350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17855 : (TARGET_AVX512VL)))
17856 : return -1;
17857 : return 9470; /* *avx512dq_broadcastv8si */
17858 :
17859 : case E_V4SImode:
17860 : if (pattern942 (x2,
17861 : E_V4SImode,
17862 : E_V2SImode) != 0
17863 : || !(
17864 : #line 29366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17865 : (TARGET_AVX512DQ) &&
17866 : #line 29350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17867 : (TARGET_AVX512VL)))
17868 : return -1;
17869 : return 9472; /* *avx512dq_broadcastv4si */
17870 :
17871 : case E_V16SFmode:
17872 : if (pattern938 (x2,
17873 : E_V4SFmode,
17874 : E_V2SFmode,
17875 : E_V16SFmode) != 0
17876 : || !
17877 : #line 29366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17878 : (TARGET_AVX512DQ))
17879 : return -1;
17880 : return 9474; /* *avx512dq_broadcastv16sf */
17881 :
17882 : case E_V8SFmode:
17883 : if (pattern938 (x2,
17884 : E_V4SFmode,
17885 : E_V2SFmode,
17886 : E_V8SFmode) != 0
17887 : || !(
17888 : #line 29366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17889 : (TARGET_AVX512DQ) &&
17890 : #line 29351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17891 : (TARGET_AVX512VL)))
17892 : return -1;
17893 : return 9476; /* *avx512dq_broadcastv8sf */
17894 :
17895 : default:
17896 : return -1;
17897 : }
17898 :
17899 : default:
17900 : return -1;
17901 : }
17902 : }
17903 :
17904 : int
17905 : recog_317 (rtx x1 ATTRIBUTE_UNUSED,
17906 : rtx_insn *insn ATTRIBUTE_UNUSED,
17907 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17908 : {
17909 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17910 : rtx x2, x3, x4;
17911 : int res ATTRIBUTE_UNUSED;
17912 : x2 = XEXP (x1, 1);
17913 : x3 = XEXP (x2, 0);
17914 : x4 = XEXP (x3, 0);
17915 : switch (GET_CODE (x4))
17916 : {
17917 : case REG:
17918 : case SUBREG:
17919 : case MEM:
17920 : case NOT:
17921 : switch (pattern543 (x2))
17922 : {
17923 : case 0:
17924 : if (!(
17925 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17926 : ((64 == 64 || TARGET_AVX512VL
17927 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17928 : && ix86_pre_reload_split ()
17929 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17930 : STRIP_UNARY (operands[4]))
17931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17932 : STRIP_UNARY (operands[4]))
17933 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17934 : STRIP_UNARY (operands[3]))
17935 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17936 : STRIP_UNARY (operands[3])))) &&
17937 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17938 : (TARGET_AVX512F)))
17939 : return -1;
17940 : return 5931; /* *avx512bw_vpternlogv32hf_1 */
17941 :
17942 : case 1:
17943 : if (!(
17944 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17945 : ((32 == 64 || TARGET_AVX512VL
17946 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17947 : && ix86_pre_reload_split ()
17948 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17949 : STRIP_UNARY (operands[4]))
17950 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17951 : STRIP_UNARY (operands[4]))
17952 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17953 : STRIP_UNARY (operands[3]))
17954 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17955 : STRIP_UNARY (operands[3])))) &&
17956 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17957 : (TARGET_AVX)))
17958 : return -1;
17959 : return 5958; /* *avx512vl_vpternlogv16hf_1 */
17960 :
17961 : case 2:
17962 : if (!
17963 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17964 : ((16 == 64 || TARGET_AVX512VL
17965 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17966 : && ix86_pre_reload_split ()
17967 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17968 : STRIP_UNARY (operands[4]))
17969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17970 : STRIP_UNARY (operands[4]))
17971 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17972 : STRIP_UNARY (operands[3]))
17973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17974 : STRIP_UNARY (operands[3])))))
17975 : return -1;
17976 : return 5985; /* *avx512fp16_vpternlogv8hf_1 */
17977 :
17978 : case 3:
17979 : if (!(
17980 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17981 : ((64 == 64 || TARGET_AVX512VL
17982 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17983 : && ix86_pre_reload_split ()
17984 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17985 : STRIP_UNARY (operands[4]))
17986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17987 : STRIP_UNARY (operands[4]))
17988 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17989 : STRIP_UNARY (operands[3]))
17990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17991 : STRIP_UNARY (operands[3])))) &&
17992 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17993 : (TARGET_AVX512F)))
17994 : return -1;
17995 : return 6012; /* *avx512bw_vpternlogv32bf_1 */
17996 :
17997 : case 4:
17998 : if (!(
17999 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18000 : ((32 == 64 || TARGET_AVX512VL
18001 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18002 : && ix86_pre_reload_split ()
18003 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18004 : STRIP_UNARY (operands[4]))
18005 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18006 : STRIP_UNARY (operands[4]))
18007 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18008 : STRIP_UNARY (operands[3]))
18009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18010 : STRIP_UNARY (operands[3])))) &&
18011 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18012 : (TARGET_AVX)))
18013 : return -1;
18014 : return 6039; /* *avx512vl_vpternlogv16bf_1 */
18015 :
18016 : case 5:
18017 : if (!
18018 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18019 : ((16 == 64 || TARGET_AVX512VL
18020 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18021 : && ix86_pre_reload_split ()
18022 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18023 : STRIP_UNARY (operands[4]))
18024 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18025 : STRIP_UNARY (operands[4]))
18026 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18027 : STRIP_UNARY (operands[3]))
18028 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18029 : STRIP_UNARY (operands[3])))))
18030 : return -1;
18031 : return 6066; /* *avx512vl_vpternlogv8bf_1 */
18032 :
18033 : case 6:
18034 : if (!(
18035 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18036 : ((64 == 64 || TARGET_AVX512VL
18037 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18038 : && ix86_pre_reload_split ()
18039 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18040 : STRIP_UNARY (operands[4]))
18041 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18042 : STRIP_UNARY (operands[4]))
18043 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18044 : STRIP_UNARY (operands[3]))
18045 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18046 : STRIP_UNARY (operands[3])))) &&
18047 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18048 : (TARGET_AVX512F)))
18049 : return -1;
18050 : return 6093; /* *avx512f_vpternlogv16sf_1 */
18051 :
18052 : case 7:
18053 : if (!(
18054 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18055 : ((32 == 64 || TARGET_AVX512VL
18056 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18057 : && ix86_pre_reload_split ()
18058 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18059 : STRIP_UNARY (operands[4]))
18060 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18061 : STRIP_UNARY (operands[4]))
18062 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18063 : STRIP_UNARY (operands[3]))
18064 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18065 : STRIP_UNARY (operands[3])))) &&
18066 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18067 : (TARGET_AVX)))
18068 : return -1;
18069 : return 6120; /* *avx512vl_vpternlogv8sf_1 */
18070 :
18071 : case 8:
18072 : if (!
18073 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18074 : ((16 == 64 || TARGET_AVX512VL
18075 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18076 : && ix86_pre_reload_split ()
18077 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18078 : STRIP_UNARY (operands[4]))
18079 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18080 : STRIP_UNARY (operands[4]))
18081 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18082 : STRIP_UNARY (operands[3]))
18083 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18084 : STRIP_UNARY (operands[3])))))
18085 : return -1;
18086 : return 6147; /* *avx512vl_vpternlogv4sf_1 */
18087 :
18088 : case 9:
18089 : if (!(
18090 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18091 : ((64 == 64 || TARGET_AVX512VL
18092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18093 : && ix86_pre_reload_split ()
18094 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18095 : STRIP_UNARY (operands[4]))
18096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18097 : STRIP_UNARY (operands[4]))
18098 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18099 : STRIP_UNARY (operands[3]))
18100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18101 : STRIP_UNARY (operands[3])))) &&
18102 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18103 : (TARGET_AVX512F)))
18104 : return -1;
18105 : return 6174; /* *avx512f_vpternlogv8df_1 */
18106 :
18107 : case 10:
18108 : if (!(
18109 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18110 : ((32 == 64 || TARGET_AVX512VL
18111 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18112 : && ix86_pre_reload_split ()
18113 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18114 : STRIP_UNARY (operands[4]))
18115 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18116 : STRIP_UNARY (operands[4]))
18117 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18118 : STRIP_UNARY (operands[3]))
18119 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18120 : STRIP_UNARY (operands[3])))) &&
18121 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18122 : (TARGET_AVX)))
18123 : return -1;
18124 : return 6201; /* *avx512vl_vpternlogv4df_1 */
18125 :
18126 : case 11:
18127 : if (!(
18128 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18129 : ((16 == 64 || TARGET_AVX512VL
18130 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18131 : && ix86_pre_reload_split ()
18132 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18133 : STRIP_UNARY (operands[4]))
18134 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18135 : STRIP_UNARY (operands[4]))
18136 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18137 : STRIP_UNARY (operands[3]))
18138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18139 : STRIP_UNARY (operands[3])))) &&
18140 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18141 : (TARGET_SSE2)))
18142 : return -1;
18143 : return 6228; /* *avx512vl_vpternlogv2df_1 */
18144 :
18145 : case 12:
18146 : if (!(
18147 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18148 : ((64 == 64 || TARGET_AVX512VL
18149 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18150 : && ix86_pre_reload_split ()
18151 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18152 : STRIP_UNARY (operands[4]))
18153 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18154 : STRIP_UNARY (operands[4]))
18155 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18156 : STRIP_UNARY (operands[3]))
18157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18158 : STRIP_UNARY (operands[3])))) &&
18159 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18160 : (TARGET_AVX512F)))
18161 : return -1;
18162 : return 5934; /* *avx512bw_vpternlogv32hf_1 */
18163 :
18164 : case 13:
18165 : if (!(
18166 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18167 : ((32 == 64 || TARGET_AVX512VL
18168 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18169 : && ix86_pre_reload_split ()
18170 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18171 : STRIP_UNARY (operands[4]))
18172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18173 : STRIP_UNARY (operands[4]))
18174 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18175 : STRIP_UNARY (operands[3]))
18176 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18177 : STRIP_UNARY (operands[3])))) &&
18178 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18179 : (TARGET_AVX)))
18180 : return -1;
18181 : return 5961; /* *avx512vl_vpternlogv16hf_1 */
18182 :
18183 : case 14:
18184 : if (!
18185 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18186 : ((16 == 64 || TARGET_AVX512VL
18187 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18188 : && ix86_pre_reload_split ()
18189 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18190 : STRIP_UNARY (operands[4]))
18191 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18192 : STRIP_UNARY (operands[4]))
18193 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18194 : STRIP_UNARY (operands[3]))
18195 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18196 : STRIP_UNARY (operands[3])))))
18197 : return -1;
18198 : return 5988; /* *avx512fp16_vpternlogv8hf_1 */
18199 :
18200 : case 15:
18201 : if (!(
18202 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18203 : ((64 == 64 || TARGET_AVX512VL
18204 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18205 : && ix86_pre_reload_split ()
18206 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18207 : STRIP_UNARY (operands[4]))
18208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18209 : STRIP_UNARY (operands[4]))
18210 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18211 : STRIP_UNARY (operands[3]))
18212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18213 : STRIP_UNARY (operands[3])))) &&
18214 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18215 : (TARGET_AVX512F)))
18216 : return -1;
18217 : return 6015; /* *avx512bw_vpternlogv32bf_1 */
18218 :
18219 : case 16:
18220 : if (!(
18221 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18222 : ((32 == 64 || TARGET_AVX512VL
18223 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18224 : && ix86_pre_reload_split ()
18225 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18226 : STRIP_UNARY (operands[4]))
18227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18228 : STRIP_UNARY (operands[4]))
18229 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18230 : STRIP_UNARY (operands[3]))
18231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18232 : STRIP_UNARY (operands[3])))) &&
18233 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18234 : (TARGET_AVX)))
18235 : return -1;
18236 : return 6042; /* *avx512vl_vpternlogv16bf_1 */
18237 :
18238 : case 17:
18239 : if (!
18240 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18241 : ((16 == 64 || TARGET_AVX512VL
18242 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18243 : && ix86_pre_reload_split ()
18244 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18245 : STRIP_UNARY (operands[4]))
18246 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18247 : STRIP_UNARY (operands[4]))
18248 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18249 : STRIP_UNARY (operands[3]))
18250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18251 : STRIP_UNARY (operands[3])))))
18252 : return -1;
18253 : return 6069; /* *avx512vl_vpternlogv8bf_1 */
18254 :
18255 : case 18:
18256 : if (!(
18257 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18258 : ((64 == 64 || TARGET_AVX512VL
18259 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18260 : && ix86_pre_reload_split ()
18261 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18262 : STRIP_UNARY (operands[4]))
18263 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18264 : STRIP_UNARY (operands[4]))
18265 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18266 : STRIP_UNARY (operands[3]))
18267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18268 : STRIP_UNARY (operands[3])))) &&
18269 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18270 : (TARGET_AVX512F)))
18271 : return -1;
18272 : return 6096; /* *avx512f_vpternlogv16sf_1 */
18273 :
18274 : case 19:
18275 : if (!(
18276 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18277 : ((32 == 64 || TARGET_AVX512VL
18278 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18279 : && ix86_pre_reload_split ()
18280 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18281 : STRIP_UNARY (operands[4]))
18282 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18283 : STRIP_UNARY (operands[4]))
18284 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18285 : STRIP_UNARY (operands[3]))
18286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18287 : STRIP_UNARY (operands[3])))) &&
18288 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18289 : (TARGET_AVX)))
18290 : return -1;
18291 : return 6123; /* *avx512vl_vpternlogv8sf_1 */
18292 :
18293 : case 20:
18294 : if (!
18295 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18296 : ((16 == 64 || TARGET_AVX512VL
18297 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18298 : && ix86_pre_reload_split ()
18299 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18300 : STRIP_UNARY (operands[4]))
18301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18302 : STRIP_UNARY (operands[4]))
18303 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18304 : STRIP_UNARY (operands[3]))
18305 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18306 : STRIP_UNARY (operands[3])))))
18307 : return -1;
18308 : return 6150; /* *avx512vl_vpternlogv4sf_1 */
18309 :
18310 : case 21:
18311 : if (!(
18312 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18313 : ((64 == 64 || TARGET_AVX512VL
18314 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18315 : && ix86_pre_reload_split ()
18316 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18317 : STRIP_UNARY (operands[4]))
18318 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18319 : STRIP_UNARY (operands[4]))
18320 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18321 : STRIP_UNARY (operands[3]))
18322 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18323 : STRIP_UNARY (operands[3])))) &&
18324 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18325 : (TARGET_AVX512F)))
18326 : return -1;
18327 : return 6177; /* *avx512f_vpternlogv8df_1 */
18328 :
18329 : case 22:
18330 : if (!(
18331 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18332 : ((32 == 64 || TARGET_AVX512VL
18333 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18334 : && ix86_pre_reload_split ()
18335 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18336 : STRIP_UNARY (operands[4]))
18337 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18338 : STRIP_UNARY (operands[4]))
18339 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18340 : STRIP_UNARY (operands[3]))
18341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18342 : STRIP_UNARY (operands[3])))) &&
18343 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18344 : (TARGET_AVX)))
18345 : return -1;
18346 : return 6204; /* *avx512vl_vpternlogv4df_1 */
18347 :
18348 : case 23:
18349 : if (!(
18350 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18351 : ((16 == 64 || TARGET_AVX512VL
18352 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18353 : && ix86_pre_reload_split ()
18354 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18355 : STRIP_UNARY (operands[4]))
18356 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18357 : STRIP_UNARY (operands[4]))
18358 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18359 : STRIP_UNARY (operands[3]))
18360 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18361 : STRIP_UNARY (operands[3])))) &&
18362 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18363 : (TARGET_SSE2)))
18364 : return -1;
18365 : return 6231; /* *avx512vl_vpternlogv2df_1 */
18366 :
18367 : case 24:
18368 : if (!(
18369 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18370 : ((64 == 64 || TARGET_AVX512VL
18371 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18372 : && ix86_pre_reload_split ()
18373 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18374 : STRIP_UNARY (operands[4]))
18375 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18376 : STRIP_UNARY (operands[4]))
18377 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18378 : STRIP_UNARY (operands[3]))
18379 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18380 : STRIP_UNARY (operands[3])))) &&
18381 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18382 : (TARGET_AVX512F)))
18383 : return -1;
18384 : return 5937; /* *avx512bw_vpternlogv32hf_1 */
18385 :
18386 : case 25:
18387 : if (!(
18388 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18389 : ((32 == 64 || TARGET_AVX512VL
18390 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18391 : && ix86_pre_reload_split ()
18392 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18393 : STRIP_UNARY (operands[4]))
18394 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18395 : STRIP_UNARY (operands[4]))
18396 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18397 : STRIP_UNARY (operands[3]))
18398 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18399 : STRIP_UNARY (operands[3])))) &&
18400 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18401 : (TARGET_AVX)))
18402 : return -1;
18403 : return 5964; /* *avx512vl_vpternlogv16hf_1 */
18404 :
18405 : case 26:
18406 : if (!
18407 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18408 : ((16 == 64 || TARGET_AVX512VL
18409 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18410 : && ix86_pre_reload_split ()
18411 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18412 : STRIP_UNARY (operands[4]))
18413 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18414 : STRIP_UNARY (operands[4]))
18415 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18416 : STRIP_UNARY (operands[3]))
18417 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18418 : STRIP_UNARY (operands[3])))))
18419 : return -1;
18420 : return 5991; /* *avx512fp16_vpternlogv8hf_1 */
18421 :
18422 : case 27:
18423 : if (!(
18424 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18425 : ((64 == 64 || TARGET_AVX512VL
18426 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18427 : && ix86_pre_reload_split ()
18428 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18429 : STRIP_UNARY (operands[4]))
18430 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18431 : STRIP_UNARY (operands[4]))
18432 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18433 : STRIP_UNARY (operands[3]))
18434 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18435 : STRIP_UNARY (operands[3])))) &&
18436 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18437 : (TARGET_AVX512F)))
18438 : return -1;
18439 : return 6018; /* *avx512bw_vpternlogv32bf_1 */
18440 :
18441 : case 28:
18442 : if (!(
18443 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18444 : ((32 == 64 || TARGET_AVX512VL
18445 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18446 : && ix86_pre_reload_split ()
18447 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18448 : STRIP_UNARY (operands[4]))
18449 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18450 : STRIP_UNARY (operands[4]))
18451 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18452 : STRIP_UNARY (operands[3]))
18453 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18454 : STRIP_UNARY (operands[3])))) &&
18455 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18456 : (TARGET_AVX)))
18457 : return -1;
18458 : return 6045; /* *avx512vl_vpternlogv16bf_1 */
18459 :
18460 : case 29:
18461 : if (!
18462 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18463 : ((16 == 64 || TARGET_AVX512VL
18464 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18465 : && ix86_pre_reload_split ()
18466 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18467 : STRIP_UNARY (operands[4]))
18468 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18469 : STRIP_UNARY (operands[4]))
18470 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18471 : STRIP_UNARY (operands[3]))
18472 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18473 : STRIP_UNARY (operands[3])))))
18474 : return -1;
18475 : return 6072; /* *avx512vl_vpternlogv8bf_1 */
18476 :
18477 : case 30:
18478 : if (!(
18479 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18480 : ((64 == 64 || TARGET_AVX512VL
18481 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18482 : && ix86_pre_reload_split ()
18483 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18484 : STRIP_UNARY (operands[4]))
18485 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18486 : STRIP_UNARY (operands[4]))
18487 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18488 : STRIP_UNARY (operands[3]))
18489 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18490 : STRIP_UNARY (operands[3])))) &&
18491 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18492 : (TARGET_AVX512F)))
18493 : return -1;
18494 : return 6099; /* *avx512f_vpternlogv16sf_1 */
18495 :
18496 : case 31:
18497 : if (!(
18498 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18499 : ((32 == 64 || TARGET_AVX512VL
18500 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18501 : && ix86_pre_reload_split ()
18502 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18503 : STRIP_UNARY (operands[4]))
18504 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18505 : STRIP_UNARY (operands[4]))
18506 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18507 : STRIP_UNARY (operands[3]))
18508 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18509 : STRIP_UNARY (operands[3])))) &&
18510 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18511 : (TARGET_AVX)))
18512 : return -1;
18513 : return 6126; /* *avx512vl_vpternlogv8sf_1 */
18514 :
18515 : case 32:
18516 : if (!
18517 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18518 : ((16 == 64 || TARGET_AVX512VL
18519 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18520 : && ix86_pre_reload_split ()
18521 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18522 : STRIP_UNARY (operands[4]))
18523 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18524 : STRIP_UNARY (operands[4]))
18525 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18526 : STRIP_UNARY (operands[3]))
18527 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18528 : STRIP_UNARY (operands[3])))))
18529 : return -1;
18530 : return 6153; /* *avx512vl_vpternlogv4sf_1 */
18531 :
18532 : case 33:
18533 : if (!(
18534 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18535 : ((64 == 64 || TARGET_AVX512VL
18536 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18537 : && ix86_pre_reload_split ()
18538 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18539 : STRIP_UNARY (operands[4]))
18540 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18541 : STRIP_UNARY (operands[4]))
18542 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18543 : STRIP_UNARY (operands[3]))
18544 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18545 : STRIP_UNARY (operands[3])))) &&
18546 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18547 : (TARGET_AVX512F)))
18548 : return -1;
18549 : return 6180; /* *avx512f_vpternlogv8df_1 */
18550 :
18551 : case 34:
18552 : if (!(
18553 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18554 : ((32 == 64 || TARGET_AVX512VL
18555 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18556 : && ix86_pre_reload_split ()
18557 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18558 : STRIP_UNARY (operands[4]))
18559 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18560 : STRIP_UNARY (operands[4]))
18561 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18562 : STRIP_UNARY (operands[3]))
18563 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18564 : STRIP_UNARY (operands[3])))) &&
18565 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18566 : (TARGET_AVX)))
18567 : return -1;
18568 : return 6207; /* *avx512vl_vpternlogv4df_1 */
18569 :
18570 : case 35:
18571 : if (!(
18572 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18573 : ((16 == 64 || TARGET_AVX512VL
18574 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18575 : && ix86_pre_reload_split ()
18576 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18577 : STRIP_UNARY (operands[4]))
18578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18579 : STRIP_UNARY (operands[4]))
18580 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18581 : STRIP_UNARY (operands[3]))
18582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18583 : STRIP_UNARY (operands[3])))) &&
18584 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18585 : (TARGET_SSE2)))
18586 : return -1;
18587 : return 6234; /* *avx512vl_vpternlogv2df_1 */
18588 :
18589 : case 36:
18590 : if (!(
18591 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18592 : ((64 == 64 || TARGET_AVX512VL
18593 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18594 : && ix86_pre_reload_split ()) &&
18595 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18596 : (TARGET_AVX512F)))
18597 : return -1;
18598 : return 6999; /* *avx512bw_vpternlogv32hf_3 */
18599 :
18600 : case 37:
18601 : if (!(
18602 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18603 : ((32 == 64 || TARGET_AVX512VL
18604 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18605 : && ix86_pre_reload_split ()) &&
18606 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18607 : (TARGET_AVX)))
18608 : return -1;
18609 : return 7008; /* *avx512vl_vpternlogv16hf_3 */
18610 :
18611 : case 38:
18612 : if (!
18613 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18614 : ((16 == 64 || TARGET_AVX512VL
18615 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18616 : && ix86_pre_reload_split ()))
18617 : return -1;
18618 : return 7017; /* *avx512fp16_vpternlogv8hf_3 */
18619 :
18620 : case 39:
18621 : if (!(
18622 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18623 : ((64 == 64 || TARGET_AVX512VL
18624 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18625 : && ix86_pre_reload_split ()) &&
18626 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18627 : (TARGET_AVX512F)))
18628 : return -1;
18629 : return 7026; /* *avx512bw_vpternlogv32bf_3 */
18630 :
18631 : case 40:
18632 : if (!(
18633 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18634 : ((32 == 64 || TARGET_AVX512VL
18635 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18636 : && ix86_pre_reload_split ()) &&
18637 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18638 : (TARGET_AVX)))
18639 : return -1;
18640 : return 7035; /* *avx512vl_vpternlogv16bf_3 */
18641 :
18642 : case 41:
18643 : if (!
18644 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18645 : ((16 == 64 || TARGET_AVX512VL
18646 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18647 : && ix86_pre_reload_split ()))
18648 : return -1;
18649 : return 7044; /* *avx512vl_vpternlogv8bf_3 */
18650 :
18651 : case 42:
18652 : if (!(
18653 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18654 : ((64 == 64 || TARGET_AVX512VL
18655 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18656 : && ix86_pre_reload_split ()) &&
18657 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18658 : (TARGET_AVX512F)))
18659 : return -1;
18660 : return 7053; /* *avx512f_vpternlogv16sf_3 */
18661 :
18662 : case 43:
18663 : if (!(
18664 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18665 : ((32 == 64 || TARGET_AVX512VL
18666 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18667 : && ix86_pre_reload_split ()) &&
18668 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18669 : (TARGET_AVX)))
18670 : return -1;
18671 : return 7062; /* *avx512vl_vpternlogv8sf_3 */
18672 :
18673 : case 44:
18674 : if (!
18675 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18676 : ((16 == 64 || TARGET_AVX512VL
18677 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18678 : && ix86_pre_reload_split ()))
18679 : return -1;
18680 : return 7071; /* *avx512vl_vpternlogv4sf_3 */
18681 :
18682 : case 45:
18683 : if (!(
18684 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18685 : ((64 == 64 || TARGET_AVX512VL
18686 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18687 : && ix86_pre_reload_split ()) &&
18688 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18689 : (TARGET_AVX512F)))
18690 : return -1;
18691 : return 7080; /* *avx512f_vpternlogv8df_3 */
18692 :
18693 : case 46:
18694 : if (!(
18695 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18696 : ((32 == 64 || TARGET_AVX512VL
18697 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18698 : && ix86_pre_reload_split ()) &&
18699 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18700 : (TARGET_AVX)))
18701 : return -1;
18702 : return 7089; /* *avx512vl_vpternlogv4df_3 */
18703 :
18704 : case 47:
18705 : if (!(
18706 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18707 : ((16 == 64 || TARGET_AVX512VL
18708 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18709 : && ix86_pre_reload_split ()) &&
18710 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18711 : (TARGET_SSE2)))
18712 : return -1;
18713 : return 7098; /* *avx512vl_vpternlogv2df_3 */
18714 :
18715 : default:
18716 : return -1;
18717 : }
18718 :
18719 : case AND:
18720 : switch (pattern544 (x2))
18721 : {
18722 : case 0:
18723 : if (!(
18724 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18725 : ((64 == 64 || TARGET_AVX512VL
18726 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18727 : && ix86_pre_reload_split ()
18728 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18729 : STRIP_UNARY (operands[4]))
18730 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18731 : STRIP_UNARY (operands[4]))
18732 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18733 : STRIP_UNARY (operands[3]))
18734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18735 : STRIP_UNARY (operands[3])))) &&
18736 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18737 : (TARGET_AVX512F)))
18738 : return -1;
18739 : return 6579; /* *avx512bw_vpternlogv32hf_2 */
18740 :
18741 : case 1:
18742 : if (!(
18743 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18744 : ((32 == 64 || TARGET_AVX512VL
18745 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18746 : && ix86_pre_reload_split ()
18747 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18748 : STRIP_UNARY (operands[4]))
18749 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18750 : STRIP_UNARY (operands[4]))
18751 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18752 : STRIP_UNARY (operands[3]))
18753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18754 : STRIP_UNARY (operands[3])))) &&
18755 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18756 : (TARGET_AVX)))
18757 : return -1;
18758 : return 6606; /* *avx512vl_vpternlogv16hf_2 */
18759 :
18760 : case 2:
18761 : if (!
18762 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18763 : ((16 == 64 || TARGET_AVX512VL
18764 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18765 : && ix86_pre_reload_split ()
18766 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18767 : STRIP_UNARY (operands[4]))
18768 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18769 : STRIP_UNARY (operands[4]))
18770 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18771 : STRIP_UNARY (operands[3]))
18772 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18773 : STRIP_UNARY (operands[3])))))
18774 : return -1;
18775 : return 6633; /* *avx512fp16_vpternlogv8hf_2 */
18776 :
18777 : case 3:
18778 : if (!(
18779 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18780 : ((64 == 64 || TARGET_AVX512VL
18781 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18782 : && ix86_pre_reload_split ()
18783 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18784 : STRIP_UNARY (operands[4]))
18785 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18786 : STRIP_UNARY (operands[4]))
18787 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18788 : STRIP_UNARY (operands[3]))
18789 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18790 : STRIP_UNARY (operands[3])))) &&
18791 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18792 : (TARGET_AVX512F)))
18793 : return -1;
18794 : return 6660; /* *avx512bw_vpternlogv32bf_2 */
18795 :
18796 : case 4:
18797 : if (!(
18798 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18799 : ((32 == 64 || TARGET_AVX512VL
18800 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18801 : && ix86_pre_reload_split ()
18802 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18803 : STRIP_UNARY (operands[4]))
18804 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18805 : STRIP_UNARY (operands[4]))
18806 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18807 : STRIP_UNARY (operands[3]))
18808 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18809 : STRIP_UNARY (operands[3])))) &&
18810 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18811 : (TARGET_AVX)))
18812 : return -1;
18813 : return 6687; /* *avx512vl_vpternlogv16bf_2 */
18814 :
18815 : case 5:
18816 : if (!
18817 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18818 : ((16 == 64 || TARGET_AVX512VL
18819 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18820 : && ix86_pre_reload_split ()
18821 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18822 : STRIP_UNARY (operands[4]))
18823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18824 : STRIP_UNARY (operands[4]))
18825 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18826 : STRIP_UNARY (operands[3]))
18827 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18828 : STRIP_UNARY (operands[3])))))
18829 : return -1;
18830 : return 6714; /* *avx512vl_vpternlogv8bf_2 */
18831 :
18832 : case 6:
18833 : if (!(
18834 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18835 : ((64 == 64 || TARGET_AVX512VL
18836 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18837 : && ix86_pre_reload_split ()
18838 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18839 : STRIP_UNARY (operands[4]))
18840 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18841 : STRIP_UNARY (operands[4]))
18842 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18843 : STRIP_UNARY (operands[3]))
18844 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18845 : STRIP_UNARY (operands[3])))) &&
18846 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18847 : (TARGET_AVX512F)))
18848 : return -1;
18849 : return 6741; /* *avx512f_vpternlogv16sf_2 */
18850 :
18851 : case 7:
18852 : if (!(
18853 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18854 : ((32 == 64 || TARGET_AVX512VL
18855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18856 : && ix86_pre_reload_split ()
18857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18858 : STRIP_UNARY (operands[4]))
18859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18860 : STRIP_UNARY (operands[4]))
18861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18862 : STRIP_UNARY (operands[3]))
18863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18864 : STRIP_UNARY (operands[3])))) &&
18865 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18866 : (TARGET_AVX)))
18867 : return -1;
18868 : return 6768; /* *avx512vl_vpternlogv8sf_2 */
18869 :
18870 : case 8:
18871 : if (!
18872 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18873 : ((16 == 64 || TARGET_AVX512VL
18874 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18875 : && ix86_pre_reload_split ()
18876 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18877 : STRIP_UNARY (operands[4]))
18878 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18879 : STRIP_UNARY (operands[4]))
18880 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18881 : STRIP_UNARY (operands[3]))
18882 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18883 : STRIP_UNARY (operands[3])))))
18884 : return -1;
18885 : return 6795; /* *avx512vl_vpternlogv4sf_2 */
18886 :
18887 : case 9:
18888 : if (!(
18889 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18890 : ((64 == 64 || TARGET_AVX512VL
18891 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18892 : && ix86_pre_reload_split ()
18893 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18894 : STRIP_UNARY (operands[4]))
18895 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18896 : STRIP_UNARY (operands[4]))
18897 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18898 : STRIP_UNARY (operands[3]))
18899 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18900 : STRIP_UNARY (operands[3])))) &&
18901 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18902 : (TARGET_AVX512F)))
18903 : return -1;
18904 : return 6822; /* *avx512f_vpternlogv8df_2 */
18905 :
18906 : case 10:
18907 : if (!(
18908 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18909 : ((32 == 64 || TARGET_AVX512VL
18910 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18911 : && ix86_pre_reload_split ()
18912 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18913 : STRIP_UNARY (operands[4]))
18914 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18915 : STRIP_UNARY (operands[4]))
18916 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18917 : STRIP_UNARY (operands[3]))
18918 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18919 : STRIP_UNARY (operands[3])))) &&
18920 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18921 : (TARGET_AVX)))
18922 : return -1;
18923 : return 6849; /* *avx512vl_vpternlogv4df_2 */
18924 :
18925 : case 11:
18926 : if (!(
18927 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18928 : ((16 == 64 || TARGET_AVX512VL
18929 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18930 : && ix86_pre_reload_split ()
18931 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18932 : STRIP_UNARY (operands[4]))
18933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18934 : STRIP_UNARY (operands[4]))
18935 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18936 : STRIP_UNARY (operands[3]))
18937 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18938 : STRIP_UNARY (operands[3])))) &&
18939 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18940 : (TARGET_SSE2)))
18941 : return -1;
18942 : return 6876; /* *avx512vl_vpternlogv2df_2 */
18943 :
18944 : default:
18945 : return -1;
18946 : }
18947 :
18948 : case IOR:
18949 : switch (pattern544 (x2))
18950 : {
18951 : case 0:
18952 : if (!(
18953 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18954 : ((64 == 64 || TARGET_AVX512VL
18955 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18956 : && ix86_pre_reload_split ()
18957 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18958 : STRIP_UNARY (operands[4]))
18959 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18960 : STRIP_UNARY (operands[4]))
18961 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18962 : STRIP_UNARY (operands[3]))
18963 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18964 : STRIP_UNARY (operands[3])))) &&
18965 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18966 : (TARGET_AVX512F)))
18967 : return -1;
18968 : return 6582; /* *avx512bw_vpternlogv32hf_2 */
18969 :
18970 : case 1:
18971 : if (!(
18972 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18973 : ((32 == 64 || TARGET_AVX512VL
18974 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18975 : && ix86_pre_reload_split ()
18976 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18977 : STRIP_UNARY (operands[4]))
18978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18979 : STRIP_UNARY (operands[4]))
18980 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18981 : STRIP_UNARY (operands[3]))
18982 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18983 : STRIP_UNARY (operands[3])))) &&
18984 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18985 : (TARGET_AVX)))
18986 : return -1;
18987 : return 6609; /* *avx512vl_vpternlogv16hf_2 */
18988 :
18989 : case 2:
18990 : if (!
18991 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18992 : ((16 == 64 || TARGET_AVX512VL
18993 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18994 : && ix86_pre_reload_split ()
18995 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18996 : STRIP_UNARY (operands[4]))
18997 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18998 : STRIP_UNARY (operands[4]))
18999 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19000 : STRIP_UNARY (operands[3]))
19001 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19002 : STRIP_UNARY (operands[3])))))
19003 : return -1;
19004 : return 6636; /* *avx512fp16_vpternlogv8hf_2 */
19005 :
19006 : case 3:
19007 : if (!(
19008 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19009 : ((64 == 64 || TARGET_AVX512VL
19010 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19011 : && ix86_pre_reload_split ()
19012 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19013 : STRIP_UNARY (operands[4]))
19014 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19015 : STRIP_UNARY (operands[4]))
19016 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19017 : STRIP_UNARY (operands[3]))
19018 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19019 : STRIP_UNARY (operands[3])))) &&
19020 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19021 : (TARGET_AVX512F)))
19022 : return -1;
19023 : return 6663; /* *avx512bw_vpternlogv32bf_2 */
19024 :
19025 : case 4:
19026 : if (!(
19027 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19028 : ((32 == 64 || TARGET_AVX512VL
19029 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19030 : && ix86_pre_reload_split ()
19031 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19032 : STRIP_UNARY (operands[4]))
19033 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19034 : STRIP_UNARY (operands[4]))
19035 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19036 : STRIP_UNARY (operands[3]))
19037 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19038 : STRIP_UNARY (operands[3])))) &&
19039 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19040 : (TARGET_AVX)))
19041 : return -1;
19042 : return 6690; /* *avx512vl_vpternlogv16bf_2 */
19043 :
19044 : case 5:
19045 : if (!
19046 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19047 : ((16 == 64 || TARGET_AVX512VL
19048 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19049 : && ix86_pre_reload_split ()
19050 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19051 : STRIP_UNARY (operands[4]))
19052 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19053 : STRIP_UNARY (operands[4]))
19054 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19055 : STRIP_UNARY (operands[3]))
19056 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19057 : STRIP_UNARY (operands[3])))))
19058 : return -1;
19059 : return 6717; /* *avx512vl_vpternlogv8bf_2 */
19060 :
19061 : case 6:
19062 : if (!(
19063 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19064 : ((64 == 64 || TARGET_AVX512VL
19065 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19066 : && ix86_pre_reload_split ()
19067 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19068 : STRIP_UNARY (operands[4]))
19069 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19070 : STRIP_UNARY (operands[4]))
19071 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19072 : STRIP_UNARY (operands[3]))
19073 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19074 : STRIP_UNARY (operands[3])))) &&
19075 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19076 : (TARGET_AVX512F)))
19077 : return -1;
19078 : return 6744; /* *avx512f_vpternlogv16sf_2 */
19079 :
19080 : case 7:
19081 : if (!(
19082 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19083 : ((32 == 64 || TARGET_AVX512VL
19084 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19085 : && ix86_pre_reload_split ()
19086 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19087 : STRIP_UNARY (operands[4]))
19088 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19089 : STRIP_UNARY (operands[4]))
19090 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19091 : STRIP_UNARY (operands[3]))
19092 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19093 : STRIP_UNARY (operands[3])))) &&
19094 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19095 : (TARGET_AVX)))
19096 : return -1;
19097 : return 6771; /* *avx512vl_vpternlogv8sf_2 */
19098 :
19099 : case 8:
19100 : if (!
19101 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19102 : ((16 == 64 || TARGET_AVX512VL
19103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19104 : && ix86_pre_reload_split ()
19105 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19106 : STRIP_UNARY (operands[4]))
19107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19108 : STRIP_UNARY (operands[4]))
19109 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19110 : STRIP_UNARY (operands[3]))
19111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19112 : STRIP_UNARY (operands[3])))))
19113 : return -1;
19114 : return 6798; /* *avx512vl_vpternlogv4sf_2 */
19115 :
19116 : case 9:
19117 : if (!(
19118 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19119 : ((64 == 64 || TARGET_AVX512VL
19120 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19121 : && ix86_pre_reload_split ()
19122 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19123 : STRIP_UNARY (operands[4]))
19124 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19125 : STRIP_UNARY (operands[4]))
19126 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19127 : STRIP_UNARY (operands[3]))
19128 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19129 : STRIP_UNARY (operands[3])))) &&
19130 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19131 : (TARGET_AVX512F)))
19132 : return -1;
19133 : return 6825; /* *avx512f_vpternlogv8df_2 */
19134 :
19135 : case 10:
19136 : if (!(
19137 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19138 : ((32 == 64 || TARGET_AVX512VL
19139 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19140 : && ix86_pre_reload_split ()
19141 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19142 : STRIP_UNARY (operands[4]))
19143 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19144 : STRIP_UNARY (operands[4]))
19145 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19146 : STRIP_UNARY (operands[3]))
19147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19148 : STRIP_UNARY (operands[3])))) &&
19149 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19150 : (TARGET_AVX)))
19151 : return -1;
19152 : return 6852; /* *avx512vl_vpternlogv4df_2 */
19153 :
19154 : case 11:
19155 : if (!(
19156 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19157 : ((16 == 64 || TARGET_AVX512VL
19158 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19159 : && ix86_pre_reload_split ()
19160 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19161 : STRIP_UNARY (operands[4]))
19162 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19163 : STRIP_UNARY (operands[4]))
19164 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19165 : STRIP_UNARY (operands[3]))
19166 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19167 : STRIP_UNARY (operands[3])))) &&
19168 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19169 : (TARGET_SSE2)))
19170 : return -1;
19171 : return 6879; /* *avx512vl_vpternlogv2df_2 */
19172 :
19173 : default:
19174 : return -1;
19175 : }
19176 :
19177 : case XOR:
19178 : switch (pattern544 (x2))
19179 : {
19180 : case 0:
19181 : if (!(
19182 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19183 : ((64 == 64 || TARGET_AVX512VL
19184 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19185 : && ix86_pre_reload_split ()
19186 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19187 : STRIP_UNARY (operands[4]))
19188 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19189 : STRIP_UNARY (operands[4]))
19190 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19191 : STRIP_UNARY (operands[3]))
19192 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19193 : STRIP_UNARY (operands[3])))) &&
19194 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19195 : (TARGET_AVX512F)))
19196 : return -1;
19197 : return 6585; /* *avx512bw_vpternlogv32hf_2 */
19198 :
19199 : case 1:
19200 : if (!(
19201 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19202 : ((32 == 64 || TARGET_AVX512VL
19203 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19204 : && ix86_pre_reload_split ()
19205 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19206 : STRIP_UNARY (operands[4]))
19207 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19208 : STRIP_UNARY (operands[4]))
19209 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19210 : STRIP_UNARY (operands[3]))
19211 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19212 : STRIP_UNARY (operands[3])))) &&
19213 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19214 : (TARGET_AVX)))
19215 : return -1;
19216 : return 6612; /* *avx512vl_vpternlogv16hf_2 */
19217 :
19218 : case 2:
19219 : if (!
19220 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19221 : ((16 == 64 || TARGET_AVX512VL
19222 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19223 : && ix86_pre_reload_split ()
19224 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19225 : STRIP_UNARY (operands[4]))
19226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19227 : STRIP_UNARY (operands[4]))
19228 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19229 : STRIP_UNARY (operands[3]))
19230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19231 : STRIP_UNARY (operands[3])))))
19232 : return -1;
19233 : return 6639; /* *avx512fp16_vpternlogv8hf_2 */
19234 :
19235 : case 3:
19236 : if (!(
19237 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19238 : ((64 == 64 || TARGET_AVX512VL
19239 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19240 : && ix86_pre_reload_split ()
19241 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19242 : STRIP_UNARY (operands[4]))
19243 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19244 : STRIP_UNARY (operands[4]))
19245 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19246 : STRIP_UNARY (operands[3]))
19247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19248 : STRIP_UNARY (operands[3])))) &&
19249 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19250 : (TARGET_AVX512F)))
19251 : return -1;
19252 : return 6666; /* *avx512bw_vpternlogv32bf_2 */
19253 :
19254 : case 4:
19255 : if (!(
19256 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19257 : ((32 == 64 || TARGET_AVX512VL
19258 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19259 : && ix86_pre_reload_split ()
19260 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19261 : STRIP_UNARY (operands[4]))
19262 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19263 : STRIP_UNARY (operands[4]))
19264 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19265 : STRIP_UNARY (operands[3]))
19266 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19267 : STRIP_UNARY (operands[3])))) &&
19268 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19269 : (TARGET_AVX)))
19270 : return -1;
19271 : return 6693; /* *avx512vl_vpternlogv16bf_2 */
19272 :
19273 : case 5:
19274 : if (!
19275 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19276 : ((16 == 64 || TARGET_AVX512VL
19277 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19278 : && ix86_pre_reload_split ()
19279 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19280 : STRIP_UNARY (operands[4]))
19281 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19282 : STRIP_UNARY (operands[4]))
19283 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19284 : STRIP_UNARY (operands[3]))
19285 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19286 : STRIP_UNARY (operands[3])))))
19287 : return -1;
19288 : return 6720; /* *avx512vl_vpternlogv8bf_2 */
19289 :
19290 : case 6:
19291 : if (!(
19292 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19293 : ((64 == 64 || TARGET_AVX512VL
19294 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19295 : && ix86_pre_reload_split ()
19296 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19297 : STRIP_UNARY (operands[4]))
19298 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19299 : STRIP_UNARY (operands[4]))
19300 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19301 : STRIP_UNARY (operands[3]))
19302 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19303 : STRIP_UNARY (operands[3])))) &&
19304 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19305 : (TARGET_AVX512F)))
19306 : return -1;
19307 : return 6747; /* *avx512f_vpternlogv16sf_2 */
19308 :
19309 : case 7:
19310 : if (!(
19311 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19312 : ((32 == 64 || TARGET_AVX512VL
19313 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19314 : && ix86_pre_reload_split ()
19315 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19316 : STRIP_UNARY (operands[4]))
19317 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19318 : STRIP_UNARY (operands[4]))
19319 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19320 : STRIP_UNARY (operands[3]))
19321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19322 : STRIP_UNARY (operands[3])))) &&
19323 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19324 : (TARGET_AVX)))
19325 : return -1;
19326 : return 6774; /* *avx512vl_vpternlogv8sf_2 */
19327 :
19328 : case 8:
19329 : if (!
19330 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19331 : ((16 == 64 || TARGET_AVX512VL
19332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19333 : && ix86_pre_reload_split ()
19334 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19335 : STRIP_UNARY (operands[4]))
19336 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19337 : STRIP_UNARY (operands[4]))
19338 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19339 : STRIP_UNARY (operands[3]))
19340 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19341 : STRIP_UNARY (operands[3])))))
19342 : return -1;
19343 : return 6801; /* *avx512vl_vpternlogv4sf_2 */
19344 :
19345 : case 9:
19346 : if (!(
19347 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19348 : ((64 == 64 || TARGET_AVX512VL
19349 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19350 : && ix86_pre_reload_split ()
19351 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19352 : STRIP_UNARY (operands[4]))
19353 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19354 : STRIP_UNARY (operands[4]))
19355 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19356 : STRIP_UNARY (operands[3]))
19357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19358 : STRIP_UNARY (operands[3])))) &&
19359 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19360 : (TARGET_AVX512F)))
19361 : return -1;
19362 : return 6828; /* *avx512f_vpternlogv8df_2 */
19363 :
19364 : case 10:
19365 : if (!(
19366 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19367 : ((32 == 64 || TARGET_AVX512VL
19368 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19369 : && ix86_pre_reload_split ()
19370 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19371 : STRIP_UNARY (operands[4]))
19372 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19373 : STRIP_UNARY (operands[4]))
19374 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19375 : STRIP_UNARY (operands[3]))
19376 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19377 : STRIP_UNARY (operands[3])))) &&
19378 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19379 : (TARGET_AVX)))
19380 : return -1;
19381 : return 6855; /* *avx512vl_vpternlogv4df_2 */
19382 :
19383 : case 11:
19384 : if (!(
19385 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19386 : ((16 == 64 || TARGET_AVX512VL
19387 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19388 : && ix86_pre_reload_split ()
19389 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19390 : STRIP_UNARY (operands[4]))
19391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19392 : STRIP_UNARY (operands[4]))
19393 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19394 : STRIP_UNARY (operands[3]))
19395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19396 : STRIP_UNARY (operands[3])))) &&
19397 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19398 : (TARGET_SSE2)))
19399 : return -1;
19400 : return 6882; /* *avx512vl_vpternlogv2df_2 */
19401 :
19402 : default:
19403 : return -1;
19404 : }
19405 :
19406 : default:
19407 : return -1;
19408 : }
19409 : }
19410 :
19411 : int
19412 : recog_327 (rtx x1 ATTRIBUTE_UNUSED,
19413 : rtx_insn *insn ATTRIBUTE_UNUSED,
19414 : int *pnum_clobbers ATTRIBUTE_UNUSED)
19415 : {
19416 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19417 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
19418 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
19419 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
19420 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
19421 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
19422 : rtx x42, x43, x44, x45, x46, x47, x48, x49;
19423 : rtx x50, x51, x52, x53, x54, x55, x56, x57;
19424 : rtx x58, x59, x60, x61, x62, x63, x64, x65;
19425 : rtx x66, x67, x68, x69;
19426 : int res ATTRIBUTE_UNUSED;
19427 : x2 = XEXP (x1, 1);
19428 : x3 = XEXP (x2, 1);
19429 : if (GET_CODE (x3) != PARALLEL)
19430 : return -1;
19431 : x4 = XEXP (x1, 0);
19432 : operands[0] = x4;
19433 : x5 = XEXP (x2, 0);
19434 : switch (GET_CODE (x5))
19435 : {
19436 : case VEC_CONCAT:
19437 : x6 = XEXP (x5, 0);
19438 : switch (GET_CODE (x6))
19439 : {
19440 : case REG:
19441 : case SUBREG:
19442 : case MEM:
19443 : operands[1] = x6;
19444 : res = recog_291 (x1, insn, pnum_clobbers);
19445 : if (res >= 0)
19446 : return res;
19447 : if (XVECLEN (x3, 0) < 1)
19448 : return -1;
19449 : operands[4] = x3;
19450 : switch (pattern820 (x2))
19451 : {
19452 : case 0:
19453 : if (
19454 : #line 25065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19455 : (TARGET_AVX2))
19456 : return 8877; /* *avx2_zero_extendv16qiv16hi2_2 */
19457 : break;
19458 :
19459 : case 1:
19460 : if (
19461 : #line 25065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19462 : (TARGET_AVX2))
19463 : return 8878; /* *avx2_zero_extendv16qiv16hi2_2 */
19464 : break;
19465 :
19466 : case 2:
19467 : if (
19468 : #line 25065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19469 : (TARGET_AVX2))
19470 : return 8879; /* *avx2_zero_extendv16qiv16hi2_2 */
19471 : break;
19472 :
19473 : case 3:
19474 : if (
19475 : #line 25119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19476 : (TARGET_AVX512BW))
19477 : return 8885; /* *avx512bw_zero_extendv32qiv32hi2_2 */
19478 : break;
19479 :
19480 : case 4:
19481 : if (
19482 : #line 25119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19483 : (TARGET_AVX512BW))
19484 : return 8886; /* *avx512bw_zero_extendv32qiv32hi2_2 */
19485 : break;
19486 :
19487 : case 5:
19488 : if (
19489 : #line 25119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19490 : (TARGET_AVX512BW))
19491 : return 8887; /* *avx512bw_zero_extendv32qiv32hi2_2 */
19492 : break;
19493 :
19494 : case 6:
19495 : if (
19496 : #line 25258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19497 : (TARGET_SSE4_1))
19498 : return 8901; /* *sse4_1_zero_extendv8qiv8hi2_4 */
19499 : break;
19500 :
19501 : case 7:
19502 : if (
19503 : #line 25258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19504 : (TARGET_SSE4_1))
19505 : return 8902; /* *sse4_1_zero_extendv8qiv8hi2_4 */
19506 : break;
19507 :
19508 : case 8:
19509 : if (
19510 : #line 25258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19511 : (TARGET_SSE4_1))
19512 : return 8903; /* *sse4_1_zero_extendv8qiv8hi2_4 */
19513 : break;
19514 :
19515 : case 9:
19516 : if (
19517 : #line 25553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19518 : (TARGET_AVX512F))
19519 : return 8939; /* *avx512f_zero_extendv16hiv16si2_2 */
19520 : break;
19521 :
19522 : case 10:
19523 : if (
19524 : #line 25553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19525 : (TARGET_AVX512F))
19526 : return 8940; /* *avx512f_zero_extendv16hiv16si2_2 */
19527 : break;
19528 :
19529 : case 11:
19530 : if (
19531 : #line 25553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19532 : (TARGET_AVX512F))
19533 : return 8941; /* *avx512f_zero_extendv16hiv16si2_2 */
19534 : break;
19535 :
19536 : case 12:
19537 : if (
19538 : #line 25608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19539 : (TARGET_AVX2))
19540 : return 8947; /* *avx2_zero_extendv8hiv8si2_2 */
19541 : break;
19542 :
19543 : case 13:
19544 : if (
19545 : #line 25608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19546 : (TARGET_AVX2))
19547 : return 8948; /* *avx2_zero_extendv8hiv8si2_2 */
19548 : break;
19549 :
19550 : case 14:
19551 : if (
19552 : #line 25608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19553 : (TARGET_AVX2))
19554 : return 8949; /* *avx2_zero_extendv8hiv8si2_2 */
19555 : break;
19556 :
19557 : case 15:
19558 : if (
19559 : #line 25753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19560 : (TARGET_SSE4_1))
19561 : return 8963; /* *sse4_1_zero_extendv4hiv4si2_4 */
19562 : break;
19563 :
19564 : case 16:
19565 : if (
19566 : #line 25753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19567 : (TARGET_SSE4_1))
19568 : return 8964; /* *sse4_1_zero_extendv4hiv4si2_4 */
19569 : break;
19570 :
19571 : case 17:
19572 : if (
19573 : #line 25753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19574 : (TARGET_SSE4_1))
19575 : return 8965; /* *sse4_1_zero_extendv4hiv4si2_4 */
19576 : break;
19577 :
19578 : default:
19579 : break;
19580 : }
19581 : operands[3] = x3;
19582 : switch (pattern821 (x2))
19583 : {
19584 : case 0:
19585 : if (!(
19586 : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19587 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19588 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19589 : (TARGET_AVX512F)))
19590 : return -1;
19591 : return 9771; /* *vec_concatv64qi_0_1 */
19592 :
19593 : case 1:
19594 : if (!(
19595 : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19596 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19597 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19598 : (TARGET_AVX)))
19599 : return -1;
19600 : return 9772; /* *vec_concatv32qi_0_1 */
19601 :
19602 : case 2:
19603 : if (!
19604 : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19605 : (TARGET_SSE2 && ix86_pre_reload_split ()))
19606 : return -1;
19607 : return 9773; /* *vec_concatv16qi_0_1 */
19608 :
19609 : case 3:
19610 : if (!(
19611 : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19612 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19613 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19614 : (TARGET_AVX512F)))
19615 : return -1;
19616 : return 9774; /* *vec_concatv32hi_0_1 */
19617 :
19618 : case 4:
19619 : if (!(
19620 : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19621 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
19622 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19623 : (TARGET_AVX)))
19624 : return -1;
19625 : return 9775; /* *vec_concatv16hi_0_1 */
19626 :
19627 : case 5:
19628 : if (!
19629 : #line 30475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19630 : (TARGET_SSE2 && ix86_pre_reload_split ()))
19631 : return -1;
19632 : return 9776; /* *vec_concatv8hi_0_1 */
19633 :
19634 : default:
19635 : return -1;
19636 : }
19637 :
19638 : case SS_TRUNCATE:
19639 : x7 = XEXP (x5, 1);
19640 : if (GET_CODE (x7) != SS_TRUNCATE)
19641 : return -1;
19642 : x8 = XEXP (x6, 0);
19643 : operands[1] = x8;
19644 : x9 = XEXP (x7, 0);
19645 : operands[2] = x9;
19646 : switch (XVECLEN (x3, 0))
19647 : {
19648 : case 32:
19649 : if (pattern852 (x3) != 0)
19650 : return -1;
19651 : x10 = XVECEXP (x3, 0, 4);
19652 : if (GET_CODE (x10) != CONST_INT)
19653 : return -1;
19654 : x11 = XVECEXP (x3, 0, 5);
19655 : if (GET_CODE (x11) != CONST_INT)
19656 : return -1;
19657 : x12 = XVECEXP (x3, 0, 6);
19658 : if (GET_CODE (x12) != CONST_INT)
19659 : return -1;
19660 : x13 = XVECEXP (x3, 0, 7);
19661 : if (GET_CODE (x13) != CONST_INT)
19662 : return -1;
19663 : x14 = XVECEXP (x3, 0, 8);
19664 : if (GET_CODE (x14) != CONST_INT)
19665 : return -1;
19666 : x15 = XVECEXP (x3, 0, 9);
19667 : if (GET_CODE (x15) != CONST_INT)
19668 : return -1;
19669 : x16 = XVECEXP (x3, 0, 10);
19670 : if (GET_CODE (x16) != CONST_INT)
19671 : return -1;
19672 : x17 = XVECEXP (x3, 0, 11);
19673 : if (GET_CODE (x17) != CONST_INT
19674 : || pattern1722 (x3,
19675 : 23,
19676 : 22,
19677 : 21,
19678 : 20,
19679 : 8) != 0)
19680 : return -1;
19681 : x18 = XVECEXP (x3, 0, 17);
19682 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
19683 : return -1;
19684 : x19 = XVECEXP (x3, 0, 18);
19685 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
19686 : return -1;
19687 : x20 = XVECEXP (x3, 0, 19);
19688 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
19689 : return -1;
19690 : x21 = XVECEXP (x3, 0, 20);
19691 : if (GET_CODE (x21) != CONST_INT)
19692 : return -1;
19693 : x22 = XVECEXP (x3, 0, 21);
19694 : if (GET_CODE (x22) != CONST_INT)
19695 : return -1;
19696 : x23 = XVECEXP (x3, 0, 22);
19697 : if (GET_CODE (x23) != CONST_INT)
19698 : return -1;
19699 : x24 = XVECEXP (x3, 0, 23);
19700 : if (GET_CODE (x24) != CONST_INT)
19701 : return -1;
19702 : x25 = XVECEXP (x3, 0, 24);
19703 : if (GET_CODE (x25) != CONST_INT)
19704 : return -1;
19705 : x26 = XVECEXP (x3, 0, 25);
19706 : if (GET_CODE (x26) != CONST_INT)
19707 : return -1;
19708 : x27 = XVECEXP (x3, 0, 26);
19709 : if (GET_CODE (x27) != CONST_INT)
19710 : return -1;
19711 : x28 = XVECEXP (x3, 0, 27);
19712 : if (GET_CODE (x28) != CONST_INT
19713 : || pattern1901 (x3,
19714 : 31,
19715 : 30,
19716 : 29,
19717 : 28) != 0)
19718 : return -1;
19719 : switch (XWINT (x10, 0))
19720 : {
19721 : case 4L:
19722 : if (XWINT (x11, 0) != 5L
19723 : || XWINT (x12, 0) != 6L
19724 : || XWINT (x13, 0) != 7L
19725 : || XWINT (x14, 0) != 16L
19726 : || XWINT (x15, 0) != 17L
19727 : || XWINT (x16, 0) != 18L
19728 : || XWINT (x17, 0) != 19L
19729 : || XWINT (x21, 0) != 12L
19730 : || XWINT (x22, 0) != 13L
19731 : || XWINT (x23, 0) != 14L
19732 : || XWINT (x24, 0) != 15L
19733 : || pattern1926 (x3) != 0
19734 : || pattern1856 (x2,
19735 : E_V16HImode,
19736 : E_V16QImode,
19737 : E_V32QImode) != 0
19738 : || !
19739 : #line 20028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19740 : (TARGET_AVX2 && 1 && 1))
19741 : return -1;
19742 : return 8422; /* avx2_packsswb */
19743 :
19744 : case 16L:
19745 : if (XWINT (x11, 0) != 17L
19746 : || XWINT (x12, 0) != 18L
19747 : || XWINT (x13, 0) != 19L
19748 : || XWINT (x14, 0) != 4L
19749 : || XWINT (x15, 0) != 5L
19750 : || XWINT (x16, 0) != 6L
19751 : || XWINT (x17, 0) != 7L
19752 : || XWINT (x21, 0) != 24L
19753 : || XWINT (x22, 0) != 25L
19754 : || XWINT (x23, 0) != 26L
19755 : || XWINT (x24, 0) != 27L
19756 : || XWINT (x25, 0) != 12L
19757 : || XWINT (x26, 0) != 13L
19758 : || XWINT (x27, 0) != 14L
19759 : || XWINT (x28, 0) != 15L
19760 : || pattern1856 (x2,
19761 : E_V16SImode,
19762 : E_V16HImode,
19763 : E_V32HImode) != 0
19764 : || !
19765 : #line 20144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19766 : (TARGET_AVX512BW))
19767 : return -1;
19768 : return 8430; /* avx512bw_packssdw */
19769 :
19770 : default:
19771 : return -1;
19772 : }
19773 :
19774 : case 64:
19775 : if (pattern855 (x3,
19776 : 35,
19777 : 34,
19778 : 33,
19779 : 32) != 0
19780 : || pattern1722 (x3,
19781 : 39,
19782 : 38,
19783 : 37,
19784 : 36,
19785 : 8) != 0
19786 : || pattern1841 (x3,
19787 : 13,
19788 : 12,
19789 : 11,
19790 : 10,
19791 : 9) != 0
19792 : || pattern1883 (x3,
19793 : 42,
19794 : 41,
19795 : 40,
19796 : 15,
19797 : 14) != 0)
19798 : return -1;
19799 : x28 = XVECEXP (x3, 0, 27);
19800 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 43]
19801 : || pattern1901 (x3,
19802 : 47,
19803 : 46,
19804 : 45,
19805 : 44) != 0)
19806 : return -1;
19807 : x29 = XVECEXP (x3, 0, 32);
19808 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
19809 : return -1;
19810 : x30 = XVECEXP (x3, 0, 33);
19811 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
19812 : return -1;
19813 : x31 = XVECEXP (x3, 0, 34);
19814 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 18])
19815 : return -1;
19816 : x32 = XVECEXP (x3, 0, 35);
19817 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 19])
19818 : return -1;
19819 : x33 = XVECEXP (x3, 0, 36);
19820 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 20])
19821 : return -1;
19822 : x34 = XVECEXP (x3, 0, 37);
19823 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 21])
19824 : return -1;
19825 : x35 = XVECEXP (x3, 0, 38);
19826 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 22])
19827 : return -1;
19828 : x36 = XVECEXP (x3, 0, 39);
19829 : if (x36 != const_int_rtx[MAX_SAVED_CONST_INT + 23])
19830 : return -1;
19831 : x37 = XVECEXP (x3, 0, 40);
19832 : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 48])
19833 : return -1;
19834 : x38 = XVECEXP (x3, 0, 41);
19835 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 49])
19836 : return -1;
19837 : x39 = XVECEXP (x3, 0, 42);
19838 : if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 50])
19839 : return -1;
19840 : x40 = XVECEXP (x3, 0, 43);
19841 : if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 51])
19842 : return -1;
19843 : x41 = XVECEXP (x3, 0, 44);
19844 : if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 52])
19845 : return -1;
19846 : x42 = XVECEXP (x3, 0, 45);
19847 : if (x42 != const_int_rtx[MAX_SAVED_CONST_INT + 53])
19848 : return -1;
19849 : x43 = XVECEXP (x3, 0, 46);
19850 : if (x43 != const_int_rtx[MAX_SAVED_CONST_INT + 54])
19851 : return -1;
19852 : x44 = XVECEXP (x3, 0, 47);
19853 : if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 55])
19854 : return -1;
19855 : x45 = XVECEXP (x3, 0, 48);
19856 : if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
19857 : return -1;
19858 : x46 = XVECEXP (x3, 0, 49);
19859 : if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
19860 : return -1;
19861 : x47 = XVECEXP (x3, 0, 50);
19862 : if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
19863 : return -1;
19864 : x48 = XVECEXP (x3, 0, 51);
19865 : if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
19866 : return -1;
19867 : x49 = XVECEXP (x3, 0, 52);
19868 : if (x49 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
19869 : return -1;
19870 : x50 = XVECEXP (x3, 0, 53);
19871 : if (x50 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
19872 : return -1;
19873 : x51 = XVECEXP (x3, 0, 54);
19874 : if (x51 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
19875 : return -1;
19876 : x52 = XVECEXP (x3, 0, 55);
19877 : if (x52 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
19878 : return -1;
19879 : x53 = XVECEXP (x3, 0, 56);
19880 : if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 56])
19881 : return -1;
19882 : x54 = XVECEXP (x3, 0, 57);
19883 : if (x54 != const_int_rtx[MAX_SAVED_CONST_INT + 57])
19884 : return -1;
19885 : x55 = XVECEXP (x3, 0, 58);
19886 : if (x55 != const_int_rtx[MAX_SAVED_CONST_INT + 58])
19887 : return -1;
19888 : x56 = XVECEXP (x3, 0, 59);
19889 : if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 59])
19890 : return -1;
19891 : x57 = XVECEXP (x3, 0, 60);
19892 : if (x57 != const_int_rtx[MAX_SAVED_CONST_INT + 60])
19893 : return -1;
19894 : x58 = XVECEXP (x3, 0, 61);
19895 : if (x58 != const_int_rtx[MAX_SAVED_CONST_INT + 61])
19896 : return -1;
19897 : x59 = XVECEXP (x3, 0, 62);
19898 : if (x59 != const_int_rtx[MAX_SAVED_CONST_INT + 62])
19899 : return -1;
19900 : x60 = XVECEXP (x3, 0, 63);
19901 : if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
19902 : || pattern1856 (x2,
19903 : E_V32HImode,
19904 : E_V32QImode,
19905 : E_V64QImode) != 0
19906 : || !
19907 : #line 20075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19908 : (TARGET_AVX512BW))
19909 : return -1;
19910 : return 8424; /* avx512bw_packsswb */
19911 :
19912 : case 16:
19913 : if (pattern853 (x3,
19914 : 10,
19915 : 9,
19916 : 8) != 0
19917 : || pattern1523 (x3,
19918 : 7,
19919 : 6,
19920 : 5,
19921 : 4,
19922 : 11) != 0
19923 : || pattern1856 (x2,
19924 : E_V8SImode,
19925 : E_V8HImode,
19926 : E_V16HImode) != 0
19927 : || !
19928 : #line 20114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19929 : (TARGET_AVX2 && 1 && 1))
19930 : return -1;
19931 : return 8428; /* avx2_packssdw */
19932 :
19933 : default:
19934 : return -1;
19935 : }
19936 :
19937 : case VEC_CONCAT:
19938 : switch (pattern525 (x2))
19939 : {
19940 : case 0:
19941 : if (!
19942 : #line 26256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19943 : (TARGET_AVX512F))
19944 : return -1;
19945 : return 9034; /* *avx512f_zero_extendv8siv8di2_2 */
19946 :
19947 : case 1:
19948 : if (!
19949 : #line 26309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19950 : (TARGET_AVX2))
19951 : return -1;
19952 : return 9040; /* *avx2_zero_extendv4siv4di2_2 */
19953 :
19954 : case 2:
19955 : if (!
19956 : #line 26430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19957 : (TARGET_SSE4_1))
19958 : return -1;
19959 : return 9054; /* *sse4_1_zero_extendv2siv2di2_4 */
19960 :
19961 : default:
19962 : return -1;
19963 : }
19964 :
19965 : default:
19966 : return -1;
19967 : }
19968 :
19969 : case REG:
19970 : case SUBREG:
19971 : case MEM:
19972 : operands[1] = x5;
19973 : res = recog_305 (x1, insn, pnum_clobbers);
19974 : if (res >= 0)
19975 : return res;
19976 : if (GET_CODE (x5) != SUBREG)
19977 : return -1;
19978 : switch (pattern527 (x2))
19979 : {
19980 : case 0:
19981 : if (!
19982 : #line 15752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19983 : (TARGET_AVX512BW && ix86_pre_reload_split ()))
19984 : return -1;
19985 : return 7323; /* *avx512bw_permvar_truncv16siv16hi_1_hf */
19986 :
19987 : case 1:
19988 : if (!
19989 : #line 15805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19990 : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
19991 : return -1;
19992 : return 7325; /* *avx512f_permvar_truncv8siv8hi_1_hf */
19993 :
19994 : default:
19995 : return -1;
19996 : }
19997 :
19998 : case UNSPEC:
19999 : switch (XVECLEN (x5, 0))
20000 : {
20001 : case 2:
20002 : switch (pattern529 (x2))
20003 : {
20004 : case 0:
20005 : if (!
20006 : #line 15727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20007 : (TARGET_AVX512BW && ix86_pre_reload_split ()))
20008 : return -1;
20009 : return 7322; /* *avx512bw_permvar_truncv16siv16hi_1 */
20010 :
20011 : case 1:
20012 : if (!
20013 : #line 15989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20014 : (TARGET_AVX512VL && TARGET_AVX512VBMI
20015 : && ix86_pre_reload_split ()))
20016 : return -1;
20017 : return 7355; /* *avx512f_permvar_truncv16hiv16qi_1 */
20018 :
20019 : case 2:
20020 : if (!
20021 : #line 15784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20022 : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()))
20023 : return -1;
20024 : return 7324; /* *avx512f_permvar_truncv8siv8hi_1 */
20025 :
20026 : case 3:
20027 : if (!
20028 : #line 15836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20029 : (TARGET_AVX512F && ix86_pre_reload_split ()))
20030 : return -1;
20031 : return 7326; /* *avx512f_vpermvar_truncv8div8si_1 */
20032 :
20033 : case 4:
20034 : if (!
20035 : #line 15908 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20036 : (TARGET_AVX512VBMI && ix86_pre_reload_split ()))
20037 : return -1;
20038 : return 7342; /* *avx512f_permvar_truncv32hiv32qi_1 */
20039 :
20040 : case 5:
20041 : if (!
20042 : #line 16008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20043 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
20044 : return -1;
20045 : return 7356; /* *avx512f_permvar_truncv4div4si_1 */
20046 :
20047 : default:
20048 : return -1;
20049 : }
20050 :
20051 : case 1:
20052 : if (XINT (x5, 1) != 150
20053 : || GET_MODE (x5) != E_V8SFmode
20054 : || XVECLEN (x3, 0) != 4
20055 : || pattern852 (x3) != 0
20056 : || !register_operand (operands[0], E_V4SFmode)
20057 : || GET_MODE (x2) != E_V4SFmode)
20058 : return -1;
20059 : x61 = XVECEXP (x5, 0, 0);
20060 : operands[1] = x61;
20061 : if (!register_operand (operands[1], E_V8HImode)
20062 : || !
20063 : #line 30492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20064 : (TARGET_F16C || TARGET_AVX512VL))
20065 : return -1;
20066 : return 9795; /* vcvtph2ps */
20067 :
20068 : case 4:
20069 : if (pnum_clobbers == NULL
20070 : || XINT (x5, 1) != 154)
20071 : return -1;
20072 : x62 = XVECEXP (x5, 0, 1);
20073 : if (GET_CODE (x62) != MEM)
20074 : return -1;
20075 : x63 = XEXP (x62, 0);
20076 : if (GET_CODE (x63) != UNSPEC
20077 : || XVECLEN (x63, 0) != 3
20078 : || XINT (x63, 1) != 155)
20079 : return -1;
20080 : x64 = XVECEXP (x5, 0, 2);
20081 : if (GET_CODE (x64) != MEM
20082 : || GET_MODE (x64) != E_BLKmode)
20083 : return -1;
20084 : x65 = XEXP (x64, 0);
20085 : if (GET_CODE (x65) != SCRATCH
20086 : || XVECLEN (x3, 0) != 4
20087 : || pattern852 (x3) != 0)
20088 : return -1;
20089 : x66 = XVECEXP (x63, 0, 1);
20090 : if (!register_operand (x66, E_V4DImode))
20091 : return -1;
20092 : x67 = XVECEXP (x63, 0, 2);
20093 : if (!const1248_operand (x67, E_SImode))
20094 : return -1;
20095 : x61 = XVECEXP (x5, 0, 0);
20096 : switch (GET_CODE (x61))
20097 : {
20098 : case REG:
20099 : case SUBREG:
20100 : operands[2] = x61;
20101 : operands[7] = x62;
20102 : x68 = XVECEXP (x63, 0, 0);
20103 : operands[3] = x68;
20104 : operands[4] = x66;
20105 : operands[6] = x67;
20106 : x69 = XVECEXP (x5, 0, 3);
20107 : operands[5] = x69;
20108 : switch (GET_MODE (operands[0]))
20109 : {
20110 : case E_V4SImode:
20111 : switch (pattern1878 (x2,
20112 : E_V4SImode,
20113 : E_SImode,
20114 : E_V8SImode))
20115 : {
20116 : case 0:
20117 : if (!(
20118 : #line 30819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20119 : (TARGET_AVX2) &&
20120 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20121 : (Pmode == SImode)))
20122 : return -1;
20123 : *pnum_clobbers = 1;
20124 : return 9882; /* *avx2_gatherdiv8si_3 */
20125 :
20126 : case 1:
20127 : if (!(
20128 : #line 30819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20129 : (TARGET_AVX2) &&
20130 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20131 : (Pmode == DImode)))
20132 : return -1;
20133 : *pnum_clobbers = 1;
20134 : return 9884; /* *avx2_gatherdiv8si_3 */
20135 :
20136 : default:
20137 : return -1;
20138 : }
20139 :
20140 : case E_V4SFmode:
20141 : switch (pattern1878 (x2,
20142 : E_V4SFmode,
20143 : E_SFmode,
20144 : E_V8SFmode))
20145 : {
20146 : case 0:
20147 : if (!(
20148 : #line 30819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20149 : (TARGET_AVX2) &&
20150 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20151 : (Pmode == SImode)))
20152 : return -1;
20153 : *pnum_clobbers = 1;
20154 : return 9883; /* *avx2_gatherdiv8sf_3 */
20155 :
20156 : case 1:
20157 : if (!(
20158 : #line 30819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20159 : (TARGET_AVX2) &&
20160 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20161 : (Pmode == DImode)))
20162 : return -1;
20163 : *pnum_clobbers = 1;
20164 : return 9885; /* *avx2_gatherdiv8sf_3 */
20165 :
20166 : default:
20167 : return -1;
20168 : }
20169 :
20170 : default:
20171 : return -1;
20172 : }
20173 :
20174 : case PC:
20175 : operands[6] = x62;
20176 : x68 = XVECEXP (x63, 0, 0);
20177 : operands[2] = x68;
20178 : operands[3] = x66;
20179 : operands[5] = x67;
20180 : x69 = XVECEXP (x5, 0, 3);
20181 : operands[4] = x69;
20182 : switch (GET_MODE (operands[0]))
20183 : {
20184 : case E_V4SImode:
20185 : switch (pattern1872 (x2,
20186 : E_V4SImode,
20187 : E_SImode,
20188 : E_V8SImode))
20189 : {
20190 : case 0:
20191 : if (!(
20192 : #line 30843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20193 : (TARGET_AVX2) &&
20194 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20195 : (Pmode == SImode)))
20196 : return -1;
20197 : *pnum_clobbers = 1;
20198 : return 9886; /* *avx2_gatherdiv8si_4 */
20199 :
20200 : case 1:
20201 : if (!(
20202 : #line 30843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20203 : (TARGET_AVX2) &&
20204 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20205 : (Pmode == DImode)))
20206 : return -1;
20207 : *pnum_clobbers = 1;
20208 : return 9888; /* *avx2_gatherdiv8si_4 */
20209 :
20210 : default:
20211 : return -1;
20212 : }
20213 :
20214 : case E_V4SFmode:
20215 : switch (pattern1872 (x2,
20216 : E_V4SFmode,
20217 : E_SFmode,
20218 : E_V8SFmode))
20219 : {
20220 : case 0:
20221 : if (!(
20222 : #line 30843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20223 : (TARGET_AVX2) &&
20224 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20225 : (Pmode == SImode)))
20226 : return -1;
20227 : *pnum_clobbers = 1;
20228 : return 9887; /* *avx2_gatherdiv8sf_4 */
20229 :
20230 : case 1:
20231 : if (!(
20232 : #line 30843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20233 : (TARGET_AVX2) &&
20234 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
20235 : (Pmode == DImode)))
20236 : return -1;
20237 : *pnum_clobbers = 1;
20238 : return 9889; /* *avx2_gatherdiv8sf_4 */
20239 :
20240 : default:
20241 : return -1;
20242 : }
20243 :
20244 : default:
20245 : return -1;
20246 : }
20247 :
20248 : default:
20249 : return -1;
20250 : }
20251 :
20252 : default:
20253 : return -1;
20254 : }
20255 :
20256 : default:
20257 : return -1;
20258 : }
20259 : }
20260 :
20261 : int
20262 : recog_331 (rtx x1 ATTRIBUTE_UNUSED,
20263 : rtx_insn *insn ATTRIBUTE_UNUSED,
20264 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20265 : {
20266 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20267 : rtx x2;
20268 : int res ATTRIBUTE_UNUSED;
20269 : x2 = XEXP (x1, 1);
20270 : operands[1] = x2;
20271 : switch (GET_MODE (operands[0]))
20272 : {
20273 : case E_V64QImode:
20274 : if (nonimmediate_operand (operands[0], E_V64QImode)
20275 : && nonimmediate_or_sse_const_operand (operands[1], E_V64QImode)
20276 : && (
20277 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20278 : (TARGET_SSE
20279 : && (register_operand (operands[0], V64QImode)
20280 : || register_operand (operands[1], V64QImode))
20281 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20282 : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20283 : (TARGET_AVX512F)))
20284 : return 2455; /* movv64qi_internal */
20285 : if (!register_operand (operands[0], E_V64QImode)
20286 : || !ternlog_operand (operands[1], E_V64QImode)
20287 : || !(
20288 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20289 : ((64 == 64 || TARGET_AVX512VL
20290 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20291 : && ix86_pre_reload_split ()) &&
20292 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20293 : (TARGET_AVX512F)))
20294 : return -1;
20295 : return 5564; /* *avx512bw_vpternlogv64qi_0 */
20296 :
20297 : case E_V32QImode:
20298 : if (nonimmediate_operand (operands[0], E_V32QImode)
20299 : && nonimmediate_or_sse_const_operand (operands[1], E_V32QImode)
20300 : && (
20301 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20302 : (TARGET_SSE
20303 : && (register_operand (operands[0], V32QImode)
20304 : || register_operand (operands[1], V32QImode))
20305 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20306 : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20307 : (TARGET_AVX)))
20308 : return 2456; /* movv32qi_internal */
20309 : if (!register_operand (operands[0], E_V32QImode)
20310 : || !ternlog_operand (operands[1], E_V32QImode)
20311 : || !(
20312 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20313 : ((32 == 64 || TARGET_AVX512VL
20314 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20315 : && ix86_pre_reload_split ()) &&
20316 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20317 : (TARGET_AVX)))
20318 : return -1;
20319 : return 5565; /* *avx512vl_vpternlogv32qi_0 */
20320 :
20321 : case E_V16QImode:
20322 : if (nonimmediate_operand (operands[0], E_V16QImode)
20323 : && nonimmediate_or_sse_const_operand (operands[1], E_V16QImode)
20324 : &&
20325 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20326 : (TARGET_SSE
20327 : && (register_operand (operands[0], V16QImode)
20328 : || register_operand (operands[1], V16QImode))
20329 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20330 : return 2457; /* movv16qi_internal */
20331 : if (!register_operand (operands[0], E_V16QImode)
20332 : || !ternlog_operand (operands[1], E_V16QImode)
20333 : || !
20334 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20335 : ((16 == 64 || TARGET_AVX512VL
20336 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20337 : && ix86_pre_reload_split ()))
20338 : return -1;
20339 : return 5566; /* *avx512vl_vpternlogv16qi_0 */
20340 :
20341 : case E_V32HImode:
20342 : if (nonimmediate_operand (operands[0], E_V32HImode)
20343 : && nonimmediate_or_sse_const_operand (operands[1], E_V32HImode)
20344 : && (
20345 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20346 : (TARGET_SSE
20347 : && (register_operand (operands[0], V32HImode)
20348 : || register_operand (operands[1], V32HImode))
20349 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20350 : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20351 : (TARGET_AVX512F)))
20352 : return 2458; /* movv32hi_internal */
20353 : if (!register_operand (operands[0], E_V32HImode)
20354 : || !ternlog_operand (operands[1], E_V32HImode)
20355 : || !(
20356 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20357 : ((64 == 64 || TARGET_AVX512VL
20358 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20359 : && ix86_pre_reload_split ()) &&
20360 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20361 : (TARGET_AVX512F)))
20362 : return -1;
20363 : return 5567; /* *avx512bw_vpternlogv32hi_0 */
20364 :
20365 : case E_V16HImode:
20366 : if (nonimmediate_operand (operands[0], E_V16HImode)
20367 : && nonimmediate_or_sse_const_operand (operands[1], E_V16HImode)
20368 : && (
20369 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20370 : (TARGET_SSE
20371 : && (register_operand (operands[0], V16HImode)
20372 : || register_operand (operands[1], V16HImode))
20373 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20374 : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20375 : (TARGET_AVX)))
20376 : return 2459; /* movv16hi_internal */
20377 : if (!register_operand (operands[0], E_V16HImode)
20378 : || !ternlog_operand (operands[1], E_V16HImode)
20379 : || !(
20380 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20381 : ((32 == 64 || TARGET_AVX512VL
20382 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20383 : && ix86_pre_reload_split ()) &&
20384 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20385 : (TARGET_AVX)))
20386 : return -1;
20387 : return 5568; /* *avx512vl_vpternlogv16hi_0 */
20388 :
20389 : case E_V8HImode:
20390 : if (nonimmediate_operand (operands[0], E_V8HImode)
20391 : && nonimmediate_or_sse_const_operand (operands[1], E_V8HImode)
20392 : &&
20393 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20394 : (TARGET_SSE
20395 : && (register_operand (operands[0], V8HImode)
20396 : || register_operand (operands[1], V8HImode))
20397 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20398 : return 2460; /* movv8hi_internal */
20399 : if (!register_operand (operands[0], E_V8HImode)
20400 : || !ternlog_operand (operands[1], E_V8HImode)
20401 : || !
20402 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20403 : ((16 == 64 || TARGET_AVX512VL
20404 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20405 : && ix86_pre_reload_split ()))
20406 : return -1;
20407 : return 5569; /* *avx512vl_vpternlogv8hi_0 */
20408 :
20409 : case E_V16SImode:
20410 : if (nonimmediate_operand (operands[0], E_V16SImode)
20411 : && nonimmediate_or_sse_const_operand (operands[1], E_V16SImode)
20412 : && (
20413 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20414 : (TARGET_SSE
20415 : && (register_operand (operands[0], V16SImode)
20416 : || register_operand (operands[1], V16SImode))
20417 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20418 : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20419 : (TARGET_AVX512F)))
20420 : return 2461; /* movv16si_internal */
20421 : if (!register_operand (operands[0], E_V16SImode)
20422 : || !ternlog_operand (operands[1], E_V16SImode)
20423 : || !(
20424 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20425 : ((64 == 64 || TARGET_AVX512VL
20426 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20427 : && ix86_pre_reload_split ()) &&
20428 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20429 : (TARGET_AVX512F)))
20430 : return -1;
20431 : return 5570; /* *avx512f_vpternlogv16si_0 */
20432 :
20433 : case E_V8SImode:
20434 : if (nonimmediate_operand (operands[0], E_V8SImode)
20435 : && nonimmediate_or_sse_const_operand (operands[1], E_V8SImode)
20436 : && (
20437 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20438 : (TARGET_SSE
20439 : && (register_operand (operands[0], V8SImode)
20440 : || register_operand (operands[1], V8SImode))
20441 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20442 : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20443 : (TARGET_AVX)))
20444 : return 2462; /* movv8si_internal */
20445 : if (!register_operand (operands[0], E_V8SImode)
20446 : || !ternlog_operand (operands[1], E_V8SImode)
20447 : || !(
20448 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20449 : ((32 == 64 || TARGET_AVX512VL
20450 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20451 : && ix86_pre_reload_split ()) &&
20452 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20453 : (TARGET_AVX)))
20454 : return -1;
20455 : return 5571; /* *avx512vl_vpternlogv8si_0 */
20456 :
20457 : case E_V4SImode:
20458 : if (nonimmediate_operand (operands[0], E_V4SImode)
20459 : && nonimmediate_or_sse_const_operand (operands[1], E_V4SImode)
20460 : &&
20461 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20462 : (TARGET_SSE
20463 : && (register_operand (operands[0], V4SImode)
20464 : || register_operand (operands[1], V4SImode))
20465 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20466 : return 2463; /* movv4si_internal */
20467 : if (!register_operand (operands[0], E_V4SImode)
20468 : || !ternlog_operand (operands[1], E_V4SImode)
20469 : || !
20470 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20471 : ((16 == 64 || TARGET_AVX512VL
20472 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20473 : && ix86_pre_reload_split ()))
20474 : return -1;
20475 : return 5572; /* *avx512vl_vpternlogv4si_0 */
20476 :
20477 : case E_V8DImode:
20478 : if (nonimmediate_operand (operands[0], E_V8DImode)
20479 : && nonimmediate_or_sse_const_operand (operands[1], E_V8DImode)
20480 : && (
20481 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20482 : (TARGET_SSE
20483 : && (register_operand (operands[0], V8DImode)
20484 : || register_operand (operands[1], V8DImode))
20485 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20486 : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20487 : (TARGET_AVX512F)))
20488 : return 2464; /* movv8di_internal */
20489 : if (!register_operand (operands[0], E_V8DImode)
20490 : || !ternlog_operand (operands[1], E_V8DImode)
20491 : || !(
20492 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20493 : ((64 == 64 || TARGET_AVX512VL
20494 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20495 : && ix86_pre_reload_split ()) &&
20496 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20497 : (TARGET_AVX512F)))
20498 : return -1;
20499 : return 5573; /* *avx512f_vpternlogv8di_0 */
20500 :
20501 : case E_V4DImode:
20502 : if (nonimmediate_operand (operands[0], E_V4DImode)
20503 : && nonimmediate_or_sse_const_operand (operands[1], E_V4DImode)
20504 : && (
20505 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20506 : (TARGET_SSE
20507 : && (register_operand (operands[0], V4DImode)
20508 : || register_operand (operands[1], V4DImode))
20509 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20510 : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20511 : (TARGET_AVX)))
20512 : return 2465; /* movv4di_internal */
20513 : if (!register_operand (operands[0], E_V4DImode)
20514 : || !ternlog_operand (operands[1], E_V4DImode)
20515 : || !(
20516 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20517 : ((32 == 64 || TARGET_AVX512VL
20518 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20519 : && ix86_pre_reload_split ()) &&
20520 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20521 : (TARGET_AVX)))
20522 : return -1;
20523 : return 5574; /* *avx512vl_vpternlogv4di_0 */
20524 :
20525 : case E_V2DImode:
20526 : if (nonimmediate_operand (operands[0], E_V2DImode)
20527 : && nonimmediate_or_sse_const_operand (operands[1], E_V2DImode)
20528 : &&
20529 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20530 : (TARGET_SSE
20531 : && (register_operand (operands[0], V2DImode)
20532 : || register_operand (operands[1], V2DImode))
20533 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20534 : return 2466; /* movv2di_internal */
20535 : if (!register_operand (operands[0], E_V2DImode)
20536 : || !ternlog_operand (operands[1], E_V2DImode)
20537 : || !
20538 : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20539 : ((16 == 64 || TARGET_AVX512VL
20540 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20541 : && ix86_pre_reload_split ()))
20542 : return -1;
20543 : return 5575; /* *avx512vl_vpternlogv2di_0 */
20544 :
20545 : case E_V4TImode:
20546 : if (!nonimmediate_operand (operands[0], E_V4TImode)
20547 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4TImode)
20548 : || !(
20549 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20550 : (TARGET_SSE
20551 : && (register_operand (operands[0], V4TImode)
20552 : || register_operand (operands[1], V4TImode))
20553 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20554 : #line 291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20555 : (TARGET_AVX512F)))
20556 : return -1;
20557 : return 2467; /* movv4ti_internal */
20558 :
20559 : case E_V2TImode:
20560 : if (!nonimmediate_operand (operands[0], E_V2TImode)
20561 : || !nonimmediate_or_sse_const_operand (operands[1], E_V2TImode)
20562 : || !(
20563 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20564 : (TARGET_SSE
20565 : && (register_operand (operands[0], V2TImode)
20566 : || register_operand (operands[1], V2TImode))
20567 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20568 : #line 291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20569 : (TARGET_AVX)))
20570 : return -1;
20571 : return 2468; /* movv2ti_internal */
20572 :
20573 : case E_V1TImode:
20574 : if (!nonimmediate_operand (operands[0], E_V1TImode)
20575 : || !nonimmediate_or_sse_const_operand (operands[1], E_V1TImode)
20576 : || !
20577 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20578 : (TARGET_SSE
20579 : && (register_operand (operands[0], V1TImode)
20580 : || register_operand (operands[1], V1TImode))
20581 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20582 : return -1;
20583 : return 2469; /* movv1ti_internal */
20584 :
20585 : case E_V32HFmode:
20586 : if (!nonimmediate_operand (operands[0], E_V32HFmode)
20587 : || !nonimmediate_or_sse_const_operand (operands[1], E_V32HFmode)
20588 : || !(
20589 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20590 : (TARGET_SSE
20591 : && (register_operand (operands[0], V32HFmode)
20592 : || register_operand (operands[1], V32HFmode))
20593 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20594 : #line 292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20595 : (TARGET_AVX512F)))
20596 : return -1;
20597 : return 2470; /* movv32hf_internal */
20598 :
20599 : case E_V16HFmode:
20600 : if (!nonimmediate_operand (operands[0], E_V16HFmode)
20601 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16HFmode)
20602 : || !(
20603 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20604 : (TARGET_SSE
20605 : && (register_operand (operands[0], V16HFmode)
20606 : || register_operand (operands[1], V16HFmode))
20607 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20608 : #line 292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20609 : (TARGET_AVX)))
20610 : return -1;
20611 : return 2471; /* movv16hf_internal */
20612 :
20613 : case E_V8HFmode:
20614 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
20615 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8HFmode)
20616 : || !
20617 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20618 : (TARGET_SSE
20619 : && (register_operand (operands[0], V8HFmode)
20620 : || register_operand (operands[1], V8HFmode))
20621 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20622 : return -1;
20623 : return 2472; /* movv8hf_internal */
20624 :
20625 : case E_V32BFmode:
20626 : if (!nonimmediate_operand (operands[0], E_V32BFmode)
20627 : || !nonimmediate_or_sse_const_operand (operands[1], E_V32BFmode)
20628 : || !(
20629 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20630 : (TARGET_SSE
20631 : && (register_operand (operands[0], V32BFmode)
20632 : || register_operand (operands[1], V32BFmode))
20633 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20634 : #line 293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20635 : (TARGET_AVX512F)))
20636 : return -1;
20637 : return 2473; /* movv32bf_internal */
20638 :
20639 : case E_V16BFmode:
20640 : if (!nonimmediate_operand (operands[0], E_V16BFmode)
20641 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16BFmode)
20642 : || !(
20643 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20644 : (TARGET_SSE
20645 : && (register_operand (operands[0], V16BFmode)
20646 : || register_operand (operands[1], V16BFmode))
20647 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20648 : #line 293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20649 : (TARGET_AVX)))
20650 : return -1;
20651 : return 2474; /* movv16bf_internal */
20652 :
20653 : case E_V8BFmode:
20654 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
20655 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8BFmode)
20656 : || !
20657 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20658 : (TARGET_SSE
20659 : && (register_operand (operands[0], V8BFmode)
20660 : || register_operand (operands[1], V8BFmode))
20661 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20662 : return -1;
20663 : return 2475; /* movv8bf_internal */
20664 :
20665 : case E_V16SFmode:
20666 : if (!nonimmediate_operand (operands[0], E_V16SFmode)
20667 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16SFmode)
20668 : || !(
20669 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20670 : (TARGET_SSE
20671 : && (register_operand (operands[0], V16SFmode)
20672 : || register_operand (operands[1], V16SFmode))
20673 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20674 : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20675 : (TARGET_AVX512F)))
20676 : return -1;
20677 : return 2476; /* movv16sf_internal */
20678 :
20679 : case E_V8SFmode:
20680 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
20681 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8SFmode)
20682 : || !(
20683 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20684 : (TARGET_SSE
20685 : && (register_operand (operands[0], V8SFmode)
20686 : || register_operand (operands[1], V8SFmode))
20687 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20688 : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20689 : (TARGET_AVX)))
20690 : return -1;
20691 : return 2477; /* movv8sf_internal */
20692 :
20693 : case E_V4SFmode:
20694 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
20695 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4SFmode)
20696 : || !
20697 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20698 : (TARGET_SSE
20699 : && (register_operand (operands[0], V4SFmode)
20700 : || register_operand (operands[1], V4SFmode))
20701 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20702 : return -1;
20703 : return 2478; /* movv4sf_internal */
20704 :
20705 : case E_V8DFmode:
20706 : if (!nonimmediate_operand (operands[0], E_V8DFmode)
20707 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8DFmode)
20708 : || !(
20709 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20710 : (TARGET_SSE
20711 : && (register_operand (operands[0], V8DFmode)
20712 : || register_operand (operands[1], V8DFmode))
20713 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20714 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20715 : (TARGET_AVX512F)))
20716 : return -1;
20717 : return 2479; /* movv8df_internal */
20718 :
20719 : case E_V4DFmode:
20720 : if (!nonimmediate_operand (operands[0], E_V4DFmode)
20721 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4DFmode)
20722 : || !(
20723 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20724 : (TARGET_SSE
20725 : && (register_operand (operands[0], V4DFmode)
20726 : || register_operand (operands[1], V4DFmode))
20727 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20728 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20729 : (TARGET_AVX)))
20730 : return -1;
20731 : return 2480; /* movv4df_internal */
20732 :
20733 : case E_V2DFmode:
20734 : if (!nonimmediate_operand (operands[0], E_V2DFmode)
20735 : || !nonimmediate_or_sse_const_operand (operands[1], E_V2DFmode)
20736 : || !
20737 : #line 1478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20738 : (TARGET_SSE
20739 : && (register_operand (operands[0], V2DFmode)
20740 : || register_operand (operands[1], V2DFmode))
20741 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20742 : return -1;
20743 : return 2481; /* movv2df_internal */
20744 :
20745 : default:
20746 : return -1;
20747 : }
20748 : }
20749 :
20750 : int
20751 : recog_340 (rtx x1 ATTRIBUTE_UNUSED,
20752 : rtx_insn *insn ATTRIBUTE_UNUSED,
20753 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20754 : {
20755 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20756 : rtx x2, x3, x4, x5, x6, x7;
20757 : int res ATTRIBUTE_UNUSED;
20758 : switch (pattern35 (x1))
20759 : {
20760 : case 0:
20761 : if (!
20762 : #line 25029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20763 : (TARGET_AVX2 && 1 && 1))
20764 : return -1;
20765 : return 8874; /* avx2_zero_extendv16qiv16hi2 */
20766 :
20767 : case 1:
20768 : if (!
20769 : #line 25084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20770 : (TARGET_AVX512BW))
20771 : return -1;
20772 : return 8882; /* avx512bw_zero_extendv32qiv32hi2 */
20773 :
20774 : case 2:
20775 : if (!
20776 : #line 25156 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20777 : (TARGET_SSE4_1 && 1 && 1))
20778 : return -1;
20779 : return 8894; /* *sse4_1_zero_extendv8qiv8hi2_1 */
20780 :
20781 : case 3:
20782 : if (!
20783 : #line 25308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20784 : (TARGET_AVX512F))
20785 : return -1;
20786 : return 8906; /* *avx512f_zero_extendv16qiv16si2 */
20787 :
20788 : case 4:
20789 : if (!
20790 : #line 25512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20791 : (TARGET_AVX512F))
20792 : return -1;
20793 : return 8936; /* avx512f_zero_extendv16hiv16si2 */
20794 :
20795 : case 5:
20796 : if (!
20797 : #line 25342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20798 : (TARGET_AVX2 && 1))
20799 : return -1;
20800 : return 8914; /* *avx2_zero_extendv8qiv8si2_1 */
20801 :
20802 : case 6:
20803 : if (!
20804 : #line 25566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20805 : (TARGET_AVX2 && 1))
20806 : return -1;
20807 : return 8944; /* avx2_zero_extendv8hiv8si2 */
20808 :
20809 : case 7:
20810 : if (!
20811 : #line 25432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20812 : (TARGET_SSE4_1 && 1))
20813 : return -1;
20814 : return 8926; /* *sse4_1_zero_extendv4qiv4si2_1 */
20815 :
20816 : case 8:
20817 : if (!
20818 : #line 25638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20819 : (TARGET_SSE4_1 && 1))
20820 : return -1;
20821 : return 8956; /* *sse4_1_zero_extendv4hiv4si2_1 */
20822 :
20823 : case 9:
20824 : if (!
20825 : #line 25796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20826 : (TARGET_AVX512F))
20827 : return -1;
20828 : return 8972; /* *avx512f_zero_extendv8qiv8di2_1 */
20829 :
20830 : case 10:
20831 : if (!
20832 : #line 26027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20833 : (TARGET_AVX512F))
20834 : return -1;
20835 : return 9003; /* avx512f_zero_extendv8hiv8di2 */
20836 :
20837 : case 11:
20838 : if (!
20839 : #line 26222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20840 : (TARGET_AVX512F))
20841 : return -1;
20842 : return 9031; /* avx512f_zero_extendv8siv8di2 */
20843 :
20844 : case 12:
20845 : if (!
20846 : #line 25882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20847 : (TARGET_AVX2 && 1))
20848 : return -1;
20849 : return 8984; /* *avx2_zero_extendv4qiv4di2_1 */
20850 :
20851 : case 13:
20852 : if (!
20853 : #line 26059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20854 : (TARGET_AVX2 && 1))
20855 : return -1;
20856 : return 9011; /* *avx2_zero_extendv4hiv4di2_1 */
20857 :
20858 : case 14:
20859 : if (!
20860 : #line 26274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20861 : (TARGET_AVX2 && 1))
20862 : return -1;
20863 : return 9037; /* avx2_zero_extendv4siv4di2 */
20864 :
20865 : case 15:
20866 : if (!
20867 : #line 25975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20868 : (TARGET_SSE4_1 && 1))
20869 : return -1;
20870 : return 8996; /* *sse4_1_zero_extendv2qiv2di2_1 */
20871 :
20872 : case 16:
20873 : if (!
20874 : #line 26144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20875 : (TARGET_SSE4_1 && 1))
20876 : return -1;
20877 : return 9023; /* *sse4_1_zero_extendv2hiv2di2_1 */
20878 :
20879 : case 17:
20880 : if (!
20881 : #line 26342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20882 : (TARGET_SSE4_1 && 1))
20883 : return -1;
20884 : return 9047; /* *sse4_1_zero_extendv2siv2di2_1 */
20885 :
20886 : case 18:
20887 : x2 = XEXP (x1, 1);
20888 : x3 = XEXP (x2, 0);
20889 : x4 = XEXP (x3, 0);
20890 : operands[1] = x4;
20891 : switch (pattern547 (x2))
20892 : {
20893 : case 0:
20894 : if (
20895 : #line 25143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20896 : (TARGET_SSE4_1 && 1 && 1))
20897 : return 8890; /* sse4_1_zero_extendv8qiv8hi2 */
20898 : break;
20899 :
20900 : case 1:
20901 : if (
20902 : #line 25330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20903 : (TARGET_AVX2 && 1))
20904 : return 8910; /* avx2_zero_extendv8qiv8si2 */
20905 : break;
20906 :
20907 : case 2:
20908 : if (
20909 : #line 25785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20910 : (TARGET_AVX512F))
20911 : return 8968; /* avx512f_zero_extendv8qiv8di2 */
20912 : break;
20913 :
20914 : case 3:
20915 : if (
20916 : #line 25419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20917 : (TARGET_SSE4_1 && 1))
20918 : return 8922; /* sse4_1_zero_extendv4qiv4si2 */
20919 : break;
20920 :
20921 : case 4:
20922 : if (
20923 : #line 25625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20924 : (TARGET_SSE4_1 && 1))
20925 : return 8952; /* sse4_1_zero_extendv4hiv4si2 */
20926 : break;
20927 :
20928 : case 5:
20929 : if (
20930 : #line 25870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20931 : (TARGET_AVX2 && 1))
20932 : return 8980; /* avx2_zero_extendv4qiv4di2 */
20933 : break;
20934 :
20935 : case 6:
20936 : if (
20937 : #line 26047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20938 : (TARGET_AVX2 && 1))
20939 : return 9007; /* avx2_zero_extendv4hiv4di2 */
20940 : break;
20941 :
20942 : case 7:
20943 : if (
20944 : #line 25962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20945 : (TARGET_SSE4_1 && 1))
20946 : return 8992; /* sse4_1_zero_extendv2qiv2di2 */
20947 : break;
20948 :
20949 : case 8:
20950 : if (
20951 : #line 26131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20952 : (TARGET_SSE4_1 && 1))
20953 : return 9019; /* sse4_1_zero_extendv2hiv2di2 */
20954 : break;
20955 :
20956 : case 9:
20957 : if (
20958 : #line 26329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20959 : (TARGET_SSE4_1 && 1))
20960 : return 9043; /* sse4_1_zero_extendv2siv2di2 */
20961 : break;
20962 :
20963 : default:
20964 : break;
20965 : }
20966 : if (GET_CODE (x4) != SUBREG
20967 : || maybe_ne (SUBREG_BYTE (x4), 0))
20968 : return -1;
20969 : x5 = XEXP (x4, 0);
20970 : switch (GET_CODE (x5))
20971 : {
20972 : case VEC_CONCAT:
20973 : switch (pattern697 (x2))
20974 : {
20975 : case 0:
20976 : if (!
20977 : #line 25181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20978 : (TARGET_SSE4_1
20979 : && ix86_pre_reload_split ()))
20980 : return -1;
20981 : return 8897; /* *sse4_1_zero_extendv8qiv8hi2_2 */
20982 :
20983 : case 1:
20984 : if (!
20985 : #line 25362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20986 : (TARGET_AVX2
20987 : && ix86_pre_reload_split ()))
20988 : return -1;
20989 : return 8917; /* *avx2_zero_extendv8qiv8si2_2 */
20990 :
20991 : case 2:
20992 : if (!
20993 : #line 25815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20994 : (TARGET_AVX512F && ix86_pre_reload_split ()))
20995 : return -1;
20996 : return 8975; /* *avx512f_zero_extendv8qiv8di2_2 */
20997 :
20998 : case 3:
20999 : if (!
21000 : #line 25658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21001 : (TARGET_SSE4_1
21002 : && ix86_pre_reload_split ()))
21003 : return -1;
21004 : return 8959; /* *sse4_1_zero_extendv4hiv4si2_2 */
21005 :
21006 : case 4:
21007 : if (!
21008 : #line 26077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21009 : (TARGET_AVX2
21010 : && ix86_pre_reload_split ()))
21011 : return -1;
21012 : return 9014; /* *avx2_zero_extendv4hiv4di2_2 */
21013 :
21014 : case 5:
21015 : if (!
21016 : #line 26361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21017 : (TARGET_SSE4_1
21018 : && ix86_pre_reload_split ()))
21019 : return -1;
21020 : return 9050; /* *sse4_1_zero_extendv2siv2di2_2 */
21021 :
21022 : default:
21023 : return -1;
21024 : }
21025 :
21026 : case VEC_MERGE:
21027 : x6 = XEXP (x5, 0);
21028 : if (GET_CODE (x6) != VEC_DUPLICATE)
21029 : return -1;
21030 : if (GET_MODE (x6) == E_V4SImode)
21031 : {
21032 : switch (pattern1052 (x2))
21033 : {
21034 : case 0:
21035 : if (
21036 : #line 25456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21037 : (TARGET_SSE4_1 && 1
21038 : && ix86_pre_reload_split ()))
21039 : return 8930; /* *sse4_1_zero_extendv4qiv4si2_2 */
21040 : break;
21041 :
21042 : case 1:
21043 : if (
21044 : #line 25904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21045 : (TARGET_AVX2
21046 : && ix86_pre_reload_split ()))
21047 : return 8987; /* *avx2_zero_extendv4qiv4di2_2 */
21048 : break;
21049 :
21050 : case 2:
21051 : if (
21052 : #line 26167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21053 : (TARGET_SSE4_1
21054 : && ix86_pre_reload_split ()))
21055 : return 9026; /* *sse4_1_zero_extendv2hiv2di2_2 */
21056 : break;
21057 :
21058 : default:
21059 : break;
21060 : }
21061 : }
21062 : x7 = XEXP (x5, 2);
21063 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
21064 : return -1;
21065 : switch (pattern1053 (x2))
21066 : {
21067 : case 0:
21068 : if (!
21069 : #line 26011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21070 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
21071 : return -1;
21072 : return 8998; /* *sse4_1_zero_extendv2qiv2di2_2 */
21073 :
21074 : case 1:
21075 : if (!
21076 : #line 26011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21077 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
21078 : return -1;
21079 : return 8999; /* *sse4_1_zero_extendv2qiv2di2_2 */
21080 :
21081 : case 2:
21082 : if (!
21083 : #line 26011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21084 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
21085 : return -1;
21086 : return 9000; /* *sse4_1_zero_extendv2qiv2di2_2 */
21087 :
21088 : default:
21089 : return -1;
21090 : }
21091 :
21092 : default:
21093 : return -1;
21094 : }
21095 :
21096 : default:
21097 : return -1;
21098 : }
21099 : }
21100 :
21101 : int
21102 : recog_346 (rtx x1 ATTRIBUTE_UNUSED,
21103 : rtx_insn *insn ATTRIBUTE_UNUSED,
21104 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21105 : {
21106 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21107 : rtx x2, x3, x4;
21108 : int res ATTRIBUTE_UNUSED;
21109 : x2 = XEXP (x1, 0);
21110 : operands[0] = x2;
21111 : x3 = XEXP (x1, 1);
21112 : x4 = XEXP (x3, 0);
21113 : switch (GET_CODE (x4))
21114 : {
21115 : case REG:
21116 : case SUBREG:
21117 : case MEM:
21118 : case VEC_DUPLICATE:
21119 : switch (pattern191 (x3))
21120 : {
21121 : case 0:
21122 : if (!(
21123 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21124 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
21125 : && 1 && 1) &&
21126 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21127 : (TARGET_AVX512FP16)))
21128 : return -1;
21129 : return 2762; /* *subv32hf3 */
21130 :
21131 : case 1:
21132 : if (!(
21133 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21134 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
21135 : && 1 && 1) &&
21136 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21137 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21138 : return -1;
21139 : return 2770; /* *subv16hf3 */
21140 :
21141 : case 2:
21142 : if (!(
21143 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21144 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
21145 : && 1 && 1) &&
21146 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21147 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21148 : return -1;
21149 : return 2778; /* *subv8hf3 */
21150 :
21151 : case 3:
21152 : if (!(
21153 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21154 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
21155 : && 1 && 1) &&
21156 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21157 : (TARGET_AVX512F)))
21158 : return -1;
21159 : return 2786; /* *subv16sf3 */
21160 :
21161 : case 4:
21162 : if (!(
21163 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21164 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
21165 : && 1 && 1) &&
21166 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21167 : (TARGET_AVX)))
21168 : return -1;
21169 : return 2794; /* *subv8sf3 */
21170 :
21171 : case 5:
21172 : if (!
21173 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21174 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
21175 : && 1 && 1))
21176 : return -1;
21177 : return 2802; /* *subv4sf3 */
21178 :
21179 : case 6:
21180 : if (!(
21181 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21182 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
21183 : && 1 && 1) &&
21184 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21185 : (TARGET_AVX512F)))
21186 : return -1;
21187 : return 2810; /* *subv8df3 */
21188 :
21189 : case 7:
21190 : if (!(
21191 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21192 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
21193 : && 1 && 1) &&
21194 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21195 : (TARGET_AVX)))
21196 : return -1;
21197 : return 2818; /* *subv4df3 */
21198 :
21199 : case 8:
21200 : if (!(
21201 : #line 2690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21202 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
21203 : && 1 && 1) &&
21204 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21205 : (TARGET_SSE2)))
21206 : return -1;
21207 : return 2826; /* *subv2df3 */
21208 :
21209 : case 9:
21210 : if (!(
21211 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21212 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V64QImode, operands)) &&
21213 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21214 : (TARGET_AVX512BW)))
21215 : return -1;
21216 : return 7550; /* *subv64qi3 */
21217 :
21218 : case 10:
21219 : if (!(
21220 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21221 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32QImode, operands)) &&
21222 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21223 : (TARGET_AVX2)))
21224 : return -1;
21225 : return 7552; /* *subv32qi3 */
21226 :
21227 : case 11:
21228 : if (!
21229 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21230 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16QImode, operands)))
21231 : return -1;
21232 : return 7554; /* *subv16qi3 */
21233 :
21234 : case 12:
21235 : if (!(
21236 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21237 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V32HImode, operands)) &&
21238 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21239 : (TARGET_AVX512BW)))
21240 : return -1;
21241 : return 7556; /* *subv32hi3 */
21242 :
21243 : case 13:
21244 : if (!(
21245 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21246 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16HImode, operands)) &&
21247 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21248 : (TARGET_AVX2)))
21249 : return -1;
21250 : return 7558; /* *subv16hi3 */
21251 :
21252 : case 14:
21253 : if (!
21254 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21255 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8HImode, operands)))
21256 : return -1;
21257 : return 7560; /* *subv8hi3 */
21258 :
21259 : case 15:
21260 : if (!(
21261 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21262 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V16SImode, operands)) &&
21263 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21264 : (TARGET_AVX512F)))
21265 : return -1;
21266 : return 7562; /* *subv16si3 */
21267 :
21268 : case 16:
21269 : if (!(
21270 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21271 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8SImode, operands)) &&
21272 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21273 : (TARGET_AVX2)))
21274 : return -1;
21275 : return 7564; /* *subv8si3 */
21276 :
21277 : case 17:
21278 : if (!
21279 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21280 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4SImode, operands)))
21281 : return -1;
21282 : return 7566; /* *subv4si3 */
21283 :
21284 : case 18:
21285 : if (!(
21286 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21287 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V8DImode, operands)) &&
21288 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21289 : (TARGET_AVX512F)))
21290 : return -1;
21291 : return 7568; /* *subv8di3 */
21292 :
21293 : case 19:
21294 : if (!(
21295 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21296 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V4DImode, operands)) &&
21297 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21298 : (TARGET_AVX2)))
21299 : return -1;
21300 : return 7570; /* *subv4di3 */
21301 :
21302 : case 20:
21303 : if (!
21304 : #line 16994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21305 : (TARGET_SSE2 && ix86_binary_operator_ok (MINUS, V2DImode, operands)))
21306 : return -1;
21307 : return 7572; /* *subv2di3 */
21308 :
21309 : case 21:
21310 : if (!
21311 : #line 33564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21312 : (TARGET_AVX10_2))
21313 : return -1;
21314 : return 10754; /* avx10_2_subbf16_v32bf */
21315 :
21316 : case 22:
21317 : if (!
21318 : #line 33564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21319 : (TARGET_AVX10_2))
21320 : return -1;
21321 : return 10762; /* avx10_2_subbf16_v16bf */
21322 :
21323 : case 23:
21324 : if (!
21325 : #line 33564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21326 : (TARGET_AVX10_2))
21327 : return -1;
21328 : return 10770; /* avx10_2_subbf16_v8bf */
21329 :
21330 : case 24:
21331 : if (!(
21332 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21333 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
21334 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21335 : (TARGET_AVX512BW)))
21336 : return -1;
21337 : return 7609; /* *subv64qi3_one */
21338 :
21339 : case 25:
21340 : if (!(
21341 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21342 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
21343 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21344 : (TARGET_AVX2)))
21345 : return -1;
21346 : return 7610; /* *subv32qi3_one */
21347 :
21348 : case 26:
21349 : if (!
21350 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21351 : (TARGET_SSE2 && ix86_pre_reload_split ()))
21352 : return -1;
21353 : return 7611; /* *subv16qi3_one */
21354 :
21355 : case 27:
21356 : if (!(
21357 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21358 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
21359 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21360 : (TARGET_AVX512BW)))
21361 : return -1;
21362 : return 7612; /* *subv32hi3_one */
21363 :
21364 : case 28:
21365 : if (!(
21366 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21367 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
21368 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21369 : (TARGET_AVX2)))
21370 : return -1;
21371 : return 7613; /* *subv16hi3_one */
21372 :
21373 : case 29:
21374 : if (!
21375 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21376 : (TARGET_SSE2 && ix86_pre_reload_split ()))
21377 : return -1;
21378 : return 7614; /* *subv8hi3_one */
21379 :
21380 : case 30:
21381 : if (!(
21382 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21383 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
21384 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21385 : (TARGET_AVX512F)))
21386 : return -1;
21387 : return 7615; /* *subv16si3_one */
21388 :
21389 : case 31:
21390 : if (!(
21391 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21392 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
21393 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21394 : (TARGET_AVX2)))
21395 : return -1;
21396 : return 7616; /* *subv8si3_one */
21397 :
21398 : case 32:
21399 : if (!
21400 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21401 : (TARGET_SSE2 && ix86_pre_reload_split ()))
21402 : return -1;
21403 : return 7617; /* *subv4si3_one */
21404 :
21405 : case 33:
21406 : if (!(
21407 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21408 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
21409 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21410 : (TARGET_AVX512F)))
21411 : return -1;
21412 : return 7618; /* *subv8di3_one */
21413 :
21414 : case 34:
21415 : if (!(
21416 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21417 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
21418 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21419 : (TARGET_AVX2)))
21420 : return -1;
21421 : return 7619; /* *subv4di3_one */
21422 :
21423 : case 35:
21424 : if (!
21425 : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21426 : (TARGET_SSE2 && ix86_pre_reload_split ()))
21427 : return -1;
21428 : return 7620; /* *subv2di3_one */
21429 :
21430 : default:
21431 : return -1;
21432 : }
21433 :
21434 : case VEC_SELECT:
21435 : switch (pattern198 (x3))
21436 : {
21437 : case 0:
21438 : if (!
21439 : #line 23458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21440 : (TARGET_AVX2))
21441 : return -1;
21442 : return 8708; /* avx2_phsubwv16hi3 */
21443 :
21444 : case 1:
21445 : if (!
21446 : #line 23482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21447 : (TARGET_SSSE3))
21448 : return -1;
21449 : return 8712; /* ssse3_phsubwv8hi3 */
21450 :
21451 : case 2:
21452 : if (!
21453 : #line 23551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21454 : (TARGET_AVX2))
21455 : return -1;
21456 : return 8719; /* avx2_phsubdv8si3 */
21457 :
21458 : case 3:
21459 : if (!
21460 : #line 23573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21461 : (TARGET_SSSE3))
21462 : return -1;
21463 : return 8721; /* ssse3_phsubdv4si3 */
21464 :
21465 : default:
21466 : return -1;
21467 : }
21468 :
21469 : case SIGN_EXTEND:
21470 : switch (pattern200 (x3,
21471 : SIGN_EXTEND))
21472 : {
21473 : case 0:
21474 : if (!
21475 : #line 27652 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21476 : (TARGET_XOP))
21477 : return -1;
21478 : return 9154; /* xop_phsubbw */
21479 :
21480 : case 1:
21481 : if (!
21482 : #line 27673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21483 : (TARGET_XOP))
21484 : return -1;
21485 : return 9155; /* xop_phsubwd */
21486 :
21487 : case 2:
21488 : if (!
21489 : #line 27692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21490 : (TARGET_XOP))
21491 : return -1;
21492 : return 9156; /* xop_phsubdq */
21493 :
21494 : default:
21495 : return -1;
21496 : }
21497 :
21498 : default:
21499 : return -1;
21500 : }
21501 : }
21502 :
21503 : int
21504 : recog_357 (rtx x1 ATTRIBUTE_UNUSED,
21505 : rtx_insn *insn ATTRIBUTE_UNUSED,
21506 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21507 : {
21508 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21509 : rtx x2, x3, x4;
21510 : int res ATTRIBUTE_UNUSED;
21511 : x2 = XEXP (x1, 0);
21512 : operands[0] = x2;
21513 : x3 = XEXP (x1, 1);
21514 : x4 = XEXP (x3, 0);
21515 : operands[1] = x4;
21516 : switch (GET_MODE (operands[0]))
21517 : {
21518 : case E_V16SImode:
21519 : if (!register_operand (operands[0], E_V16SImode)
21520 : || GET_MODE (x3) != E_V16SImode
21521 : || !nonimmediate_operand (operands[1], E_V16SImode)
21522 : || !
21523 : #line 31357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21524 : (TARGET_AVX512CD))
21525 : return -1;
21526 : return 10208; /* clzv16si2 */
21527 :
21528 : case E_V8SImode:
21529 : if (!register_operand (operands[0], E_V8SImode)
21530 : || GET_MODE (x3) != E_V8SImode
21531 : || !nonimmediate_operand (operands[1], E_V8SImode)
21532 : || !(
21533 : #line 31357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21534 : (TARGET_AVX512CD) &&
21535 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21536 : (TARGET_AVX512VL)))
21537 : return -1;
21538 : return 10210; /* clzv8si2 */
21539 :
21540 : case E_V4SImode:
21541 : if (!register_operand (operands[0], E_V4SImode)
21542 : || GET_MODE (x3) != E_V4SImode
21543 : || !nonimmediate_operand (operands[1], E_V4SImode)
21544 : || !(
21545 : #line 31357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21546 : (TARGET_AVX512CD) &&
21547 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21548 : (TARGET_AVX512VL)))
21549 : return -1;
21550 : return 10212; /* clzv4si2 */
21551 :
21552 : case E_V8DImode:
21553 : if (!register_operand (operands[0], E_V8DImode)
21554 : || GET_MODE (x3) != E_V8DImode
21555 : || !nonimmediate_operand (operands[1], E_V8DImode)
21556 : || !
21557 : #line 31357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21558 : (TARGET_AVX512CD))
21559 : return -1;
21560 : return 10214; /* clzv8di2 */
21561 :
21562 : case E_V4DImode:
21563 : if (!register_operand (operands[0], E_V4DImode)
21564 : || GET_MODE (x3) != E_V4DImode
21565 : || !nonimmediate_operand (operands[1], E_V4DImode)
21566 : || !(
21567 : #line 31357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21568 : (TARGET_AVX512CD) &&
21569 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21570 : (TARGET_AVX512VL)))
21571 : return -1;
21572 : return 10216; /* clzv4di2 */
21573 :
21574 : case E_V2DImode:
21575 : if (!register_operand (operands[0], E_V2DImode)
21576 : || GET_MODE (x3) != E_V2DImode
21577 : || !nonimmediate_operand (operands[1], E_V2DImode)
21578 : || !(
21579 : #line 31357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21580 : (TARGET_AVX512CD) &&
21581 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21582 : (TARGET_AVX512VL)))
21583 : return -1;
21584 : return 10218; /* clzv2di2 */
21585 :
21586 : default:
21587 : return -1;
21588 : }
21589 : }
21590 :
21591 : int
21592 : recog_360 (rtx x1 ATTRIBUTE_UNUSED,
21593 : rtx_insn *insn ATTRIBUTE_UNUSED,
21594 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21595 : {
21596 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21597 : int res ATTRIBUTE_UNUSED;
21598 : switch (pattern33 (x1))
21599 : {
21600 : case 0:
21601 : if (!
21602 : #line 18310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21603 : (TARGET_SSE2 && TARGET_64BIT
21604 : && ix86_pre_reload_split ()))
21605 : return -1;
21606 : return 7809; /* *rotlv1ti3_internal */
21607 :
21608 : case 1:
21609 : if (!
21610 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21611 : (TARGET_AVX512F))
21612 : return -1;
21613 : return 7845; /* avx512f_rolv16si */
21614 :
21615 : case 2:
21616 : if (!(
21617 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21618 : (TARGET_AVX512F) &&
21619 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21620 : (TARGET_AVX512VL)))
21621 : return -1;
21622 : return 7849; /* avx512vl_rolv8si */
21623 :
21624 : case 3:
21625 : if (const_0_to_255_operand (operands[2], E_SImode)
21626 : && (
21627 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21628 : (TARGET_AVX512F) &&
21629 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21630 : (TARGET_AVX512VL)))
21631 : return 7853; /* avx512vl_rolv4si */
21632 : if (!const_0_to_31_operand (operands[2], E_SImode)
21633 : || !
21634 : #line 27823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21635 : (TARGET_XOP))
21636 : return -1;
21637 : return 9163; /* xop_rotlv4si3 */
21638 :
21639 : case 4:
21640 : if (!
21641 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21642 : (TARGET_AVX512F))
21643 : return -1;
21644 : return 7857; /* avx512f_rolv8di */
21645 :
21646 : case 5:
21647 : if (!(
21648 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21649 : (TARGET_AVX512F) &&
21650 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21651 : (TARGET_AVX512VL)))
21652 : return -1;
21653 : return 7861; /* avx512vl_rolv4di */
21654 :
21655 : case 6:
21656 : if (const_0_to_255_operand (operands[2], E_SImode)
21657 : && (
21658 : #line 18406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21659 : (TARGET_AVX512F) &&
21660 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21661 : (TARGET_AVX512VL)))
21662 : return 7865; /* avx512vl_rolv2di */
21663 : if (!const_0_to_63_operand (operands[2], E_SImode)
21664 : || !
21665 : #line 27823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21666 : (TARGET_XOP))
21667 : return -1;
21668 : return 9164; /* xop_rotlv2di3 */
21669 :
21670 : case 7:
21671 : if (!
21672 : #line 27823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21673 : (TARGET_XOP))
21674 : return -1;
21675 : return 9161; /* xop_rotlv16qi3 */
21676 :
21677 : case 8:
21678 : if (!
21679 : #line 27823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21680 : (TARGET_XOP))
21681 : return -1;
21682 : return 9162; /* xop_rotlv8hi3 */
21683 :
21684 : case 9:
21685 : if (!
21686 : #line 18396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21687 : (TARGET_AVX512F))
21688 : return -1;
21689 : return 7821; /* avx512f_rolvv16si */
21690 :
21691 : case 10:
21692 : if (!(
21693 : #line 18396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21694 : (TARGET_AVX512F) &&
21695 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21696 : (TARGET_AVX512VL)))
21697 : return -1;
21698 : return 7825; /* avx512vl_rolvv8si */
21699 :
21700 : case 11:
21701 : if (!(
21702 : #line 18396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21703 : (TARGET_AVX512F) &&
21704 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21705 : (TARGET_AVX512VL)))
21706 : return -1;
21707 : return 7829; /* avx512vl_rolvv4si */
21708 :
21709 : case 12:
21710 : if (!
21711 : #line 18396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21712 : (TARGET_AVX512F))
21713 : return -1;
21714 : return 7833; /* avx512f_rolvv8di */
21715 :
21716 : case 13:
21717 : if (!(
21718 : #line 18396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21719 : (TARGET_AVX512F) &&
21720 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21721 : (TARGET_AVX512VL)))
21722 : return -1;
21723 : return 7837; /* avx512vl_rolvv4di */
21724 :
21725 : case 14:
21726 : if (!(
21727 : #line 18396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21728 : (TARGET_AVX512F) &&
21729 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21730 : (TARGET_AVX512VL)))
21731 : return -1;
21732 : return 7841; /* avx512vl_rolvv2di */
21733 :
21734 : default:
21735 : return -1;
21736 : }
21737 : }
21738 :
21739 : int
21740 : recog_370 (rtx x1 ATTRIBUTE_UNUSED,
21741 : rtx_insn *insn ATTRIBUTE_UNUSED,
21742 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21743 : {
21744 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21745 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21746 : int res ATTRIBUTE_UNUSED;
21747 : switch (pattern345 (x1))
21748 : {
21749 : case 0:
21750 : x2 = XVECEXP (x1, 0, 0);
21751 : x3 = XEXP (x2, 0);
21752 : operands[0] = x3;
21753 : switch (pattern828 (x1))
21754 : {
21755 : case 0:
21756 : if ((
21757 : #line 17561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21758 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
21759 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
21760 : == (2 * 4 * BITS_PER_UNIT - 1)))
21761 : && ix86_pre_reload_split ()) &&
21762 : #line 1270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21763 : (!TARGET_64BIT)))
21764 : return 1160; /* *lshrdi3_doubleword_mask */
21765 : break;
21766 :
21767 : case 1:
21768 : if ((
21769 : #line 17561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21770 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
21771 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
21772 : == (2 * 8 * BITS_PER_UNIT - 1)))
21773 : && ix86_pre_reload_split ()) &&
21774 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21775 : (TARGET_64BIT)))
21776 : return 1162; /* *lshrti3_doubleword_mask */
21777 : break;
21778 :
21779 : case 2:
21780 : if ((
21781 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21782 : (TARGET_AVX512F) &&
21783 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21784 : (TARGET_AVX512DQ)))
21785 : return 2677; /* klshiftrtqi */
21786 : break;
21787 :
21788 : case 3:
21789 : if (
21790 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21791 : (TARGET_AVX512F))
21792 : return 2679; /* klshiftrthi */
21793 : break;
21794 :
21795 : case 4:
21796 : if ((
21797 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21798 : (TARGET_AVX512F) &&
21799 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21800 : (TARGET_AVX512BW)))
21801 : return 2681; /* klshiftrtsi */
21802 : break;
21803 :
21804 : case 5:
21805 : if ((
21806 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21807 : (TARGET_AVX512F) &&
21808 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21809 : (TARGET_AVX512BW)))
21810 : return 2683; /* klshiftrtdi */
21811 : break;
21812 :
21813 : default:
21814 : break;
21815 : }
21816 : x4 = XEXP (x2, 1);
21817 : x5 = XEXP (x4, 1);
21818 : operands[2] = x5;
21819 : switch (pattern829 (x1))
21820 : {
21821 : case 0:
21822 : operands[0] = x3;
21823 : switch (GET_MODE (operands[0]))
21824 : {
21825 : case E_DImode:
21826 : if (register_operand (operands[0], E_DImode)
21827 : && GET_MODE (x4) == E_DImode
21828 : && register_operand (operands[1], E_DImode)
21829 : &&
21830 : #line 1230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21831 : (!TARGET_64BIT))
21832 : return 1168; /* lshrdi3_doubleword */
21833 : break;
21834 :
21835 : case E_TImode:
21836 : if (register_operand (operands[0], E_TImode)
21837 : && GET_MODE (x4) == E_TImode
21838 : && register_operand (operands[1], E_TImode)
21839 : &&
21840 : #line 1231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21841 : (TARGET_64BIT))
21842 : return 1170; /* lshrti3_doubleword */
21843 : break;
21844 :
21845 : case E_SImode:
21846 : if (nonimmediate_operand (operands[0], E_SImode)
21847 : && GET_MODE (x4) == E_SImode
21848 : && nonimmediate_operand (operands[1], E_SImode)
21849 : &&
21850 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21851 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
21852 : && true))
21853 : return 1219; /* *lshrsi3_1 */
21854 : break;
21855 :
21856 : case E_QImode:
21857 : if (nonimmediate_operand (operands[0], E_QImode)
21858 : && GET_MODE (x4) == E_QImode
21859 : && nonimmediate_operand (operands[1], E_QImode)
21860 : &&
21861 : #line 18566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21862 : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
21863 : && true))
21864 : return 1251; /* *lshrqi3_1 */
21865 : break;
21866 :
21867 : case E_HImode:
21868 : if (nonimmediate_operand (operands[0], E_HImode)
21869 : && GET_MODE (x4) == E_HImode
21870 : && nonimmediate_operand (operands[1], E_HImode)
21871 : &&
21872 : #line 18600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21873 : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
21874 : && true))
21875 : return 1253; /* *lshrhi3_1 */
21876 : break;
21877 :
21878 : case E_V2QImode:
21879 : if (register_operand (operands[0], E_V2QImode)
21880 : && GET_MODE (x4) == E_V2QImode
21881 : && register_operand (operands[1], E_V2QImode)
21882 : &&
21883 : #line 4039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21884 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
21885 : return 2275; /* lshrv2qi3 */
21886 : break;
21887 :
21888 : default:
21889 : break;
21890 : }
21891 : break;
21892 :
21893 : case 1:
21894 : x6 = XEXP (x3, 0);
21895 : operands[0] = x6;
21896 : switch (pattern379 (x4))
21897 : {
21898 : case 0:
21899 : if (
21900 : #line 18635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21901 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21902 : return 1254; /* *lshrqi3_1_slp */
21903 : break;
21904 :
21905 : case 1:
21906 : if (
21907 : #line 18635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21908 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21909 : return 1256; /* *lshrhi3_1_slp */
21910 : break;
21911 :
21912 : default:
21913 : break;
21914 : }
21915 : break;
21916 :
21917 : default:
21918 : break;
21919 : }
21920 : x7 = XVECEXP (x1, 0, 1);
21921 : if (GET_CODE (x7) != CLOBBER)
21922 : return -1;
21923 : x8 = XEXP (x7, 0);
21924 : if (GET_CODE (x8) != REG
21925 : || REGNO (x8) != 17
21926 : || GET_MODE (x8) != E_CCmode)
21927 : return -1;
21928 : switch (GET_CODE (x5))
21929 : {
21930 : case CONST_INT:
21931 : if (pattern1248 (x2) == 0
21932 : && GET_MODE (x4) == E_DImode
21933 : && nonimmediate_operand (operands[1], E_DImode)
21934 : &&
21935 : #line 18363 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21936 : (TARGET_64BIT))
21937 : return 1217; /* *highpartdisi2 */
21938 : break;
21939 :
21940 : case SUBREG:
21941 : switch (pattern1251 (x2,
21942 : E_SImode))
21943 : {
21944 : case 0:
21945 : if (
21946 : #line 18811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21947 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
21948 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
21949 : == 4 * BITS_PER_UNIT - 1
21950 : && ix86_pre_reload_split ()))
21951 : return 1283; /* *lshrsi3_mask */
21952 : break;
21953 :
21954 : case 1:
21955 : if (
21956 : #line 18859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21957 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
21958 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
21959 : && ix86_pre_reload_split ()))
21960 : return 1295; /* *lshrsi3_add */
21961 : break;
21962 :
21963 : case 2:
21964 : if (
21965 : #line 18905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21966 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
21967 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
21968 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
21969 : == 4 * BITS_PER_UNIT - 1)
21970 : && ix86_pre_reload_split ()))
21971 : return 1307; /* *lshrsi3_sub */
21972 : break;
21973 :
21974 : default:
21975 : break;
21976 : }
21977 : break;
21978 :
21979 : default:
21980 : break;
21981 : }
21982 : operands[0] = x3;
21983 : if (!nonimmediate_operand (operands[0], E_DImode)
21984 : || GET_MODE (x4) != E_DImode
21985 : || !nonimmediate_operand (operands[1], E_DImode))
21986 : return -1;
21987 : operands[2] = x5;
21988 : if (nonmemory_operand (operands[2], E_QImode)
21989 : && (
21990 : #line 18391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21991 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)
21992 : && true) &&
21993 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21994 : (TARGET_64BIT)))
21995 : return 1221; /* *lshrdi3_1 */
21996 : if (GET_CODE (x5) != SUBREG
21997 : || maybe_ne (SUBREG_BYTE (x5), 0)
21998 : || GET_MODE (x5) != E_QImode)
21999 : return -1;
22000 : x9 = XEXP (x5, 0);
22001 : switch (pattern1249 (x9))
22002 : {
22003 : case 0:
22004 : if (!(
22005 : #line 18811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22006 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
22007 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
22008 : == 8 * BITS_PER_UNIT - 1
22009 : && ix86_pre_reload_split ()) &&
22010 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22011 : (TARGET_64BIT)))
22012 : return -1;
22013 : return 1286; /* *lshrdi3_mask */
22014 :
22015 : case 1:
22016 : if (!(
22017 : #line 18859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22018 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
22019 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
22020 : && ix86_pre_reload_split ()) &&
22021 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22022 : (TARGET_64BIT)))
22023 : return -1;
22024 : return 1298; /* *lshrdi3_add */
22025 :
22026 : case 2:
22027 : if (!(
22028 : #line 18905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22029 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
22030 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
22031 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
22032 : == 8 * BITS_PER_UNIT - 1)
22033 : && ix86_pre_reload_split ()) &&
22034 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22035 : (TARGET_64BIT)))
22036 : return -1;
22037 : return 1310; /* *lshrdi3_sub */
22038 :
22039 : default:
22040 : return -1;
22041 : }
22042 :
22043 : case 1:
22044 : if (register_operand (operands[0], E_DImode)
22045 : && register_operand (operands[1], E_DImode)
22046 : && (
22047 : #line 17622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22048 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
22049 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
22050 : == (2 * 4 * BITS_PER_UNIT - 1)))
22051 : && ix86_pre_reload_split ()) &&
22052 : #line 1270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22053 : (!TARGET_64BIT)))
22054 : return 1164; /* *lshrdi3_doubleword_mask_1 */
22055 : if (!nonimmediate_operand (operands[0], E_DImode)
22056 : || !nonimmediate_operand (operands[1], E_DImode)
22057 : || !(
22058 : #line 18836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22059 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
22060 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
22061 : == 8 * BITS_PER_UNIT - 1
22062 : && ix86_pre_reload_split ()) &&
22063 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22064 : (TARGET_64BIT)))
22065 : return -1;
22066 : return 1292; /* *lshrdi3_mask_1 */
22067 :
22068 : case 2:
22069 : if (!(
22070 : #line 17622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22071 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
22072 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
22073 : == (2 * 8 * BITS_PER_UNIT - 1)))
22074 : && ix86_pre_reload_split ()) &&
22075 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22076 : (TARGET_64BIT)))
22077 : return -1;
22078 : return 1166; /* *lshrti3_doubleword_mask_1 */
22079 :
22080 : case 3:
22081 : if (!
22082 : #line 18836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22083 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
22084 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
22085 : == 4 * BITS_PER_UNIT - 1
22086 : && ix86_pre_reload_split ()))
22087 : return -1;
22088 : return 1289; /* *lshrsi3_mask_1 */
22089 :
22090 : case 4:
22091 : if (!
22092 : #line 18883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22093 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
22094 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
22095 : && ix86_pre_reload_split ()))
22096 : return -1;
22097 : return 1301; /* *lshrsi3_add_1 */
22098 :
22099 : case 5:
22100 : if (!(
22101 : #line 18883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22102 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
22103 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
22104 : && ix86_pre_reload_split ()) &&
22105 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22106 : (TARGET_64BIT)))
22107 : return -1;
22108 : return 1304; /* *lshrdi3_add_1 */
22109 :
22110 : case 6:
22111 : if (!
22112 : #line 18938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22113 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
22114 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
22115 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
22116 : == 4 * BITS_PER_UNIT - 1)
22117 : && ix86_pre_reload_split ()))
22118 : return -1;
22119 : return 1313; /* *lshrsi3_sub_1 */
22120 :
22121 : case 7:
22122 : if (!(
22123 : #line 18938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22124 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
22125 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
22126 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
22127 : == 8 * BITS_PER_UNIT - 1)
22128 : && ix86_pre_reload_split ()) &&
22129 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22130 : (TARGET_64BIT)))
22131 : return -1;
22132 : return 1316; /* *lshrdi3_sub_1 */
22133 :
22134 : default:
22135 : return -1;
22136 : }
22137 : }
22138 :
22139 : int
22140 : recog_384 (rtx x1 ATTRIBUTE_UNUSED,
22141 : rtx_insn *insn ATTRIBUTE_UNUSED,
22142 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22143 : {
22144 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22145 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22146 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22147 : int res ATTRIBUTE_UNUSED;
22148 : x2 = XVECEXP (x1, 0, 0);
22149 : x3 = XEXP (x2, 1);
22150 : x4 = XEXP (x3, 0);
22151 : switch (GET_CODE (x4))
22152 : {
22153 : case REG:
22154 : case SUBREG:
22155 : case MEM:
22156 : operands[1] = x4;
22157 : if (pattern346 (x1) != 0)
22158 : return -1;
22159 : switch (pattern1168 (x3))
22160 : {
22161 : case 0:
22162 : if (!
22163 : #line 4921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22164 : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
22165 : return -1;
22166 : return 182; /* zero_extendqisi2_and */
22167 :
22168 : case 1:
22169 : if (!
22170 : #line 4921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22171 : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
22172 : return -1;
22173 : return 183; /* zero_extendhisi2_and */
22174 :
22175 : case 2:
22176 : if (!
22177 : #line 4975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22178 : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
22179 : return -1;
22180 : return 186; /* zero_extendqihi2_and */
22181 :
22182 : default:
22183 : return -1;
22184 : }
22185 :
22186 : case PLUS:
22187 : return recog_382 (x1, insn, pnum_clobbers);
22188 :
22189 : case MINUS:
22190 : return recog_383 (x1, insn, pnum_clobbers);
22191 :
22192 : case MULT:
22193 : if (pattern347 (x1) != 0)
22194 : return -1;
22195 : switch (GET_MODE (operands[0]))
22196 : {
22197 : case E_SImode:
22198 : if (!register_operand (operands[0], E_SImode)
22199 : || GET_MODE (x3) != E_SImode
22200 : || GET_MODE (x4) != E_HImode
22201 : || !nonimmediate_operand (operands[1], E_HImode)
22202 : || !immediate_operand (operands[2], E_HImode)
22203 : || !
22204 : #line 11439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22205 : (TARGET_APX_ZU && true))
22206 : return -1;
22207 : return 629; /* *imulhisizu */
22208 :
22209 : case E_DImode:
22210 : if (!register_operand (operands[0], E_DImode)
22211 : || GET_MODE (x3) != E_DImode)
22212 : return -1;
22213 : switch (GET_MODE (x4))
22214 : {
22215 : case E_HImode:
22216 : if (!nonimmediate_operand (operands[1], E_HImode)
22217 : || !immediate_operand (operands[2], E_HImode)
22218 : || !
22219 : #line 11439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22220 : (TARGET_APX_ZU && true))
22221 : return -1;
22222 : return 631; /* *imulhidizu */
22223 :
22224 : case E_SImode:
22225 : if (!nonimmediate_operand (operands[1], E_SImode)
22226 : || !x86_64_general_operand (operands[2], E_SImode)
22227 : || !
22228 : #line 11451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22229 : (TARGET_64BIT
22230 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
22231 : && true))
22232 : return -1;
22233 : return 633; /* *mulsi3_1_zext */
22234 :
22235 : default:
22236 : return -1;
22237 : }
22238 :
22239 : default:
22240 : return -1;
22241 : }
22242 :
22243 : case DIV:
22244 : if (pattern348 (x1, pnum_clobbers,
22245 : MOD) != 0)
22246 : return -1;
22247 : x5 = XEXP (x4, 0);
22248 : operands[2] = x5;
22249 : if (!register_operand (operands[2], E_SImode))
22250 : return -1;
22251 : x6 = XEXP (x4, 1);
22252 : operands[3] = x6;
22253 : if (!nonimmediate_operand (operands[3], E_SImode))
22254 : return -1;
22255 : x7 = XVECEXP (x1, 0, 1);
22256 : x8 = XEXP (x7, 0);
22257 : operands[1] = x8;
22258 : if (!register_operand (operands[1], E_SImode))
22259 : return -1;
22260 : x9 = XEXP (x7, 1);
22261 : x10 = XEXP (x9, 0);
22262 : if (!rtx_equal_p (x10, operands[2]))
22263 : return -1;
22264 : x11 = XEXP (x9, 1);
22265 : if (!rtx_equal_p (x11, operands[3])
22266 : || !
22267 : #line 12510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22268 : (TARGET_64BIT))
22269 : return -1;
22270 : *pnum_clobbers = 1;
22271 : return 689; /* *divmodsi4_zext_1 */
22272 :
22273 : case UDIV:
22274 : if (pattern348 (x1, pnum_clobbers,
22275 : UMOD) != 0)
22276 : return -1;
22277 : x5 = XEXP (x4, 0);
22278 : operands[2] = x5;
22279 : if (!register_operand (operands[2], E_SImode))
22280 : return -1;
22281 : x6 = XEXP (x4, 1);
22282 : operands[3] = x6;
22283 : x7 = XVECEXP (x1, 0, 1);
22284 : x8 = XEXP (x7, 0);
22285 : operands[1] = x8;
22286 : if (!register_operand (operands[1], E_SImode))
22287 : return -1;
22288 : x9 = XEXP (x7, 1);
22289 : switch (pattern1649 (x9))
22290 : {
22291 : case 0:
22292 : if (!
22293 : #line 12545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22294 : (TARGET_64BIT))
22295 : return -1;
22296 : *pnum_clobbers = 1;
22297 : return 690; /* *udivmodsi4_zext_1 */
22298 :
22299 : case 1:
22300 : if (!
22301 : #line 12567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22302 : (TARGET_64BIT
22303 : && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
22304 : return -1;
22305 : *pnum_clobbers = 1;
22306 : return 691; /* *udivmodsi4_pow2_zext_1 */
22307 :
22308 : default:
22309 : return -1;
22310 : }
22311 :
22312 : case MOD:
22313 : if (pattern349 (x1, pnum_clobbers,
22314 : DIV) != 0)
22315 : return -1;
22316 : x5 = XEXP (x4, 0);
22317 : operands[2] = x5;
22318 : if (!register_operand (operands[2], E_SImode))
22319 : return -1;
22320 : x6 = XEXP (x4, 1);
22321 : operands[3] = x6;
22322 : if (!nonimmediate_operand (operands[3], E_SImode))
22323 : return -1;
22324 : x7 = XVECEXP (x1, 0, 1);
22325 : x8 = XEXP (x7, 0);
22326 : operands[0] = x8;
22327 : if (!register_operand (operands[0], E_SImode))
22328 : return -1;
22329 : x9 = XEXP (x7, 1);
22330 : x10 = XEXP (x9, 0);
22331 : if (!rtx_equal_p (x10, operands[2]))
22332 : return -1;
22333 : x11 = XEXP (x9, 1);
22334 : if (!rtx_equal_p (x11, operands[3])
22335 : || !
22336 : #line 12593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22337 : (TARGET_64BIT))
22338 : return -1;
22339 : *pnum_clobbers = 1;
22340 : return 692; /* *divmodsi4_zext_2 */
22341 :
22342 : case UMOD:
22343 : if (pattern349 (x1, pnum_clobbers,
22344 : UDIV) != 0)
22345 : return -1;
22346 : x5 = XEXP (x4, 0);
22347 : operands[2] = x5;
22348 : if (!register_operand (operands[2], E_SImode))
22349 : return -1;
22350 : x6 = XEXP (x4, 1);
22351 : operands[3] = x6;
22352 : x7 = XVECEXP (x1, 0, 1);
22353 : x8 = XEXP (x7, 0);
22354 : operands[0] = x8;
22355 : if (!register_operand (operands[0], E_SImode))
22356 : return -1;
22357 : x9 = XEXP (x7, 1);
22358 : switch (pattern1649 (x9))
22359 : {
22360 : case 0:
22361 : if (!
22362 : #line 12629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22363 : (TARGET_64BIT))
22364 : return -1;
22365 : *pnum_clobbers = 1;
22366 : return 693; /* *udivmodsi4_zext_2 */
22367 :
22368 : case 1:
22369 : if (!
22370 : #line 12651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22371 : (TARGET_64BIT
22372 : && IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
22373 : return -1;
22374 : *pnum_clobbers = 1;
22375 : return 694; /* *udivmodsi4_pow2_zext_2 */
22376 :
22377 : default:
22378 : return -1;
22379 : }
22380 :
22381 : case AND:
22382 : if (pattern346 (x1) != 0)
22383 : return -1;
22384 : x5 = XEXP (x4, 0);
22385 : switch (GET_CODE (x5))
22386 : {
22387 : case REG:
22388 : case SUBREG:
22389 : case MEM:
22390 : switch (pattern1059 (x3))
22391 : {
22392 : case 0:
22393 : if (!
22394 : #line 13462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22395 : (TARGET_APX_NDD && true
22396 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22397 : return -1;
22398 : return 743; /* *andqi_1_zexthi */
22399 :
22400 : case 1:
22401 : if (!
22402 : #line 13462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22403 : (TARGET_APX_NDD && true
22404 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22405 : return -1;
22406 : return 745; /* *andqi_1_zextsi */
22407 :
22408 : case 2:
22409 : if (!
22410 : #line 13481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22411 : (TARGET_APX_NDD && true
22412 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22413 : return -1;
22414 : return 749; /* *andhi_1_zextsi */
22415 :
22416 : case 3:
22417 : if (!
22418 : #line 13462 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22419 : (TARGET_APX_NDD && true
22420 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22421 : return -1;
22422 : return 747; /* *andqi_1_zextdi */
22423 :
22424 : case 4:
22425 : if (!
22426 : #line 13481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22427 : (TARGET_APX_NDD && true
22428 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22429 : return -1;
22430 : return 751; /* *andhi_1_zextdi */
22431 :
22432 : case 5:
22433 : if (!
22434 : #line 13502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22435 : (TARGET_64BIT
22436 : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
22437 : return -1;
22438 : return 752; /* *andsi_1_zext */
22439 :
22440 : default:
22441 : return -1;
22442 : }
22443 :
22444 : case PLUS:
22445 : if (pattern712 (x5) != 0
22446 : || !register_operand (operands[0], E_DImode)
22447 : || GET_MODE (x3) != E_DImode
22448 : || GET_MODE (x4) != E_SImode)
22449 : return -1;
22450 : x12 = XEXP (x5, 0);
22451 : x13 = XEXP (x12, 1);
22452 : operands[2] = x13;
22453 : if (!register_operand (operands[2], E_QImode))
22454 : return -1;
22455 : x6 = XEXP (x4, 1);
22456 : operands[1] = x6;
22457 : if (!nonimmediate_operand (operands[1], E_SImode)
22458 : || !
22459 : #line 23166 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22460 : (TARGET_64BIT && TARGET_BMI2))
22461 : return -1;
22462 : return 1636; /* *bmi2_bzhi_zero_extendsidi_4 */
22463 :
22464 : default:
22465 : return -1;
22466 : }
22467 :
22468 : case IOR:
22469 : if (pattern350 (x1) != 0)
22470 : return -1;
22471 : switch (pattern1059 (x3))
22472 : {
22473 : case 0:
22474 : if (!
22475 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22476 : (TARGET_APX_NDD && true
22477 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22478 : return -1;
22479 : return 878; /* *iorqi_1_zexthi */
22480 :
22481 : case 1:
22482 : if (!
22483 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22484 : (TARGET_APX_NDD && true
22485 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22486 : return -1;
22487 : return 882; /* *iorqi_1_zextsi */
22488 :
22489 : case 2:
22490 : if (!
22491 : #line 14604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22492 : (TARGET_APX_NDD && true
22493 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22494 : return -1;
22495 : return 890; /* *iorhi_1_zextsi */
22496 :
22497 : case 3:
22498 : if (!
22499 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22500 : (TARGET_APX_NDD && true
22501 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22502 : return -1;
22503 : return 886; /* *iorqi_1_zextdi */
22504 :
22505 : case 4:
22506 : if (!
22507 : #line 14604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22508 : (TARGET_APX_NDD && true
22509 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22510 : return -1;
22511 : return 894; /* *iorhi_1_zextdi */
22512 :
22513 : case 5:
22514 : if (!
22515 : #line 14625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22516 : (TARGET_64BIT
22517 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
22518 : return -1;
22519 : return 897; /* *iorsi_1_zext */
22520 :
22521 : default:
22522 : return -1;
22523 : }
22524 :
22525 : case XOR:
22526 : if (pattern346 (x1) != 0)
22527 : return -1;
22528 : x5 = XEXP (x4, 0);
22529 : switch (GET_CODE (x5))
22530 : {
22531 : case REG:
22532 : case SUBREG:
22533 : case MEM:
22534 : switch (pattern1059 (x3))
22535 : {
22536 : case 0:
22537 : if (!
22538 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22539 : (TARGET_APX_NDD && true
22540 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22541 : return -1;
22542 : return 880; /* *xorqi_1_zexthi */
22543 :
22544 : case 1:
22545 : if (!
22546 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22547 : (TARGET_APX_NDD && true
22548 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22549 : return -1;
22550 : return 884; /* *xorqi_1_zextsi */
22551 :
22552 : case 2:
22553 : if (!
22554 : #line 14604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22555 : (TARGET_APX_NDD && true
22556 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22557 : return -1;
22558 : return 892; /* *xorhi_1_zextsi */
22559 :
22560 : case 3:
22561 : if (!
22562 : #line 14585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22563 : (TARGET_APX_NDD && true
22564 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22565 : return -1;
22566 : return 888; /* *xorqi_1_zextdi */
22567 :
22568 : case 4:
22569 : if (!
22570 : #line 14604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22571 : (TARGET_APX_NDD && true
22572 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22573 : return -1;
22574 : return 896; /* *xorhi_1_zextdi */
22575 :
22576 : case 5:
22577 : if (!
22578 : #line 14625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22579 : (TARGET_64BIT
22580 : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
22581 : return -1;
22582 : return 898; /* *xorsi_1_zext */
22583 :
22584 : default:
22585 : return -1;
22586 : }
22587 :
22588 : case MINUS:
22589 : if (pattern1172 (x4) != 0
22590 : || !register_operand (operands[0], E_DImode)
22591 : || GET_MODE (x3) != E_DImode
22592 : || GET_MODE (x4) != E_SImode)
22593 : return -1;
22594 : x14 = XEXP (x5, 1);
22595 : x15 = XEXP (x14, 0);
22596 : operands[1] = x15;
22597 : if (!nonimmediate_operand (operands[1], E_SImode)
22598 : || !
22599 : #line 22397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22600 : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
22601 : return -1;
22602 : return 1569; /* *bsru_2 */
22603 :
22604 : default:
22605 : return -1;
22606 : }
22607 :
22608 : case NEG:
22609 : if (pattern351 (x1) != 0)
22610 : return -1;
22611 : switch (pattern353 (x3))
22612 : {
22613 : case 0:
22614 : if (!
22615 : #line 15295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22616 : (TARGET_APX_NDD && true))
22617 : return -1;
22618 : return 1001; /* *negqi_1_zexthi */
22619 :
22620 : case 1:
22621 : if (!
22622 : #line 15295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22623 : (TARGET_APX_NDD && true))
22624 : return -1;
22625 : return 1003; /* *negqi_1_zextsi */
22626 :
22627 : case 2:
22628 : if (!
22629 : #line 15309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22630 : (TARGET_APX_NDD && true))
22631 : return -1;
22632 : return 1007; /* *neghi_1_zextsi */
22633 :
22634 : case 3:
22635 : if (!
22636 : #line 15295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22637 : (TARGET_APX_NDD && true))
22638 : return -1;
22639 : return 1005; /* *negqi_1_zextdi */
22640 :
22641 : case 4:
22642 : if (!
22643 : #line 15309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22644 : (TARGET_APX_NDD && true))
22645 : return -1;
22646 : return 1009; /* *neghi_1_zextdi */
22647 :
22648 : case 5:
22649 : if (!
22650 : #line 15324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22651 : (TARGET_64BIT
22652 : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
22653 : return -1;
22654 : return 1010; /* *negsi_1_zext */
22655 :
22656 : default:
22657 : return -1;
22658 : }
22659 :
22660 : case ASHIFT:
22661 : switch (pattern355 (x1))
22662 : {
22663 : case 0:
22664 : if (!
22665 : #line 17026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22666 : (TARGET_APX_NDD && true))
22667 : return -1;
22668 : return 1132; /* *ashlqi3_1_zexthi */
22669 :
22670 : case 1:
22671 : if (!
22672 : #line 17026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22673 : (TARGET_APX_NDD && true))
22674 : return -1;
22675 : return 1134; /* *ashlqi3_1_zextsi */
22676 :
22677 : case 2:
22678 : if (!
22679 : #line 17041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22680 : (TARGET_APX_NDD && true))
22681 : return -1;
22682 : return 1138; /* *ashlhi3_1_zextsi */
22683 :
22684 : case 3:
22685 : if (!
22686 : #line 17026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22687 : (TARGET_APX_NDD && true))
22688 : return -1;
22689 : return 1136; /* *ashlqi3_1_zextdi */
22690 :
22691 : case 4:
22692 : if (!
22693 : #line 17041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22694 : (TARGET_APX_NDD && true))
22695 : return -1;
22696 : return 1140; /* *ashlhi3_1_zextdi */
22697 :
22698 : case 5:
22699 : if (!
22700 : #line 17057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22701 : (TARGET_64BIT
22702 : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
22703 : return -1;
22704 : return 1141; /* *ashlsi3_1_zext */
22705 :
22706 : default:
22707 : return -1;
22708 : }
22709 :
22710 : case ASHIFTRT:
22711 : if (pattern347 (x1) != 0)
22712 : return -1;
22713 : switch (GET_MODE (operands[0]))
22714 : {
22715 : case E_DImode:
22716 : if (!register_operand (operands[0], E_DImode)
22717 : || GET_MODE (x3) != E_DImode)
22718 : return -1;
22719 : switch (GET_MODE (x4))
22720 : {
22721 : case E_SImode:
22722 : if (!nonimmediate_operand (operands[1], E_SImode))
22723 : return -1;
22724 : if (const_int_operand (operands[2], E_QImode)
22725 : &&
22726 : #line 18266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22727 : (TARGET_64BIT && INTVAL (operands[2]) == 31
22728 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
22729 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
22730 : return 1208; /* *ashrsi3_cvt_zext */
22731 : if (!nonmemory_operand (operands[2], E_QImode)
22732 : || !
22733 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22734 : (TARGET_64BIT
22735 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
22736 : return -1;
22737 : return 1245; /* *ashrsi3_1_zext */
22738 :
22739 : case E_QImode:
22740 : if (!nonimmediate_operand (operands[1], E_QImode)
22741 : || !nonmemory_operand (operands[2], E_QImode)
22742 : || !
22743 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22744 : (TARGET_APX_NDD && true))
22745 : return -1;
22746 : return 1235; /* *ashrqi3_1_zextdi */
22747 :
22748 : case E_HImode:
22749 : if (!nonimmediate_operand (operands[1], E_HImode)
22750 : || !nonmemory_operand (operands[2], E_QImode)
22751 : || !
22752 : #line 18473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22753 : (TARGET_APX_NDD && true))
22754 : return -1;
22755 : return 1243; /* *ashrhi3_1_zextdi */
22756 :
22757 : default:
22758 : return -1;
22759 : }
22760 :
22761 : case E_HImode:
22762 : if (!register_operand (operands[0], E_HImode)
22763 : || GET_MODE (x3) != E_HImode
22764 : || GET_MODE (x4) != E_QImode
22765 : || !nonimmediate_operand (operands[1], E_QImode)
22766 : || !nonmemory_operand (operands[2], E_QImode)
22767 : || !
22768 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22769 : (TARGET_APX_NDD && true))
22770 : return -1;
22771 : return 1227; /* *ashrqi3_1_zexthi */
22772 :
22773 : case E_SImode:
22774 : if (!register_operand (operands[0], E_SImode)
22775 : || GET_MODE (x3) != E_SImode
22776 : || !nonmemory_operand (operands[2], E_QImode))
22777 : return -1;
22778 : switch (GET_MODE (x4))
22779 : {
22780 : case E_QImode:
22781 : if (!nonimmediate_operand (operands[1], E_QImode)
22782 : || !
22783 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22784 : (TARGET_APX_NDD && true))
22785 : return -1;
22786 : return 1231; /* *ashrqi3_1_zextsi */
22787 :
22788 : case E_HImode:
22789 : if (!nonimmediate_operand (operands[1], E_HImode)
22790 : || !
22791 : #line 18473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22792 : (TARGET_APX_NDD && true))
22793 : return -1;
22794 : return 1239; /* *ashrhi3_1_zextsi */
22795 :
22796 : default:
22797 : return -1;
22798 : }
22799 :
22800 : default:
22801 : return -1;
22802 : }
22803 :
22804 : case LSHIFTRT:
22805 : x16 = XEXP (x2, 0);
22806 : operands[0] = x16;
22807 : x5 = XEXP (x4, 0);
22808 : operands[1] = x5;
22809 : x6 = XEXP (x4, 1);
22810 : operands[2] = x6;
22811 : x7 = XVECEXP (x1, 0, 1);
22812 : switch (GET_CODE (x7))
22813 : {
22814 : case CLOBBER:
22815 : x8 = XEXP (x7, 0);
22816 : if (GET_CODE (x8) != REG
22817 : || REGNO (x8) != 17
22818 : || GET_MODE (x8) != E_CCmode)
22819 : return -1;
22820 : switch (pattern354 (x3))
22821 : {
22822 : case 0:
22823 : if (!
22824 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22825 : (TARGET_APX_NDD && true))
22826 : return -1;
22827 : return 1225; /* *lshrqi3_1_zexthi */
22828 :
22829 : case 1:
22830 : if (!
22831 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22832 : (TARGET_APX_NDD && true))
22833 : return -1;
22834 : return 1229; /* *lshrqi3_1_zextsi */
22835 :
22836 : case 2:
22837 : if (!
22838 : #line 18473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22839 : (TARGET_APX_NDD && true))
22840 : return -1;
22841 : return 1237; /* *lshrhi3_1_zextsi */
22842 :
22843 : case 3:
22844 : if (!
22845 : #line 18458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22846 : (TARGET_APX_NDD && true))
22847 : return -1;
22848 : return 1233; /* *lshrqi3_1_zextdi */
22849 :
22850 : case 4:
22851 : if (!
22852 : #line 18473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22853 : (TARGET_APX_NDD && true))
22854 : return -1;
22855 : return 1241; /* *lshrhi3_1_zextdi */
22856 :
22857 : case 5:
22858 : if (!
22859 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22860 : (TARGET_64BIT
22861 : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
22862 : return -1;
22863 : return 1244; /* *lshrsi3_1_zext */
22864 :
22865 : default:
22866 : return -1;
22867 : }
22868 :
22869 : case UNSPEC:
22870 : if (XVECLEN (x7, 0) != 1
22871 : || XINT (x7, 1) != 175)
22872 : return -1;
22873 : x17 = XVECEXP (x7, 0, 0);
22874 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
22875 : || pattern1246 (x3,
22876 : E_SImode,
22877 : E_DImode) != 0
22878 : || !const_0_to_31_operand (operands[2], E_VOIDmode)
22879 : || !
22880 : #line 2330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22881 : (TARGET_AVX512BW))
22882 : return -1;
22883 : return 2684; /* *klshrsi3_1_zext */
22884 :
22885 : default:
22886 : return -1;
22887 : }
22888 :
22889 : case ROTATE:
22890 : switch (pattern355 (x1))
22891 : {
22892 : case 0:
22893 : if (!
22894 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22895 : (TARGET_APX_NDD && true))
22896 : return -1;
22897 : return 1390; /* *rotlqi3_1_zexthi */
22898 :
22899 : case 1:
22900 : if (!
22901 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22902 : (TARGET_APX_NDD && true))
22903 : return -1;
22904 : return 1394; /* *rotlqi3_1_zextsi */
22905 :
22906 : case 2:
22907 : if (!
22908 : #line 19579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22909 : (TARGET_APX_NDD && true))
22910 : return -1;
22911 : return 1402; /* *rotlhi3_1_zextsi */
22912 :
22913 : case 3:
22914 : if (!
22915 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22916 : (TARGET_APX_NDD && true))
22917 : return -1;
22918 : return 1398; /* *rotlqi3_1_zextdi */
22919 :
22920 : case 4:
22921 : if (!
22922 : #line 19579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22923 : (TARGET_APX_NDD && true))
22924 : return -1;
22925 : return 1406; /* *rotlhi3_1_zextdi */
22926 :
22927 : case 5:
22928 : if (!
22929 : #line 19595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22930 : (TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
22931 : return -1;
22932 : return 1409; /* *rotlsi3_1_zext */
22933 :
22934 : default:
22935 : return -1;
22936 : }
22937 :
22938 : case ROTATERT:
22939 : switch (pattern355 (x1))
22940 : {
22941 : case 0:
22942 : if (!
22943 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22944 : (TARGET_APX_NDD && true))
22945 : return -1;
22946 : return 1392; /* *rotrqi3_1_zexthi */
22947 :
22948 : case 1:
22949 : if (!
22950 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22951 : (TARGET_APX_NDD && true))
22952 : return -1;
22953 : return 1396; /* *rotrqi3_1_zextsi */
22954 :
22955 : case 2:
22956 : if (!
22957 : #line 19579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22958 : (TARGET_APX_NDD && true))
22959 : return -1;
22960 : return 1404; /* *rotrhi3_1_zextsi */
22961 :
22962 : case 3:
22963 : if (!
22964 : #line 19564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22965 : (TARGET_APX_NDD && true))
22966 : return -1;
22967 : return 1400; /* *rotrqi3_1_zextdi */
22968 :
22969 : case 4:
22970 : if (!
22971 : #line 19579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22972 : (TARGET_APX_NDD && true))
22973 : return -1;
22974 : return 1408; /* *rotrhi3_1_zextdi */
22975 :
22976 : case 5:
22977 : if (!
22978 : #line 19595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22979 : (TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
22980 : return -1;
22981 : return 1410; /* *rotrsi3_1_zext */
22982 :
22983 : default:
22984 : return -1;
22985 : }
22986 :
22987 : case CTZ:
22988 : if (GET_MODE (x4) != E_SImode)
22989 : return -1;
22990 : x16 = XEXP (x2, 0);
22991 : operands[0] = x16;
22992 : if (!register_operand (operands[0], E_DImode)
22993 : || GET_MODE (x3) != E_DImode)
22994 : return -1;
22995 : switch (pattern949 (x1, pnum_clobbers))
22996 : {
22997 : case 0:
22998 : if (!
22999 : #line 22218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23000 : (TARGET_64BIT))
23001 : return -1;
23002 : return 1557; /* *ctzsidi2_uext */
23003 :
23004 : case 1:
23005 : if (!
23006 : #line 22258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23007 : (TARGET_64BIT))
23008 : return -1;
23009 : *pnum_clobbers = 1;
23010 : return 1559; /* *ctzsidi2_uext_falsedep */
23011 :
23012 : default:
23013 : return -1;
23014 : }
23015 :
23016 : case CLZ:
23017 : if (GET_MODE (x4) != E_SImode)
23018 : return -1;
23019 : x16 = XEXP (x2, 0);
23020 : operands[0] = x16;
23021 : if (!register_operand (operands[0], E_DImode)
23022 : || GET_MODE (x3) != E_DImode)
23023 : return -1;
23024 : switch (pattern559 (x1, pnum_clobbers))
23025 : {
23026 : case 0:
23027 : if (!nonimmediate_operand (operands[1], E_SImode)
23028 : || !
23029 : #line 22661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23030 : (TARGET_LZCNT && TARGET_64BIT))
23031 : return -1;
23032 : return 1581; /* *clzsi2_lzcnt_zext_2 */
23033 :
23034 : case 1:
23035 : x7 = XVECEXP (x1, 0, 1);
23036 : x17 = XVECEXP (x7, 0, 0);
23037 : switch (pattern1441 (x17))
23038 : {
23039 : case 0:
23040 : if (!
23041 : #line 22686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23042 : (TARGET_LZCNT))
23043 : return -1;
23044 : *pnum_clobbers = 1;
23045 : return 1582; /* *clzsi2_lzcnt_zext_2_falsedep */
23046 :
23047 : case 1:
23048 : if (!(
23049 : #line 22686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23050 : (TARGET_LZCNT) &&
23051 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23052 : (TARGET_64BIT)))
23053 : return -1;
23054 : *pnum_clobbers = 1;
23055 : return 1583; /* *clzsi2_lzcnt_zext_2_falsedep */
23056 :
23057 : default:
23058 : return -1;
23059 : }
23060 :
23061 : default:
23062 : return -1;
23063 : }
23064 :
23065 : case POPCOUNT:
23066 : x16 = XEXP (x2, 0);
23067 : operands[0] = x16;
23068 : switch (pattern559 (x1, pnum_clobbers))
23069 : {
23070 : case 0:
23071 : switch (GET_MODE (operands[0]))
23072 : {
23073 : case E_DImode:
23074 : if (pattern352 (x3,
23075 : E_SImode,
23076 : E_DImode) != 0
23077 : || !
23078 : #line 23500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23079 : (TARGET_POPCNT && TARGET_64BIT))
23080 : return -1;
23081 : return 1672; /* *popcountsi2_zext_2 */
23082 :
23083 : case E_SImode:
23084 : if (pattern352 (x3,
23085 : E_HImode,
23086 : E_SImode) != 0
23087 : || !
23088 : #line 23566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23089 : (TARGET_POPCNT
23090 : && ix86_pre_reload_split ()))
23091 : return -1;
23092 : return 1675; /* *popcounthi2_2 */
23093 :
23094 : default:
23095 : return -1;
23096 : }
23097 :
23098 : case 1:
23099 : if (!register_operand (operands[0], E_DImode)
23100 : || GET_MODE (x3) != E_DImode
23101 : || GET_MODE (x4) != E_SImode
23102 : || !nonimmediate_operand (operands[1], E_SImode))
23103 : return -1;
23104 : x7 = XVECEXP (x1, 0, 1);
23105 : x17 = XVECEXP (x7, 0, 0);
23106 : operands[2] = x17;
23107 : if (!register_operand (operands[2], E_DImode)
23108 : || !
23109 : #line 23531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23110 : (TARGET_POPCNT && TARGET_64BIT))
23111 : return -1;
23112 : *pnum_clobbers = 1;
23113 : return 1673; /* *popcountsi2_zext_2_falsedep */
23114 :
23115 : default:
23116 : return -1;
23117 : }
23118 :
23119 : case NOT:
23120 : if (GET_MODE (x4) != E_SImode)
23121 : return -1;
23122 : x7 = XVECEXP (x1, 0, 1);
23123 : if (pattern386 (x7,
23124 : 175,
23125 : 0) != 0)
23126 : return -1;
23127 : x16 = XEXP (x2, 0);
23128 : operands[0] = x16;
23129 : if (!register_operand (operands[0], E_DImode)
23130 : || GET_MODE (x3) != E_DImode)
23131 : return -1;
23132 : x5 = XEXP (x4, 0);
23133 : operands[1] = x5;
23134 : if (!register_operand (operands[1], E_SImode)
23135 : || !
23136 : #line 2253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23137 : (TARGET_AVX512BW))
23138 : return -1;
23139 : return 2671; /* *knotsi_1_zext */
23140 :
23141 : case UNSPEC:
23142 : return recog_381 (x1, insn, pnum_clobbers);
23143 :
23144 : default:
23145 : return -1;
23146 : }
23147 : }
23148 :
23149 : int
23150 : recog_406 (rtx x1 ATTRIBUTE_UNUSED,
23151 : rtx_insn *insn ATTRIBUTE_UNUSED,
23152 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23153 : {
23154 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23155 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23156 : rtx x10, x11, x12, x13;
23157 : int res ATTRIBUTE_UNUSED;
23158 : x2 = XVECEXP (x1, 0, 0);
23159 : x3 = XEXP (x2, 1);
23160 : x4 = XEXP (x3, 0);
23161 : switch (GET_CODE (x4))
23162 : {
23163 : case CONST_INT:
23164 : case CONST_WIDE_INT:
23165 : case CONST_POLY_INT:
23166 : case CONST_FIXED:
23167 : case CONST_DOUBLE:
23168 : case CONST_VECTOR:
23169 : case CONST:
23170 : case REG:
23171 : case SUBREG:
23172 : case MEM:
23173 : case LABEL_REF:
23174 : case SYMBOL_REF:
23175 : case HIGH:
23176 : operands[1] = x4;
23177 : res = recog_405 (x1, insn, pnum_clobbers);
23178 : if (res >= 0)
23179 : return res;
23180 : x5 = XVECEXP (x1, 0, 1);
23181 : if (GET_CODE (x5) != CLOBBER)
23182 : return -1;
23183 : x6 = XEXP (x5, 0);
23184 : if (GET_CODE (x6) != REG
23185 : || REGNO (x6) != 17
23186 : || GET_MODE (x6) != E_CCmode)
23187 : return -1;
23188 : switch (GET_CODE (x4))
23189 : {
23190 : case SUBREG:
23191 : switch (pattern1066 (x2))
23192 : {
23193 : case 0:
23194 : if (!
23195 : #line 8529 "/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 416; /* *subqi_exthi_2_slp */
23199 :
23200 : case 1:
23201 : if (!
23202 : #line 8529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23203 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23204 : return -1;
23205 : return 417; /* *subqi_extsi_2_slp */
23206 :
23207 : case 2:
23208 : if (!(
23209 : #line 8529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23210 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23211 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23212 : (TARGET_64BIT)))
23213 : return -1;
23214 : return 418; /* *subqi_extdi_2_slp */
23215 :
23216 : case 3:
23217 : return 427; /* *subqi_ext2hi_0 */
23218 :
23219 : case 4:
23220 : return 428; /* *subqi_ext2si_0 */
23221 :
23222 : case 5:
23223 : if (!
23224 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23225 : (TARGET_64BIT))
23226 : return -1;
23227 : return 429; /* *subqi_ext2di_0 */
23228 :
23229 : default:
23230 : return -1;
23231 : }
23232 :
23233 : case CONST_INT:
23234 : x7 = XEXP (x3, 1);
23235 : if (GET_CODE (x7) != CLZ)
23236 : return -1;
23237 : x8 = XEXP (x2, 0);
23238 : operands[0] = x8;
23239 : x9 = XEXP (x7, 0);
23240 : operands[1] = x9;
23241 : switch (XWINT (x4, 0))
23242 : {
23243 : case 63L:
23244 : if (pattern1449 (x3,
23245 : E_DImode) != 0
23246 : || !
23247 : #line 22293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23248 : (!TARGET_LZCNT && TARGET_64BIT))
23249 : return -1;
23250 : return 1561; /* bsr_rex64_1 */
23251 :
23252 : case 31L:
23253 : if (pattern1449 (x3,
23254 : E_SImode) != 0
23255 : || !
23256 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23257 : (!TARGET_LZCNT))
23258 : return -1;
23259 : return 1564; /* bsr_1 */
23260 :
23261 : default:
23262 : return -1;
23263 : }
23264 :
23265 : default:
23266 : return -1;
23267 : }
23268 :
23269 : case MINUS:
23270 : x5 = XVECEXP (x1, 0, 1);
23271 : if (pattern357 (x5) != 0)
23272 : return -1;
23273 : x8 = XEXP (x2, 0);
23274 : operands[0] = x8;
23275 : x10 = XEXP (x4, 0);
23276 : operands[1] = x10;
23277 : x7 = XEXP (x3, 1);
23278 : operands[2] = x7;
23279 : x11 = XEXP (x4, 1);
23280 : switch (GET_CODE (x11))
23281 : {
23282 : case LTU:
23283 : case UNLT:
23284 : operands[4] = x11;
23285 : x12 = XEXP (x11, 1);
23286 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23287 : return -1;
23288 : x13 = XEXP (x11, 0);
23289 : operands[3] = x13;
23290 : if (!flags_reg_operand (operands[3], E_VOIDmode))
23291 : return -1;
23292 : switch (GET_MODE (operands[0]))
23293 : {
23294 : case E_QImode:
23295 : if (pattern1654 (x3,
23296 : E_QImode) != 0
23297 : || !
23298 : #line 9863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23299 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
23300 : return -1;
23301 : return 507; /* subqi3_carry */
23302 :
23303 : case E_HImode:
23304 : if (pattern1654 (x3,
23305 : E_HImode) != 0
23306 : || !
23307 : #line 9863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23308 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
23309 : return -1;
23310 : return 508; /* subhi3_carry */
23311 :
23312 : case E_SImode:
23313 : if (pattern1655 (x3,
23314 : E_SImode) != 0
23315 : || !
23316 : #line 9863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23317 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
23318 : return -1;
23319 : return 509; /* subsi3_carry */
23320 :
23321 : case E_DImode:
23322 : if (pattern1655 (x3,
23323 : E_DImode) != 0
23324 : || !(
23325 : #line 9863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23326 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
23327 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23328 : (TARGET_64BIT)))
23329 : return -1;
23330 : return 510; /* subdi3_carry */
23331 :
23332 : default:
23333 : return -1;
23334 : }
23335 :
23336 : case EQ:
23337 : x12 = XEXP (x11, 1);
23338 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23339 : return -1;
23340 : x13 = XEXP (x11, 0);
23341 : operands[3] = x13;
23342 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
23343 : return -1;
23344 : switch (GET_MODE (operands[0]))
23345 : {
23346 : case E_QImode:
23347 : if (pattern1588 (x3,
23348 : E_QImode) != 0
23349 : || !
23350 : #line 11021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23351 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
23352 : && ix86_pre_reload_split ()))
23353 : return -1;
23354 : return 602; /* *subqi3_eq */
23355 :
23356 : case E_HImode:
23357 : if (pattern1588 (x3,
23358 : E_HImode) != 0
23359 : || !
23360 : #line 11021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23361 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
23362 : && ix86_pre_reload_split ()))
23363 : return -1;
23364 : return 603; /* *subhi3_eq */
23365 :
23366 : case E_SImode:
23367 : if (pattern1589 (x3,
23368 : E_SImode) != 0
23369 : || !
23370 : #line 11021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23371 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
23372 : && ix86_pre_reload_split ()))
23373 : return -1;
23374 : return 604; /* *subsi3_eq */
23375 :
23376 : case E_DImode:
23377 : if (pattern1589 (x3,
23378 : E_DImode) != 0
23379 : || !(
23380 : #line 11021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23381 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
23382 : && ix86_pre_reload_split ()) &&
23383 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23384 : (TARGET_64BIT)))
23385 : return -1;
23386 : return 605; /* *subdi3_eq */
23387 :
23388 : default:
23389 : return -1;
23390 : }
23391 :
23392 : default:
23393 : return -1;
23394 : }
23395 :
23396 : default:
23397 : return -1;
23398 : }
23399 : }
23400 :
23401 : int
23402 : recog_412 (rtx x1 ATTRIBUTE_UNUSED,
23403 : rtx_insn *insn ATTRIBUTE_UNUSED,
23404 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23405 : {
23406 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23407 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23408 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23409 : rtx x18, x19, x20;
23410 : int res ATTRIBUTE_UNUSED;
23411 : x2 = XVECEXP (x1, 0, 0);
23412 : x3 = XEXP (x2, 1);
23413 : x4 = XEXP (x3, 0);
23414 : switch (GET_CODE (x4))
23415 : {
23416 : case ASHIFT:
23417 : return recog_411 (x1, insn, pnum_clobbers);
23418 :
23419 : case REG:
23420 : case SUBREG:
23421 : case MEM:
23422 : operands[1] = x4;
23423 : switch (pattern574 (x1))
23424 : {
23425 : case 0:
23426 : if (
23427 : #line 13601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23428 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23429 : return 760; /* *iorqi_1_slp */
23430 : break;
23431 :
23432 : case 1:
23433 : if (
23434 : #line 13601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23435 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23436 : return 763; /* *iorhi_1_slp */
23437 : break;
23438 :
23439 : case 2:
23440 : if (x86_64_hilo_general_operand (operands[2], E_DImode)
23441 : && (
23442 : #line 14382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23443 : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
23444 : #line 1270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23445 : (!TARGET_64BIT)))
23446 : return 853; /* *iordi3_doubleword */
23447 : if (x86_64_general_operand (operands[2], E_DImode)
23448 : && (
23449 : #line 14444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23450 : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
23451 : && true) &&
23452 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23453 : (TARGET_64BIT)))
23454 : return 866; /* *iordi_1 */
23455 : if (const_int_operand (operands[2], E_DImode)
23456 : &&
23457 : #line 14501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23458 : (TARGET_64BIT && TARGET_USE_BT
23459 : && ix86_binary_operator_ok (IOR, DImode, operands)
23460 : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
23461 : return 872; /* *iordi_1_bts */
23462 : break;
23463 :
23464 : case 3:
23465 : if ((
23466 : #line 14382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23467 : (ix86_binary_operator_ok (IOR, TImode, operands, TARGET_APX_NDD)) &&
23468 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23469 : (TARGET_64BIT)))
23470 : return 855; /* *iorti3_doubleword */
23471 : break;
23472 :
23473 : case 4:
23474 : if (
23475 : #line 14444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23476 : (ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)
23477 : && true))
23478 : return 858; /* *iorhi_1 */
23479 : break;
23480 :
23481 : case 5:
23482 : if (
23483 : #line 14444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23484 : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
23485 : && true))
23486 : return 862; /* *iorsi_1 */
23487 : break;
23488 :
23489 : case 6:
23490 : if (
23491 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23492 : (ix86_binary_operator_ok (IOR, V4QImode, operands)))
23493 : return 2344; /* *iorv4qi3 */
23494 : break;
23495 :
23496 : case 7:
23497 : if (
23498 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23499 : (ix86_binary_operator_ok (IOR, V2QImode, operands)))
23500 : return 2347; /* *iorv2qi3 */
23501 : break;
23502 :
23503 : case 8:
23504 : if (
23505 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23506 : (ix86_binary_operator_ok (IOR, V2HImode, operands)))
23507 : return 2350; /* *iorv2hi3 */
23508 : break;
23509 :
23510 : case 9:
23511 : if (
23512 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23513 : (TARGET_AVX512F))
23514 : return 2648; /* kiorqi */
23515 : break;
23516 :
23517 : case 10:
23518 : if (
23519 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23520 : (TARGET_AVX512F))
23521 : return 2651; /* kiorhi */
23522 : break;
23523 :
23524 : case 11:
23525 : if ((
23526 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23527 : (TARGET_AVX512F) &&
23528 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23529 : (TARGET_AVX512BW)))
23530 : return 2654; /* kiorsi */
23531 : break;
23532 :
23533 : case 12:
23534 : if ((
23535 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23536 : (TARGET_AVX512F) &&
23537 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23538 : (TARGET_AVX512BW)))
23539 : return 2657; /* kiordi */
23540 : break;
23541 :
23542 : default:
23543 : break;
23544 : }
23545 : x5 = XVECEXP (x1, 0, 1);
23546 : if (GET_CODE (x5) != CLOBBER
23547 : || pattern575 (x1) != 0)
23548 : return -1;
23549 : if (GET_CODE (x4) == SUBREG
23550 : && known_eq (SUBREG_BYTE (x4), 0)
23551 : && GET_MODE (x4) == E_QImode)
23552 : {
23553 : res = recog_410 (x1, insn, pnum_clobbers);
23554 : if (res >= 0)
23555 : return res;
23556 : }
23557 : x6 = XEXP (x2, 0);
23558 : operands[0] = x6;
23559 : if (!nonimmediate_operand (operands[0], E_QImode))
23560 : return -1;
23561 : operands[1] = x4;
23562 : if (!nonimmediate_operand (operands[1], E_QImode))
23563 : return -1;
23564 : x7 = XEXP (x3, 1);
23565 : operands[2] = x7;
23566 : if (!general_operand (operands[2], E_QImode)
23567 : || !
23568 : #line 14665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23569 : (ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)
23570 : && true))
23571 : return -1;
23572 : return 902; /* *iorqi_1 */
23573 :
23574 : case ZERO_EXTEND:
23575 : if (GET_MODE (x4) != E_DImode
23576 : || pattern576 (x1) != 0)
23577 : return -1;
23578 : x8 = XEXP (x4, 0);
23579 : operands[1] = x8;
23580 : if (!nonimmediate_operand (operands[1], E_SImode))
23581 : return -1;
23582 : x7 = XEXP (x3, 1);
23583 : operands[2] = x7;
23584 : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
23585 : || !
23586 : #line 14647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23587 : (TARGET_64BIT
23588 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
23589 : return -1;
23590 : return 899; /* *iorsi_1_zext_imm */
23591 :
23592 : case LSHIFTRT:
23593 : if (pattern346 (x1) != 0)
23594 : return -1;
23595 : switch (pattern1068 (x3,
23596 : ASHIFT))
23597 : {
23598 : case 0:
23599 : x7 = XEXP (x3, 1);
23600 : x9 = XEXP (x7, 0);
23601 : x10 = XEXP (x9, 0);
23602 : x11 = XEXP (x10, 0);
23603 : operands[1] = x11;
23604 : if (nonimmediate_operand (operands[0], E_DImode))
23605 : {
23606 : x12 = XEXP (x4, 1);
23607 : x13 = XEXP (x12, 0);
23608 : operands[2] = x13;
23609 : x8 = XEXP (x4, 0);
23610 : if (rtx_equal_p (x8, operands[0]))
23611 : {
23612 : x14 = XEXP (x9, 1);
23613 : x15 = XEXP (x14, 1);
23614 : x16 = XEXP (x15, 0);
23615 : if (rtx_equal_p (x16, operands[2])
23616 : &&
23617 : #line 17765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23618 : (TARGET_64BIT && true))
23619 : return 1181; /* x86_64_shrd */
23620 : }
23621 : }
23622 : operands[2] = x11;
23623 : if (!register_operand (operands[0], E_DImode))
23624 : return -1;
23625 : x8 = XEXP (x4, 0);
23626 : operands[1] = x8;
23627 : if (!nonimmediate_operand (operands[1], E_DImode))
23628 : return -1;
23629 : x12 = XEXP (x4, 1);
23630 : x13 = XEXP (x12, 0);
23631 : operands[3] = x13;
23632 : x14 = XEXP (x9, 1);
23633 : x15 = XEXP (x14, 1);
23634 : x16 = XEXP (x15, 0);
23635 : if (!rtx_equal_p (x16, operands[3])
23636 : || !
23637 : #line 17786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23638 : (TARGET_APX_NDD && true))
23639 : return -1;
23640 : return 1183; /* x86_64_shrd_ndd */
23641 :
23642 : case 1:
23643 : if (pattern1067 (x3,
23644 : E_SImode,
23645 : E_DImode) != 0)
23646 : return -1;
23647 : x7 = XEXP (x3, 1);
23648 : x9 = XEXP (x7, 0);
23649 : x10 = XEXP (x9, 0);
23650 : x11 = XEXP (x10, 0);
23651 : operands[1] = x11;
23652 : if (nonimmediate_operand (operands[0], E_SImode))
23653 : {
23654 : x12 = XEXP (x4, 1);
23655 : x13 = XEXP (x12, 0);
23656 : operands[2] = x13;
23657 : x8 = XEXP (x4, 0);
23658 : if (rtx_equal_p (x8, operands[0]))
23659 : {
23660 : x14 = XEXP (x9, 1);
23661 : x15 = XEXP (x14, 1);
23662 : x16 = XEXP (x15, 0);
23663 : if (rtx_equal_p (x16, operands[2]))
23664 : return 1193; /* x86_shrd */
23665 : }
23666 : }
23667 : operands[2] = x11;
23668 : if (!register_operand (operands[0], E_SImode))
23669 : return -1;
23670 : x8 = XEXP (x4, 0);
23671 : operands[1] = x8;
23672 : if (!nonimmediate_operand (operands[1], E_SImode))
23673 : return -1;
23674 : x12 = XEXP (x4, 1);
23675 : x13 = XEXP (x12, 0);
23676 : operands[3] = x13;
23677 : x14 = XEXP (x9, 1);
23678 : x15 = XEXP (x14, 1);
23679 : x16 = XEXP (x15, 0);
23680 : if (!rtx_equal_p (x16, operands[3])
23681 : || !
23682 : #line 18025 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23683 : (TARGET_APX_NDD && true))
23684 : return -1;
23685 : return 1195; /* x86_shrd_ndd */
23686 :
23687 : case 2:
23688 : x7 = XEXP (x3, 1);
23689 : switch (GET_CODE (x7))
23690 : {
23691 : case SUBREG:
23692 : switch (pattern1258 (x3,
23693 : ASHIFT))
23694 : {
23695 : case 0:
23696 : x12 = XEXP (x4, 1);
23697 : operands[2] = x12;
23698 : if (pattern1714 (x3) == 0
23699 : &&
23700 : #line 17805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23701 : (TARGET_64BIT
23702 : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
23703 : && true))
23704 : return 1185; /* x86_64_shrd_1 */
23705 : operands[3] = x12;
23706 : if (pattern1715 (x3) != 0
23707 : || !
23708 : #line 17827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23709 : (TARGET_APX_NDD
23710 : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
23711 : && true))
23712 : return -1;
23713 : return 1187; /* x86_64_shrd_ndd_1 */
23714 :
23715 : case 1:
23716 : x12 = XEXP (x4, 1);
23717 : operands[2] = x12;
23718 : if (pattern1716 (x3) == 0
23719 : &&
23720 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23721 : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
23722 : && true))
23723 : return 1197; /* x86_shrd_1 */
23724 : operands[3] = x12;
23725 : if (pattern1717 (x3) != 0
23726 : || !
23727 : #line 18066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23728 : (TARGET_APX_NDD
23729 : && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
23730 : && true))
23731 : return -1;
23732 : return 1199; /* x86_shrd_ndd_1 */
23733 :
23734 : default:
23735 : return -1;
23736 : }
23737 :
23738 : case ASHIFT:
23739 : switch (pattern1260 (x3))
23740 : {
23741 : case 0:
23742 : if (!
23743 : #line 17903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23744 : (TARGET_64BIT
23745 : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
23746 : && ix86_pre_reload_split ()))
23747 : return -1;
23748 : return 1189; /* *x86_64_shrd_shld_1_nozext */
23749 :
23750 : case 1:
23751 : if (!
23752 : #line 18142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23753 : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
23754 : && ix86_pre_reload_split ()))
23755 : return -1;
23756 : return 1201; /* *x86_shrd_shld_1_nozext */
23757 :
23758 : case 2:
23759 : x9 = XEXP (x7, 0);
23760 : operands[1] = x9;
23761 : if (nonimmediate_operand (operands[0], E_DImode))
23762 : {
23763 : x12 = XEXP (x4, 1);
23764 : operands[2] = x12;
23765 : x8 = XEXP (x4, 0);
23766 : if (rtx_equal_p (x8, operands[0]))
23767 : {
23768 : x17 = XEXP (x7, 1);
23769 : x18 = XEXP (x17, 1);
23770 : if (rtx_equal_p (x18, operands[2])
23771 : &&
23772 : #line 17956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23773 : (TARGET_64BIT && ix86_pre_reload_split ()))
23774 : return 1190; /* *x86_64_shrd_2 */
23775 : }
23776 : }
23777 : operands[2] = x9;
23778 : if (!register_operand (operands[0], E_DImode))
23779 : return -1;
23780 : x8 = XEXP (x4, 0);
23781 : operands[1] = x8;
23782 : if (!nonimmediate_operand (operands[1], E_DImode))
23783 : return -1;
23784 : x12 = XEXP (x4, 1);
23785 : operands[3] = x12;
23786 : x17 = XEXP (x7, 1);
23787 : x18 = XEXP (x17, 1);
23788 : if (!rtx_equal_p (x18, operands[2])
23789 : || !
23790 : #line 17977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23791 : (TARGET_APX_NDD
23792 : && ix86_pre_reload_split ()))
23793 : return -1;
23794 : return 1191; /* *x86_64_shrd_ndd_2 */
23795 :
23796 : case 3:
23797 : x9 = XEXP (x7, 0);
23798 : operands[1] = x9;
23799 : if (nonimmediate_operand (operands[0], E_SImode))
23800 : {
23801 : x12 = XEXP (x4, 1);
23802 : operands[2] = x12;
23803 : x8 = XEXP (x4, 0);
23804 : if (rtx_equal_p (x8, operands[0]))
23805 : {
23806 : x17 = XEXP (x7, 1);
23807 : x18 = XEXP (x17, 1);
23808 : if (rtx_equal_p (x18, operands[2])
23809 : &&
23810 : #line 18194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23811 : (TARGET_64BIT && ix86_pre_reload_split ()))
23812 : return 1202; /* *x86_shrd_2 */
23813 : }
23814 : }
23815 : operands[2] = x9;
23816 : if (!register_operand (operands[0], E_SImode))
23817 : return -1;
23818 : x8 = XEXP (x4, 0);
23819 : operands[1] = x8;
23820 : if (!nonimmediate_operand (operands[1], E_SImode))
23821 : return -1;
23822 : x12 = XEXP (x4, 1);
23823 : operands[3] = x12;
23824 : x17 = XEXP (x7, 1);
23825 : x18 = XEXP (x17, 1);
23826 : if (!rtx_equal_p (x18, operands[3])
23827 : || !
23828 : #line 18215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23829 : (TARGET_APX_NDD
23830 : && ix86_pre_reload_split ()))
23831 : return -1;
23832 : return 1203; /* *x86_shrd_ndd_2 */
23833 :
23834 : default:
23835 : return -1;
23836 : }
23837 :
23838 : default:
23839 : return -1;
23840 : }
23841 :
23842 : default:
23843 : return -1;
23844 : }
23845 :
23846 : case NOT:
23847 : x8 = XEXP (x4, 0);
23848 : if (GET_CODE (x8) != PLUS)
23849 : return -1;
23850 : x19 = XEXP (x8, 1);
23851 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
23852 : || pattern346 (x1) != 0)
23853 : return -1;
23854 : x20 = XEXP (x8, 0);
23855 : operands[1] = x20;
23856 : x7 = XEXP (x3, 1);
23857 : if (!rtx_equal_p (x7, operands[1]))
23858 : return -1;
23859 : switch (pattern1261 (x3))
23860 : {
23861 : case 0:
23862 : if (!
23863 : #line 23248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23864 : (TARGET_TBM))
23865 : return -1;
23866 : return 1646; /* *tbm_blci_si */
23867 :
23868 : case 1:
23869 : if (!(
23870 : #line 23248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23871 : (TARGET_TBM) &&
23872 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23873 : (TARGET_64BIT)))
23874 : return -1;
23875 : return 1647; /* *tbm_blci_di */
23876 :
23877 : default:
23878 : return -1;
23879 : }
23880 :
23881 : case PLUS:
23882 : x12 = XEXP (x4, 1);
23883 : if (GET_CODE (x12) != CONST_INT
23884 : || pattern351 (x1) != 0)
23885 : return -1;
23886 : switch (XWINT (x12, 0))
23887 : {
23888 : case 1L:
23889 : switch (pattern1346 (x3))
23890 : {
23891 : case 0:
23892 : if (!
23893 : #line 23288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23894 : (TARGET_TBM))
23895 : return -1;
23896 : return 1652; /* *tbm_blcs_si */
23897 :
23898 : case 1:
23899 : if (!(
23900 : #line 23288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23901 : (TARGET_TBM) &&
23902 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23903 : (TARGET_64BIT)))
23904 : return -1;
23905 : return 1653; /* *tbm_blcs_di */
23906 :
23907 : case 2:
23908 : if (!
23909 : #line 23329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23910 : (TARGET_TBM))
23911 : return -1;
23912 : return 1658; /* *tbm_t1mskc_si */
23913 :
23914 : case 3:
23915 : if (!(
23916 : #line 23329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23917 : (TARGET_TBM) &&
23918 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23919 : (TARGET_64BIT)))
23920 : return -1;
23921 : return 1659; /* *tbm_t1mskc_di */
23922 :
23923 : default:
23924 : return -1;
23925 : }
23926 :
23927 : case -1L:
23928 : switch (pattern1346 (x3))
23929 : {
23930 : case 0:
23931 : if (!
23932 : #line 23301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23933 : (TARGET_TBM))
23934 : return -1;
23935 : return 1654; /* *tbm_blsfill_si */
23936 :
23937 : case 1:
23938 : if (!(
23939 : #line 23301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23940 : (TARGET_TBM) &&
23941 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23942 : (TARGET_64BIT)))
23943 : return -1;
23944 : return 1655; /* *tbm_blsfill_di */
23945 :
23946 : case 2:
23947 : if (!
23948 : #line 23315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23949 : (TARGET_TBM))
23950 : return -1;
23951 : return 1656; /* *tbm_blsic_si */
23952 :
23953 : case 3:
23954 : if (!(
23955 : #line 23315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23956 : (TARGET_TBM) &&
23957 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23958 : (TARGET_64BIT)))
23959 : return -1;
23960 : return 1657; /* *tbm_blsic_di */
23961 :
23962 : default:
23963 : return -1;
23964 : }
23965 :
23966 : default:
23967 : return -1;
23968 : }
23969 :
23970 : case AND:
23971 : if (GET_MODE (x4) != E_SImode)
23972 : return -1;
23973 : x12 = XEXP (x4, 1);
23974 : if (GET_CODE (x12) != CONST_INT
23975 : || XWINT (x12, 0) != -65536L)
23976 : return -1;
23977 : x7 = XEXP (x3, 1);
23978 : if (GET_CODE (x7) != LSHIFTRT
23979 : || GET_MODE (x7) != E_SImode)
23980 : return -1;
23981 : x9 = XEXP (x7, 0);
23982 : if (GET_CODE (x9) != BSWAP
23983 : || GET_MODE (x9) != E_SImode)
23984 : return -1;
23985 : x17 = XEXP (x7, 1);
23986 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
23987 : return -1;
23988 : x5 = XVECEXP (x1, 0, 1);
23989 : if (pattern1069 (x5) != 0)
23990 : return -1;
23991 : x6 = XEXP (x2, 0);
23992 : operands[0] = x6;
23993 : if (!register_operand (operands[0], E_SImode)
23994 : || GET_MODE (x3) != E_SImode)
23995 : return -1;
23996 : x8 = XEXP (x4, 0);
23997 : operands[1] = x8;
23998 : if (!register_operand (operands[1], E_SImode))
23999 : return -1;
24000 : x10 = XEXP (x9, 0);
24001 : if (!rtx_equal_p (x10, operands[1]))
24002 : return -1;
24003 : return 1684; /* bswaphisi2_lowpart */
24004 :
24005 : default:
24006 : return -1;
24007 : }
24008 : }
24009 :
24010 : int
24011 : recog_430 (rtx x1 ATTRIBUTE_UNUSED,
24012 : rtx_insn *insn ATTRIBUTE_UNUSED,
24013 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24014 : {
24015 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24016 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24017 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24018 : rtx x18, x19, x20, x21;
24019 : int res ATTRIBUTE_UNUSED;
24020 : x2 = XVECEXP (x1, 0, 0);
24021 : x3 = XEXP (x2, 1);
24022 : x4 = XEXP (x3, 0);
24023 : if (GET_CODE (x4) != UNSPEC
24024 : || XVECLEN (x4, 0) != 4
24025 : || XINT (x4, 1) != 154)
24026 : return -1;
24027 : x5 = XVECEXP (x4, 0, 1);
24028 : if (GET_CODE (x5) != MEM)
24029 : return -1;
24030 : x6 = XEXP (x5, 0);
24031 : if (GET_CODE (x6) != UNSPEC
24032 : || XVECLEN (x6, 0) != 3
24033 : || XINT (x6, 1) != 155)
24034 : return -1;
24035 : x7 = XVECEXP (x4, 0, 2);
24036 : if (GET_CODE (x7) != MEM
24037 : || GET_MODE (x7) != E_BLKmode)
24038 : return -1;
24039 : x8 = XEXP (x7, 0);
24040 : if (GET_CODE (x8) != SCRATCH)
24041 : return -1;
24042 : x9 = XEXP (x3, 1);
24043 : if (GET_CODE (x9) != PARALLEL
24044 : || XVECLEN (x9, 0) != 4)
24045 : return -1;
24046 : x10 = XVECEXP (x9, 0, 0);
24047 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24048 : return -1;
24049 : x11 = XVECEXP (x9, 0, 1);
24050 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24051 : return -1;
24052 : x12 = XVECEXP (x9, 0, 2);
24053 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
24054 : return -1;
24055 : x13 = XVECEXP (x9, 0, 3);
24056 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
24057 : return -1;
24058 : x14 = XVECEXP (x1, 0, 1);
24059 : if (GET_CODE (x14) != CLOBBER)
24060 : return -1;
24061 : x15 = XEXP (x2, 0);
24062 : operands[0] = x15;
24063 : x16 = XVECEXP (x6, 0, 1);
24064 : if (!register_operand (x16, E_V4DImode))
24065 : return -1;
24066 : x17 = XVECEXP (x6, 0, 2);
24067 : if (!const1248_operand (x17, E_SImode))
24068 : return -1;
24069 : x18 = XEXP (x14, 0);
24070 : operands[1] = x18;
24071 : x19 = XVECEXP (x4, 0, 0);
24072 : switch (GET_CODE (x19))
24073 : {
24074 : case REG:
24075 : case SUBREG:
24076 : operands[2] = x19;
24077 : operands[7] = x5;
24078 : x20 = XVECEXP (x6, 0, 0);
24079 : operands[3] = x20;
24080 : operands[4] = x16;
24081 : operands[6] = x17;
24082 : x21 = XVECEXP (x4, 0, 3);
24083 : operands[5] = x21;
24084 : switch (GET_MODE (operands[0]))
24085 : {
24086 : case E_V4SImode:
24087 : switch (pattern1891 (x3,
24088 : E_V8SImode,
24089 : E_V4SImode,
24090 : E_SImode))
24091 : {
24092 : case 0:
24093 : if (!(
24094 : #line 30819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24095 : (TARGET_AVX2) &&
24096 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24097 : (Pmode == SImode)))
24098 : return -1;
24099 : return 9882; /* *avx2_gatherdiv8si_3 */
24100 :
24101 : case 1:
24102 : if (!(
24103 : #line 30819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24104 : (TARGET_AVX2) &&
24105 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24106 : (Pmode == DImode)))
24107 : return -1;
24108 : return 9884; /* *avx2_gatherdiv8si_3 */
24109 :
24110 : default:
24111 : return -1;
24112 : }
24113 :
24114 : case E_V4SFmode:
24115 : switch (pattern1891 (x3,
24116 : E_V8SFmode,
24117 : E_V4SFmode,
24118 : E_SFmode))
24119 : {
24120 : case 0:
24121 : if (!(
24122 : #line 30819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24123 : (TARGET_AVX2) &&
24124 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24125 : (Pmode == SImode)))
24126 : return -1;
24127 : return 9883; /* *avx2_gatherdiv8sf_3 */
24128 :
24129 : case 1:
24130 : if (!(
24131 : #line 30819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24132 : (TARGET_AVX2) &&
24133 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24134 : (Pmode == DImode)))
24135 : return -1;
24136 : return 9885; /* *avx2_gatherdiv8sf_3 */
24137 :
24138 : default:
24139 : return -1;
24140 : }
24141 :
24142 : default:
24143 : return -1;
24144 : }
24145 :
24146 : case PC:
24147 : operands[6] = x5;
24148 : x20 = XVECEXP (x6, 0, 0);
24149 : operands[2] = x20;
24150 : operands[3] = x16;
24151 : operands[5] = x17;
24152 : x21 = XVECEXP (x4, 0, 3);
24153 : operands[4] = x21;
24154 : switch (GET_MODE (operands[0]))
24155 : {
24156 : case E_V4SImode:
24157 : switch (pattern1887 (x3,
24158 : E_V8SImode,
24159 : E_V4SImode,
24160 : E_SImode))
24161 : {
24162 : case 0:
24163 : if (!(
24164 : #line 30843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24165 : (TARGET_AVX2) &&
24166 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24167 : (Pmode == SImode)))
24168 : return -1;
24169 : return 9886; /* *avx2_gatherdiv8si_4 */
24170 :
24171 : case 1:
24172 : if (!(
24173 : #line 30843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24174 : (TARGET_AVX2) &&
24175 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24176 : (Pmode == DImode)))
24177 : return -1;
24178 : return 9888; /* *avx2_gatherdiv8si_4 */
24179 :
24180 : default:
24181 : return -1;
24182 : }
24183 :
24184 : case E_V4SFmode:
24185 : switch (pattern1887 (x3,
24186 : E_V8SFmode,
24187 : E_V4SFmode,
24188 : E_SFmode))
24189 : {
24190 : case 0:
24191 : if (!(
24192 : #line 30843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24193 : (TARGET_AVX2) &&
24194 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24195 : (Pmode == SImode)))
24196 : return -1;
24197 : return 9887; /* *avx2_gatherdiv8sf_4 */
24198 :
24199 : case 1:
24200 : if (!(
24201 : #line 30843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24202 : (TARGET_AVX2) &&
24203 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24204 : (Pmode == DImode)))
24205 : return -1;
24206 : return 9889; /* *avx2_gatherdiv8sf_4 */
24207 :
24208 : default:
24209 : return -1;
24210 : }
24211 :
24212 : default:
24213 : return -1;
24214 : }
24215 :
24216 : default:
24217 : return -1;
24218 : }
24219 : }
24220 :
24221 : int
24222 : recog_436 (rtx x1 ATTRIBUTE_UNUSED,
24223 : rtx_insn *insn ATTRIBUTE_UNUSED,
24224 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24225 : {
24226 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24227 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24228 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24229 : rtx x18, x19, x20;
24230 : int res ATTRIBUTE_UNUSED;
24231 : x2 = XVECEXP (x1, 0, 1);
24232 : if (GET_CODE (x2) != SET)
24233 : return -1;
24234 : x3 = XVECEXP (x1, 0, 0);
24235 : x4 = XEXP (x3, 0);
24236 : operands[0] = x4;
24237 : x5 = XEXP (x3, 1);
24238 : switch (XVECLEN (x5, 0))
24239 : {
24240 : case 1:
24241 : if (XINT (x5, 1) != 10
24242 : || GET_MODE (x5) != E_DImode)
24243 : return -1;
24244 : x6 = XVECEXP (x5, 0, 0);
24245 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24246 : return -1;
24247 : x7 = XEXP (x2, 1);
24248 : if (pattern831 (x7,
24249 : E_DImode,
24250 : 10,
24251 : 1,
24252 : UNSPEC_VOLATILE) != 0
24253 : || pattern1188 (x1,
24254 : E_SImode,
24255 : 10) != 0
24256 : || !register_operand (operands[0], E_DImode))
24257 : return -1;
24258 : x8 = XEXP (x2, 0);
24259 : operands[1] = x8;
24260 : if (!register_operand (operands[1], E_DImode))
24261 : return -1;
24262 : x9 = XVECEXP (x1, 0, 2);
24263 : x10 = XEXP (x9, 0);
24264 : operands[2] = x10;
24265 : if (!register_operand (operands[2], E_SImode)
24266 : || !
24267 : #line 30559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24268 : (TARGET_64BIT))
24269 : return -1;
24270 : return 1957; /* rdtscp_rex64 */
24271 :
24272 : case 5:
24273 : if (XINT (x5, 1) != 109)
24274 : return -1;
24275 : x7 = XEXP (x2, 1);
24276 : if (GET_CODE (x7) != UNSPEC_VOLATILE
24277 : || XVECLEN (x7, 0) != 1
24278 : || XINT (x7, 1) != 109
24279 : || pattern1188 (x1,
24280 : E_CCZmode,
24281 : 109) != 0)
24282 : return -1;
24283 : x9 = XVECEXP (x1, 0, 2);
24284 : x10 = XEXP (x9, 0);
24285 : if (GET_CODE (x10) != REG
24286 : || REGNO (x10) != 17
24287 : || GET_MODE (x10) != E_CCZmode)
24288 : return -1;
24289 : x6 = XVECEXP (x5, 0, 0);
24290 : operands[1] = x6;
24291 : x11 = XVECEXP (x5, 0, 1);
24292 : operands[2] = x11;
24293 : x12 = XVECEXP (x5, 0, 2);
24294 : operands[3] = x12;
24295 : x13 = XVECEXP (x5, 0, 3);
24296 : operands[4] = x13;
24297 : x14 = XVECEXP (x5, 0, 4);
24298 : operands[5] = x14;
24299 : if (!const_int_operand (operands[5], E_SImode))
24300 : return -1;
24301 : x8 = XEXP (x2, 0);
24302 : if (!rtx_equal_p (x8, operands[1]))
24303 : return -1;
24304 : switch (GET_MODE (operands[0]))
24305 : {
24306 : case E_DImode:
24307 : if (pattern1876 (x1,
24308 : E_DImode,
24309 : E_SImode) != 0
24310 : || !(
24311 : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24312 : (TARGET_CMPXCHG8B) &&
24313 : #line 1270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24314 : (!TARGET_64BIT)))
24315 : return -1;
24316 : return 11156; /* atomic_compare_and_swapdi_doubleword */
24317 :
24318 : case E_TImode:
24319 : if (pattern1876 (x1,
24320 : E_TImode,
24321 : E_DImode) != 0
24322 : || !(
24323 : #line 486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24324 : (TARGET_CMPXCHG16B) &&
24325 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24326 : (TARGET_64BIT)))
24327 : return -1;
24328 : return 11157; /* atomic_compare_and_swapti_doubleword */
24329 :
24330 : default:
24331 : return -1;
24332 : }
24333 :
24334 : case 4:
24335 : x7 = XEXP (x2, 1);
24336 : if (GET_CODE (x7) != UNSPEC_VOLATILE
24337 : || XVECLEN (x7, 0) != 1)
24338 : return -1;
24339 : x15 = XVECEXP (x7, 0, 0);
24340 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24341 : return -1;
24342 : x9 = XVECEXP (x1, 0, 2);
24343 : if (GET_CODE (x9) != SET)
24344 : return -1;
24345 : x10 = XEXP (x9, 0);
24346 : if (GET_CODE (x10) != REG
24347 : || REGNO (x10) != 17)
24348 : return -1;
24349 : x6 = XVECEXP (x5, 0, 0);
24350 : operands[1] = x6;
24351 : x11 = XVECEXP (x5, 0, 1);
24352 : operands[2] = x11;
24353 : x12 = XVECEXP (x5, 0, 2);
24354 : operands[3] = x12;
24355 : x13 = XVECEXP (x5, 0, 3);
24356 : operands[4] = x13;
24357 : x8 = XEXP (x2, 0);
24358 : if (!rtx_equal_p (x8, operands[1]))
24359 : return -1;
24360 : switch (XINT (x5, 1))
24361 : {
24362 : case 109:
24363 : if (XINT (x7, 1) != 109)
24364 : return -1;
24365 : x16 = XEXP (x9, 1);
24366 : if (pattern1187 (x16,
24367 : E_CCZmode,
24368 : 109) != 0
24369 : || !const_int_operand (operands[4], E_SImode)
24370 : || GET_MODE (x10) != E_CCZmode)
24371 : return -1;
24372 : switch (GET_MODE (operands[0]))
24373 : {
24374 : case E_QImode:
24375 : if (pattern1865 (x1,
24376 : E_QImode) != 0
24377 : || !
24378 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24379 : (TARGET_CMPXCHG))
24380 : return -1;
24381 : return 11158; /* atomic_compare_and_swapqi_1 */
24382 :
24383 : case E_HImode:
24384 : if (pattern1865 (x1,
24385 : E_HImode) != 0
24386 : || !
24387 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24388 : (TARGET_CMPXCHG))
24389 : return -1;
24390 : return 11159; /* atomic_compare_and_swaphi_1 */
24391 :
24392 : case E_SImode:
24393 : if (pattern1865 (x1,
24394 : E_SImode) != 0
24395 : || !
24396 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24397 : (TARGET_CMPXCHG))
24398 : return -1;
24399 : return 11160; /* atomic_compare_and_swapsi_1 */
24400 :
24401 : case E_DImode:
24402 : if (pattern1865 (x1,
24403 : E_DImode) != 0
24404 : || !(
24405 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24406 : (TARGET_CMPXCHG) &&
24407 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24408 : (TARGET_64BIT)))
24409 : return -1;
24410 : return 11161; /* atomic_compare_and_swapdi_1 */
24411 :
24412 : default:
24413 : return -1;
24414 : }
24415 :
24416 : case 112:
24417 : if (XINT (x7, 1) != 112)
24418 : return -1;
24419 : x16 = XEXP (x9, 1);
24420 : if (GET_CODE (x16) != COMPARE
24421 : || GET_MODE (x16) != E_CCmode
24422 : || !const_0_to_15_operand (operands[4], E_SImode)
24423 : || GET_MODE (x10) != E_CCmode)
24424 : return -1;
24425 : x17 = XEXP (x16, 0);
24426 : if (!rtx_equal_p (x17, operands[1]))
24427 : return -1;
24428 : x18 = XEXP (x16, 1);
24429 : if (!rtx_equal_p (x18, operands[2]))
24430 : return -1;
24431 : switch (GET_MODE (operands[0]))
24432 : {
24433 : case E_SImode:
24434 : if (pattern1865 (x1,
24435 : E_SImode) != 0
24436 : || !
24437 : #line 1119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24438 : (TARGET_CMPCCXADD && TARGET_64BIT))
24439 : return -1;
24440 : return 11231; /* cmpccxadd_si */
24441 :
24442 : case E_DImode:
24443 : if (pattern1865 (x1,
24444 : E_DImode) != 0
24445 : || !
24446 : #line 1119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24447 : (TARGET_CMPCCXADD && TARGET_64BIT))
24448 : return -1;
24449 : return 11232; /* cmpccxadd_di */
24450 :
24451 : default:
24452 : return -1;
24453 : }
24454 :
24455 : default:
24456 : return -1;
24457 : }
24458 :
24459 : case 2:
24460 : if (XINT (x5, 1) != 110)
24461 : return -1;
24462 : x7 = XEXP (x2, 1);
24463 : if (GET_CODE (x7) != PLUS)
24464 : return -1;
24465 : x9 = XVECEXP (x1, 0, 2);
24466 : if (pattern963 (x9,
24467 : E_CCmode,
24468 : 17) != 0)
24469 : return -1;
24470 : x6 = XVECEXP (x5, 0, 0);
24471 : operands[1] = x6;
24472 : x11 = XVECEXP (x5, 0, 1);
24473 : operands[3] = x11;
24474 : if (!const_int_operand (operands[3], E_SImode))
24475 : return -1;
24476 : x19 = XEXP (x7, 1);
24477 : operands[2] = x19;
24478 : x20 = XEXP (x7, 0);
24479 : if (!rtx_equal_p (x20, operands[1]))
24480 : return -1;
24481 : x8 = XEXP (x2, 0);
24482 : if (!rtx_equal_p (x8, operands[1]))
24483 : return -1;
24484 : switch (GET_MODE (operands[0]))
24485 : {
24486 : case E_QImode:
24487 : if (pattern1592 (x1,
24488 : E_QImode) != 0
24489 : || !
24490 : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24491 : (TARGET_XADD))
24492 : return -1;
24493 : return 11162; /* atomic_fetch_addqi */
24494 :
24495 : case E_HImode:
24496 : if (pattern1592 (x1,
24497 : E_HImode) != 0
24498 : || !
24499 : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24500 : (TARGET_XADD))
24501 : return -1;
24502 : return 11163; /* atomic_fetch_addhi */
24503 :
24504 : case E_SImode:
24505 : if (pattern1592 (x1,
24506 : E_SImode) != 0
24507 : || !
24508 : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24509 : (TARGET_XADD))
24510 : return -1;
24511 : return 11164; /* atomic_fetch_addsi */
24512 :
24513 : case E_DImode:
24514 : if (pattern1592 (x1,
24515 : E_DImode) != 0
24516 : || !(
24517 : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24518 : (TARGET_XADD) &&
24519 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24520 : (TARGET_64BIT)))
24521 : return -1;
24522 : return 11165; /* atomic_fetch_adddi */
24523 :
24524 : default:
24525 : return -1;
24526 : }
24527 :
24528 : default:
24529 : return -1;
24530 : }
24531 : }
24532 :
24533 : int
24534 : recog_447 (rtx x1 ATTRIBUTE_UNUSED,
24535 : rtx_insn *insn ATTRIBUTE_UNUSED,
24536 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24537 : {
24538 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24539 : rtx x2, x3, x4, x5, x6;
24540 : int res ATTRIBUTE_UNUSED;
24541 : x2 = XVECEXP (x1, 0, 0);
24542 : if (GET_CODE (x2) != RETURN)
24543 : return -1;
24544 : x3 = XVECEXP (x1, 0, 1);
24545 : if (GET_CODE (x3) != USE)
24546 : return -1;
24547 : x4 = XVECEXP (x1, 0, 2);
24548 : if (GET_CODE (x4) != SET)
24549 : return -1;
24550 : x5 = XEXP (x4, 1);
24551 : if (GET_CODE (x5) != REG
24552 : || REGNO (x5) != 38
24553 : || pattern737 (x4,
24554 : E_DImode,
24555 : 7) != 0)
24556 : return -1;
24557 : x6 = XEXP (x3, 0);
24558 : operands[1] = x6;
24559 : switch (GET_MODE (operands[1]))
24560 : {
24561 : case E_SImode:
24562 : if (!symbol_operand (operands[1], E_SImode)
24563 : || !(
24564 : #line 31738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24565 : (TARGET_SSE && TARGET_64BIT) &&
24566 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24567 : (Pmode == SImode)))
24568 : return -1;
24569 : return 10297; /* *restore_multiple_and_returnsi */
24570 :
24571 : case E_DImode:
24572 : if (!symbol_operand (operands[1], E_DImode)
24573 : || !(
24574 : #line 31738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24575 : (TARGET_SSE && TARGET_64BIT) &&
24576 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24577 : (Pmode == DImode)))
24578 : return -1;
24579 : return 10298; /* *restore_multiple_and_returndi */
24580 :
24581 : default:
24582 : return -1;
24583 : }
24584 : }
24585 :
24586 : int
24587 : recog (rtx x1 ATTRIBUTE_UNUSED,
24588 : rtx_insn *insn ATTRIBUTE_UNUSED,
24589 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24590 : {
24591 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24592 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24593 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24594 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
24595 : rtx x26, x27;
24596 : int res ATTRIBUTE_UNUSED;
24597 : recog_data.insn = NULL;
24598 : switch (GET_CODE (x1))
24599 : {
24600 : case SET:
24601 : return recog_448 (x1, insn, pnum_clobbers);
24602 :
24603 : case PARALLEL:
24604 : switch (XVECLEN (x1, 0))
24605 : {
24606 : case 2:
24607 : res = recog_433 (x1, insn, pnum_clobbers);
24608 : if (res >= 0)
24609 : return res;
24610 : break;
24611 :
24612 : case 3:
24613 : res = recog_441 (x1, insn, pnum_clobbers);
24614 : if (res >= 0)
24615 : return res;
24616 : break;
24617 :
24618 : case 4:
24619 : res = recog_442 (x1, insn, pnum_clobbers);
24620 : if (res >= 0)
24621 : return res;
24622 : break;
24623 :
24624 : case 5:
24625 : res = recog_443 (x1, insn, pnum_clobbers);
24626 : if (res >= 0)
24627 : return res;
24628 : break;
24629 :
24630 : case 6:
24631 : res = recog_444 (x1, insn, pnum_clobbers);
24632 : if (res >= 0)
24633 : return res;
24634 : break;
24635 :
24636 : case 9:
24637 : if (pattern37 (x1) == 0)
24638 : {
24639 : x2 = XVECEXP (x1, 0, 0);
24640 : switch (GET_CODE (x2))
24641 : {
24642 : case SET:
24643 : x3 = XEXP (x2, 1);
24644 : if (GET_CODE (x3) == UNSPEC_VOLATILE
24645 : && XVECLEN (x3, 0) == 1
24646 : && XINT (x3, 1) == 40
24647 : && GET_MODE (x3) == E_BLKmode)
24648 : {
24649 : x4 = XVECEXP (x3, 0, 0);
24650 : if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
24651 : {
24652 : x5 = XEXP (x2, 0);
24653 : operands[0] = x5;
24654 : if (memory_operand (operands[0], E_BLKmode)
24655 : &&
24656 : #line 30784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24657 : (TARGET_80387))
24658 : return 1984; /* fnstenv */
24659 : }
24660 : }
24661 : break;
24662 :
24663 : case UNSPEC_VOLATILE:
24664 : if (XVECLEN (x2, 0) == 1
24665 : && XINT (x2, 1) == 41)
24666 : {
24667 : x6 = XVECEXP (x2, 0, 0);
24668 : operands[0] = x6;
24669 : if (memory_operand (operands[0], E_BLKmode)
24670 : &&
24671 : #line 30802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24672 : (TARGET_80387))
24673 : return 1985; /* fldenv */
24674 : }
24675 : break;
24676 :
24677 : default:
24678 : break;
24679 : }
24680 : }
24681 : break;
24682 :
24683 : case 17:
24684 : res = recog_445 (x1, insn, pnum_clobbers);
24685 : if (res >= 0)
24686 : return res;
24687 : break;
24688 :
24689 : default:
24690 : break;
24691 : }
24692 : if (XVECLEN (x1, 0) >= 1)
24693 : {
24694 : res = recog_446 (x1, insn, pnum_clobbers);
24695 : if (res >= 0)
24696 : return res;
24697 : }
24698 : operands[0] = x1;
24699 : if (XVECLEN (operands[0], 0) >= 3
24700 : && restore_multiple (operands[0], E_VOIDmode))
24701 : {
24702 : res = recog_447 (x1, insn, pnum_clobbers);
24703 : if (res >= 0)
24704 : return res;
24705 : }
24706 : if (XVECLEN (operands[0], 0) < 5
24707 : || !restore_multiple (operands[0], E_VOIDmode))
24708 : return -1;
24709 : x2 = XVECEXP (x1, 0, 0);
24710 : if (GET_CODE (x2) != RETURN)
24711 : return -1;
24712 : x7 = XVECEXP (x1, 0, 1);
24713 : if (GET_CODE (x7) != USE)
24714 : return -1;
24715 : x8 = XVECEXP (x1, 0, 2);
24716 : if (GET_CODE (x8) != SET)
24717 : return -1;
24718 : x9 = XEXP (x8, 1);
24719 : if (GET_CODE (x9) != PLUS
24720 : || GET_MODE (x9) != E_DImode)
24721 : return -1;
24722 : x10 = XEXP (x9, 0);
24723 : if (GET_CODE (x10) != REG
24724 : || REGNO (x10) != 6
24725 : || GET_MODE (x10) != E_DImode)
24726 : return -1;
24727 : x11 = XEXP (x9, 1);
24728 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
24729 : return -1;
24730 : x12 = XEXP (x8, 0);
24731 : if (GET_CODE (x12) != REG
24732 : || REGNO (x12) != 7
24733 : || GET_MODE (x12) != E_DImode)
24734 : return -1;
24735 : x13 = XVECEXP (x1, 0, 3);
24736 : if (GET_CODE (x13) != SET)
24737 : return -1;
24738 : x14 = XEXP (x13, 1);
24739 : if (GET_CODE (x14) != MEM
24740 : || GET_MODE (x14) != E_DImode)
24741 : return -1;
24742 : x15 = XEXP (x14, 0);
24743 : if (GET_CODE (x15) != REG
24744 : || REGNO (x15) != 6
24745 : || GET_MODE (x15) != E_DImode)
24746 : return -1;
24747 : x16 = XEXP (x13, 0);
24748 : if (GET_CODE (x16) != REG
24749 : || REGNO (x16) != 6
24750 : || GET_MODE (x16) != E_DImode)
24751 : return -1;
24752 : x17 = XVECEXP (x1, 0, 4);
24753 : if (GET_CODE (x17) != CLOBBER)
24754 : return -1;
24755 : x18 = XEXP (x17, 0);
24756 : if (GET_CODE (x18) != MEM
24757 : || GET_MODE (x18) != E_BLKmode)
24758 : return -1;
24759 : x19 = XEXP (x18, 0);
24760 : if (GET_CODE (x19) != SCRATCH)
24761 : return -1;
24762 : x20 = XEXP (x7, 0);
24763 : operands[1] = x20;
24764 : switch (GET_MODE (operands[1]))
24765 : {
24766 : case E_SImode:
24767 : if (!symbol_operand (operands[1], E_SImode)
24768 : || !(
24769 : #line 31751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24770 : (TARGET_SSE && TARGET_64BIT) &&
24771 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24772 : (Pmode == SImode)))
24773 : return -1;
24774 : return 10299; /* *restore_multiple_leave_returnsi */
24775 :
24776 : case E_DImode:
24777 : if (!symbol_operand (operands[1], E_DImode)
24778 : || !(
24779 : #line 31751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24780 : (TARGET_SSE && TARGET_64BIT) &&
24781 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24782 : (Pmode == DImode)))
24783 : return -1;
24784 : return 10300; /* *restore_multiple_leave_returndi */
24785 :
24786 : default:
24787 : return -1;
24788 : }
24789 :
24790 : case CALL:
24791 : x21 = XEXP (x1, 0);
24792 : if (GET_CODE (x21) != MEM
24793 : || GET_MODE (x21) != E_QImode)
24794 : return -1;
24795 : x22 = XEXP (x21, 0);
24796 : operands[0] = x22;
24797 : x23 = XEXP (x1, 1);
24798 : operands[1] = x23;
24799 : if (call_insn_operand (operands[0], E_SImode)
24800 : && (
24801 : #line 21178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24802 : (!SIBLING_CALL_P (insn)) &&
24803 : #line 1438 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24804 : (word_mode == SImode)))
24805 : return 1500; /* *call */
24806 : if (call_insn_operand (operands[0], E_DImode)
24807 : && (
24808 : #line 21178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24809 : (!SIBLING_CALL_P (insn)) &&
24810 : #line 1438 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24811 : (word_mode == DImode)))
24812 : return 1501; /* *call */
24813 : switch (GET_CODE (x22))
24814 : {
24815 : case ZERO_EXTEND:
24816 : if (GET_MODE (x22) == E_DImode)
24817 : {
24818 : x24 = XEXP (x22, 0);
24819 : operands[0] = x24;
24820 : if (GOT_memory_operand (operands[0], E_SImode))
24821 : {
24822 : operands[1] = x23;
24823 : if (
24824 : #line 21187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24825 : (TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER))
24826 : return 1502; /* *call_got_x32 */
24827 : }
24828 : }
24829 : break;
24830 :
24831 : case MEM:
24832 : if (GET_MODE (x22) == E_SImode)
24833 : {
24834 : x24 = XEXP (x22, 0);
24835 : if (GET_CODE (x24) == PLUS
24836 : && GET_MODE (x24) == E_SImode)
24837 : {
24838 : x25 = XEXP (x24, 0);
24839 : operands[0] = x25;
24840 : if (register_no_elim_operand (operands[0], E_SImode))
24841 : {
24842 : x26 = XEXP (x24, 1);
24843 : operands[1] = x26;
24844 : if (GOT32_symbol_operand (operands[1], E_SImode))
24845 : {
24846 : operands[2] = x23;
24847 : if (
24848 : #line 21202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24849 : (!TARGET_MACHO
24850 : && !TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER
24851 : && SIBLING_CALL_P (insn)))
24852 : return 1503; /* *sibcall_GOT_32 */
24853 : }
24854 : }
24855 : }
24856 : }
24857 : break;
24858 :
24859 : default:
24860 : break;
24861 : }
24862 : operands[0] = x22;
24863 : operands[1] = x23;
24864 : if (sibcall_insn_operand (operands[0], E_SImode)
24865 : && (
24866 : #line 21215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24867 : (SIBLING_CALL_P (insn)) &&
24868 : #line 1438 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24869 : (word_mode == SImode)))
24870 : return 1504; /* *sibcall */
24871 : if (!sibcall_insn_operand (operands[0], E_DImode)
24872 : || !(
24873 : #line 21215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24874 : (SIBLING_CALL_P (insn)) &&
24875 : #line 1438 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24876 : (word_mode == DImode)))
24877 : return -1;
24878 : return 1505; /* *sibcall */
24879 :
24880 : case UNSPEC_VOLATILE:
24881 : return recog_449 (x1, insn, pnum_clobbers);
24882 :
24883 : case SIMPLE_RETURN:
24884 : if (!
24885 : #line 21676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24886 : (reload_completed))
24887 : return -1;
24888 : return 1525; /* simple_return_internal */
24889 :
24890 : case CONST_INT:
24891 : if (XWINT (x1, 0) != 0L)
24892 : return -1;
24893 : return 1531; /* nop */
24894 :
24895 : case EH_RETURN:
24896 : return 1539; /* eh_return_internal */
24897 :
24898 : case TRAP_IF:
24899 : x21 = XEXP (x1, 0);
24900 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24901 : return -1;
24902 : x23 = XEXP (x1, 1);
24903 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
24904 : return -1;
24905 : return 1942; /* trap */
24906 :
24907 : case PREFETCH:
24908 : x23 = XEXP (x1, 1);
24909 : if (GET_CODE (x23) != CONST_INT)
24910 : return -1;
24911 : x21 = XEXP (x1, 0);
24912 : operands[0] = x21;
24913 : if (!address_operand (operands[0], E_VOIDmode))
24914 : return -1;
24915 : switch (XWINT (x23, 0))
24916 : {
24917 : case 0L:
24918 : x27 = XEXP (x1, 2);
24919 : operands[1] = x27;
24920 : if (const_int_operand (operands[1], E_SImode)
24921 : &&
24922 : #line 30388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24923 : (TARGET_PREFETCH_SSE))
24924 : return 1944; /* *prefetch_sse */
24925 : break;
24926 :
24927 : case 2L:
24928 : x27 = XEXP (x1, 2);
24929 : if (x27 == const_int_rtx[MAX_SAVED_CONST_INT + 1]
24930 : &&
24931 : #line 30445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24932 : (TARGET_MOVRS))
24933 : return 1947; /* *prefetch_rst2 */
24934 : break;
24935 :
24936 : default:
24937 : break;
24938 : }
24939 : x27 = XEXP (x1, 2);
24940 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
24941 : return -1;
24942 : operands[1] = x23;
24943 : if (!const_int_operand (operands[1], E_SImode)
24944 : || !
24945 : #line 30409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24946 : (TARGET_3DNOW || TARGET_PRFCHW))
24947 : return -1;
24948 : return 1945; /* *prefetch_3dnow */
24949 :
24950 : default:
24951 : return -1;
24952 : }
24953 : }
24954 :
24955 : rtx_insn *
24956 : split_9 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24957 : {
24958 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24959 : rtx x2, x3, x4, x5;
24960 : rtx_insn *res ATTRIBUTE_UNUSED;
24961 : x2 = XEXP (x1, 0);
24962 : operands[0] = x2;
24963 : x3 = XEXP (x1, 1);
24964 : x4 = XEXP (x3, 0);
24965 : operands[1] = x4;
24966 : switch (GET_CODE (operands[1]))
24967 : {
24968 : case CONST_INT:
24969 : switch (pattern586 (x3))
24970 : {
24971 : case 0:
24972 : if (!
24973 : #line 19152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24974 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24975 : == GET_MODE_BITSIZE (QImode) - 1))
24976 : return NULL;
24977 : return gen_split_692 (insn, operands);
24978 :
24979 : case 1:
24980 : if (!
24981 : #line 19152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24982 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24983 : == GET_MODE_BITSIZE (HImode) - 1))
24984 : return NULL;
24985 : return gen_split_694 (insn, operands);
24986 :
24987 : case 2:
24988 : if (!
24989 : #line 19152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24990 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24991 : == GET_MODE_BITSIZE (SImode) - 1))
24992 : return NULL;
24993 : return gen_split_696 (insn, operands);
24994 :
24995 : case 3:
24996 : if (!(
24997 : #line 19152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24998 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24999 : == GET_MODE_BITSIZE (DImode) - 1) &&
25000 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25001 : (TARGET_64BIT)))
25002 : return NULL;
25003 : return gen_split_698 (insn, operands);
25004 :
25005 : case 4:
25006 : if (!
25007 : #line 19236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25008 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
25009 : return NULL;
25010 : return gen_split_724 (insn, operands);
25011 :
25012 : case 5:
25013 : if (!
25014 : #line 19236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25015 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
25016 : return NULL;
25017 : return gen_split_726 (insn, operands);
25018 :
25019 : case 6:
25020 : if (!
25021 : #line 19236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25022 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
25023 : return NULL;
25024 : return gen_split_728 (insn, operands);
25025 :
25026 : case 7:
25027 : if (!(
25028 : #line 19236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25029 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
25030 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25031 : (TARGET_64BIT)))
25032 : return NULL;
25033 : return gen_split_730 (insn, operands);
25034 :
25035 : case 8:
25036 : if (!
25037 : #line 19305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25038 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
25039 : return NULL;
25040 : return gen_split_756 (insn, operands);
25041 :
25042 : case 9:
25043 : if (!
25044 : #line 19305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25045 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
25046 : return NULL;
25047 : return gen_split_758 (insn, operands);
25048 :
25049 : case 10:
25050 : if (!
25051 : #line 19305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25052 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
25053 : return NULL;
25054 : return gen_split_760 (insn, operands);
25055 :
25056 : case 11:
25057 : if (!(
25058 : #line 19305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25059 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
25060 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25061 : (TARGET_64BIT)))
25062 : return NULL;
25063 : return gen_split_762 (insn, operands);
25064 :
25065 : case 12:
25066 : if (!
25067 : #line 19197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25068 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
25069 : == GET_MODE_BITSIZE (QImode) - 1))
25070 : return NULL;
25071 : return gen_split_708 (insn, operands);
25072 :
25073 : case 13:
25074 : if (!
25075 : #line 19197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25076 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
25077 : == GET_MODE_BITSIZE (HImode) - 1))
25078 : return NULL;
25079 : return gen_split_710 (insn, operands);
25080 :
25081 : case 14:
25082 : if (!
25083 : #line 19197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25084 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
25085 : == GET_MODE_BITSIZE (SImode) - 1))
25086 : return NULL;
25087 : return gen_split_712 (insn, operands);
25088 :
25089 : case 15:
25090 : if (!(
25091 : #line 19197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25092 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
25093 : == GET_MODE_BITSIZE (DImode) - 1) &&
25094 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25095 : (TARGET_64BIT)))
25096 : return NULL;
25097 : return gen_split_714 (insn, operands);
25098 :
25099 : case 16:
25100 : if (!
25101 : #line 19268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25102 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
25103 : return NULL;
25104 : return gen_split_740 (insn, operands);
25105 :
25106 : case 17:
25107 : if (!
25108 : #line 19268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25109 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
25110 : return NULL;
25111 : return gen_split_742 (insn, operands);
25112 :
25113 : case 18:
25114 : if (!
25115 : #line 19268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25116 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
25117 : return NULL;
25118 : return gen_split_744 (insn, operands);
25119 :
25120 : case 19:
25121 : if (!(
25122 : #line 19268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25123 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
25124 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25125 : (TARGET_64BIT)))
25126 : return NULL;
25127 : return gen_split_746 (insn, operands);
25128 :
25129 : case 20:
25130 : if (!
25131 : #line 19337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25132 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
25133 : return NULL;
25134 : return gen_split_772 (insn, operands);
25135 :
25136 : case 21:
25137 : if (!
25138 : #line 19337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25139 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
25140 : return NULL;
25141 : return gen_split_774 (insn, operands);
25142 :
25143 : case 22:
25144 : if (!
25145 : #line 19337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25146 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
25147 : return NULL;
25148 : return gen_split_776 (insn, operands);
25149 :
25150 : case 23:
25151 : if (!(
25152 : #line 19337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25153 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
25154 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25155 : (TARGET_64BIT)))
25156 : return NULL;
25157 : return gen_split_778 (insn, operands);
25158 :
25159 : default:
25160 : return NULL;
25161 : }
25162 :
25163 : case REG:
25164 : case SUBREG:
25165 : case MEM:
25166 : x5 = XEXP (x3, 1);
25167 : if (GET_CODE (x5) != CONST_INT)
25168 : return NULL;
25169 : switch (XWINT (x5, 0))
25170 : {
25171 : case 32L:
25172 : if (register_operand (operands[0], E_DImode)
25173 : && GET_MODE (x3) == E_DImode
25174 : && register_operand (operands[1], E_DImode)
25175 : && (
25176 : #line 19424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25177 : (!TARGET_64BIT) &&
25178 : #line 19426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25179 : ( reload_completed)))
25180 : return gen_split_784 (insn, operands);
25181 : break;
25182 :
25183 : case 64L:
25184 : if (register_operand (operands[0], E_TImode)
25185 : && GET_MODE (x3) == E_TImode
25186 : && register_operand (operands[1], E_TImode)
25187 : && (
25188 : #line 19442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25189 : (TARGET_64BIT) &&
25190 : #line 19444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25191 : ( reload_completed)))
25192 : return gen_split_786 (insn, operands);
25193 : break;
25194 :
25195 : default:
25196 : break;
25197 : }
25198 : operands[2] = x5;
25199 : if (!const_int_operand (operands[2], E_QImode))
25200 : return NULL;
25201 : switch (pattern132 (x3))
25202 : {
25203 : case 0:
25204 : if (!
25205 : #line 19530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25206 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)
25207 : && !TARGET_APX_NDD))
25208 : return NULL;
25209 : return gen_split_790 (insn, operands);
25210 :
25211 : case 1:
25212 : if (!(
25213 : #line 19530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25214 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)
25215 : && !TARGET_APX_NDD) &&
25216 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25217 : (TARGET_64BIT)))
25218 : return NULL;
25219 : return gen_split_791 (insn, operands);
25220 :
25221 : default:
25222 : return NULL;
25223 : }
25224 :
25225 : default:
25226 : return NULL;
25227 : }
25228 : }
25229 :
25230 : rtx_insn *
25231 : split_11 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25232 : {
25233 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25234 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25235 : rtx x10, x11;
25236 : rtx_insn *res ATTRIBUTE_UNUSED;
25237 : x2 = XEXP (x1, 1);
25238 : x3 = XEXP (x2, 0);
25239 : switch (GET_CODE (x3))
25240 : {
25241 : case NE:
25242 : case EQ:
25243 : operands[5] = x3;
25244 : if (bt_comparison_operator (operands[5], E_VOIDmode))
25245 : {
25246 : res = split_3 (x1, insn);
25247 : if (res != NULL_RTX)
25248 : return res;
25249 : }
25250 : x4 = XEXP (x3, 0);
25251 : if (!ix86_comparison_operator (x4, E_VOIDmode))
25252 : return NULL;
25253 : operands[0] = x4;
25254 : x5 = XEXP (x4, 0);
25255 : if (GET_CODE (x5) != REG
25256 : || REGNO (x5) != 17)
25257 : return NULL;
25258 : x6 = XEXP (x4, 1);
25259 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25260 : return NULL;
25261 : x7 = XEXP (x3, 1);
25262 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25263 : return NULL;
25264 : x8 = XEXP (x2, 1);
25265 : if (GET_CODE (x8) != LABEL_REF)
25266 : return NULL;
25267 : x9 = XEXP (x2, 2);
25268 : if (GET_CODE (x9) != PC)
25269 : return NULL;
25270 : x10 = XEXP (x1, 0);
25271 : if (GET_CODE (x10) != PC)
25272 : return NULL;
25273 : x11 = XEXP (x8, 0);
25274 : operands[1] = x11;
25275 : switch (GET_CODE (x3))
25276 : {
25277 : case NE:
25278 : return gen_split_870 (insn, operands);
25279 :
25280 : case EQ:
25281 : return gen_split_871 (insn, operands);
25282 :
25283 : default:
25284 : return NULL;
25285 : }
25286 :
25287 : case GEU:
25288 : case LTU:
25289 : operands[1] = x3;
25290 : if (!add_comparison_operator (operands[1], E_VOIDmode))
25291 : return NULL;
25292 : x4 = XEXP (x3, 0);
25293 : if (GET_CODE (x4) != NOT)
25294 : return NULL;
25295 : x8 = XEXP (x2, 1);
25296 : if (GET_CODE (x8) != LABEL_REF)
25297 : return NULL;
25298 : x9 = XEXP (x2, 2);
25299 : if (GET_CODE (x9) != PC)
25300 : return NULL;
25301 : x10 = XEXP (x1, 0);
25302 : if (GET_CODE (x10) != PC)
25303 : return NULL;
25304 : x5 = XEXP (x4, 0);
25305 : operands[2] = x5;
25306 : x7 = XEXP (x3, 1);
25307 : operands[3] = x7;
25308 : x11 = XEXP (x8, 0);
25309 : operands[0] = x11;
25310 : switch (GET_MODE (x4))
25311 : {
25312 : case E_QImode:
25313 : if (!register_operand (operands[2], E_QImode)
25314 : || !nonimmediate_operand (operands[3], E_QImode))
25315 : return NULL;
25316 : return gen_split_865 (insn, operands);
25317 :
25318 : case E_HImode:
25319 : if (!register_operand (operands[2], E_HImode)
25320 : || !nonimmediate_operand (operands[3], E_HImode))
25321 : return NULL;
25322 : return gen_split_866 (insn, operands);
25323 :
25324 : case E_SImode:
25325 : if (!register_operand (operands[2], E_SImode)
25326 : || !nonimmediate_operand (operands[3], E_SImode))
25327 : return NULL;
25328 : return gen_split_867 (insn, operands);
25329 :
25330 : case E_DImode:
25331 : if (!register_operand (operands[2], E_DImode)
25332 : || !nonimmediate_operand (operands[3], E_DImode)
25333 : || !
25334 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25335 : (TARGET_64BIT))
25336 : return NULL;
25337 : return gen_split_868 (insn, operands);
25338 :
25339 : default:
25340 : return NULL;
25341 : }
25342 :
25343 : case GTU:
25344 : case LEU:
25345 : operands[1] = x3;
25346 : if (!shr_comparison_operator (operands[1], E_VOIDmode))
25347 : return NULL;
25348 : x8 = XEXP (x2, 1);
25349 : if (GET_CODE (x8) != LABEL_REF)
25350 : return NULL;
25351 : x9 = XEXP (x2, 2);
25352 : if (GET_CODE (x9) != PC)
25353 : return NULL;
25354 : x10 = XEXP (x1, 0);
25355 : if (GET_CODE (x10) != PC)
25356 : return NULL;
25357 : x4 = XEXP (x3, 0);
25358 : operands[2] = x4;
25359 : if (!register_operand (operands[2], E_DImode))
25360 : return NULL;
25361 : x7 = XEXP (x3, 1);
25362 : operands[3] = x7;
25363 : if (!const_int_operand (operands[3], E_VOIDmode))
25364 : return NULL;
25365 : x11 = XEXP (x8, 0);
25366 : operands[0] = x11;
25367 : if (!
25368 : #line 20780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25369 : (TARGET_64BIT
25370 : && IN_RANGE (exact_log2 (UINTVAL (operands[3]) + 1), 32, 63)))
25371 : return NULL;
25372 : return gen_split_869 (insn, operands);
25373 :
25374 : default:
25375 : return NULL;
25376 : }
25377 : }
25378 :
25379 : rtx_insn *
25380 : split_13 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25381 : {
25382 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25383 : rtx x2, x3, x4;
25384 : rtx_insn *res ATTRIBUTE_UNUSED;
25385 : x2 = XEXP (x1, 0);
25386 : operands[0] = x2;
25387 : x3 = XEXP (x1, 1);
25388 : x4 = XEXP (x3, 0);
25389 : operands[1] = x4;
25390 : switch (GET_MODE (operands[0]))
25391 : {
25392 : case E_SFmode:
25393 : if (GET_MODE (x3) != E_SFmode)
25394 : return NULL;
25395 : if (sse_reg_operand (operands[0], E_SFmode)
25396 : && nonimmediate_operand (operands[1], E_SImode))
25397 : {
25398 : if (
25399 : #line 6311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25400 : (TARGET_SSE2
25401 : && TARGET_USE_VECTOR_CONVERTS
25402 : && optimize_function_for_speed_p (cfun)
25403 : && reload_completed
25404 : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
25405 : && (!EXT_REX_SSE_REG_P (operands[0])
25406 : || TARGET_AVX512VL)))
25407 : return gen_split_85 (insn, operands);
25408 : if (
25409 : #line 6396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25410 : (!TARGET_AVX
25411 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25412 : && epilogue_completed
25413 : && optimize_function_for_speed_p (cfun)
25414 : && (!EXT_REX_SSE_REG_P (operands[0])
25415 : || TARGET_AVX512VL)))
25416 : return gen_split_93 (insn, operands);
25417 : }
25418 : if (register_operand (operands[0], E_SFmode)
25419 : && register_operand (operands[1], E_DImode)
25420 : &&
25421 : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25422 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25423 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
25424 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25425 : && can_create_pseudo_p ()))
25426 : return gen_split_87 (insn, operands);
25427 : if (!sse_reg_operand (operands[0], E_SFmode)
25428 : || !nonimmediate_operand (operands[1], E_DImode)
25429 : || !(
25430 : #line 6396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25431 : (!TARGET_AVX
25432 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25433 : && epilogue_completed
25434 : && optimize_function_for_speed_p (cfun)
25435 : && (!EXT_REX_SSE_REG_P (operands[0])
25436 : || TARGET_AVX512VL)) &&
25437 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25438 : (TARGET_64BIT)))
25439 : return NULL;
25440 : return gen_split_94 (insn, operands);
25441 :
25442 : case E_DFmode:
25443 : if (GET_MODE (x3) != E_DFmode)
25444 : return NULL;
25445 : if (sse_reg_operand (operands[0], E_DFmode)
25446 : && nonimmediate_operand (operands[1], E_SImode))
25447 : {
25448 : if (
25449 : #line 6311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25450 : (TARGET_SSE2
25451 : && TARGET_USE_VECTOR_CONVERTS
25452 : && optimize_function_for_speed_p (cfun)
25453 : && reload_completed
25454 : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
25455 : && (!EXT_REX_SSE_REG_P (operands[0])
25456 : || TARGET_AVX512VL)))
25457 : return gen_split_86 (insn, operands);
25458 : if (
25459 : #line 6396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25460 : (!TARGET_AVX
25461 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25462 : && epilogue_completed
25463 : && optimize_function_for_speed_p (cfun)
25464 : && (!EXT_REX_SSE_REG_P (operands[0])
25465 : || TARGET_AVX512VL)))
25466 : return gen_split_95 (insn, operands);
25467 : }
25468 : if (register_operand (operands[0], E_DFmode)
25469 : && register_operand (operands[1], E_DImode)
25470 : &&
25471 : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25472 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25473 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
25474 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25475 : && can_create_pseudo_p ()))
25476 : return gen_split_88 (insn, operands);
25477 : if (!sse_reg_operand (operands[0], E_DFmode)
25478 : || !nonimmediate_operand (operands[1], E_DImode)
25479 : || !(
25480 : #line 6396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25481 : (!TARGET_AVX
25482 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25483 : && epilogue_completed
25484 : && optimize_function_for_speed_p (cfun)
25485 : && (!EXT_REX_SSE_REG_P (operands[0])
25486 : || TARGET_AVX512VL)) &&
25487 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25488 : (TARGET_64BIT)))
25489 : return NULL;
25490 : return gen_split_96 (insn, operands);
25491 :
25492 : case E_XFmode:
25493 : if (!register_operand (operands[0], E_XFmode)
25494 : || GET_MODE (x3) != E_XFmode
25495 : || !register_operand (operands[1], E_DImode)
25496 : || !
25497 : #line 6340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25498 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25499 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
25500 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25501 : && can_create_pseudo_p ()))
25502 : return NULL;
25503 : return gen_split_89 (insn, operands);
25504 :
25505 : default:
25506 : return NULL;
25507 : }
25508 : }
25509 :
25510 : rtx_insn *
25511 : split_19 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25512 : {
25513 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25514 : rtx x2, x3;
25515 : rtx_insn *res ATTRIBUTE_UNUSED;
25516 : x2 = XVECEXP (x1, 0, 0);
25517 : switch (pattern1192 (x2))
25518 : {
25519 : case 0:
25520 : switch (GET_MODE (operands[0]))
25521 : {
25522 : case E_DImode:
25523 : x3 = XEXP (x2, 1);
25524 : if (GET_MODE (x3) != E_DImode)
25525 : return NULL;
25526 : if (nonimmediate_operand (operands[0], E_DImode)
25527 : && nonimmediate_operand (operands[1], E_DImode)
25528 : && x86_64_hilo_general_operand (operands[2], E_DImode)
25529 : && ((
25530 : #line 6659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25531 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
25532 : #line 1270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25533 : (!TARGET_64BIT)) &&
25534 : #line 6661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25535 : ( reload_completed)))
25536 : return gen_split_104 (insn, operands);
25537 : if (!register_operand (operands[0], E_DImode)
25538 : || !register_operand (operands[1], E_DImode)
25539 : || !x86_64_nonmemory_operand (operands[2], E_DImode))
25540 : return NULL;
25541 : if ((
25542 : #line 7271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25543 : (reload_completed && ix86_avoid_lea_for_add (insn, operands)) &&
25544 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25545 : (TARGET_64BIT)))
25546 : return gen_split_129 (insn, operands);
25547 : if (!(
25548 : #line 7297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25549 : (reload_completed && ix86_lea_for_add_ok (insn, operands)) &&
25550 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25551 : (TARGET_64BIT)))
25552 : return NULL;
25553 : return gen_split_134 (insn, operands);
25554 :
25555 : case E_TImode:
25556 : x3 = XEXP (x2, 1);
25557 : if (pattern568 (x3,
25558 : E_TImode) != 0
25559 : || !((
25560 : #line 6659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25561 : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
25562 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25563 : (TARGET_64BIT)) &&
25564 : #line 6661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25565 : ( reload_completed)))
25566 : return NULL;
25567 : return gen_split_105 (insn, operands);
25568 :
25569 : case E_SImode:
25570 : x3 = XEXP (x2, 1);
25571 : if (pattern1442 (x3,
25572 : E_SImode) != 0)
25573 : return NULL;
25574 : if (
25575 : #line 7271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25576 : (reload_completed && ix86_avoid_lea_for_add (insn, operands)))
25577 : return gen_split_128 (insn, operands);
25578 : if (!
25579 : #line 7297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25580 : (reload_completed && ix86_lea_for_add_ok (insn, operands)))
25581 : return NULL;
25582 : return gen_split_133 (insn, operands);
25583 :
25584 : case E_QImode:
25585 : x3 = XEXP (x2, 1);
25586 : if (pattern1352 (x3,
25587 : E_QImode) != 0
25588 : || !
25589 : #line 7297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25590 : (reload_completed && ix86_lea_for_add_ok (insn, operands)))
25591 : return NULL;
25592 : return gen_split_131 (insn, operands);
25593 :
25594 : case E_HImode:
25595 : if (!register_operand (operands[0], E_HImode))
25596 : return NULL;
25597 : x3 = XEXP (x2, 1);
25598 : if (GET_MODE (x3) != E_HImode
25599 : || !register_operand (operands[1], E_HImode)
25600 : || !nonmemory_operand (operands[2], E_HImode)
25601 : || !
25602 : #line 7297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25603 : (reload_completed && ix86_lea_for_add_ok (insn, operands)))
25604 : return NULL;
25605 : return gen_split_132 (insn, operands);
25606 :
25607 : default:
25608 : return NULL;
25609 : }
25610 :
25611 : case 1:
25612 : if (!(
25613 : #line 7170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25614 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25615 : #line 7193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25616 : ( reload_completed
25617 : && !(rtx_equal_p (operands[0], operands[1])
25618 : || rtx_equal_p (operands[0], operands[2])))))
25619 : return NULL;
25620 : return gen_split_120 (insn, operands);
25621 :
25622 : case 2:
25623 : if (!(
25624 : #line 7170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25625 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25626 : #line 7193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25627 : ( reload_completed
25628 : && !(rtx_equal_p (operands[0], operands[1])
25629 : || rtx_equal_p (operands[0], operands[2])))))
25630 : return NULL;
25631 : return gen_split_121 (insn, operands);
25632 :
25633 : default:
25634 : return NULL;
25635 : }
25636 : }
25637 :
25638 : rtx_insn *
25639 : split_24 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25640 : {
25641 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25642 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25643 : rtx x10, x11;
25644 : rtx_insn *res ATTRIBUTE_UNUSED;
25645 : x2 = XVECEXP (x1, 0, 1);
25646 : if (pattern237 (x2,
25647 : E_CCmode,
25648 : 17) != 0)
25649 : return NULL;
25650 : x3 = XVECEXP (x1, 0, 0);
25651 : x4 = XEXP (x3, 1);
25652 : x5 = XEXP (x4, 0);
25653 : switch (GET_CODE (x5))
25654 : {
25655 : case CONST_INT:
25656 : case CONST_WIDE_INT:
25657 : case CONST_POLY_INT:
25658 : case CONST_FIXED:
25659 : case CONST_DOUBLE:
25660 : case CONST_VECTOR:
25661 : case CONST:
25662 : case REG:
25663 : case SUBREG:
25664 : case MEM:
25665 : case LABEL_REF:
25666 : case SYMBOL_REF:
25667 : case HIGH:
25668 : operands[1] = x5;
25669 : switch (pattern1194 (x3))
25670 : {
25671 : case 0:
25672 : if ((
25673 : #line 13601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25674 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25675 : #line 13605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25676 : ( reload_completed
25677 : && !(rtx_equal_p (operands[0], operands[1])
25678 : || rtx_equal_p (operands[0], operands[2])))))
25679 : return gen_split_295 (insn, operands);
25680 : break;
25681 :
25682 : case 1:
25683 : if ((
25684 : #line 13601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25685 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25686 : #line 13605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25687 : ( reload_completed
25688 : && !(rtx_equal_p (operands[0], operands[1])
25689 : || rtx_equal_p (operands[0], operands[2])))))
25690 : return gen_split_298 (insn, operands);
25691 : break;
25692 :
25693 : case 2:
25694 : if (nonimmediate_operand (operands[0], E_DImode)
25695 : && nonimmediate_operand (operands[1], E_DImode))
25696 : {
25697 : if (x86_64_hilo_general_operand (operands[2], E_DImode)
25698 : && ((
25699 : #line 14382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25700 : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
25701 : #line 1270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25702 : (!TARGET_64BIT)) &&
25703 : #line 14384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25704 : ( reload_completed)))
25705 : return gen_split_394 (insn, operands);
25706 : if (const_int_operand (operands[2], E_DImode)
25707 : && (
25708 : #line 14524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25709 : (TARGET_64BIT && TARGET_USE_BT
25710 : && ix86_binary_operator_ok (XOR, DImode, operands)
25711 : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)) &&
25712 : #line 14528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25713 : ( reload_completed)))
25714 : return gen_split_401 (insn, operands);
25715 : }
25716 : if (const_int_operand (operands[2], E_DImode))
25717 : {
25718 : if (QIreg_operand (operands[0], E_DImode)
25719 : && register_operand (operands[1], E_DImode)
25720 : && (
25721 : #line 14878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25722 : (reload_completed
25723 : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25724 : && !(INTVAL (operands[2]) & ~(255 << 8))
25725 : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))) &&
25726 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25727 : (TARGET_64BIT)))
25728 : return gen_split_429 (insn, operands);
25729 : if (any_QIreg_operand (operands[0], E_DImode)
25730 : && general_operand (operands[1], E_DImode)
25731 : && (
25732 : #line 14916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25733 : (reload_completed
25734 : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25735 : && !(INTVAL (operands[2]) & ~255)
25736 : && (INTVAL (operands[2]) & 128)
25737 : && !(TARGET_APX_NDD
25738 : && !rtx_equal_p (operands[0], operands[1]))) &&
25739 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25740 : (TARGET_64BIT)))
25741 : return gen_split_435 (insn, operands);
25742 : }
25743 : break;
25744 :
25745 : case 3:
25746 : if (((
25747 : #line 14382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25748 : (ix86_binary_operator_ok (XOR, TImode, operands, TARGET_APX_NDD)) &&
25749 : #line 1271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25750 : (TARGET_64BIT)) &&
25751 : #line 14384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25752 : ( reload_completed)))
25753 : return gen_split_396 (insn, operands);
25754 : break;
25755 :
25756 : case 4:
25757 : if (QIreg_operand (operands[0], E_HImode)
25758 : && register_operand (operands[1], E_HImode)
25759 : &&
25760 : #line 14878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25761 : (reload_completed
25762 : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25763 : && !(INTVAL (operands[2]) & ~(255 << 8))
25764 : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
25765 : return gen_split_425 (insn, operands);
25766 : if (any_QIreg_operand (operands[0], E_HImode)
25767 : && general_operand (operands[1], E_HImode)
25768 : &&
25769 : #line 14916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25770 : (reload_completed
25771 : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25772 : && !(INTVAL (operands[2]) & ~255)
25773 : && (INTVAL (operands[2]) & 128)
25774 : && !(TARGET_APX_NDD
25775 : && !rtx_equal_p (operands[0], operands[1]))))
25776 : return gen_split_431 (insn, operands);
25777 : break;
25778 :
25779 : case 5:
25780 : if (QIreg_operand (operands[0], E_SImode)
25781 : && register_operand (operands[1], E_SImode)
25782 : &&
25783 : #line 14878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25784 : (reload_completed
25785 : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25786 : && !(INTVAL (operands[2]) & ~(255 << 8))
25787 : && !(TARGET_APX_NDD && REGNO (operands[0]) != REGNO (operands[1]))))
25788 : return gen_split_427 (insn, operands);
25789 : if (any_QIreg_operand (operands[0], E_SImode)
25790 : && general_operand (operands[1], E_SImode)
25791 : &&
25792 : #line 14916 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25793 : (reload_completed
25794 : && (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25795 : && !(INTVAL (operands[2]) & ~255)
25796 : && (INTVAL (operands[2]) & 128)
25797 : && !(TARGET_APX_NDD
25798 : && !rtx_equal_p (operands[0], operands[1]))))
25799 : return gen_split_433 (insn, operands);
25800 : break;
25801 :
25802 : default:
25803 : break;
25804 : }
25805 : if (GET_CODE (x5) != SUBREG
25806 : || pattern1193 (x4) != 0)
25807 : return NULL;
25808 : x6 = XEXP (x5, 0);
25809 : x7 = XEXP (x6, 0);
25810 : operands[2] = x7;
25811 : switch (pattern1658 (x3))
25812 : {
25813 : case 0:
25814 : if ((
25815 : #line 13626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25816 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25817 : #line 13630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25818 : ( reload_completed
25819 : && !rtx_equal_p (operands[0], operands[1]))))
25820 : return gen_split_301 (insn, operands);
25821 : break;
25822 :
25823 : case 1:
25824 : if ((
25825 : #line 13626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25826 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25827 : #line 13630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25828 : ( reload_completed
25829 : && !rtx_equal_p (operands[0], operands[1]))))
25830 : return gen_split_304 (insn, operands);
25831 : break;
25832 :
25833 : case 2:
25834 : if (((
25835 : #line 13626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25836 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25837 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25838 : (TARGET_64BIT)) &&
25839 : #line 13630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25840 : ( reload_completed
25841 : && !rtx_equal_p (operands[0], operands[1]))))
25842 : return gen_split_307 (insn, operands);
25843 : break;
25844 :
25845 : default:
25846 : break;
25847 : }
25848 : operands[1] = x7;
25849 : switch (pattern1659 (x3))
25850 : {
25851 : case 0:
25852 : if (!(
25853 : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25854 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25855 : #line 13657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25856 : ( reload_completed)))
25857 : return NULL;
25858 : return gen_split_310 (insn, operands);
25859 :
25860 : case 1:
25861 : if (!(
25862 : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25863 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25864 : #line 13657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25865 : ( reload_completed)))
25866 : return NULL;
25867 : return gen_split_313 (insn, operands);
25868 :
25869 : case 2:
25870 : if (!((
25871 : #line 13655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25872 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25873 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25874 : (TARGET_64BIT)) &&
25875 : #line 13657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25876 : ( reload_completed)))
25877 : return NULL;
25878 : return gen_split_316 (insn, operands);
25879 :
25880 : case 3:
25881 : if (!
25882 : #line 13909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25883 : ( reload_completed))
25884 : return NULL;
25885 : return gen_split_330 (insn, operands);
25886 :
25887 : case 4:
25888 : if (!
25889 : #line 13909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25890 : ( reload_completed))
25891 : return NULL;
25892 : return gen_split_333 (insn, operands);
25893 :
25894 : case 5:
25895 : if (!(
25896 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25897 : (TARGET_64BIT) &&
25898 : #line 13909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25899 : ( reload_completed)))
25900 : return NULL;
25901 : return gen_split_336 (insn, operands);
25902 :
25903 : default:
25904 : return NULL;
25905 : }
25906 :
25907 : case XOR:
25908 : x6 = XEXP (x5, 0);
25909 : if (GET_CODE (x6) != IOR)
25910 : return NULL;
25911 : x8 = XEXP (x3, 0);
25912 : operands[0] = x8;
25913 : x7 = XEXP (x6, 0);
25914 : operands[1] = x7;
25915 : x9 = XEXP (x6, 1);
25916 : operands[2] = x9;
25917 : switch (GET_MODE (operands[0]))
25918 : {
25919 : case E_SImode:
25920 : if (pattern1521 (x4,
25921 : E_SImode) != 0)
25922 : return NULL;
25923 : x10 = XEXP (x4, 1);
25924 : operands[3] = x10;
25925 : if (nonimmediate_operand (operands[3], E_SImode))
25926 : {
25927 : if (nonimmediate_operand (operands[2], E_SImode))
25928 : {
25929 : x11 = XEXP (x5, 1);
25930 : if (rtx_equal_p (x11, operands[1])
25931 : &&
25932 : #line 14291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25933 : (TARGET_BMI))
25934 : return gen_split_385 (insn, operands);
25935 : }
25936 : if (register_operand (operands[2], E_SImode))
25937 : {
25938 : x11 = XEXP (x5, 1);
25939 : if (rtx_equal_p (x11, operands[2])
25940 : &&
25941 : #line 14310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25942 : (TARGET_BMI))
25943 : return gen_split_387 (insn, operands);
25944 : }
25945 : }
25946 : x11 = XEXP (x5, 1);
25947 : operands[3] = x11;
25948 : if (!nonimmediate_operand (operands[3], E_SImode))
25949 : return NULL;
25950 : if (nonimmediate_operand (operands[2], E_SImode)
25951 : && rtx_equal_p (x10, operands[1])
25952 : &&
25953 : #line 14329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25954 : (TARGET_BMI))
25955 : return gen_split_389 (insn, operands);
25956 : if (!register_operand (operands[2], E_SImode)
25957 : || !rtx_equal_p (x10, operands[2])
25958 : || !
25959 : #line 14348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25960 : (TARGET_BMI))
25961 : return NULL;
25962 : return gen_split_391 (insn, operands);
25963 :
25964 : case E_DImode:
25965 : if (pattern1521 (x4,
25966 : E_DImode) != 0)
25967 : return NULL;
25968 : x10 = XEXP (x4, 1);
25969 : operands[3] = x10;
25970 : if (nonimmediate_operand (operands[3], E_DImode))
25971 : {
25972 : if (nonimmediate_operand (operands[2], E_DImode))
25973 : {
25974 : x11 = XEXP (x5, 1);
25975 : if (rtx_equal_p (x11, operands[1])
25976 : && (
25977 : #line 14291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25978 : (TARGET_BMI) &&
25979 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25980 : (TARGET_64BIT)))
25981 : return gen_split_386 (insn, operands);
25982 : }
25983 : if (register_operand (operands[2], E_DImode))
25984 : {
25985 : x11 = XEXP (x5, 1);
25986 : if (rtx_equal_p (x11, operands[2])
25987 : && (
25988 : #line 14310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25989 : (TARGET_BMI) &&
25990 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25991 : (TARGET_64BIT)))
25992 : return gen_split_388 (insn, operands);
25993 : }
25994 : }
25995 : x11 = XEXP (x5, 1);
25996 : operands[3] = x11;
25997 : if (!nonimmediate_operand (operands[3], E_DImode))
25998 : return NULL;
25999 : if (nonimmediate_operand (operands[2], E_DImode)
26000 : && rtx_equal_p (x10, operands[1])
26001 : && (
26002 : #line 14329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26003 : (TARGET_BMI) &&
26004 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26005 : (TARGET_64BIT)))
26006 : return gen_split_390 (insn, operands);
26007 : if (!register_operand (operands[2], E_DImode)
26008 : || !rtx_equal_p (x10, operands[2])
26009 : || !(
26010 : #line 14348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26011 : (TARGET_BMI) &&
26012 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26013 : (TARGET_64BIT)))
26014 : return NULL;
26015 : return gen_split_392 (insn, operands);
26016 :
26017 : default:
26018 : return NULL;
26019 : }
26020 :
26021 : case AND:
26022 : x6 = XEXP (x5, 0);
26023 : if (GET_CODE (x6) != XOR)
26024 : return NULL;
26025 : switch (pattern1071 (x3))
26026 : {
26027 : case 0:
26028 : if (!(
26029 : #line 14554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26030 : (TARGET_BMI && ix86_pre_reload_split ()) &&
26031 : #line 14556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26032 : ( 1)))
26033 : return NULL;
26034 : return gen_split_402 (insn, operands);
26035 :
26036 : case 1:
26037 : if (!(
26038 : #line 14554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26039 : (TARGET_BMI && ix86_pre_reload_split ()) &&
26040 : #line 14556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26041 : ( 1)))
26042 : return NULL;
26043 : return gen_split_403 (insn, operands);
26044 :
26045 : case 2:
26046 : if (!((
26047 : #line 14554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26048 : (TARGET_BMI && ix86_pre_reload_split ()) &&
26049 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26050 : (TARGET_64BIT)) &&
26051 : #line 14556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26052 : ( 1)))
26053 : return NULL;
26054 : return gen_split_404 (insn, operands);
26055 :
26056 : default:
26057 : return NULL;
26058 : }
26059 :
26060 : case ASHIFT:
26061 : switch (pattern1079 (x3,
26062 : 1))
26063 : {
26064 : case 0:
26065 : if (!(
26066 : #line 19823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26067 : (TARGET_USE_BT
26068 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
26069 : == GET_MODE_BITSIZE (SImode)-1
26070 : && ix86_pre_reload_split ()) &&
26071 : #line 19828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26072 : ( 1)))
26073 : return NULL;
26074 : return gen_split_803 (insn, operands);
26075 :
26076 : case 1:
26077 : if (!((
26078 : #line 19823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26079 : (TARGET_USE_BT
26080 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
26081 : == GET_MODE_BITSIZE (DImode)-1
26082 : && ix86_pre_reload_split ()) &&
26083 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26084 : (TARGET_64BIT)) &&
26085 : #line 19828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26086 : ( 1)))
26087 : return NULL;
26088 : return gen_split_805 (insn, operands);
26089 :
26090 : case 2:
26091 : if (!(
26092 : #line 19851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26093 : (TARGET_USE_BT
26094 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
26095 : == GET_MODE_BITSIZE (SImode)-1
26096 : && ix86_pre_reload_split ()) &&
26097 : #line 19856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26098 : ( 1)))
26099 : return NULL;
26100 : return gen_split_807 (insn, operands);
26101 :
26102 : case 3:
26103 : if (!((
26104 : #line 19851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26105 : (TARGET_USE_BT
26106 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
26107 : == GET_MODE_BITSIZE (DImode)-1
26108 : && ix86_pre_reload_split ()) &&
26109 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26110 : (TARGET_64BIT)) &&
26111 : #line 19856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26112 : ( 1)))
26113 : return NULL;
26114 : return gen_split_809 (insn, operands);
26115 :
26116 : default:
26117 : return NULL;
26118 : }
26119 :
26120 : case SIGN_EXTEND:
26121 : if (pattern1080 (x3) != 0
26122 : || !(
26123 : #line 22373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26124 : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) &&
26125 : #line 22375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26126 : ( 1)))
26127 : return NULL;
26128 : return gen_split_882 (insn, operands);
26129 :
26130 : case ZERO_EXTEND:
26131 : if (pattern1080 (x3) != 0
26132 : || !(
26133 : #line 22373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26134 : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) &&
26135 : #line 22375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26136 : ( 1)))
26137 : return NULL;
26138 : return gen_split_883 (insn, operands);
26139 :
26140 : case PLUS:
26141 : x11 = XEXP (x5, 1);
26142 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
26143 : return NULL;
26144 : switch (pattern962 (x3))
26145 : {
26146 : case 0:
26147 : if (!
26148 : #line 22931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26149 : (TARGET_AVOID_FALSE_DEP_FOR_BLS
26150 : && epilogue_completed
26151 : && optimize_function_for_speed_p (cfun)
26152 : && !reg_mentioned_p (operands[0], operands[1])))
26153 : return NULL;
26154 : return gen_split_910 (insn, operands);
26155 :
26156 : case 1:
26157 : if (!(
26158 : #line 22931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26159 : (TARGET_AVOID_FALSE_DEP_FOR_BLS
26160 : && epilogue_completed
26161 : && optimize_function_for_speed_p (cfun)
26162 : && !reg_mentioned_p (operands[0], operands[1])) &&
26163 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26164 : (TARGET_64BIT)))
26165 : return NULL;
26166 : return gen_split_911 (insn, operands);
26167 :
26168 : default:
26169 : return NULL;
26170 : }
26171 :
26172 : default:
26173 : return NULL;
26174 : }
26175 : }
26176 :
26177 : rtx_insn *
26178 : split_35 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26179 : {
26180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26181 : rtx x2, x3, x4, x5, x6;
26182 : rtx_insn *res ATTRIBUTE_UNUSED;
26183 : switch (pattern409 (x1))
26184 : {
26185 : case 0:
26186 : if (!(
26187 : #line 19169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26188 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26189 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
26190 : == GET_MODE_BITSIZE (QImode)-1
26191 : && ix86_pre_reload_split ()) &&
26192 : #line 19174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26193 : ( 1)))
26194 : return NULL;
26195 : return gen_split_700 (insn, operands);
26196 :
26197 : case 1:
26198 : if (!(
26199 : #line 19169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26200 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26201 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
26202 : == GET_MODE_BITSIZE (HImode)-1
26203 : && ix86_pre_reload_split ()) &&
26204 : #line 19174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26205 : ( 1)))
26206 : return NULL;
26207 : return gen_split_702 (insn, operands);
26208 :
26209 : case 2:
26210 : if (!(
26211 : #line 19169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26212 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26213 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
26214 : == GET_MODE_BITSIZE (SImode)-1
26215 : && ix86_pre_reload_split ()) &&
26216 : #line 19174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26217 : ( 1)))
26218 : return NULL;
26219 : return gen_split_704 (insn, operands);
26220 :
26221 : case 3:
26222 : if (!((
26223 : #line 19169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26224 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26225 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
26226 : == GET_MODE_BITSIZE (DImode)-1
26227 : && ix86_pre_reload_split ()) &&
26228 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26229 : (TARGET_64BIT)) &&
26230 : #line 19174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26231 : ( 1)))
26232 : return NULL;
26233 : return gen_split_706 (insn, operands);
26234 :
26235 : case 4:
26236 : if (!(
26237 : #line 19250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26238 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26239 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
26240 : && ix86_pre_reload_split ()) &&
26241 : #line 19254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26242 : ( 1)))
26243 : return NULL;
26244 : return gen_split_732 (insn, operands);
26245 :
26246 : case 5:
26247 : if (!(
26248 : #line 19250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26249 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26250 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
26251 : && ix86_pre_reload_split ()) &&
26252 : #line 19254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26253 : ( 1)))
26254 : return NULL;
26255 : return gen_split_734 (insn, operands);
26256 :
26257 : case 6:
26258 : if (!(
26259 : #line 19250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26260 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26261 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26262 : && ix86_pre_reload_split ()) &&
26263 : #line 19254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26264 : ( 1)))
26265 : return NULL;
26266 : return gen_split_736 (insn, operands);
26267 :
26268 : case 7:
26269 : if (!((
26270 : #line 19250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26271 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26272 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26273 : && ix86_pre_reload_split ()) &&
26274 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26275 : (TARGET_64BIT)) &&
26276 : #line 19254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26277 : ( 1)))
26278 : return NULL;
26279 : return gen_split_738 (insn, operands);
26280 :
26281 : case 8:
26282 : if (!(
26283 : #line 19319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26284 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26285 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
26286 : && ix86_pre_reload_split ()) &&
26287 : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26288 : ( 1)))
26289 : return NULL;
26290 : return gen_split_764 (insn, operands);
26291 :
26292 : case 9:
26293 : if (!(
26294 : #line 19319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26295 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26296 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
26297 : && ix86_pre_reload_split ()) &&
26298 : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26299 : ( 1)))
26300 : return NULL;
26301 : return gen_split_766 (insn, operands);
26302 :
26303 : case 10:
26304 : if (!(
26305 : #line 19319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26306 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26307 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26308 : && ix86_pre_reload_split ()) &&
26309 : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26310 : ( 1)))
26311 : return NULL;
26312 : return gen_split_768 (insn, operands);
26313 :
26314 : case 11:
26315 : if (!((
26316 : #line 19319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26317 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26318 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26319 : && ix86_pre_reload_split ()) &&
26320 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26321 : (TARGET_64BIT)) &&
26322 : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26323 : ( 1)))
26324 : return NULL;
26325 : return gen_split_770 (insn, operands);
26326 :
26327 : case 12:
26328 : x2 = XVECEXP (x1, 0, 0);
26329 : x3 = XEXP (x2, 0);
26330 : operands[0] = x3;
26331 : x4 = XEXP (x2, 1);
26332 : switch (pattern1195 (x4))
26333 : {
26334 : case 0:
26335 : if ((
26336 : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26337 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26338 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
26339 : == GET_MODE_BITSIZE (QImode)-1
26340 : && ix86_pre_reload_split ()) &&
26341 : #line 19126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26342 : ( 1)))
26343 : return gen_split_684 (insn, operands);
26344 : break;
26345 :
26346 : case 1:
26347 : if ((
26348 : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26349 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26350 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
26351 : == GET_MODE_BITSIZE (HImode)-1
26352 : && ix86_pre_reload_split ()) &&
26353 : #line 19126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26354 : ( 1)))
26355 : return gen_split_686 (insn, operands);
26356 : break;
26357 :
26358 : case 2:
26359 : if ((
26360 : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26361 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26362 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
26363 : == GET_MODE_BITSIZE (SImode)-1
26364 : && ix86_pre_reload_split ()) &&
26365 : #line 19126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26366 : ( 1)))
26367 : return gen_split_688 (insn, operands);
26368 : break;
26369 :
26370 : case 3:
26371 : if (((
26372 : #line 19121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26373 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26374 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
26375 : == GET_MODE_BITSIZE (DImode)-1
26376 : && ix86_pre_reload_split ()) &&
26377 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26378 : (TARGET_64BIT)) &&
26379 : #line 19126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26380 : ( 1)))
26381 : return gen_split_690 (insn, operands);
26382 : break;
26383 :
26384 : case 4:
26385 : if ((
26386 : #line 19214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26387 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26388 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
26389 : && ix86_pre_reload_split ()) &&
26390 : #line 19218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26391 : ( 1)))
26392 : return gen_split_716 (insn, operands);
26393 : break;
26394 :
26395 : case 5:
26396 : if ((
26397 : #line 19214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26398 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26399 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
26400 : && ix86_pre_reload_split ()) &&
26401 : #line 19218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26402 : ( 1)))
26403 : return gen_split_718 (insn, operands);
26404 : break;
26405 :
26406 : case 6:
26407 : if ((
26408 : #line 19214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26409 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26410 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26411 : && ix86_pre_reload_split ()) &&
26412 : #line 19218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26413 : ( 1)))
26414 : return gen_split_720 (insn, operands);
26415 : break;
26416 :
26417 : case 7:
26418 : if (((
26419 : #line 19214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26420 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26421 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26422 : && ix86_pre_reload_split ()) &&
26423 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26424 : (TARGET_64BIT)) &&
26425 : #line 19218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26426 : ( 1)))
26427 : return gen_split_722 (insn, operands);
26428 : break;
26429 :
26430 : case 8:
26431 : if ((
26432 : #line 19283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26433 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26434 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
26435 : && ix86_pre_reload_split ()) &&
26436 : #line 19287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26437 : ( 1)))
26438 : return gen_split_748 (insn, operands);
26439 : break;
26440 :
26441 : case 9:
26442 : if ((
26443 : #line 19283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26444 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26445 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
26446 : && ix86_pre_reload_split ()) &&
26447 : #line 19287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26448 : ( 1)))
26449 : return gen_split_750 (insn, operands);
26450 : break;
26451 :
26452 : case 10:
26453 : if ((
26454 : #line 19283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26455 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26456 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26457 : && ix86_pre_reload_split ()) &&
26458 : #line 19287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26459 : ( 1)))
26460 : return gen_split_752 (insn, operands);
26461 : break;
26462 :
26463 : case 11:
26464 : if (((
26465 : #line 19283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26466 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26467 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26468 : && ix86_pre_reload_split ()) &&
26469 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26470 : (TARGET_64BIT)) &&
26471 : #line 19287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26472 : ( 1)))
26473 : return gen_split_754 (insn, operands);
26474 : break;
26475 :
26476 : case 12:
26477 : x5 = XEXP (x4, 1);
26478 : operands[2] = x5;
26479 : switch (pattern1356 (x4))
26480 : {
26481 : case 0:
26482 : if (
26483 : #line 19517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26484 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)))
26485 : return gen_split_788 (insn, operands);
26486 : break;
26487 :
26488 : case 1:
26489 : if ((
26490 : #line 19517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26491 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)) &&
26492 : #line 1202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26493 : (TARGET_64BIT)))
26494 : return gen_split_789 (insn, operands);
26495 : break;
26496 :
26497 : default:
26498 : break;
26499 : }
26500 : if (XWINT (x5, 0) == 8L
26501 : && register_operand (operands[0], E_HImode)
26502 : && GET_MODE (x4) == E_HImode)
26503 : {
26504 : x6 = XEXP (x4, 0);
26505 : if (rtx_equal_p (x6, operands[0]))
26506 : return gen_split_800 (insn, operands);
26507 : }
26508 : break;
26509 :
26510 : default:
26511 : break;
26512 : }
26513 : x5 = XEXP (x4, 1);
26514 : operands[2] = x5;
26515 : switch (pattern1196 (x2))
26516 : {
26517 : case 0:
26518 : if (!(
26519 : #line 19686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26520 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26521 : #line 19693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26522 : ( reload_completed
26523 : && !(rtx_equal_p (operands[0], operands[1])))))
26524 : return NULL;
26525 : return gen_split_796 (insn, operands);
26526 :
26527 : case 1:
26528 : if (!(
26529 : #line 19686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26530 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26531 : #line 19693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26532 : ( reload_completed
26533 : && !(rtx_equal_p (operands[0], operands[1])))))
26534 : return NULL;
26535 : return gen_split_798 (insn, operands);
26536 :
26537 : default:
26538 : return NULL;
26539 : }
26540 :
26541 : default:
26542 : return NULL;
26543 : }
26544 : }
26545 :
26546 : rtx_insn *
26547 : split_47 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26548 : {
26549 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26550 : rtx x2, x3, x4;
26551 : rtx_insn *res ATTRIBUTE_UNUSED;
26552 : x2 = XEXP (x1, 1);
26553 : operands[1] = x2;
26554 : x3 = XEXP (x1, 0);
26555 : operands[0] = x3;
26556 : switch (GET_MODE (operands[0]))
26557 : {
26558 : case E_V8QImode:
26559 : if (nonimmediate_gr_operand (operands[0], E_V8QImode)
26560 : && nonimmediate_gr_operand (operands[1], E_V8QImode)
26561 : &&
26562 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26563 : (!TARGET_64BIT && reload_completed))
26564 : return gen_split_1015 (insn, operands);
26565 : if (general_reg_operand (operands[0], E_V8QImode)
26566 : && memory_operand (operands[1], E_V8QImode)
26567 : && (
26568 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26569 : (reload_completed
26570 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26571 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26572 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26573 : (TARGET_64BIT)))
26574 : return gen_split_1045 (insn, operands);
26575 : break;
26576 :
26577 : case E_V4HImode:
26578 : if (nonimmediate_gr_operand (operands[0], E_V4HImode)
26579 : && nonimmediate_gr_operand (operands[1], E_V4HImode)
26580 : &&
26581 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26582 : (!TARGET_64BIT && reload_completed))
26583 : return gen_split_1016 (insn, operands);
26584 : if (general_reg_operand (operands[0], E_V4HImode)
26585 : && memory_operand (operands[1], E_V4HImode)
26586 : && (
26587 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26588 : (reload_completed
26589 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26590 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26591 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26592 : (TARGET_64BIT)))
26593 : return gen_split_1046 (insn, operands);
26594 : break;
26595 :
26596 : case E_V2SImode:
26597 : if (nonimmediate_gr_operand (operands[0], E_V2SImode)
26598 : && nonimmediate_gr_operand (operands[1], E_V2SImode)
26599 : &&
26600 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26601 : (!TARGET_64BIT && reload_completed))
26602 : return gen_split_1017 (insn, operands);
26603 : if (general_reg_operand (operands[0], E_V2SImode)
26604 : && memory_operand (operands[1], E_V2SImode)
26605 : && (
26606 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26607 : (reload_completed
26608 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26609 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26610 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26611 : (TARGET_64BIT)))
26612 : return gen_split_1049 (insn, operands);
26613 : break;
26614 :
26615 : case E_V1DImode:
26616 : if (nonimmediate_gr_operand (operands[0], E_V1DImode)
26617 : && nonimmediate_gr_operand (operands[1], E_V1DImode)
26618 : &&
26619 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26620 : (!TARGET_64BIT && reload_completed))
26621 : return gen_split_1018 (insn, operands);
26622 : if (general_reg_operand (operands[0], E_V1DImode)
26623 : && memory_operand (operands[1], E_V1DImode)
26624 : && (
26625 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26626 : (reload_completed
26627 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26628 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26629 : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26630 : (TARGET_64BIT)))
26631 : return gen_split_1051 (insn, operands);
26632 : break;
26633 :
26634 : case E_V2SFmode:
26635 : if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
26636 : && nonimmediate_gr_operand (operands[1], E_V2SFmode)
26637 : &&
26638 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26639 : (!TARGET_64BIT && reload_completed))
26640 : return gen_split_1019 (insn, operands);
26641 : if (general_reg_operand (operands[0], E_V2SFmode)
26642 : && memory_operand (operands[1], E_V2SFmode)
26643 : && (
26644 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26645 : (reload_completed
26646 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26647 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26648 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26649 : (TARGET_64BIT)))
26650 : return gen_split_1050 (insn, operands);
26651 : break;
26652 :
26653 : case E_V4HFmode:
26654 : if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
26655 : && nonimmediate_gr_operand (operands[1], E_V4HFmode)
26656 : &&
26657 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26658 : (!TARGET_64BIT && reload_completed))
26659 : return gen_split_1020 (insn, operands);
26660 : if (general_reg_operand (operands[0], E_V4HFmode)
26661 : && memory_operand (operands[1], E_V4HFmode)
26662 : && (
26663 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26664 : (reload_completed
26665 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26666 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26667 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26668 : (TARGET_64BIT)))
26669 : return gen_split_1047 (insn, operands);
26670 : break;
26671 :
26672 : case E_V4BFmode:
26673 : if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
26674 : && nonimmediate_gr_operand (operands[1], E_V4BFmode)
26675 : &&
26676 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26677 : (!TARGET_64BIT && reload_completed))
26678 : return gen_split_1021 (insn, operands);
26679 : if (general_reg_operand (operands[0], E_V4BFmode)
26680 : && memory_operand (operands[1], E_V4BFmode)
26681 : && (
26682 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26683 : (reload_completed
26684 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26685 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26686 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26687 : (TARGET_64BIT)))
26688 : return gen_split_1048 (insn, operands);
26689 : break;
26690 :
26691 : case E_V4QImode:
26692 : if (push_operand (operands[0], E_V4QImode)
26693 : && sse_reg_operand (operands[1], E_V4QImode))
26694 : {
26695 : if ((
26696 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26697 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26698 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26699 : (Pmode == SImode)))
26700 : return gen_split_1029 (insn, operands);
26701 : if ((
26702 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26703 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26704 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26705 : (Pmode == DImode)))
26706 : return gen_split_1034 (insn, operands);
26707 : }
26708 : if (general_reg_operand (operands[0], E_V4QImode)
26709 : && memory_operand (operands[1], E_V4QImode)
26710 : &&
26711 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26712 : (reload_completed
26713 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26714 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26715 : return gen_split_1040 (insn, operands);
26716 : break;
26717 :
26718 : case E_V2HImode:
26719 : if (push_operand (operands[0], E_V2HImode)
26720 : && sse_reg_operand (operands[1], E_V2HImode))
26721 : {
26722 : if ((
26723 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26724 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26725 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26726 : (Pmode == SImode)))
26727 : return gen_split_1030 (insn, operands);
26728 : if ((
26729 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26730 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26731 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26732 : (Pmode == DImode)))
26733 : return gen_split_1035 (insn, operands);
26734 : }
26735 : if (general_reg_operand (operands[0], E_V2HImode)
26736 : && memory_operand (operands[1], E_V2HImode)
26737 : &&
26738 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26739 : (reload_completed
26740 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26741 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26742 : return gen_split_1041 (insn, operands);
26743 : break;
26744 :
26745 : case E_V1SImode:
26746 : if (push_operand (operands[0], E_V1SImode)
26747 : && sse_reg_operand (operands[1], E_V1SImode))
26748 : {
26749 : if ((
26750 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26751 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26752 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26753 : (Pmode == SImode)))
26754 : return gen_split_1031 (insn, operands);
26755 : if ((
26756 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26757 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26758 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26759 : (Pmode == DImode)))
26760 : return gen_split_1036 (insn, operands);
26761 : }
26762 : if (general_reg_operand (operands[0], E_V1SImode)
26763 : && memory_operand (operands[1], E_V1SImode)
26764 : &&
26765 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26766 : (reload_completed
26767 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26768 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26769 : return gen_split_1042 (insn, operands);
26770 : break;
26771 :
26772 : case E_V2HFmode:
26773 : if (push_operand (operands[0], E_V2HFmode)
26774 : && sse_reg_operand (operands[1], E_V2HFmode))
26775 : {
26776 : if ((
26777 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26778 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26779 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26780 : (Pmode == SImode)))
26781 : return gen_split_1032 (insn, operands);
26782 : if ((
26783 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26784 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26785 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26786 : (Pmode == DImode)))
26787 : return gen_split_1037 (insn, operands);
26788 : }
26789 : if (general_reg_operand (operands[0], E_V2HFmode)
26790 : && memory_operand (operands[1], E_V2HFmode)
26791 : &&
26792 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26793 : (reload_completed
26794 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26795 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26796 : return gen_split_1043 (insn, operands);
26797 : break;
26798 :
26799 : case E_V2BFmode:
26800 : if (push_operand (operands[0], E_V2BFmode)
26801 : && sse_reg_operand (operands[1], E_V2BFmode))
26802 : {
26803 : if ((
26804 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26805 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26806 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26807 : (Pmode == SImode)))
26808 : return gen_split_1033 (insn, operands);
26809 : if ((
26810 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26811 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26812 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26813 : (Pmode == DImode)))
26814 : return gen_split_1038 (insn, operands);
26815 : }
26816 : if (general_reg_operand (operands[0], E_V2BFmode)
26817 : && memory_operand (operands[1], E_V2BFmode)
26818 : &&
26819 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26820 : (reload_completed
26821 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26822 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26823 : return gen_split_1044 (insn, operands);
26824 : break;
26825 :
26826 : case E_V2QImode:
26827 : if (general_reg_operand (operands[0], E_V2QImode)
26828 : && memory_operand (operands[1], E_V2QImode)
26829 : &&
26830 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26831 : (reload_completed
26832 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26833 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26834 : return gen_split_1039 (insn, operands);
26835 : if (push_operand (operands[0], E_V2QImode)
26836 : && sse_reg_operand (operands[1], E_V2QImode))
26837 : {
26838 : if ((
26839 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26840 : (TARGET_SSE4_1 && reload_completed) &&
26841 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26842 : (Pmode == SImode)))
26843 : return gen_split_1065 (insn, operands);
26844 : if ((
26845 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26846 : (TARGET_SSE4_1 && reload_completed) &&
26847 : #line 1433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26848 : (Pmode == DImode)))
26849 : return gen_split_1066 (insn, operands);
26850 : }
26851 : break;
26852 :
26853 : case E_P2QImode:
26854 : if (nonimmediate_operand (operands[0], E_P2QImode)
26855 : && nonimmediate_operand (operands[1], E_P2QImode)
26856 : && (
26857 : #line 32392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26858 : (TARGET_AVX512VP2INTERSECT
26859 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26860 : #line 32395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26861 : ( reload_completed)))
26862 : return gen_split_3950 (insn, operands);
26863 : break;
26864 :
26865 : case E_P2HImode:
26866 : if (nonimmediate_operand (operands[0], E_P2HImode)
26867 : && nonimmediate_operand (operands[1], E_P2HImode)
26868 : && (
26869 : #line 32392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26870 : (TARGET_AVX512VP2INTERSECT
26871 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26872 : #line 32395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26873 : ( reload_completed)))
26874 : return gen_split_3951 (insn, operands);
26875 : break;
26876 :
26877 : default:
26878 : break;
26879 : }
26880 : if (GET_CODE (x2) != SUBREG)
26881 : return NULL;
26882 : operands[0] = x3;
26883 : switch (SUBREG_BYTE (x2))
26884 : {
26885 : case 8:
26886 : if (GET_MODE (x2) != E_DFmode
26887 : || !register_operand (operands[0], E_DFmode))
26888 : return NULL;
26889 : x4 = XEXP (x2, 0);
26890 : operands[1] = x4;
26891 : if (!register_operand (operands[1], E_V2DFmode)
26892 : || !
26893 : #line 15356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26894 : (TARGET_SSE))
26895 : return NULL;
26896 : return gen_split_3252 (insn, operands);
26897 :
26898 : case 0:
26899 : x4 = XEXP (x2, 0);
26900 : switch (GET_CODE (x4))
26901 : {
26902 : case REG:
26903 : case SUBREG:
26904 : operands[1] = x4;
26905 : switch (GET_MODE (operands[0]))
26906 : {
26907 : case E_DFmode:
26908 : if (!register_operand (operands[0], E_DFmode)
26909 : || GET_MODE (x2) != E_DFmode
26910 : || !register_operand (operands[1], E_V2DFmode)
26911 : || !
26912 : #line 15409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26913 : (TARGET_SSE))
26914 : return NULL;
26915 : return gen_split_3254 (insn, operands);
26916 :
26917 : case E_SImode:
26918 : if (!nonimmediate_operand (operands[0], E_SImode)
26919 : || GET_MODE (x2) != E_SImode
26920 : || !register_operand (operands[1], E_VOIDmode)
26921 : || !
26922 : #line 22280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26923 : (can_create_pseudo_p ()
26924 : && REG_P (operands[1])
26925 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26926 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26927 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26928 : || (TARGET_AVX512F
26929 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26930 : && (SImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26931 : return NULL;
26932 : return gen_split_3513 (insn, operands);
26933 :
26934 : case E_DImode:
26935 : if (!nonimmediate_operand (operands[0], E_DImode)
26936 : || GET_MODE (x2) != E_DImode
26937 : || !register_operand (operands[1], E_VOIDmode)
26938 : || !
26939 : #line 22280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26940 : (can_create_pseudo_p ()
26941 : && REG_P (operands[1])
26942 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26943 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26944 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26945 : || (TARGET_AVX512F
26946 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26947 : && (DImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26948 : return NULL;
26949 : return gen_split_3514 (insn, operands);
26950 :
26951 : default:
26952 : return NULL;
26953 : }
26954 :
26955 : case SS_TRUNCATE:
26956 : switch (pattern739 (x2))
26957 : {
26958 : case 0:
26959 : if (!(
26960 : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26961 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26962 : #line 16131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26963 : ( 1)))
26964 : return NULL;
26965 : return gen_split_3266 (insn, operands);
26966 :
26967 : case 1:
26968 : if (!(
26969 : #line 16224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26970 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26971 : #line 16226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26972 : ( 1)))
26973 : return NULL;
26974 : return gen_split_3269 (insn, operands);
26975 :
26976 : case 2:
26977 : if (!(
26978 : #line 16224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26979 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26980 : #line 16226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26981 : ( 1)))
26982 : return NULL;
26983 : return gen_split_3272 (insn, operands);
26984 :
26985 : case 3:
26986 : if (!(
26987 : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26988 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26989 : #line 16573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26990 : ( 1)))
26991 : return NULL;
26992 : return gen_split_3288 (insn, operands);
26993 :
26994 : case 4:
26995 : if (!((
26996 : #line 16322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26997 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26998 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26999 : (TARGET_AVX512BW)) &&
27000 : #line 16324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27001 : ( 1)))
27002 : return NULL;
27003 : return gen_split_3275 (insn, operands);
27004 :
27005 : case 5:
27006 : if (!(
27007 : #line 16322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27008 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27009 : #line 16324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27010 : ( 1)))
27011 : return NULL;
27012 : return gen_split_3278 (insn, operands);
27013 :
27014 : case 6:
27015 : if (!(
27016 : #line 16834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27017 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
27018 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27019 : ( 1)))
27020 : return NULL;
27021 : return gen_split_3295 (insn, operands);
27022 :
27023 : case 7:
27024 : if (!(
27025 : #line 16484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27026 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27027 : #line 16486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27028 : ( 1)))
27029 : return NULL;
27030 : return gen_split_3282 (insn, operands);
27031 :
27032 : case 8:
27033 : if (!(
27034 : #line 16484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27035 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27036 : #line 16486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27037 : ( 1)))
27038 : return NULL;
27039 : return gen_split_3285 (insn, operands);
27040 :
27041 : case 9:
27042 : if (!(
27043 : #line 16721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27044 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27045 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27046 : ( 1)))
27047 : return NULL;
27048 : return gen_split_3292 (insn, operands);
27049 :
27050 : default:
27051 : return NULL;
27052 : }
27053 :
27054 : case TRUNCATE:
27055 : switch (pattern739 (x2))
27056 : {
27057 : case 0:
27058 : if (!(
27059 : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27060 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27061 : #line 16131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27062 : ( 1)))
27063 : return NULL;
27064 : return gen_split_3267 (insn, operands);
27065 :
27066 : case 1:
27067 : if (!(
27068 : #line 16224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27069 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27070 : #line 16226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27071 : ( 1)))
27072 : return NULL;
27073 : return gen_split_3270 (insn, operands);
27074 :
27075 : case 2:
27076 : if (!(
27077 : #line 16224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27078 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27079 : #line 16226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27080 : ( 1)))
27081 : return NULL;
27082 : return gen_split_3273 (insn, operands);
27083 :
27084 : case 3:
27085 : if (!(
27086 : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27087 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27088 : #line 16573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27089 : ( 1)))
27090 : return NULL;
27091 : return gen_split_3289 (insn, operands);
27092 :
27093 : case 4:
27094 : if (!((
27095 : #line 16322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27096 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27097 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27098 : (TARGET_AVX512BW)) &&
27099 : #line 16324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27100 : ( 1)))
27101 : return NULL;
27102 : return gen_split_3276 (insn, operands);
27103 :
27104 : case 5:
27105 : if (!(
27106 : #line 16322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27107 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27108 : #line 16324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27109 : ( 1)))
27110 : return NULL;
27111 : return gen_split_3279 (insn, operands);
27112 :
27113 : case 6:
27114 : if (!(
27115 : #line 16834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27116 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
27117 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27118 : ( 1)))
27119 : return NULL;
27120 : return gen_split_3296 (insn, operands);
27121 :
27122 : case 7:
27123 : if (!(
27124 : #line 16484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27125 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27126 : #line 16486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27127 : ( 1)))
27128 : return NULL;
27129 : return gen_split_3283 (insn, operands);
27130 :
27131 : case 8:
27132 : if (!(
27133 : #line 16484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27134 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27135 : #line 16486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27136 : ( 1)))
27137 : return NULL;
27138 : return gen_split_3286 (insn, operands);
27139 :
27140 : case 9:
27141 : if (!(
27142 : #line 16721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27143 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27144 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27145 : ( 1)))
27146 : return NULL;
27147 : return gen_split_3293 (insn, operands);
27148 :
27149 : default:
27150 : return NULL;
27151 : }
27152 :
27153 : case US_TRUNCATE:
27154 : switch (pattern739 (x2))
27155 : {
27156 : case 0:
27157 : if (!(
27158 : #line 16129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27159 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27160 : #line 16131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27161 : ( 1)))
27162 : return NULL;
27163 : return gen_split_3268 (insn, operands);
27164 :
27165 : case 1:
27166 : if (!(
27167 : #line 16224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27168 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27169 : #line 16226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27170 : ( 1)))
27171 : return NULL;
27172 : return gen_split_3271 (insn, operands);
27173 :
27174 : case 2:
27175 : if (!(
27176 : #line 16224 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27177 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27178 : #line 16226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27179 : ( 1)))
27180 : return NULL;
27181 : return gen_split_3274 (insn, operands);
27182 :
27183 : case 3:
27184 : if (!(
27185 : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27186 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27187 : #line 16573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27188 : ( 1)))
27189 : return NULL;
27190 : return gen_split_3290 (insn, operands);
27191 :
27192 : case 4:
27193 : if (!((
27194 : #line 16322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27195 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27196 : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27197 : (TARGET_AVX512BW)) &&
27198 : #line 16324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27199 : ( 1)))
27200 : return NULL;
27201 : return gen_split_3277 (insn, operands);
27202 :
27203 : case 5:
27204 : if (!(
27205 : #line 16322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27206 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27207 : #line 16324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27208 : ( 1)))
27209 : return NULL;
27210 : return gen_split_3280 (insn, operands);
27211 :
27212 : case 6:
27213 : if (!(
27214 : #line 16834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27215 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
27216 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27217 : ( 1)))
27218 : return NULL;
27219 : return gen_split_3297 (insn, operands);
27220 :
27221 : case 7:
27222 : if (!(
27223 : #line 16484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27224 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27225 : #line 16486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27226 : ( 1)))
27227 : return NULL;
27228 : return gen_split_3284 (insn, operands);
27229 :
27230 : case 8:
27231 : if (!(
27232 : #line 16484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27233 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27234 : #line 16486 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27235 : ( 1)))
27236 : return NULL;
27237 : return gen_split_3287 (insn, operands);
27238 :
27239 : case 9:
27240 : if (!(
27241 : #line 16721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27242 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
27243 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27244 : ( 1)))
27245 : return NULL;
27246 : return gen_split_3294 (insn, operands);
27247 :
27248 : default:
27249 : return NULL;
27250 : }
27251 :
27252 : default:
27253 : return NULL;
27254 : }
27255 :
27256 : default:
27257 : return NULL;
27258 : }
27259 : }
27260 :
27261 : rtx_insn *
27262 : split_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27263 : {
27264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27265 : rtx x2, x3, x4;
27266 : rtx_insn *res ATTRIBUTE_UNUSED;
27267 : x2 = XEXP (x1, 1);
27268 : x3 = XEXP (x2, 0);
27269 : x4 = XEXP (x3, 0);
27270 : switch (GET_CODE (x4))
27271 : {
27272 : case REG:
27273 : case SUBREG:
27274 : case MEM:
27275 : case NOT:
27276 : switch (pattern537 (x2))
27277 : {
27278 : case 0:
27279 : if (!((
27280 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27281 : ((64 == 64 || TARGET_AVX512VL
27282 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27283 : && ix86_pre_reload_split ()
27284 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27285 : STRIP_UNARY (operands[4]))
27286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27287 : STRIP_UNARY (operands[4]))
27288 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27289 : STRIP_UNARY (operands[3]))
27290 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27291 : STRIP_UNARY (operands[3])))) &&
27292 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27293 : (TARGET_AVX512F)) &&
27294 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27295 : ( 1)))
27296 : return NULL;
27297 : return gen_split_1739 (insn, operands);
27298 :
27299 : case 1:
27300 : if (!((
27301 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27302 : ((32 == 64 || TARGET_AVX512VL
27303 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27304 : && ix86_pre_reload_split ()
27305 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27306 : STRIP_UNARY (operands[4]))
27307 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27308 : STRIP_UNARY (operands[4]))
27309 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27310 : STRIP_UNARY (operands[3]))
27311 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27312 : STRIP_UNARY (operands[3])))) &&
27313 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27314 : (TARGET_AVX)) &&
27315 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27316 : ( 1)))
27317 : return NULL;
27318 : return gen_split_1766 (insn, operands);
27319 :
27320 : case 2:
27321 : if (!(
27322 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27323 : ((16 == 64 || TARGET_AVX512VL
27324 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27325 : && ix86_pre_reload_split ()
27326 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27327 : STRIP_UNARY (operands[4]))
27328 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27329 : STRIP_UNARY (operands[4]))
27330 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27331 : STRIP_UNARY (operands[3]))
27332 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27333 : STRIP_UNARY (operands[3])))) &&
27334 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27335 : ( 1)))
27336 : return NULL;
27337 : return gen_split_1793 (insn, operands);
27338 :
27339 : case 3:
27340 : if (!((
27341 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27342 : ((64 == 64 || TARGET_AVX512VL
27343 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27344 : && ix86_pre_reload_split ()
27345 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27346 : STRIP_UNARY (operands[4]))
27347 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27348 : STRIP_UNARY (operands[4]))
27349 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27350 : STRIP_UNARY (operands[3]))
27351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27352 : STRIP_UNARY (operands[3])))) &&
27353 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27354 : (TARGET_AVX512F)) &&
27355 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27356 : ( 1)))
27357 : return NULL;
27358 : return gen_split_1820 (insn, operands);
27359 :
27360 : case 4:
27361 : if (!((
27362 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27363 : ((32 == 64 || TARGET_AVX512VL
27364 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27365 : && ix86_pre_reload_split ()
27366 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27367 : STRIP_UNARY (operands[4]))
27368 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27369 : STRIP_UNARY (operands[4]))
27370 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27371 : STRIP_UNARY (operands[3]))
27372 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27373 : STRIP_UNARY (operands[3])))) &&
27374 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27375 : (TARGET_AVX)) &&
27376 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27377 : ( 1)))
27378 : return NULL;
27379 : return gen_split_1847 (insn, operands);
27380 :
27381 : case 5:
27382 : if (!(
27383 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27384 : ((16 == 64 || TARGET_AVX512VL
27385 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27386 : && ix86_pre_reload_split ()
27387 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27388 : STRIP_UNARY (operands[4]))
27389 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27390 : STRIP_UNARY (operands[4]))
27391 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27392 : STRIP_UNARY (operands[3]))
27393 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27394 : STRIP_UNARY (operands[3])))) &&
27395 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27396 : ( 1)))
27397 : return NULL;
27398 : return gen_split_1874 (insn, operands);
27399 :
27400 : case 6:
27401 : if (!((
27402 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27403 : ((64 == 64 || TARGET_AVX512VL
27404 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27405 : && ix86_pre_reload_split ()
27406 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27407 : STRIP_UNARY (operands[4]))
27408 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27409 : STRIP_UNARY (operands[4]))
27410 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27411 : STRIP_UNARY (operands[3]))
27412 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27413 : STRIP_UNARY (operands[3])))) &&
27414 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27415 : (TARGET_AVX512F)) &&
27416 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27417 : ( 1)))
27418 : return NULL;
27419 : return gen_split_1901 (insn, operands);
27420 :
27421 : case 7:
27422 : if (!((
27423 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27424 : ((32 == 64 || TARGET_AVX512VL
27425 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27426 : && ix86_pre_reload_split ()
27427 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27428 : STRIP_UNARY (operands[4]))
27429 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27430 : STRIP_UNARY (operands[4]))
27431 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27432 : STRIP_UNARY (operands[3]))
27433 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27434 : STRIP_UNARY (operands[3])))) &&
27435 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27436 : (TARGET_AVX)) &&
27437 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27438 : ( 1)))
27439 : return NULL;
27440 : return gen_split_1928 (insn, operands);
27441 :
27442 : case 8:
27443 : if (!(
27444 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27445 : ((16 == 64 || TARGET_AVX512VL
27446 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27447 : && ix86_pre_reload_split ()
27448 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27449 : STRIP_UNARY (operands[4]))
27450 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27451 : STRIP_UNARY (operands[4]))
27452 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27453 : STRIP_UNARY (operands[3]))
27454 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27455 : STRIP_UNARY (operands[3])))) &&
27456 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27457 : ( 1)))
27458 : return NULL;
27459 : return gen_split_1955 (insn, operands);
27460 :
27461 : case 9:
27462 : if (!((
27463 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27464 : ((64 == 64 || TARGET_AVX512VL
27465 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27466 : && ix86_pre_reload_split ()
27467 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27468 : STRIP_UNARY (operands[4]))
27469 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27470 : STRIP_UNARY (operands[4]))
27471 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27472 : STRIP_UNARY (operands[3]))
27473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27474 : STRIP_UNARY (operands[3])))) &&
27475 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27476 : (TARGET_AVX512F)) &&
27477 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27478 : ( 1)))
27479 : return NULL;
27480 : return gen_split_1982 (insn, operands);
27481 :
27482 : case 10:
27483 : if (!((
27484 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27485 : ((32 == 64 || TARGET_AVX512VL
27486 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27487 : && ix86_pre_reload_split ()
27488 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27489 : STRIP_UNARY (operands[4]))
27490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27491 : STRIP_UNARY (operands[4]))
27492 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27493 : STRIP_UNARY (operands[3]))
27494 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27495 : STRIP_UNARY (operands[3])))) &&
27496 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27497 : (TARGET_AVX)) &&
27498 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27499 : ( 1)))
27500 : return NULL;
27501 : return gen_split_2009 (insn, operands);
27502 :
27503 : case 11:
27504 : if (!(
27505 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27506 : ((16 == 64 || TARGET_AVX512VL
27507 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27508 : && ix86_pre_reload_split ()
27509 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27510 : STRIP_UNARY (operands[4]))
27511 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27512 : STRIP_UNARY (operands[4]))
27513 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27514 : STRIP_UNARY (operands[3]))
27515 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27516 : STRIP_UNARY (operands[3])))) &&
27517 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27518 : ( 1)))
27519 : return NULL;
27520 : return gen_split_2036 (insn, operands);
27521 :
27522 : case 12:
27523 : if (!((
27524 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27525 : ((64 == 64 || TARGET_AVX512VL
27526 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27527 : && ix86_pre_reload_split ()
27528 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27529 : STRIP_UNARY (operands[4]))
27530 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27531 : STRIP_UNARY (operands[4]))
27532 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27533 : STRIP_UNARY (operands[3]))
27534 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27535 : STRIP_UNARY (operands[3])))) &&
27536 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27537 : (TARGET_AVX512F)) &&
27538 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27539 : ( 1)))
27540 : return NULL;
27541 : return gen_split_1742 (insn, operands);
27542 :
27543 : case 13:
27544 : if (!((
27545 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27546 : ((32 == 64 || TARGET_AVX512VL
27547 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27548 : && ix86_pre_reload_split ()
27549 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27550 : STRIP_UNARY (operands[4]))
27551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27552 : STRIP_UNARY (operands[4]))
27553 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27554 : STRIP_UNARY (operands[3]))
27555 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27556 : STRIP_UNARY (operands[3])))) &&
27557 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27558 : (TARGET_AVX)) &&
27559 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27560 : ( 1)))
27561 : return NULL;
27562 : return gen_split_1769 (insn, operands);
27563 :
27564 : case 14:
27565 : if (!(
27566 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27567 : ((16 == 64 || TARGET_AVX512VL
27568 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27569 : && ix86_pre_reload_split ()
27570 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27571 : STRIP_UNARY (operands[4]))
27572 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27573 : STRIP_UNARY (operands[4]))
27574 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27575 : STRIP_UNARY (operands[3]))
27576 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27577 : STRIP_UNARY (operands[3])))) &&
27578 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27579 : ( 1)))
27580 : return NULL;
27581 : return gen_split_1796 (insn, operands);
27582 :
27583 : case 15:
27584 : if (!((
27585 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27586 : ((64 == 64 || TARGET_AVX512VL
27587 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27588 : && ix86_pre_reload_split ()
27589 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27590 : STRIP_UNARY (operands[4]))
27591 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27592 : STRIP_UNARY (operands[4]))
27593 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27594 : STRIP_UNARY (operands[3]))
27595 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27596 : STRIP_UNARY (operands[3])))) &&
27597 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27598 : (TARGET_AVX512F)) &&
27599 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27600 : ( 1)))
27601 : return NULL;
27602 : return gen_split_1823 (insn, operands);
27603 :
27604 : case 16:
27605 : if (!((
27606 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27607 : ((32 == 64 || TARGET_AVX512VL
27608 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27609 : && ix86_pre_reload_split ()
27610 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27611 : STRIP_UNARY (operands[4]))
27612 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27613 : STRIP_UNARY (operands[4]))
27614 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27615 : STRIP_UNARY (operands[3]))
27616 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27617 : STRIP_UNARY (operands[3])))) &&
27618 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27619 : (TARGET_AVX)) &&
27620 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27621 : ( 1)))
27622 : return NULL;
27623 : return gen_split_1850 (insn, operands);
27624 :
27625 : case 17:
27626 : if (!(
27627 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27628 : ((16 == 64 || TARGET_AVX512VL
27629 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27630 : && ix86_pre_reload_split ()
27631 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27632 : STRIP_UNARY (operands[4]))
27633 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27634 : STRIP_UNARY (operands[4]))
27635 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27636 : STRIP_UNARY (operands[3]))
27637 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27638 : STRIP_UNARY (operands[3])))) &&
27639 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27640 : ( 1)))
27641 : return NULL;
27642 : return gen_split_1877 (insn, operands);
27643 :
27644 : case 18:
27645 : if (!((
27646 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27647 : ((64 == 64 || TARGET_AVX512VL
27648 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27649 : && ix86_pre_reload_split ()
27650 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27651 : STRIP_UNARY (operands[4]))
27652 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27653 : STRIP_UNARY (operands[4]))
27654 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27655 : STRIP_UNARY (operands[3]))
27656 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27657 : STRIP_UNARY (operands[3])))) &&
27658 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27659 : (TARGET_AVX512F)) &&
27660 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27661 : ( 1)))
27662 : return NULL;
27663 : return gen_split_1904 (insn, operands);
27664 :
27665 : case 19:
27666 : if (!((
27667 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27668 : ((32 == 64 || TARGET_AVX512VL
27669 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27670 : && ix86_pre_reload_split ()
27671 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27672 : STRIP_UNARY (operands[4]))
27673 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27674 : STRIP_UNARY (operands[4]))
27675 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27676 : STRIP_UNARY (operands[3]))
27677 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27678 : STRIP_UNARY (operands[3])))) &&
27679 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27680 : (TARGET_AVX)) &&
27681 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27682 : ( 1)))
27683 : return NULL;
27684 : return gen_split_1931 (insn, operands);
27685 :
27686 : case 20:
27687 : if (!(
27688 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27689 : ((16 == 64 || TARGET_AVX512VL
27690 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27691 : && ix86_pre_reload_split ()
27692 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27693 : STRIP_UNARY (operands[4]))
27694 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27695 : STRIP_UNARY (operands[4]))
27696 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27697 : STRIP_UNARY (operands[3]))
27698 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27699 : STRIP_UNARY (operands[3])))) &&
27700 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27701 : ( 1)))
27702 : return NULL;
27703 : return gen_split_1958 (insn, operands);
27704 :
27705 : case 21:
27706 : if (!((
27707 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27708 : ((64 == 64 || TARGET_AVX512VL
27709 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27710 : && ix86_pre_reload_split ()
27711 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27712 : STRIP_UNARY (operands[4]))
27713 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27714 : STRIP_UNARY (operands[4]))
27715 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27716 : STRIP_UNARY (operands[3]))
27717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27718 : STRIP_UNARY (operands[3])))) &&
27719 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27720 : (TARGET_AVX512F)) &&
27721 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27722 : ( 1)))
27723 : return NULL;
27724 : return gen_split_1985 (insn, operands);
27725 :
27726 : case 22:
27727 : if (!((
27728 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27729 : ((32 == 64 || TARGET_AVX512VL
27730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27731 : && ix86_pre_reload_split ()
27732 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27733 : STRIP_UNARY (operands[4]))
27734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27735 : STRIP_UNARY (operands[4]))
27736 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27737 : STRIP_UNARY (operands[3]))
27738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27739 : STRIP_UNARY (operands[3])))) &&
27740 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27741 : (TARGET_AVX)) &&
27742 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27743 : ( 1)))
27744 : return NULL;
27745 : return gen_split_2012 (insn, operands);
27746 :
27747 : case 23:
27748 : if (!(
27749 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27750 : ((16 == 64 || TARGET_AVX512VL
27751 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27752 : && ix86_pre_reload_split ()
27753 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27754 : STRIP_UNARY (operands[4]))
27755 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27756 : STRIP_UNARY (operands[4]))
27757 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27758 : STRIP_UNARY (operands[3]))
27759 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27760 : STRIP_UNARY (operands[3])))) &&
27761 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27762 : ( 1)))
27763 : return NULL;
27764 : return gen_split_2039 (insn, operands);
27765 :
27766 : case 24:
27767 : if (!((
27768 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27769 : ((64 == 64 || TARGET_AVX512VL
27770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27771 : && ix86_pre_reload_split ()
27772 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27773 : STRIP_UNARY (operands[4]))
27774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27775 : STRIP_UNARY (operands[4]))
27776 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27777 : STRIP_UNARY (operands[3]))
27778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27779 : STRIP_UNARY (operands[3])))) &&
27780 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27781 : (TARGET_AVX512F)) &&
27782 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27783 : ( 1)))
27784 : return NULL;
27785 : return gen_split_1745 (insn, operands);
27786 :
27787 : case 25:
27788 : if (!((
27789 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27790 : ((32 == 64 || TARGET_AVX512VL
27791 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27792 : && ix86_pre_reload_split ()
27793 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27794 : STRIP_UNARY (operands[4]))
27795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27796 : STRIP_UNARY (operands[4]))
27797 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27798 : STRIP_UNARY (operands[3]))
27799 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27800 : STRIP_UNARY (operands[3])))) &&
27801 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27802 : (TARGET_AVX)) &&
27803 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27804 : ( 1)))
27805 : return NULL;
27806 : return gen_split_1772 (insn, operands);
27807 :
27808 : case 26:
27809 : if (!(
27810 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27811 : ((16 == 64 || TARGET_AVX512VL
27812 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27813 : && ix86_pre_reload_split ()
27814 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27815 : STRIP_UNARY (operands[4]))
27816 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27817 : STRIP_UNARY (operands[4]))
27818 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27819 : STRIP_UNARY (operands[3]))
27820 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27821 : STRIP_UNARY (operands[3])))) &&
27822 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27823 : ( 1)))
27824 : return NULL;
27825 : return gen_split_1799 (insn, operands);
27826 :
27827 : case 27:
27828 : if (!((
27829 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27830 : ((64 == 64 || TARGET_AVX512VL
27831 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27832 : && ix86_pre_reload_split ()
27833 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27834 : STRIP_UNARY (operands[4]))
27835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27836 : STRIP_UNARY (operands[4]))
27837 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27838 : STRIP_UNARY (operands[3]))
27839 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27840 : STRIP_UNARY (operands[3])))) &&
27841 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27842 : (TARGET_AVX512F)) &&
27843 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27844 : ( 1)))
27845 : return NULL;
27846 : return gen_split_1826 (insn, operands);
27847 :
27848 : case 28:
27849 : if (!((
27850 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27851 : ((32 == 64 || TARGET_AVX512VL
27852 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27853 : && ix86_pre_reload_split ()
27854 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27855 : STRIP_UNARY (operands[4]))
27856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27857 : STRIP_UNARY (operands[4]))
27858 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27859 : STRIP_UNARY (operands[3]))
27860 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27861 : STRIP_UNARY (operands[3])))) &&
27862 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27863 : (TARGET_AVX)) &&
27864 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27865 : ( 1)))
27866 : return NULL;
27867 : return gen_split_1853 (insn, operands);
27868 :
27869 : case 29:
27870 : if (!(
27871 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27872 : ((16 == 64 || TARGET_AVX512VL
27873 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27874 : && ix86_pre_reload_split ()
27875 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27876 : STRIP_UNARY (operands[4]))
27877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27878 : STRIP_UNARY (operands[4]))
27879 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27880 : STRIP_UNARY (operands[3]))
27881 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27882 : STRIP_UNARY (operands[3])))) &&
27883 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27884 : ( 1)))
27885 : return NULL;
27886 : return gen_split_1880 (insn, operands);
27887 :
27888 : case 30:
27889 : if (!((
27890 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27891 : ((64 == 64 || TARGET_AVX512VL
27892 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27893 : && ix86_pre_reload_split ()
27894 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27895 : STRIP_UNARY (operands[4]))
27896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27897 : STRIP_UNARY (operands[4]))
27898 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27899 : STRIP_UNARY (operands[3]))
27900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27901 : STRIP_UNARY (operands[3])))) &&
27902 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27903 : (TARGET_AVX512F)) &&
27904 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27905 : ( 1)))
27906 : return NULL;
27907 : return gen_split_1907 (insn, operands);
27908 :
27909 : case 31:
27910 : if (!((
27911 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27912 : ((32 == 64 || TARGET_AVX512VL
27913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27914 : && ix86_pre_reload_split ()
27915 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27916 : STRIP_UNARY (operands[4]))
27917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27918 : STRIP_UNARY (operands[4]))
27919 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27920 : STRIP_UNARY (operands[3]))
27921 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27922 : STRIP_UNARY (operands[3])))) &&
27923 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27924 : (TARGET_AVX)) &&
27925 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27926 : ( 1)))
27927 : return NULL;
27928 : return gen_split_1934 (insn, operands);
27929 :
27930 : case 32:
27931 : if (!(
27932 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27933 : ((16 == 64 || TARGET_AVX512VL
27934 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27935 : && ix86_pre_reload_split ()
27936 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27937 : STRIP_UNARY (operands[4]))
27938 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27939 : STRIP_UNARY (operands[4]))
27940 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27941 : STRIP_UNARY (operands[3]))
27942 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27943 : STRIP_UNARY (operands[3])))) &&
27944 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27945 : ( 1)))
27946 : return NULL;
27947 : return gen_split_1961 (insn, operands);
27948 :
27949 : case 33:
27950 : if (!((
27951 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27952 : ((64 == 64 || TARGET_AVX512VL
27953 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27954 : && ix86_pre_reload_split ()
27955 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27956 : STRIP_UNARY (operands[4]))
27957 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27958 : STRIP_UNARY (operands[4]))
27959 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27960 : STRIP_UNARY (operands[3]))
27961 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27962 : STRIP_UNARY (operands[3])))) &&
27963 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27964 : (TARGET_AVX512F)) &&
27965 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27966 : ( 1)))
27967 : return NULL;
27968 : return gen_split_1988 (insn, operands);
27969 :
27970 : case 34:
27971 : if (!((
27972 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27973 : ((32 == 64 || TARGET_AVX512VL
27974 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27975 : && ix86_pre_reload_split ()
27976 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27977 : STRIP_UNARY (operands[4]))
27978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27979 : STRIP_UNARY (operands[4]))
27980 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27981 : STRIP_UNARY (operands[3]))
27982 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27983 : STRIP_UNARY (operands[3])))) &&
27984 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27985 : (TARGET_AVX)) &&
27986 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27987 : ( 1)))
27988 : return NULL;
27989 : return gen_split_2015 (insn, operands);
27990 :
27991 : case 35:
27992 : if (!(
27993 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27994 : ((16 == 64 || TARGET_AVX512VL
27995 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27996 : && ix86_pre_reload_split ()
27997 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27998 : STRIP_UNARY (operands[4]))
27999 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28000 : STRIP_UNARY (operands[4]))
28001 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28002 : STRIP_UNARY (operands[3]))
28003 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28004 : STRIP_UNARY (operands[3])))) &&
28005 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28006 : ( 1)))
28007 : return NULL;
28008 : return gen_split_2042 (insn, operands);
28009 :
28010 : case 36:
28011 : if (!((
28012 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28013 : ((64 == 64 || TARGET_AVX512VL
28014 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28015 : && ix86_pre_reload_split ()) &&
28016 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28017 : (TARGET_AVX512F)) &&
28018 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28019 : ( 1)))
28020 : return NULL;
28021 : return gen_split_3035 (insn, operands);
28022 :
28023 : case 37:
28024 : if (!((
28025 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28026 : ((32 == 64 || TARGET_AVX512VL
28027 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28028 : && ix86_pre_reload_split ()) &&
28029 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28030 : (TARGET_AVX)) &&
28031 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28032 : ( 1)))
28033 : return NULL;
28034 : return gen_split_3044 (insn, operands);
28035 :
28036 : case 38:
28037 : if (!(
28038 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28039 : ((16 == 64 || TARGET_AVX512VL
28040 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28041 : && ix86_pre_reload_split ()) &&
28042 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28043 : ( 1)))
28044 : return NULL;
28045 : return gen_split_3053 (insn, operands);
28046 :
28047 : case 39:
28048 : if (!((
28049 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28050 : ((64 == 64 || TARGET_AVX512VL
28051 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28052 : && ix86_pre_reload_split ()) &&
28053 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28054 : (TARGET_AVX512F)) &&
28055 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28056 : ( 1)))
28057 : return NULL;
28058 : return gen_split_3062 (insn, operands);
28059 :
28060 : case 40:
28061 : if (!((
28062 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28063 : ((32 == 64 || TARGET_AVX512VL
28064 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28065 : && ix86_pre_reload_split ()) &&
28066 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28067 : (TARGET_AVX)) &&
28068 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28069 : ( 1)))
28070 : return NULL;
28071 : return gen_split_3071 (insn, operands);
28072 :
28073 : case 41:
28074 : if (!(
28075 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28076 : ((16 == 64 || TARGET_AVX512VL
28077 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28078 : && ix86_pre_reload_split ()) &&
28079 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28080 : ( 1)))
28081 : return NULL;
28082 : return gen_split_3080 (insn, operands);
28083 :
28084 : case 42:
28085 : if (!((
28086 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28087 : ((64 == 64 || TARGET_AVX512VL
28088 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28089 : && ix86_pre_reload_split ()) &&
28090 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28091 : (TARGET_AVX512F)) &&
28092 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28093 : ( 1)))
28094 : return NULL;
28095 : return gen_split_3089 (insn, operands);
28096 :
28097 : case 43:
28098 : if (!((
28099 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28100 : ((32 == 64 || TARGET_AVX512VL
28101 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28102 : && ix86_pre_reload_split ()) &&
28103 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28104 : (TARGET_AVX)) &&
28105 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28106 : ( 1)))
28107 : return NULL;
28108 : return gen_split_3098 (insn, operands);
28109 :
28110 : case 44:
28111 : if (!(
28112 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28113 : ((16 == 64 || TARGET_AVX512VL
28114 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28115 : && ix86_pre_reload_split ()) &&
28116 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28117 : ( 1)))
28118 : return NULL;
28119 : return gen_split_3107 (insn, operands);
28120 :
28121 : case 45:
28122 : if (!((
28123 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28124 : ((64 == 64 || TARGET_AVX512VL
28125 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28126 : && ix86_pre_reload_split ()) &&
28127 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28128 : (TARGET_AVX512F)) &&
28129 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28130 : ( 1)))
28131 : return NULL;
28132 : return gen_split_3116 (insn, operands);
28133 :
28134 : case 46:
28135 : if (!((
28136 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28137 : ((32 == 64 || TARGET_AVX512VL
28138 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28139 : && ix86_pre_reload_split ()) &&
28140 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28141 : (TARGET_AVX)) &&
28142 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28143 : ( 1)))
28144 : return NULL;
28145 : return gen_split_3125 (insn, operands);
28146 :
28147 : case 47:
28148 : if (!(
28149 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28150 : ((16 == 64 || TARGET_AVX512VL
28151 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28152 : && ix86_pre_reload_split ()) &&
28153 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28154 : ( 1)))
28155 : return NULL;
28156 : return gen_split_3134 (insn, operands);
28157 :
28158 : default:
28159 : return NULL;
28160 : }
28161 :
28162 : case AND:
28163 : switch (pattern539 (x2))
28164 : {
28165 : case 0:
28166 : if (!((
28167 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28168 : ((64 == 64 || TARGET_AVX512VL
28169 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28170 : && ix86_pre_reload_split ()
28171 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28172 : STRIP_UNARY (operands[4]))
28173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28174 : STRIP_UNARY (operands[4]))
28175 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28176 : STRIP_UNARY (operands[3]))
28177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28178 : STRIP_UNARY (operands[3])))) &&
28179 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28180 : (TARGET_AVX512F)) &&
28181 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28182 : ( 1)))
28183 : return NULL;
28184 : return gen_split_2387 (insn, operands);
28185 :
28186 : case 1:
28187 : if (!((
28188 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28189 : ((32 == 64 || TARGET_AVX512VL
28190 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28191 : && ix86_pre_reload_split ()
28192 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28193 : STRIP_UNARY (operands[4]))
28194 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28195 : STRIP_UNARY (operands[4]))
28196 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28197 : STRIP_UNARY (operands[3]))
28198 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28199 : STRIP_UNARY (operands[3])))) &&
28200 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28201 : (TARGET_AVX)) &&
28202 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28203 : ( 1)))
28204 : return NULL;
28205 : return gen_split_2414 (insn, operands);
28206 :
28207 : case 2:
28208 : if (!(
28209 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28210 : ((16 == 64 || TARGET_AVX512VL
28211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28212 : && ix86_pre_reload_split ()
28213 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28214 : STRIP_UNARY (operands[4]))
28215 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28216 : STRIP_UNARY (operands[4]))
28217 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28218 : STRIP_UNARY (operands[3]))
28219 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28220 : STRIP_UNARY (operands[3])))) &&
28221 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28222 : ( 1)))
28223 : return NULL;
28224 : return gen_split_2441 (insn, operands);
28225 :
28226 : case 3:
28227 : if (!((
28228 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28229 : ((64 == 64 || TARGET_AVX512VL
28230 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28231 : && ix86_pre_reload_split ()
28232 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28233 : STRIP_UNARY (operands[4]))
28234 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28235 : STRIP_UNARY (operands[4]))
28236 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28237 : STRIP_UNARY (operands[3]))
28238 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28239 : STRIP_UNARY (operands[3])))) &&
28240 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28241 : (TARGET_AVX512F)) &&
28242 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28243 : ( 1)))
28244 : return NULL;
28245 : return gen_split_2468 (insn, operands);
28246 :
28247 : case 4:
28248 : if (!((
28249 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28250 : ((32 == 64 || TARGET_AVX512VL
28251 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28252 : && ix86_pre_reload_split ()
28253 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28254 : STRIP_UNARY (operands[4]))
28255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28256 : STRIP_UNARY (operands[4]))
28257 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28258 : STRIP_UNARY (operands[3]))
28259 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28260 : STRIP_UNARY (operands[3])))) &&
28261 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28262 : (TARGET_AVX)) &&
28263 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28264 : ( 1)))
28265 : return NULL;
28266 : return gen_split_2495 (insn, operands);
28267 :
28268 : case 5:
28269 : if (!(
28270 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28271 : ((16 == 64 || TARGET_AVX512VL
28272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28273 : && ix86_pre_reload_split ()
28274 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28275 : STRIP_UNARY (operands[4]))
28276 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28277 : STRIP_UNARY (operands[4]))
28278 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28279 : STRIP_UNARY (operands[3]))
28280 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28281 : STRIP_UNARY (operands[3])))) &&
28282 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28283 : ( 1)))
28284 : return NULL;
28285 : return gen_split_2522 (insn, operands);
28286 :
28287 : case 6:
28288 : if (!((
28289 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28290 : ((64 == 64 || TARGET_AVX512VL
28291 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28292 : && ix86_pre_reload_split ()
28293 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28294 : STRIP_UNARY (operands[4]))
28295 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28296 : STRIP_UNARY (operands[4]))
28297 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28298 : STRIP_UNARY (operands[3]))
28299 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28300 : STRIP_UNARY (operands[3])))) &&
28301 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28302 : (TARGET_AVX512F)) &&
28303 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28304 : ( 1)))
28305 : return NULL;
28306 : return gen_split_2549 (insn, operands);
28307 :
28308 : case 7:
28309 : if (!((
28310 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28311 : ((32 == 64 || TARGET_AVX512VL
28312 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28313 : && ix86_pre_reload_split ()
28314 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28315 : STRIP_UNARY (operands[4]))
28316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28317 : STRIP_UNARY (operands[4]))
28318 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28319 : STRIP_UNARY (operands[3]))
28320 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28321 : STRIP_UNARY (operands[3])))) &&
28322 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28323 : (TARGET_AVX)) &&
28324 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28325 : ( 1)))
28326 : return NULL;
28327 : return gen_split_2576 (insn, operands);
28328 :
28329 : case 8:
28330 : if (!(
28331 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28332 : ((16 == 64 || TARGET_AVX512VL
28333 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28334 : && ix86_pre_reload_split ()
28335 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28336 : STRIP_UNARY (operands[4]))
28337 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28338 : STRIP_UNARY (operands[4]))
28339 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28340 : STRIP_UNARY (operands[3]))
28341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28342 : STRIP_UNARY (operands[3])))) &&
28343 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28344 : ( 1)))
28345 : return NULL;
28346 : return gen_split_2603 (insn, operands);
28347 :
28348 : case 9:
28349 : if (!((
28350 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28351 : ((64 == 64 || TARGET_AVX512VL
28352 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28353 : && ix86_pre_reload_split ()
28354 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28355 : STRIP_UNARY (operands[4]))
28356 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28357 : STRIP_UNARY (operands[4]))
28358 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28359 : STRIP_UNARY (operands[3]))
28360 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28361 : STRIP_UNARY (operands[3])))) &&
28362 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28363 : (TARGET_AVX512F)) &&
28364 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28365 : ( 1)))
28366 : return NULL;
28367 : return gen_split_2630 (insn, operands);
28368 :
28369 : case 10:
28370 : if (!((
28371 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28372 : ((32 == 64 || TARGET_AVX512VL
28373 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28374 : && ix86_pre_reload_split ()
28375 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28376 : STRIP_UNARY (operands[4]))
28377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28378 : STRIP_UNARY (operands[4]))
28379 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28380 : STRIP_UNARY (operands[3]))
28381 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28382 : STRIP_UNARY (operands[3])))) &&
28383 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28384 : (TARGET_AVX)) &&
28385 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28386 : ( 1)))
28387 : return NULL;
28388 : return gen_split_2657 (insn, operands);
28389 :
28390 : case 11:
28391 : if (!(
28392 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28393 : ((16 == 64 || TARGET_AVX512VL
28394 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28395 : && ix86_pre_reload_split ()
28396 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28397 : STRIP_UNARY (operands[4]))
28398 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28399 : STRIP_UNARY (operands[4]))
28400 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28401 : STRIP_UNARY (operands[3]))
28402 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28403 : STRIP_UNARY (operands[3])))) &&
28404 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28405 : ( 1)))
28406 : return NULL;
28407 : return gen_split_2684 (insn, operands);
28408 :
28409 : default:
28410 : return NULL;
28411 : }
28412 :
28413 : case IOR:
28414 : switch (pattern539 (x2))
28415 : {
28416 : case 0:
28417 : if (!((
28418 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28419 : ((64 == 64 || TARGET_AVX512VL
28420 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28421 : && ix86_pre_reload_split ()
28422 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28423 : STRIP_UNARY (operands[4]))
28424 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28425 : STRIP_UNARY (operands[4]))
28426 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28427 : STRIP_UNARY (operands[3]))
28428 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28429 : STRIP_UNARY (operands[3])))) &&
28430 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28431 : (TARGET_AVX512F)) &&
28432 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28433 : ( 1)))
28434 : return NULL;
28435 : return gen_split_2390 (insn, operands);
28436 :
28437 : case 1:
28438 : if (!((
28439 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28440 : ((32 == 64 || TARGET_AVX512VL
28441 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28442 : && ix86_pre_reload_split ()
28443 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28444 : STRIP_UNARY (operands[4]))
28445 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28446 : STRIP_UNARY (operands[4]))
28447 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28448 : STRIP_UNARY (operands[3]))
28449 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28450 : STRIP_UNARY (operands[3])))) &&
28451 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28452 : (TARGET_AVX)) &&
28453 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28454 : ( 1)))
28455 : return NULL;
28456 : return gen_split_2417 (insn, operands);
28457 :
28458 : case 2:
28459 : if (!(
28460 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28461 : ((16 == 64 || TARGET_AVX512VL
28462 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28463 : && ix86_pre_reload_split ()
28464 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28465 : STRIP_UNARY (operands[4]))
28466 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28467 : STRIP_UNARY (operands[4]))
28468 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28469 : STRIP_UNARY (operands[3]))
28470 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28471 : STRIP_UNARY (operands[3])))) &&
28472 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28473 : ( 1)))
28474 : return NULL;
28475 : return gen_split_2444 (insn, operands);
28476 :
28477 : case 3:
28478 : if (!((
28479 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28480 : ((64 == 64 || TARGET_AVX512VL
28481 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28482 : && ix86_pre_reload_split ()
28483 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28484 : STRIP_UNARY (operands[4]))
28485 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28486 : STRIP_UNARY (operands[4]))
28487 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28488 : STRIP_UNARY (operands[3]))
28489 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28490 : STRIP_UNARY (operands[3])))) &&
28491 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28492 : (TARGET_AVX512F)) &&
28493 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28494 : ( 1)))
28495 : return NULL;
28496 : return gen_split_2471 (insn, operands);
28497 :
28498 : case 4:
28499 : if (!((
28500 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28501 : ((32 == 64 || TARGET_AVX512VL
28502 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28503 : && ix86_pre_reload_split ()
28504 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28505 : STRIP_UNARY (operands[4]))
28506 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28507 : STRIP_UNARY (operands[4]))
28508 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28509 : STRIP_UNARY (operands[3]))
28510 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28511 : STRIP_UNARY (operands[3])))) &&
28512 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28513 : (TARGET_AVX)) &&
28514 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28515 : ( 1)))
28516 : return NULL;
28517 : return gen_split_2498 (insn, operands);
28518 :
28519 : case 5:
28520 : if (!(
28521 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28522 : ((16 == 64 || TARGET_AVX512VL
28523 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28524 : && ix86_pre_reload_split ()
28525 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28526 : STRIP_UNARY (operands[4]))
28527 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28528 : STRIP_UNARY (operands[4]))
28529 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28530 : STRIP_UNARY (operands[3]))
28531 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28532 : STRIP_UNARY (operands[3])))) &&
28533 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28534 : ( 1)))
28535 : return NULL;
28536 : return gen_split_2525 (insn, operands);
28537 :
28538 : case 6:
28539 : if (!((
28540 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28541 : ((64 == 64 || TARGET_AVX512VL
28542 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28543 : && ix86_pre_reload_split ()
28544 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28545 : STRIP_UNARY (operands[4]))
28546 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28547 : STRIP_UNARY (operands[4]))
28548 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28549 : STRIP_UNARY (operands[3]))
28550 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28551 : STRIP_UNARY (operands[3])))) &&
28552 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28553 : (TARGET_AVX512F)) &&
28554 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28555 : ( 1)))
28556 : return NULL;
28557 : return gen_split_2552 (insn, operands);
28558 :
28559 : case 7:
28560 : if (!((
28561 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28562 : ((32 == 64 || TARGET_AVX512VL
28563 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28564 : && ix86_pre_reload_split ()
28565 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28566 : STRIP_UNARY (operands[4]))
28567 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28568 : STRIP_UNARY (operands[4]))
28569 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28570 : STRIP_UNARY (operands[3]))
28571 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28572 : STRIP_UNARY (operands[3])))) &&
28573 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28574 : (TARGET_AVX)) &&
28575 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28576 : ( 1)))
28577 : return NULL;
28578 : return gen_split_2579 (insn, operands);
28579 :
28580 : case 8:
28581 : if (!(
28582 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28583 : ((16 == 64 || TARGET_AVX512VL
28584 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28585 : && ix86_pre_reload_split ()
28586 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28587 : STRIP_UNARY (operands[4]))
28588 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28589 : STRIP_UNARY (operands[4]))
28590 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28591 : STRIP_UNARY (operands[3]))
28592 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28593 : STRIP_UNARY (operands[3])))) &&
28594 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28595 : ( 1)))
28596 : return NULL;
28597 : return gen_split_2606 (insn, operands);
28598 :
28599 : case 9:
28600 : if (!((
28601 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28602 : ((64 == 64 || TARGET_AVX512VL
28603 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28604 : && ix86_pre_reload_split ()
28605 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28606 : STRIP_UNARY (operands[4]))
28607 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28608 : STRIP_UNARY (operands[4]))
28609 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28610 : STRIP_UNARY (operands[3]))
28611 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28612 : STRIP_UNARY (operands[3])))) &&
28613 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28614 : (TARGET_AVX512F)) &&
28615 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28616 : ( 1)))
28617 : return NULL;
28618 : return gen_split_2633 (insn, operands);
28619 :
28620 : case 10:
28621 : if (!((
28622 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28623 : ((32 == 64 || TARGET_AVX512VL
28624 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28625 : && ix86_pre_reload_split ()
28626 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28627 : STRIP_UNARY (operands[4]))
28628 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28629 : STRIP_UNARY (operands[4]))
28630 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28631 : STRIP_UNARY (operands[3]))
28632 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28633 : STRIP_UNARY (operands[3])))) &&
28634 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28635 : (TARGET_AVX)) &&
28636 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28637 : ( 1)))
28638 : return NULL;
28639 : return gen_split_2660 (insn, operands);
28640 :
28641 : case 11:
28642 : if (!(
28643 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28644 : ((16 == 64 || TARGET_AVX512VL
28645 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28646 : && ix86_pre_reload_split ()
28647 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28648 : STRIP_UNARY (operands[4]))
28649 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28650 : STRIP_UNARY (operands[4]))
28651 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28652 : STRIP_UNARY (operands[3]))
28653 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28654 : STRIP_UNARY (operands[3])))) &&
28655 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28656 : ( 1)))
28657 : return NULL;
28658 : return gen_split_2687 (insn, operands);
28659 :
28660 : default:
28661 : return NULL;
28662 : }
28663 :
28664 : case XOR:
28665 : switch (pattern539 (x2))
28666 : {
28667 : case 0:
28668 : if (!((
28669 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28670 : ((64 == 64 || TARGET_AVX512VL
28671 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28672 : && ix86_pre_reload_split ()
28673 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28674 : STRIP_UNARY (operands[4]))
28675 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28676 : STRIP_UNARY (operands[4]))
28677 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28678 : STRIP_UNARY (operands[3]))
28679 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28680 : STRIP_UNARY (operands[3])))) &&
28681 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28682 : (TARGET_AVX512F)) &&
28683 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28684 : ( 1)))
28685 : return NULL;
28686 : return gen_split_2393 (insn, operands);
28687 :
28688 : case 1:
28689 : if (!((
28690 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28691 : ((32 == 64 || TARGET_AVX512VL
28692 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28693 : && ix86_pre_reload_split ()
28694 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28695 : STRIP_UNARY (operands[4]))
28696 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28697 : STRIP_UNARY (operands[4]))
28698 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28699 : STRIP_UNARY (operands[3]))
28700 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28701 : STRIP_UNARY (operands[3])))) &&
28702 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28703 : (TARGET_AVX)) &&
28704 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28705 : ( 1)))
28706 : return NULL;
28707 : return gen_split_2420 (insn, operands);
28708 :
28709 : case 2:
28710 : if (!(
28711 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28712 : ((16 == 64 || TARGET_AVX512VL
28713 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28714 : && ix86_pre_reload_split ()
28715 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28716 : STRIP_UNARY (operands[4]))
28717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28718 : STRIP_UNARY (operands[4]))
28719 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28720 : STRIP_UNARY (operands[3]))
28721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28722 : STRIP_UNARY (operands[3])))) &&
28723 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28724 : ( 1)))
28725 : return NULL;
28726 : return gen_split_2447 (insn, operands);
28727 :
28728 : case 3:
28729 : if (!((
28730 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28731 : ((64 == 64 || TARGET_AVX512VL
28732 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28733 : && ix86_pre_reload_split ()
28734 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28735 : STRIP_UNARY (operands[4]))
28736 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28737 : STRIP_UNARY (operands[4]))
28738 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28739 : STRIP_UNARY (operands[3]))
28740 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28741 : STRIP_UNARY (operands[3])))) &&
28742 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28743 : (TARGET_AVX512F)) &&
28744 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28745 : ( 1)))
28746 : return NULL;
28747 : return gen_split_2474 (insn, operands);
28748 :
28749 : case 4:
28750 : if (!((
28751 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28752 : ((32 == 64 || TARGET_AVX512VL
28753 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28754 : && ix86_pre_reload_split ()
28755 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28756 : STRIP_UNARY (operands[4]))
28757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28758 : STRIP_UNARY (operands[4]))
28759 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28760 : STRIP_UNARY (operands[3]))
28761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28762 : STRIP_UNARY (operands[3])))) &&
28763 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28764 : (TARGET_AVX)) &&
28765 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28766 : ( 1)))
28767 : return NULL;
28768 : return gen_split_2501 (insn, operands);
28769 :
28770 : case 5:
28771 : if (!(
28772 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28773 : ((16 == 64 || TARGET_AVX512VL
28774 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28775 : && ix86_pre_reload_split ()
28776 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28777 : STRIP_UNARY (operands[4]))
28778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28779 : STRIP_UNARY (operands[4]))
28780 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28781 : STRIP_UNARY (operands[3]))
28782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28783 : STRIP_UNARY (operands[3])))) &&
28784 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28785 : ( 1)))
28786 : return NULL;
28787 : return gen_split_2528 (insn, operands);
28788 :
28789 : case 6:
28790 : if (!((
28791 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28792 : ((64 == 64 || TARGET_AVX512VL
28793 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28794 : && ix86_pre_reload_split ()
28795 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28796 : STRIP_UNARY (operands[4]))
28797 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28798 : STRIP_UNARY (operands[4]))
28799 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28800 : STRIP_UNARY (operands[3]))
28801 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28802 : STRIP_UNARY (operands[3])))) &&
28803 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28804 : (TARGET_AVX512F)) &&
28805 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28806 : ( 1)))
28807 : return NULL;
28808 : return gen_split_2555 (insn, operands);
28809 :
28810 : case 7:
28811 : if (!((
28812 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28813 : ((32 == 64 || TARGET_AVX512VL
28814 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28815 : && ix86_pre_reload_split ()
28816 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28817 : STRIP_UNARY (operands[4]))
28818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28819 : STRIP_UNARY (operands[4]))
28820 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28821 : STRIP_UNARY (operands[3]))
28822 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28823 : STRIP_UNARY (operands[3])))) &&
28824 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28825 : (TARGET_AVX)) &&
28826 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28827 : ( 1)))
28828 : return NULL;
28829 : return gen_split_2582 (insn, operands);
28830 :
28831 : case 8:
28832 : if (!(
28833 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28834 : ((16 == 64 || TARGET_AVX512VL
28835 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28836 : && ix86_pre_reload_split ()
28837 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28838 : STRIP_UNARY (operands[4]))
28839 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28840 : STRIP_UNARY (operands[4]))
28841 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28842 : STRIP_UNARY (operands[3]))
28843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28844 : STRIP_UNARY (operands[3])))) &&
28845 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28846 : ( 1)))
28847 : return NULL;
28848 : return gen_split_2609 (insn, operands);
28849 :
28850 : case 9:
28851 : if (!((
28852 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28853 : ((64 == 64 || TARGET_AVX512VL
28854 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28855 : && ix86_pre_reload_split ()
28856 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28857 : STRIP_UNARY (operands[4]))
28858 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28859 : STRIP_UNARY (operands[4]))
28860 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28861 : STRIP_UNARY (operands[3]))
28862 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28863 : STRIP_UNARY (operands[3])))) &&
28864 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28865 : (TARGET_AVX512F)) &&
28866 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28867 : ( 1)))
28868 : return NULL;
28869 : return gen_split_2636 (insn, operands);
28870 :
28871 : case 10:
28872 : if (!((
28873 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28874 : ((32 == 64 || TARGET_AVX512VL
28875 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28876 : && ix86_pre_reload_split ()
28877 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28878 : STRIP_UNARY (operands[4]))
28879 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28880 : STRIP_UNARY (operands[4]))
28881 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28882 : STRIP_UNARY (operands[3]))
28883 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28884 : STRIP_UNARY (operands[3])))) &&
28885 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28886 : (TARGET_AVX)) &&
28887 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28888 : ( 1)))
28889 : return NULL;
28890 : return gen_split_2663 (insn, operands);
28891 :
28892 : case 11:
28893 : if (!(
28894 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28895 : ((16 == 64 || TARGET_AVX512VL
28896 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28897 : && ix86_pre_reload_split ()
28898 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28899 : STRIP_UNARY (operands[4]))
28900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28901 : STRIP_UNARY (operands[4]))
28902 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28903 : STRIP_UNARY (operands[3]))
28904 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28905 : STRIP_UNARY (operands[3])))) &&
28906 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28907 : ( 1)))
28908 : return NULL;
28909 : return gen_split_2690 (insn, operands);
28910 :
28911 : default:
28912 : return NULL;
28913 : }
28914 :
28915 : default:
28916 : return NULL;
28917 : }
28918 : }
28919 :
28920 : rtx_insn *
28921 : split_73 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28922 : {
28923 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28924 : rtx x2, x3, x4;
28925 : rtx_insn *res ATTRIBUTE_UNUSED;
28926 : x2 = XEXP (x1, 1);
28927 : x3 = XEXP (x2, 0);
28928 : switch (GET_CODE (x3))
28929 : {
28930 : case AND:
28931 : x4 = XEXP (x3, 0);
28932 : switch (GET_CODE (x4))
28933 : {
28934 : case REG:
28935 : case SUBREG:
28936 : case MEM:
28937 : case NOT:
28938 : switch (pattern543 (x2))
28939 : {
28940 : case 0:
28941 : if (!((
28942 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28943 : ((64 == 64 || TARGET_AVX512VL
28944 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28945 : && ix86_pre_reload_split ()
28946 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28947 : STRIP_UNARY (operands[4]))
28948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28949 : STRIP_UNARY (operands[4]))
28950 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28951 : STRIP_UNARY (operands[3]))
28952 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28953 : STRIP_UNARY (operands[3])))) &&
28954 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28955 : (TARGET_AVX512F)) &&
28956 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28957 : ( 1)))
28958 : return NULL;
28959 : return gen_split_2064 (insn, operands);
28960 :
28961 : case 1:
28962 : if (!((
28963 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28964 : ((32 == 64 || TARGET_AVX512VL
28965 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28966 : && ix86_pre_reload_split ()
28967 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28968 : STRIP_UNARY (operands[4]))
28969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28970 : STRIP_UNARY (operands[4]))
28971 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28972 : STRIP_UNARY (operands[3]))
28973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28974 : STRIP_UNARY (operands[3])))) &&
28975 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28976 : (TARGET_AVX)) &&
28977 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28978 : ( 1)))
28979 : return NULL;
28980 : return gen_split_2091 (insn, operands);
28981 :
28982 : case 2:
28983 : if (!(
28984 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28985 : ((16 == 64 || TARGET_AVX512VL
28986 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28987 : && ix86_pre_reload_split ()
28988 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28989 : STRIP_UNARY (operands[4]))
28990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28991 : STRIP_UNARY (operands[4]))
28992 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28993 : STRIP_UNARY (operands[3]))
28994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28995 : STRIP_UNARY (operands[3])))) &&
28996 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28997 : ( 1)))
28998 : return NULL;
28999 : return gen_split_2118 (insn, operands);
29000 :
29001 : case 3:
29002 : if (!((
29003 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29004 : ((64 == 64 || TARGET_AVX512VL
29005 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29006 : && ix86_pre_reload_split ()
29007 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29008 : STRIP_UNARY (operands[4]))
29009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29010 : STRIP_UNARY (operands[4]))
29011 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29012 : STRIP_UNARY (operands[3]))
29013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29014 : STRIP_UNARY (operands[3])))) &&
29015 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29016 : (TARGET_AVX512F)) &&
29017 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29018 : ( 1)))
29019 : return NULL;
29020 : return gen_split_2145 (insn, operands);
29021 :
29022 : case 4:
29023 : if (!((
29024 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29025 : ((32 == 64 || TARGET_AVX512VL
29026 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29027 : && ix86_pre_reload_split ()
29028 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29029 : STRIP_UNARY (operands[4]))
29030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29031 : STRIP_UNARY (operands[4]))
29032 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29033 : STRIP_UNARY (operands[3]))
29034 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29035 : STRIP_UNARY (operands[3])))) &&
29036 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29037 : (TARGET_AVX)) &&
29038 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29039 : ( 1)))
29040 : return NULL;
29041 : return gen_split_2172 (insn, operands);
29042 :
29043 : case 5:
29044 : if (!(
29045 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29046 : ((16 == 64 || TARGET_AVX512VL
29047 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29048 : && ix86_pre_reload_split ()
29049 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29050 : STRIP_UNARY (operands[4]))
29051 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29052 : STRIP_UNARY (operands[4]))
29053 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29054 : STRIP_UNARY (operands[3]))
29055 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29056 : STRIP_UNARY (operands[3])))) &&
29057 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29058 : ( 1)))
29059 : return NULL;
29060 : return gen_split_2199 (insn, operands);
29061 :
29062 : case 6:
29063 : if (!((
29064 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29065 : ((64 == 64 || TARGET_AVX512VL
29066 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29067 : && ix86_pre_reload_split ()
29068 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29069 : STRIP_UNARY (operands[4]))
29070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29071 : STRIP_UNARY (operands[4]))
29072 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29073 : STRIP_UNARY (operands[3]))
29074 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29075 : STRIP_UNARY (operands[3])))) &&
29076 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29077 : (TARGET_AVX512F)) &&
29078 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29079 : ( 1)))
29080 : return NULL;
29081 : return gen_split_2226 (insn, operands);
29082 :
29083 : case 7:
29084 : if (!((
29085 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29086 : ((32 == 64 || TARGET_AVX512VL
29087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29088 : && ix86_pre_reload_split ()
29089 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29090 : STRIP_UNARY (operands[4]))
29091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29092 : STRIP_UNARY (operands[4]))
29093 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29094 : STRIP_UNARY (operands[3]))
29095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29096 : STRIP_UNARY (operands[3])))) &&
29097 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29098 : (TARGET_AVX)) &&
29099 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29100 : ( 1)))
29101 : return NULL;
29102 : return gen_split_2253 (insn, operands);
29103 :
29104 : case 8:
29105 : if (!(
29106 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29107 : ((16 == 64 || TARGET_AVX512VL
29108 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29109 : && ix86_pre_reload_split ()
29110 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29111 : STRIP_UNARY (operands[4]))
29112 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29113 : STRIP_UNARY (operands[4]))
29114 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29115 : STRIP_UNARY (operands[3]))
29116 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29117 : STRIP_UNARY (operands[3])))) &&
29118 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29119 : ( 1)))
29120 : return NULL;
29121 : return gen_split_2280 (insn, operands);
29122 :
29123 : case 9:
29124 : if (!((
29125 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29126 : ((64 == 64 || TARGET_AVX512VL
29127 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29128 : && ix86_pre_reload_split ()
29129 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29130 : STRIP_UNARY (operands[4]))
29131 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29132 : STRIP_UNARY (operands[4]))
29133 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29134 : STRIP_UNARY (operands[3]))
29135 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29136 : STRIP_UNARY (operands[3])))) &&
29137 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29138 : (TARGET_AVX512F)) &&
29139 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29140 : ( 1)))
29141 : return NULL;
29142 : return gen_split_2307 (insn, operands);
29143 :
29144 : case 10:
29145 : if (!((
29146 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29147 : ((32 == 64 || TARGET_AVX512VL
29148 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29149 : && ix86_pre_reload_split ()
29150 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29151 : STRIP_UNARY (operands[4]))
29152 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29153 : STRIP_UNARY (operands[4]))
29154 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29155 : STRIP_UNARY (operands[3]))
29156 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29157 : STRIP_UNARY (operands[3])))) &&
29158 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29159 : (TARGET_AVX)) &&
29160 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29161 : ( 1)))
29162 : return NULL;
29163 : return gen_split_2334 (insn, operands);
29164 :
29165 : case 11:
29166 : if (!((
29167 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29168 : ((16 == 64 || TARGET_AVX512VL
29169 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29170 : && ix86_pre_reload_split ()
29171 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29172 : STRIP_UNARY (operands[4]))
29173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29174 : STRIP_UNARY (operands[4]))
29175 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29176 : STRIP_UNARY (operands[3]))
29177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29178 : STRIP_UNARY (operands[3])))) &&
29179 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29180 : (TARGET_SSE2)) &&
29181 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29182 : ( 1)))
29183 : return NULL;
29184 : return gen_split_2361 (insn, operands);
29185 :
29186 : case 12:
29187 : if (!((
29188 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29189 : ((64 == 64 || TARGET_AVX512VL
29190 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29191 : && ix86_pre_reload_split ()
29192 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29193 : STRIP_UNARY (operands[4]))
29194 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29195 : STRIP_UNARY (operands[4]))
29196 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29197 : STRIP_UNARY (operands[3]))
29198 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29199 : STRIP_UNARY (operands[3])))) &&
29200 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29201 : (TARGET_AVX512F)) &&
29202 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29203 : ( 1)))
29204 : return NULL;
29205 : return gen_split_2067 (insn, operands);
29206 :
29207 : case 13:
29208 : if (!((
29209 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29210 : ((32 == 64 || TARGET_AVX512VL
29211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29212 : && ix86_pre_reload_split ()
29213 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29214 : STRIP_UNARY (operands[4]))
29215 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29216 : STRIP_UNARY (operands[4]))
29217 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29218 : STRIP_UNARY (operands[3]))
29219 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29220 : STRIP_UNARY (operands[3])))) &&
29221 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29222 : (TARGET_AVX)) &&
29223 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29224 : ( 1)))
29225 : return NULL;
29226 : return gen_split_2094 (insn, operands);
29227 :
29228 : case 14:
29229 : if (!(
29230 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29231 : ((16 == 64 || TARGET_AVX512VL
29232 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29233 : && ix86_pre_reload_split ()
29234 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29235 : STRIP_UNARY (operands[4]))
29236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29237 : STRIP_UNARY (operands[4]))
29238 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29239 : STRIP_UNARY (operands[3]))
29240 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29241 : STRIP_UNARY (operands[3])))) &&
29242 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29243 : ( 1)))
29244 : return NULL;
29245 : return gen_split_2121 (insn, operands);
29246 :
29247 : case 15:
29248 : if (!((
29249 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29250 : ((64 == 64 || TARGET_AVX512VL
29251 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29252 : && ix86_pre_reload_split ()
29253 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29254 : STRIP_UNARY (operands[4]))
29255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29256 : STRIP_UNARY (operands[4]))
29257 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29258 : STRIP_UNARY (operands[3]))
29259 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29260 : STRIP_UNARY (operands[3])))) &&
29261 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29262 : (TARGET_AVX512F)) &&
29263 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29264 : ( 1)))
29265 : return NULL;
29266 : return gen_split_2148 (insn, operands);
29267 :
29268 : case 16:
29269 : if (!((
29270 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29271 : ((32 == 64 || TARGET_AVX512VL
29272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29273 : && ix86_pre_reload_split ()
29274 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29275 : STRIP_UNARY (operands[4]))
29276 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29277 : STRIP_UNARY (operands[4]))
29278 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29279 : STRIP_UNARY (operands[3]))
29280 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29281 : STRIP_UNARY (operands[3])))) &&
29282 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29283 : (TARGET_AVX)) &&
29284 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29285 : ( 1)))
29286 : return NULL;
29287 : return gen_split_2175 (insn, operands);
29288 :
29289 : case 17:
29290 : if (!(
29291 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29292 : ((16 == 64 || TARGET_AVX512VL
29293 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29294 : && ix86_pre_reload_split ()
29295 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29296 : STRIP_UNARY (operands[4]))
29297 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29298 : STRIP_UNARY (operands[4]))
29299 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29300 : STRIP_UNARY (operands[3]))
29301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29302 : STRIP_UNARY (operands[3])))) &&
29303 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29304 : ( 1)))
29305 : return NULL;
29306 : return gen_split_2202 (insn, operands);
29307 :
29308 : case 18:
29309 : if (!((
29310 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29311 : ((64 == 64 || TARGET_AVX512VL
29312 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29313 : && ix86_pre_reload_split ()
29314 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29315 : STRIP_UNARY (operands[4]))
29316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29317 : STRIP_UNARY (operands[4]))
29318 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29319 : STRIP_UNARY (operands[3]))
29320 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29321 : STRIP_UNARY (operands[3])))) &&
29322 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29323 : (TARGET_AVX512F)) &&
29324 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29325 : ( 1)))
29326 : return NULL;
29327 : return gen_split_2229 (insn, operands);
29328 :
29329 : case 19:
29330 : if (!((
29331 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29332 : ((32 == 64 || TARGET_AVX512VL
29333 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29334 : && ix86_pre_reload_split ()
29335 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29336 : STRIP_UNARY (operands[4]))
29337 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29338 : STRIP_UNARY (operands[4]))
29339 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29340 : STRIP_UNARY (operands[3]))
29341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29342 : STRIP_UNARY (operands[3])))) &&
29343 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29344 : (TARGET_AVX)) &&
29345 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29346 : ( 1)))
29347 : return NULL;
29348 : return gen_split_2256 (insn, operands);
29349 :
29350 : case 20:
29351 : if (!(
29352 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29353 : ((16 == 64 || TARGET_AVX512VL
29354 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29355 : && ix86_pre_reload_split ()
29356 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29357 : STRIP_UNARY (operands[4]))
29358 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29359 : STRIP_UNARY (operands[4]))
29360 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29361 : STRIP_UNARY (operands[3]))
29362 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29363 : STRIP_UNARY (operands[3])))) &&
29364 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29365 : ( 1)))
29366 : return NULL;
29367 : return gen_split_2283 (insn, operands);
29368 :
29369 : case 21:
29370 : if (!((
29371 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29372 : ((64 == 64 || TARGET_AVX512VL
29373 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29374 : && ix86_pre_reload_split ()
29375 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29376 : STRIP_UNARY (operands[4]))
29377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29378 : STRIP_UNARY (operands[4]))
29379 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29380 : STRIP_UNARY (operands[3]))
29381 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29382 : STRIP_UNARY (operands[3])))) &&
29383 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29384 : (TARGET_AVX512F)) &&
29385 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29386 : ( 1)))
29387 : return NULL;
29388 : return gen_split_2310 (insn, operands);
29389 :
29390 : case 22:
29391 : if (!((
29392 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29393 : ((32 == 64 || TARGET_AVX512VL
29394 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29395 : && ix86_pre_reload_split ()
29396 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29397 : STRIP_UNARY (operands[4]))
29398 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29399 : STRIP_UNARY (operands[4]))
29400 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29401 : STRIP_UNARY (operands[3]))
29402 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29403 : STRIP_UNARY (operands[3])))) &&
29404 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29405 : (TARGET_AVX)) &&
29406 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29407 : ( 1)))
29408 : return NULL;
29409 : return gen_split_2337 (insn, operands);
29410 :
29411 : case 23:
29412 : if (!((
29413 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29414 : ((16 == 64 || TARGET_AVX512VL
29415 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29416 : && ix86_pre_reload_split ()
29417 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29418 : STRIP_UNARY (operands[4]))
29419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29420 : STRIP_UNARY (operands[4]))
29421 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29422 : STRIP_UNARY (operands[3]))
29423 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29424 : STRIP_UNARY (operands[3])))) &&
29425 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29426 : (TARGET_SSE2)) &&
29427 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29428 : ( 1)))
29429 : return NULL;
29430 : return gen_split_2364 (insn, operands);
29431 :
29432 : case 24:
29433 : if (!((
29434 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29435 : ((64 == 64 || TARGET_AVX512VL
29436 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29437 : && ix86_pre_reload_split ()
29438 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29439 : STRIP_UNARY (operands[4]))
29440 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29441 : STRIP_UNARY (operands[4]))
29442 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29443 : STRIP_UNARY (operands[3]))
29444 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29445 : STRIP_UNARY (operands[3])))) &&
29446 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29447 : (TARGET_AVX512F)) &&
29448 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29449 : ( 1)))
29450 : return NULL;
29451 : return gen_split_2070 (insn, operands);
29452 :
29453 : case 25:
29454 : if (!((
29455 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29456 : ((32 == 64 || TARGET_AVX512VL
29457 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29458 : && ix86_pre_reload_split ()
29459 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29460 : STRIP_UNARY (operands[4]))
29461 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29462 : STRIP_UNARY (operands[4]))
29463 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29464 : STRIP_UNARY (operands[3]))
29465 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29466 : STRIP_UNARY (operands[3])))) &&
29467 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29468 : (TARGET_AVX)) &&
29469 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29470 : ( 1)))
29471 : return NULL;
29472 : return gen_split_2097 (insn, operands);
29473 :
29474 : case 26:
29475 : if (!(
29476 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29477 : ((16 == 64 || TARGET_AVX512VL
29478 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29479 : && ix86_pre_reload_split ()
29480 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29481 : STRIP_UNARY (operands[4]))
29482 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29483 : STRIP_UNARY (operands[4]))
29484 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29485 : STRIP_UNARY (operands[3]))
29486 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29487 : STRIP_UNARY (operands[3])))) &&
29488 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29489 : ( 1)))
29490 : return NULL;
29491 : return gen_split_2124 (insn, operands);
29492 :
29493 : case 27:
29494 : if (!((
29495 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29496 : ((64 == 64 || TARGET_AVX512VL
29497 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29498 : && ix86_pre_reload_split ()
29499 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29500 : STRIP_UNARY (operands[4]))
29501 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29502 : STRIP_UNARY (operands[4]))
29503 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29504 : STRIP_UNARY (operands[3]))
29505 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29506 : STRIP_UNARY (operands[3])))) &&
29507 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29508 : (TARGET_AVX512F)) &&
29509 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29510 : ( 1)))
29511 : return NULL;
29512 : return gen_split_2151 (insn, operands);
29513 :
29514 : case 28:
29515 : if (!((
29516 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29517 : ((32 == 64 || TARGET_AVX512VL
29518 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29519 : && ix86_pre_reload_split ()
29520 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29521 : STRIP_UNARY (operands[4]))
29522 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29523 : STRIP_UNARY (operands[4]))
29524 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29525 : STRIP_UNARY (operands[3]))
29526 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29527 : STRIP_UNARY (operands[3])))) &&
29528 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29529 : (TARGET_AVX)) &&
29530 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29531 : ( 1)))
29532 : return NULL;
29533 : return gen_split_2178 (insn, operands);
29534 :
29535 : case 29:
29536 : if (!(
29537 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29538 : ((16 == 64 || TARGET_AVX512VL
29539 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29540 : && ix86_pre_reload_split ()
29541 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29542 : STRIP_UNARY (operands[4]))
29543 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29544 : STRIP_UNARY (operands[4]))
29545 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29546 : STRIP_UNARY (operands[3]))
29547 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29548 : STRIP_UNARY (operands[3])))) &&
29549 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29550 : ( 1)))
29551 : return NULL;
29552 : return gen_split_2205 (insn, operands);
29553 :
29554 : case 30:
29555 : if (!((
29556 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29557 : ((64 == 64 || TARGET_AVX512VL
29558 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29559 : && ix86_pre_reload_split ()
29560 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29561 : STRIP_UNARY (operands[4]))
29562 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29563 : STRIP_UNARY (operands[4]))
29564 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29565 : STRIP_UNARY (operands[3]))
29566 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29567 : STRIP_UNARY (operands[3])))) &&
29568 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29569 : (TARGET_AVX512F)) &&
29570 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29571 : ( 1)))
29572 : return NULL;
29573 : return gen_split_2232 (insn, operands);
29574 :
29575 : case 31:
29576 : if (!((
29577 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29578 : ((32 == 64 || TARGET_AVX512VL
29579 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29580 : && ix86_pre_reload_split ()
29581 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29582 : STRIP_UNARY (operands[4]))
29583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29584 : STRIP_UNARY (operands[4]))
29585 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29586 : STRIP_UNARY (operands[3]))
29587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29588 : STRIP_UNARY (operands[3])))) &&
29589 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29590 : (TARGET_AVX)) &&
29591 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29592 : ( 1)))
29593 : return NULL;
29594 : return gen_split_2259 (insn, operands);
29595 :
29596 : case 32:
29597 : if (!(
29598 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29599 : ((16 == 64 || TARGET_AVX512VL
29600 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29601 : && ix86_pre_reload_split ()
29602 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29603 : STRIP_UNARY (operands[4]))
29604 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29605 : STRIP_UNARY (operands[4]))
29606 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29607 : STRIP_UNARY (operands[3]))
29608 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29609 : STRIP_UNARY (operands[3])))) &&
29610 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29611 : ( 1)))
29612 : return NULL;
29613 : return gen_split_2286 (insn, operands);
29614 :
29615 : case 33:
29616 : if (!((
29617 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29618 : ((64 == 64 || TARGET_AVX512VL
29619 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29620 : && ix86_pre_reload_split ()
29621 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29622 : STRIP_UNARY (operands[4]))
29623 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29624 : STRIP_UNARY (operands[4]))
29625 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29626 : STRIP_UNARY (operands[3]))
29627 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29628 : STRIP_UNARY (operands[3])))) &&
29629 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29630 : (TARGET_AVX512F)) &&
29631 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29632 : ( 1)))
29633 : return NULL;
29634 : return gen_split_2313 (insn, operands);
29635 :
29636 : case 34:
29637 : if (!((
29638 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29639 : ((32 == 64 || TARGET_AVX512VL
29640 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29641 : && ix86_pre_reload_split ()
29642 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29643 : STRIP_UNARY (operands[4]))
29644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29645 : STRIP_UNARY (operands[4]))
29646 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29647 : STRIP_UNARY (operands[3]))
29648 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29649 : STRIP_UNARY (operands[3])))) &&
29650 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29651 : (TARGET_AVX)) &&
29652 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29653 : ( 1)))
29654 : return NULL;
29655 : return gen_split_2340 (insn, operands);
29656 :
29657 : case 35:
29658 : if (!((
29659 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29660 : ((16 == 64 || TARGET_AVX512VL
29661 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29662 : && ix86_pre_reload_split ()
29663 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29664 : STRIP_UNARY (operands[4]))
29665 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29666 : STRIP_UNARY (operands[4]))
29667 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29668 : STRIP_UNARY (operands[3]))
29669 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29670 : STRIP_UNARY (operands[3])))) &&
29671 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29672 : (TARGET_SSE2)) &&
29673 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29674 : ( 1)))
29675 : return NULL;
29676 : return gen_split_2367 (insn, operands);
29677 :
29678 : case 36:
29679 : if (!((
29680 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29681 : ((64 == 64 || TARGET_AVX512VL
29682 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29683 : && ix86_pre_reload_split ()) &&
29684 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29685 : (TARGET_AVX512F)) &&
29686 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29687 : ( 1)))
29688 : return NULL;
29689 : return gen_split_3144 (insn, operands);
29690 :
29691 : case 37:
29692 : if (!((
29693 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29694 : ((32 == 64 || TARGET_AVX512VL
29695 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29696 : && ix86_pre_reload_split ()) &&
29697 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29698 : (TARGET_AVX)) &&
29699 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29700 : ( 1)))
29701 : return NULL;
29702 : return gen_split_3153 (insn, operands);
29703 :
29704 : case 38:
29705 : if (!(
29706 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29707 : ((16 == 64 || TARGET_AVX512VL
29708 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29709 : && ix86_pre_reload_split ()) &&
29710 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29711 : ( 1)))
29712 : return NULL;
29713 : return gen_split_3162 (insn, operands);
29714 :
29715 : case 39:
29716 : if (!((
29717 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29718 : ((64 == 64 || TARGET_AVX512VL
29719 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29720 : && ix86_pre_reload_split ()) &&
29721 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29722 : (TARGET_AVX512F)) &&
29723 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29724 : ( 1)))
29725 : return NULL;
29726 : return gen_split_3171 (insn, operands);
29727 :
29728 : case 40:
29729 : if (!((
29730 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29731 : ((32 == 64 || TARGET_AVX512VL
29732 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29733 : && ix86_pre_reload_split ()) &&
29734 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29735 : (TARGET_AVX)) &&
29736 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29737 : ( 1)))
29738 : return NULL;
29739 : return gen_split_3180 (insn, operands);
29740 :
29741 : case 41:
29742 : if (!(
29743 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29744 : ((16 == 64 || TARGET_AVX512VL
29745 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29746 : && ix86_pre_reload_split ()) &&
29747 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29748 : ( 1)))
29749 : return NULL;
29750 : return gen_split_3189 (insn, operands);
29751 :
29752 : case 42:
29753 : if (!((
29754 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29755 : ((64 == 64 || TARGET_AVX512VL
29756 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29757 : && ix86_pre_reload_split ()) &&
29758 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29759 : (TARGET_AVX512F)) &&
29760 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29761 : ( 1)))
29762 : return NULL;
29763 : return gen_split_3198 (insn, operands);
29764 :
29765 : case 43:
29766 : if (!((
29767 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29768 : ((32 == 64 || TARGET_AVX512VL
29769 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29770 : && ix86_pre_reload_split ()) &&
29771 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29772 : (TARGET_AVX)) &&
29773 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29774 : ( 1)))
29775 : return NULL;
29776 : return gen_split_3207 (insn, operands);
29777 :
29778 : case 44:
29779 : if (!(
29780 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29781 : ((16 == 64 || TARGET_AVX512VL
29782 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29783 : && ix86_pre_reload_split ()) &&
29784 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29785 : ( 1)))
29786 : return NULL;
29787 : return gen_split_3216 (insn, operands);
29788 :
29789 : case 45:
29790 : if (!((
29791 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29792 : ((64 == 64 || TARGET_AVX512VL
29793 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29794 : && ix86_pre_reload_split ()) &&
29795 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29796 : (TARGET_AVX512F)) &&
29797 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29798 : ( 1)))
29799 : return NULL;
29800 : return gen_split_3225 (insn, operands);
29801 :
29802 : case 46:
29803 : if (!((
29804 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29805 : ((32 == 64 || TARGET_AVX512VL
29806 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29807 : && ix86_pre_reload_split ()) &&
29808 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29809 : (TARGET_AVX)) &&
29810 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29811 : ( 1)))
29812 : return NULL;
29813 : return gen_split_3234 (insn, operands);
29814 :
29815 : case 47:
29816 : if (!((
29817 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29818 : ((16 == 64 || TARGET_AVX512VL
29819 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29820 : && ix86_pre_reload_split ()) &&
29821 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29822 : (TARGET_SSE2)) &&
29823 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29824 : ( 1)))
29825 : return NULL;
29826 : return gen_split_3243 (insn, operands);
29827 :
29828 : default:
29829 : return NULL;
29830 : }
29831 :
29832 : case AND:
29833 : switch (pattern544 (x2))
29834 : {
29835 : case 0:
29836 : if (!((
29837 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29838 : ((64 == 64 || TARGET_AVX512VL
29839 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29840 : && ix86_pre_reload_split ()
29841 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29842 : STRIP_UNARY (operands[4]))
29843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29844 : STRIP_UNARY (operands[4]))
29845 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29846 : STRIP_UNARY (operands[3]))
29847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29848 : STRIP_UNARY (operands[3])))) &&
29849 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29850 : (TARGET_AVX512F)) &&
29851 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29852 : ( 1)))
29853 : return NULL;
29854 : return gen_split_2712 (insn, operands);
29855 :
29856 : case 1:
29857 : if (!((
29858 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29859 : ((32 == 64 || TARGET_AVX512VL
29860 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29861 : && ix86_pre_reload_split ()
29862 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29863 : STRIP_UNARY (operands[4]))
29864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29865 : STRIP_UNARY (operands[4]))
29866 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29867 : STRIP_UNARY (operands[3]))
29868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29869 : STRIP_UNARY (operands[3])))) &&
29870 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29871 : (TARGET_AVX)) &&
29872 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29873 : ( 1)))
29874 : return NULL;
29875 : return gen_split_2739 (insn, operands);
29876 :
29877 : case 2:
29878 : if (!(
29879 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29880 : ((16 == 64 || TARGET_AVX512VL
29881 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29882 : && ix86_pre_reload_split ()
29883 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29884 : STRIP_UNARY (operands[4]))
29885 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29886 : STRIP_UNARY (operands[4]))
29887 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29888 : STRIP_UNARY (operands[3]))
29889 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29890 : STRIP_UNARY (operands[3])))) &&
29891 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29892 : ( 1)))
29893 : return NULL;
29894 : return gen_split_2766 (insn, operands);
29895 :
29896 : case 3:
29897 : if (!((
29898 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29899 : ((64 == 64 || TARGET_AVX512VL
29900 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29901 : && ix86_pre_reload_split ()
29902 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29903 : STRIP_UNARY (operands[4]))
29904 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29905 : STRIP_UNARY (operands[4]))
29906 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29907 : STRIP_UNARY (operands[3]))
29908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29909 : STRIP_UNARY (operands[3])))) &&
29910 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29911 : (TARGET_AVX512F)) &&
29912 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29913 : ( 1)))
29914 : return NULL;
29915 : return gen_split_2793 (insn, operands);
29916 :
29917 : case 4:
29918 : if (!((
29919 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29920 : ((32 == 64 || TARGET_AVX512VL
29921 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29922 : && ix86_pre_reload_split ()
29923 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29924 : STRIP_UNARY (operands[4]))
29925 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29926 : STRIP_UNARY (operands[4]))
29927 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29928 : STRIP_UNARY (operands[3]))
29929 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29930 : STRIP_UNARY (operands[3])))) &&
29931 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29932 : (TARGET_AVX)) &&
29933 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29934 : ( 1)))
29935 : return NULL;
29936 : return gen_split_2820 (insn, operands);
29937 :
29938 : case 5:
29939 : if (!(
29940 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29941 : ((16 == 64 || TARGET_AVX512VL
29942 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29943 : && ix86_pre_reload_split ()
29944 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29945 : STRIP_UNARY (operands[4]))
29946 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29947 : STRIP_UNARY (operands[4]))
29948 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29949 : STRIP_UNARY (operands[3]))
29950 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29951 : STRIP_UNARY (operands[3])))) &&
29952 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29953 : ( 1)))
29954 : return NULL;
29955 : return gen_split_2847 (insn, operands);
29956 :
29957 : case 6:
29958 : if (!((
29959 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29960 : ((64 == 64 || TARGET_AVX512VL
29961 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29962 : && ix86_pre_reload_split ()
29963 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29964 : STRIP_UNARY (operands[4]))
29965 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29966 : STRIP_UNARY (operands[4]))
29967 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29968 : STRIP_UNARY (operands[3]))
29969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29970 : STRIP_UNARY (operands[3])))) &&
29971 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29972 : (TARGET_AVX512F)) &&
29973 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29974 : ( 1)))
29975 : return NULL;
29976 : return gen_split_2874 (insn, operands);
29977 :
29978 : case 7:
29979 : if (!((
29980 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29981 : ((32 == 64 || TARGET_AVX512VL
29982 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29983 : && ix86_pre_reload_split ()
29984 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29985 : STRIP_UNARY (operands[4]))
29986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29987 : STRIP_UNARY (operands[4]))
29988 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29989 : STRIP_UNARY (operands[3]))
29990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29991 : STRIP_UNARY (operands[3])))) &&
29992 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29993 : (TARGET_AVX)) &&
29994 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29995 : ( 1)))
29996 : return NULL;
29997 : return gen_split_2901 (insn, operands);
29998 :
29999 : case 8:
30000 : if (!(
30001 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30002 : ((16 == 64 || TARGET_AVX512VL
30003 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30004 : && ix86_pre_reload_split ()
30005 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30006 : STRIP_UNARY (operands[4]))
30007 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30008 : STRIP_UNARY (operands[4]))
30009 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30010 : STRIP_UNARY (operands[3]))
30011 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30012 : STRIP_UNARY (operands[3])))) &&
30013 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30014 : ( 1)))
30015 : return NULL;
30016 : return gen_split_2928 (insn, operands);
30017 :
30018 : case 9:
30019 : if (!((
30020 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30021 : ((64 == 64 || TARGET_AVX512VL
30022 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30023 : && ix86_pre_reload_split ()
30024 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30025 : STRIP_UNARY (operands[4]))
30026 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30027 : STRIP_UNARY (operands[4]))
30028 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30029 : STRIP_UNARY (operands[3]))
30030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30031 : STRIP_UNARY (operands[3])))) &&
30032 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30033 : (TARGET_AVX512F)) &&
30034 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30035 : ( 1)))
30036 : return NULL;
30037 : return gen_split_2955 (insn, operands);
30038 :
30039 : case 10:
30040 : if (!((
30041 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30042 : ((32 == 64 || TARGET_AVX512VL
30043 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30044 : && ix86_pre_reload_split ()
30045 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30046 : STRIP_UNARY (operands[4]))
30047 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30048 : STRIP_UNARY (operands[4]))
30049 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30050 : STRIP_UNARY (operands[3]))
30051 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30052 : STRIP_UNARY (operands[3])))) &&
30053 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30054 : (TARGET_AVX)) &&
30055 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30056 : ( 1)))
30057 : return NULL;
30058 : return gen_split_2982 (insn, operands);
30059 :
30060 : case 11:
30061 : if (!((
30062 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30063 : ((16 == 64 || TARGET_AVX512VL
30064 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30065 : && ix86_pre_reload_split ()
30066 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30067 : STRIP_UNARY (operands[4]))
30068 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30069 : STRIP_UNARY (operands[4]))
30070 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30071 : STRIP_UNARY (operands[3]))
30072 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30073 : STRIP_UNARY (operands[3])))) &&
30074 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30075 : (TARGET_SSE2)) &&
30076 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30077 : ( 1)))
30078 : return NULL;
30079 : return gen_split_3009 (insn, operands);
30080 :
30081 : default:
30082 : return NULL;
30083 : }
30084 :
30085 : case IOR:
30086 : switch (pattern544 (x2))
30087 : {
30088 : case 0:
30089 : if (!((
30090 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30091 : ((64 == 64 || TARGET_AVX512VL
30092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30093 : && ix86_pre_reload_split ()
30094 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30095 : STRIP_UNARY (operands[4]))
30096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30097 : STRIP_UNARY (operands[4]))
30098 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30099 : STRIP_UNARY (operands[3]))
30100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30101 : STRIP_UNARY (operands[3])))) &&
30102 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30103 : (TARGET_AVX512F)) &&
30104 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30105 : ( 1)))
30106 : return NULL;
30107 : return gen_split_2715 (insn, operands);
30108 :
30109 : case 1:
30110 : if (!((
30111 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30112 : ((32 == 64 || TARGET_AVX512VL
30113 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30114 : && ix86_pre_reload_split ()
30115 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30116 : STRIP_UNARY (operands[4]))
30117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30118 : STRIP_UNARY (operands[4]))
30119 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30120 : STRIP_UNARY (operands[3]))
30121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30122 : STRIP_UNARY (operands[3])))) &&
30123 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30124 : (TARGET_AVX)) &&
30125 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30126 : ( 1)))
30127 : return NULL;
30128 : return gen_split_2742 (insn, operands);
30129 :
30130 : case 2:
30131 : if (!(
30132 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30133 : ((16 == 64 || TARGET_AVX512VL
30134 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30135 : && ix86_pre_reload_split ()
30136 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30137 : STRIP_UNARY (operands[4]))
30138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30139 : STRIP_UNARY (operands[4]))
30140 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30141 : STRIP_UNARY (operands[3]))
30142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30143 : STRIP_UNARY (operands[3])))) &&
30144 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30145 : ( 1)))
30146 : return NULL;
30147 : return gen_split_2769 (insn, operands);
30148 :
30149 : case 3:
30150 : if (!((
30151 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30152 : ((64 == 64 || TARGET_AVX512VL
30153 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30154 : && ix86_pre_reload_split ()
30155 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30156 : STRIP_UNARY (operands[4]))
30157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30158 : STRIP_UNARY (operands[4]))
30159 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30160 : STRIP_UNARY (operands[3]))
30161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30162 : STRIP_UNARY (operands[3])))) &&
30163 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30164 : (TARGET_AVX512F)) &&
30165 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30166 : ( 1)))
30167 : return NULL;
30168 : return gen_split_2796 (insn, operands);
30169 :
30170 : case 4:
30171 : if (!((
30172 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30173 : ((32 == 64 || TARGET_AVX512VL
30174 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30175 : && ix86_pre_reload_split ()
30176 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30177 : STRIP_UNARY (operands[4]))
30178 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30179 : STRIP_UNARY (operands[4]))
30180 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30181 : STRIP_UNARY (operands[3]))
30182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30183 : STRIP_UNARY (operands[3])))) &&
30184 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30185 : (TARGET_AVX)) &&
30186 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30187 : ( 1)))
30188 : return NULL;
30189 : return gen_split_2823 (insn, operands);
30190 :
30191 : case 5:
30192 : if (!(
30193 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30194 : ((16 == 64 || TARGET_AVX512VL
30195 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30196 : && ix86_pre_reload_split ()
30197 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30198 : STRIP_UNARY (operands[4]))
30199 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30200 : STRIP_UNARY (operands[4]))
30201 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30202 : STRIP_UNARY (operands[3]))
30203 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30204 : STRIP_UNARY (operands[3])))) &&
30205 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30206 : ( 1)))
30207 : return NULL;
30208 : return gen_split_2850 (insn, operands);
30209 :
30210 : case 6:
30211 : if (!((
30212 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30213 : ((64 == 64 || TARGET_AVX512VL
30214 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30215 : && ix86_pre_reload_split ()
30216 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30217 : STRIP_UNARY (operands[4]))
30218 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30219 : STRIP_UNARY (operands[4]))
30220 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30221 : STRIP_UNARY (operands[3]))
30222 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30223 : STRIP_UNARY (operands[3])))) &&
30224 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30225 : (TARGET_AVX512F)) &&
30226 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30227 : ( 1)))
30228 : return NULL;
30229 : return gen_split_2877 (insn, operands);
30230 :
30231 : case 7:
30232 : if (!((
30233 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30234 : ((32 == 64 || TARGET_AVX512VL
30235 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30236 : && ix86_pre_reload_split ()
30237 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30238 : STRIP_UNARY (operands[4]))
30239 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30240 : STRIP_UNARY (operands[4]))
30241 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30242 : STRIP_UNARY (operands[3]))
30243 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30244 : STRIP_UNARY (operands[3])))) &&
30245 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30246 : (TARGET_AVX)) &&
30247 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30248 : ( 1)))
30249 : return NULL;
30250 : return gen_split_2904 (insn, operands);
30251 :
30252 : case 8:
30253 : if (!(
30254 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30255 : ((16 == 64 || TARGET_AVX512VL
30256 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30257 : && ix86_pre_reload_split ()
30258 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30259 : STRIP_UNARY (operands[4]))
30260 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30261 : STRIP_UNARY (operands[4]))
30262 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30263 : STRIP_UNARY (operands[3]))
30264 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30265 : STRIP_UNARY (operands[3])))) &&
30266 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30267 : ( 1)))
30268 : return NULL;
30269 : return gen_split_2931 (insn, operands);
30270 :
30271 : case 9:
30272 : if (!((
30273 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30274 : ((64 == 64 || TARGET_AVX512VL
30275 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30276 : && ix86_pre_reload_split ()
30277 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30278 : STRIP_UNARY (operands[4]))
30279 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30280 : STRIP_UNARY (operands[4]))
30281 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30282 : STRIP_UNARY (operands[3]))
30283 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30284 : STRIP_UNARY (operands[3])))) &&
30285 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30286 : (TARGET_AVX512F)) &&
30287 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30288 : ( 1)))
30289 : return NULL;
30290 : return gen_split_2958 (insn, operands);
30291 :
30292 : case 10:
30293 : if (!((
30294 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30295 : ((32 == 64 || TARGET_AVX512VL
30296 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30297 : && ix86_pre_reload_split ()
30298 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30299 : STRIP_UNARY (operands[4]))
30300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30301 : STRIP_UNARY (operands[4]))
30302 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30303 : STRIP_UNARY (operands[3]))
30304 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30305 : STRIP_UNARY (operands[3])))) &&
30306 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30307 : (TARGET_AVX)) &&
30308 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30309 : ( 1)))
30310 : return NULL;
30311 : return gen_split_2985 (insn, operands);
30312 :
30313 : case 11:
30314 : if (!((
30315 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30316 : ((16 == 64 || TARGET_AVX512VL
30317 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30318 : && ix86_pre_reload_split ()
30319 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30320 : STRIP_UNARY (operands[4]))
30321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30322 : STRIP_UNARY (operands[4]))
30323 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30324 : STRIP_UNARY (operands[3]))
30325 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30326 : STRIP_UNARY (operands[3])))) &&
30327 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30328 : (TARGET_SSE2)) &&
30329 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30330 : ( 1)))
30331 : return NULL;
30332 : return gen_split_3012 (insn, operands);
30333 :
30334 : default:
30335 : return NULL;
30336 : }
30337 :
30338 : case XOR:
30339 : switch (pattern544 (x2))
30340 : {
30341 : case 0:
30342 : if (!((
30343 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30344 : ((64 == 64 || TARGET_AVX512VL
30345 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30346 : && ix86_pre_reload_split ()
30347 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30348 : STRIP_UNARY (operands[4]))
30349 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30350 : STRIP_UNARY (operands[4]))
30351 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30352 : STRIP_UNARY (operands[3]))
30353 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30354 : STRIP_UNARY (operands[3])))) &&
30355 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30356 : (TARGET_AVX512F)) &&
30357 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30358 : ( 1)))
30359 : return NULL;
30360 : return gen_split_2718 (insn, operands);
30361 :
30362 : case 1:
30363 : if (!((
30364 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30365 : ((32 == 64 || TARGET_AVX512VL
30366 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30367 : && ix86_pre_reload_split ()
30368 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30369 : STRIP_UNARY (operands[4]))
30370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30371 : STRIP_UNARY (operands[4]))
30372 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30373 : STRIP_UNARY (operands[3]))
30374 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30375 : STRIP_UNARY (operands[3])))) &&
30376 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30377 : (TARGET_AVX)) &&
30378 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30379 : ( 1)))
30380 : return NULL;
30381 : return gen_split_2745 (insn, operands);
30382 :
30383 : case 2:
30384 : if (!(
30385 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30386 : ((16 == 64 || TARGET_AVX512VL
30387 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30388 : && ix86_pre_reload_split ()
30389 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30390 : STRIP_UNARY (operands[4]))
30391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30392 : STRIP_UNARY (operands[4]))
30393 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30394 : STRIP_UNARY (operands[3]))
30395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30396 : STRIP_UNARY (operands[3])))) &&
30397 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30398 : ( 1)))
30399 : return NULL;
30400 : return gen_split_2772 (insn, operands);
30401 :
30402 : case 3:
30403 : if (!((
30404 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30405 : ((64 == 64 || TARGET_AVX512VL
30406 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30407 : && ix86_pre_reload_split ()
30408 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30409 : STRIP_UNARY (operands[4]))
30410 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30411 : STRIP_UNARY (operands[4]))
30412 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30413 : STRIP_UNARY (operands[3]))
30414 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30415 : STRIP_UNARY (operands[3])))) &&
30416 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30417 : (TARGET_AVX512F)) &&
30418 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30419 : ( 1)))
30420 : return NULL;
30421 : return gen_split_2799 (insn, operands);
30422 :
30423 : case 4:
30424 : if (!((
30425 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30426 : ((32 == 64 || TARGET_AVX512VL
30427 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30428 : && ix86_pre_reload_split ()
30429 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30430 : STRIP_UNARY (operands[4]))
30431 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30432 : STRIP_UNARY (operands[4]))
30433 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30434 : STRIP_UNARY (operands[3]))
30435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30436 : STRIP_UNARY (operands[3])))) &&
30437 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30438 : (TARGET_AVX)) &&
30439 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30440 : ( 1)))
30441 : return NULL;
30442 : return gen_split_2826 (insn, operands);
30443 :
30444 : case 5:
30445 : if (!(
30446 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30447 : ((16 == 64 || TARGET_AVX512VL
30448 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30449 : && ix86_pre_reload_split ()
30450 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30451 : STRIP_UNARY (operands[4]))
30452 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30453 : STRIP_UNARY (operands[4]))
30454 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30455 : STRIP_UNARY (operands[3]))
30456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30457 : STRIP_UNARY (operands[3])))) &&
30458 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30459 : ( 1)))
30460 : return NULL;
30461 : return gen_split_2853 (insn, operands);
30462 :
30463 : case 6:
30464 : if (!((
30465 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30466 : ((64 == 64 || TARGET_AVX512VL
30467 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30468 : && ix86_pre_reload_split ()
30469 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30470 : STRIP_UNARY (operands[4]))
30471 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30472 : STRIP_UNARY (operands[4]))
30473 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30474 : STRIP_UNARY (operands[3]))
30475 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30476 : STRIP_UNARY (operands[3])))) &&
30477 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30478 : (TARGET_AVX512F)) &&
30479 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30480 : ( 1)))
30481 : return NULL;
30482 : return gen_split_2880 (insn, operands);
30483 :
30484 : case 7:
30485 : if (!((
30486 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30487 : ((32 == 64 || TARGET_AVX512VL
30488 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30489 : && ix86_pre_reload_split ()
30490 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30491 : STRIP_UNARY (operands[4]))
30492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30493 : STRIP_UNARY (operands[4]))
30494 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30495 : STRIP_UNARY (operands[3]))
30496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30497 : STRIP_UNARY (operands[3])))) &&
30498 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30499 : (TARGET_AVX)) &&
30500 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30501 : ( 1)))
30502 : return NULL;
30503 : return gen_split_2907 (insn, operands);
30504 :
30505 : case 8:
30506 : if (!(
30507 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30508 : ((16 == 64 || TARGET_AVX512VL
30509 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30510 : && ix86_pre_reload_split ()
30511 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30512 : STRIP_UNARY (operands[4]))
30513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30514 : STRIP_UNARY (operands[4]))
30515 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30516 : STRIP_UNARY (operands[3]))
30517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30518 : STRIP_UNARY (operands[3])))) &&
30519 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30520 : ( 1)))
30521 : return NULL;
30522 : return gen_split_2934 (insn, operands);
30523 :
30524 : case 9:
30525 : if (!((
30526 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30527 : ((64 == 64 || TARGET_AVX512VL
30528 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30529 : && ix86_pre_reload_split ()
30530 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30531 : STRIP_UNARY (operands[4]))
30532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30533 : STRIP_UNARY (operands[4]))
30534 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30535 : STRIP_UNARY (operands[3]))
30536 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30537 : STRIP_UNARY (operands[3])))) &&
30538 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30539 : (TARGET_AVX512F)) &&
30540 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30541 : ( 1)))
30542 : return NULL;
30543 : return gen_split_2961 (insn, operands);
30544 :
30545 : case 10:
30546 : if (!((
30547 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30548 : ((32 == 64 || TARGET_AVX512VL
30549 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30550 : && ix86_pre_reload_split ()
30551 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30552 : STRIP_UNARY (operands[4]))
30553 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30554 : STRIP_UNARY (operands[4]))
30555 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30556 : STRIP_UNARY (operands[3]))
30557 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30558 : STRIP_UNARY (operands[3])))) &&
30559 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30560 : (TARGET_AVX)) &&
30561 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30562 : ( 1)))
30563 : return NULL;
30564 : return gen_split_2988 (insn, operands);
30565 :
30566 : case 11:
30567 : if (!((
30568 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30569 : ((16 == 64 || TARGET_AVX512VL
30570 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30571 : && ix86_pre_reload_split ()
30572 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30573 : STRIP_UNARY (operands[4]))
30574 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30575 : STRIP_UNARY (operands[4]))
30576 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30577 : STRIP_UNARY (operands[3]))
30578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30579 : STRIP_UNARY (operands[3])))) &&
30580 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30581 : (TARGET_SSE2)) &&
30582 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30583 : ( 1)))
30584 : return NULL;
30585 : return gen_split_3015 (insn, operands);
30586 :
30587 : default:
30588 : return NULL;
30589 : }
30590 :
30591 : default:
30592 : return NULL;
30593 : }
30594 :
30595 : case IOR:
30596 : x4 = XEXP (x3, 0);
30597 : switch (GET_CODE (x4))
30598 : {
30599 : case REG:
30600 : case SUBREG:
30601 : case MEM:
30602 : case NOT:
30603 : switch (pattern543 (x2))
30604 : {
30605 : case 0:
30606 : if (!((
30607 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30608 : ((64 == 64 || TARGET_AVX512VL
30609 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30610 : && ix86_pre_reload_split ()
30611 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30612 : STRIP_UNARY (operands[4]))
30613 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30614 : STRIP_UNARY (operands[4]))
30615 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30616 : STRIP_UNARY (operands[3]))
30617 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30618 : STRIP_UNARY (operands[3])))) &&
30619 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30620 : (TARGET_AVX512F)) &&
30621 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30622 : ( 1)))
30623 : return NULL;
30624 : return gen_split_2073 (insn, operands);
30625 :
30626 : case 1:
30627 : if (!((
30628 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30629 : ((32 == 64 || TARGET_AVX512VL
30630 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30631 : && ix86_pre_reload_split ()
30632 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30633 : STRIP_UNARY (operands[4]))
30634 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30635 : STRIP_UNARY (operands[4]))
30636 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30637 : STRIP_UNARY (operands[3]))
30638 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30639 : STRIP_UNARY (operands[3])))) &&
30640 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30641 : (TARGET_AVX)) &&
30642 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30643 : ( 1)))
30644 : return NULL;
30645 : return gen_split_2100 (insn, operands);
30646 :
30647 : case 2:
30648 : if (!(
30649 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30650 : ((16 == 64 || TARGET_AVX512VL
30651 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30652 : && ix86_pre_reload_split ()
30653 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30654 : STRIP_UNARY (operands[4]))
30655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30656 : STRIP_UNARY (operands[4]))
30657 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30658 : STRIP_UNARY (operands[3]))
30659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30660 : STRIP_UNARY (operands[3])))) &&
30661 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30662 : ( 1)))
30663 : return NULL;
30664 : return gen_split_2127 (insn, operands);
30665 :
30666 : case 3:
30667 : if (!((
30668 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30669 : ((64 == 64 || TARGET_AVX512VL
30670 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30671 : && ix86_pre_reload_split ()
30672 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30673 : STRIP_UNARY (operands[4]))
30674 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30675 : STRIP_UNARY (operands[4]))
30676 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30677 : STRIP_UNARY (operands[3]))
30678 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30679 : STRIP_UNARY (operands[3])))) &&
30680 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30681 : (TARGET_AVX512F)) &&
30682 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30683 : ( 1)))
30684 : return NULL;
30685 : return gen_split_2154 (insn, operands);
30686 :
30687 : case 4:
30688 : if (!((
30689 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30690 : ((32 == 64 || TARGET_AVX512VL
30691 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30692 : && ix86_pre_reload_split ()
30693 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30694 : STRIP_UNARY (operands[4]))
30695 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30696 : STRIP_UNARY (operands[4]))
30697 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30698 : STRIP_UNARY (operands[3]))
30699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30700 : STRIP_UNARY (operands[3])))) &&
30701 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30702 : (TARGET_AVX)) &&
30703 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30704 : ( 1)))
30705 : return NULL;
30706 : return gen_split_2181 (insn, operands);
30707 :
30708 : case 5:
30709 : if (!(
30710 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30711 : ((16 == 64 || TARGET_AVX512VL
30712 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30713 : && ix86_pre_reload_split ()
30714 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30715 : STRIP_UNARY (operands[4]))
30716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30717 : STRIP_UNARY (operands[4]))
30718 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30719 : STRIP_UNARY (operands[3]))
30720 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30721 : STRIP_UNARY (operands[3])))) &&
30722 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30723 : ( 1)))
30724 : return NULL;
30725 : return gen_split_2208 (insn, operands);
30726 :
30727 : case 6:
30728 : if (!((
30729 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30730 : ((64 == 64 || TARGET_AVX512VL
30731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30732 : && ix86_pre_reload_split ()
30733 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30734 : STRIP_UNARY (operands[4]))
30735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30736 : STRIP_UNARY (operands[4]))
30737 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30738 : STRIP_UNARY (operands[3]))
30739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30740 : STRIP_UNARY (operands[3])))) &&
30741 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30742 : (TARGET_AVX512F)) &&
30743 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30744 : ( 1)))
30745 : return NULL;
30746 : return gen_split_2235 (insn, operands);
30747 :
30748 : case 7:
30749 : if (!((
30750 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30751 : ((32 == 64 || TARGET_AVX512VL
30752 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30753 : && ix86_pre_reload_split ()
30754 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30755 : STRIP_UNARY (operands[4]))
30756 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30757 : STRIP_UNARY (operands[4]))
30758 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30759 : STRIP_UNARY (operands[3]))
30760 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30761 : STRIP_UNARY (operands[3])))) &&
30762 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30763 : (TARGET_AVX)) &&
30764 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30765 : ( 1)))
30766 : return NULL;
30767 : return gen_split_2262 (insn, operands);
30768 :
30769 : case 8:
30770 : if (!(
30771 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30772 : ((16 == 64 || TARGET_AVX512VL
30773 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30774 : && ix86_pre_reload_split ()
30775 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30776 : STRIP_UNARY (operands[4]))
30777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30778 : STRIP_UNARY (operands[4]))
30779 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30780 : STRIP_UNARY (operands[3]))
30781 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30782 : STRIP_UNARY (operands[3])))) &&
30783 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30784 : ( 1)))
30785 : return NULL;
30786 : return gen_split_2289 (insn, operands);
30787 :
30788 : case 9:
30789 : if (!((
30790 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30791 : ((64 == 64 || TARGET_AVX512VL
30792 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30793 : && ix86_pre_reload_split ()
30794 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30795 : STRIP_UNARY (operands[4]))
30796 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30797 : STRIP_UNARY (operands[4]))
30798 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30799 : STRIP_UNARY (operands[3]))
30800 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30801 : STRIP_UNARY (operands[3])))) &&
30802 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30803 : (TARGET_AVX512F)) &&
30804 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30805 : ( 1)))
30806 : return NULL;
30807 : return gen_split_2316 (insn, operands);
30808 :
30809 : case 10:
30810 : if (!((
30811 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30812 : ((32 == 64 || TARGET_AVX512VL
30813 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30814 : && ix86_pre_reload_split ()
30815 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30816 : STRIP_UNARY (operands[4]))
30817 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30818 : STRIP_UNARY (operands[4]))
30819 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30820 : STRIP_UNARY (operands[3]))
30821 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30822 : STRIP_UNARY (operands[3])))) &&
30823 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30824 : (TARGET_AVX)) &&
30825 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30826 : ( 1)))
30827 : return NULL;
30828 : return gen_split_2343 (insn, operands);
30829 :
30830 : case 11:
30831 : if (!((
30832 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30833 : ((16 == 64 || TARGET_AVX512VL
30834 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30835 : && ix86_pre_reload_split ()
30836 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30837 : STRIP_UNARY (operands[4]))
30838 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30839 : STRIP_UNARY (operands[4]))
30840 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30841 : STRIP_UNARY (operands[3]))
30842 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30843 : STRIP_UNARY (operands[3])))) &&
30844 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30845 : (TARGET_SSE2)) &&
30846 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30847 : ( 1)))
30848 : return NULL;
30849 : return gen_split_2370 (insn, operands);
30850 :
30851 : case 12:
30852 : if (!((
30853 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30854 : ((64 == 64 || TARGET_AVX512VL
30855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30856 : && ix86_pre_reload_split ()
30857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30858 : STRIP_UNARY (operands[4]))
30859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30860 : STRIP_UNARY (operands[4]))
30861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30862 : STRIP_UNARY (operands[3]))
30863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30864 : STRIP_UNARY (operands[3])))) &&
30865 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30866 : (TARGET_AVX512F)) &&
30867 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30868 : ( 1)))
30869 : return NULL;
30870 : return gen_split_2076 (insn, operands);
30871 :
30872 : case 13:
30873 : if (!((
30874 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30875 : ((32 == 64 || TARGET_AVX512VL
30876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30877 : && ix86_pre_reload_split ()
30878 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30879 : STRIP_UNARY (operands[4]))
30880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30881 : STRIP_UNARY (operands[4]))
30882 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30883 : STRIP_UNARY (operands[3]))
30884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30885 : STRIP_UNARY (operands[3])))) &&
30886 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30887 : (TARGET_AVX)) &&
30888 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30889 : ( 1)))
30890 : return NULL;
30891 : return gen_split_2103 (insn, operands);
30892 :
30893 : case 14:
30894 : if (!(
30895 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30896 : ((16 == 64 || TARGET_AVX512VL
30897 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30898 : && ix86_pre_reload_split ()
30899 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30900 : STRIP_UNARY (operands[4]))
30901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30902 : STRIP_UNARY (operands[4]))
30903 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30904 : STRIP_UNARY (operands[3]))
30905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30906 : STRIP_UNARY (operands[3])))) &&
30907 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30908 : ( 1)))
30909 : return NULL;
30910 : return gen_split_2130 (insn, operands);
30911 :
30912 : case 15:
30913 : if (!((
30914 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30915 : ((64 == 64 || TARGET_AVX512VL
30916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30917 : && ix86_pre_reload_split ()
30918 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30919 : STRIP_UNARY (operands[4]))
30920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30921 : STRIP_UNARY (operands[4]))
30922 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30923 : STRIP_UNARY (operands[3]))
30924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30925 : STRIP_UNARY (operands[3])))) &&
30926 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30927 : (TARGET_AVX512F)) &&
30928 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30929 : ( 1)))
30930 : return NULL;
30931 : return gen_split_2157 (insn, operands);
30932 :
30933 : case 16:
30934 : if (!((
30935 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : ((32 == 64 || TARGET_AVX512VL
30937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30938 : && ix86_pre_reload_split ()
30939 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30940 : STRIP_UNARY (operands[4]))
30941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30942 : STRIP_UNARY (operands[4]))
30943 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30944 : STRIP_UNARY (operands[3]))
30945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30946 : STRIP_UNARY (operands[3])))) &&
30947 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30948 : (TARGET_AVX)) &&
30949 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30950 : ( 1)))
30951 : return NULL;
30952 : return gen_split_2184 (insn, operands);
30953 :
30954 : case 17:
30955 : if (!(
30956 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30957 : ((16 == 64 || TARGET_AVX512VL
30958 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30959 : && ix86_pre_reload_split ()
30960 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30961 : STRIP_UNARY (operands[4]))
30962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30963 : STRIP_UNARY (operands[4]))
30964 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30965 : STRIP_UNARY (operands[3]))
30966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30967 : STRIP_UNARY (operands[3])))) &&
30968 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30969 : ( 1)))
30970 : return NULL;
30971 : return gen_split_2211 (insn, operands);
30972 :
30973 : case 18:
30974 : if (!((
30975 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30976 : ((64 == 64 || TARGET_AVX512VL
30977 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30978 : && ix86_pre_reload_split ()
30979 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30980 : STRIP_UNARY (operands[4]))
30981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30982 : STRIP_UNARY (operands[4]))
30983 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30984 : STRIP_UNARY (operands[3]))
30985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30986 : STRIP_UNARY (operands[3])))) &&
30987 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30988 : (TARGET_AVX512F)) &&
30989 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30990 : ( 1)))
30991 : return NULL;
30992 : return gen_split_2238 (insn, operands);
30993 :
30994 : case 19:
30995 : if (!((
30996 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30997 : ((32 == 64 || TARGET_AVX512VL
30998 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30999 : && ix86_pre_reload_split ()
31000 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31001 : STRIP_UNARY (operands[4]))
31002 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31003 : STRIP_UNARY (operands[4]))
31004 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31005 : STRIP_UNARY (operands[3]))
31006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31007 : STRIP_UNARY (operands[3])))) &&
31008 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31009 : (TARGET_AVX)) &&
31010 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31011 : ( 1)))
31012 : return NULL;
31013 : return gen_split_2265 (insn, operands);
31014 :
31015 : case 20:
31016 : if (!(
31017 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31018 : ((16 == 64 || TARGET_AVX512VL
31019 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31020 : && ix86_pre_reload_split ()
31021 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31022 : STRIP_UNARY (operands[4]))
31023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31024 : STRIP_UNARY (operands[4]))
31025 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31026 : STRIP_UNARY (operands[3]))
31027 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31028 : STRIP_UNARY (operands[3])))) &&
31029 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31030 : ( 1)))
31031 : return NULL;
31032 : return gen_split_2292 (insn, operands);
31033 :
31034 : case 21:
31035 : if (!((
31036 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31037 : ((64 == 64 || TARGET_AVX512VL
31038 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31039 : && ix86_pre_reload_split ()
31040 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31041 : STRIP_UNARY (operands[4]))
31042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31043 : STRIP_UNARY (operands[4]))
31044 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31045 : STRIP_UNARY (operands[3]))
31046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31047 : STRIP_UNARY (operands[3])))) &&
31048 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31049 : (TARGET_AVX512F)) &&
31050 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31051 : ( 1)))
31052 : return NULL;
31053 : return gen_split_2319 (insn, operands);
31054 :
31055 : case 22:
31056 : if (!((
31057 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31058 : ((32 == 64 || TARGET_AVX512VL
31059 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31060 : && ix86_pre_reload_split ()
31061 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31062 : STRIP_UNARY (operands[4]))
31063 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31064 : STRIP_UNARY (operands[4]))
31065 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31066 : STRIP_UNARY (operands[3]))
31067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31068 : STRIP_UNARY (operands[3])))) &&
31069 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31070 : (TARGET_AVX)) &&
31071 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31072 : ( 1)))
31073 : return NULL;
31074 : return gen_split_2346 (insn, operands);
31075 :
31076 : case 23:
31077 : if (!((
31078 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31079 : ((16 == 64 || TARGET_AVX512VL
31080 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31081 : && ix86_pre_reload_split ()
31082 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31083 : STRIP_UNARY (operands[4]))
31084 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31085 : STRIP_UNARY (operands[4]))
31086 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31087 : STRIP_UNARY (operands[3]))
31088 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31089 : STRIP_UNARY (operands[3])))) &&
31090 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31091 : (TARGET_SSE2)) &&
31092 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31093 : ( 1)))
31094 : return NULL;
31095 : return gen_split_2373 (insn, operands);
31096 :
31097 : case 24:
31098 : if (!((
31099 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31100 : ((64 == 64 || TARGET_AVX512VL
31101 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31102 : && ix86_pre_reload_split ()
31103 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31104 : STRIP_UNARY (operands[4]))
31105 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31106 : STRIP_UNARY (operands[4]))
31107 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31108 : STRIP_UNARY (operands[3]))
31109 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31110 : STRIP_UNARY (operands[3])))) &&
31111 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31112 : (TARGET_AVX512F)) &&
31113 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31114 : ( 1)))
31115 : return NULL;
31116 : return gen_split_2079 (insn, operands);
31117 :
31118 : case 25:
31119 : if (!((
31120 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31121 : ((32 == 64 || TARGET_AVX512VL
31122 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31123 : && ix86_pre_reload_split ()
31124 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31125 : STRIP_UNARY (operands[4]))
31126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31127 : STRIP_UNARY (operands[4]))
31128 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31129 : STRIP_UNARY (operands[3]))
31130 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31131 : STRIP_UNARY (operands[3])))) &&
31132 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31133 : (TARGET_AVX)) &&
31134 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31135 : ( 1)))
31136 : return NULL;
31137 : return gen_split_2106 (insn, operands);
31138 :
31139 : case 26:
31140 : if (!(
31141 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31142 : ((16 == 64 || TARGET_AVX512VL
31143 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31144 : && ix86_pre_reload_split ()
31145 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31146 : STRIP_UNARY (operands[4]))
31147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31148 : STRIP_UNARY (operands[4]))
31149 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31150 : STRIP_UNARY (operands[3]))
31151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31152 : STRIP_UNARY (operands[3])))) &&
31153 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31154 : ( 1)))
31155 : return NULL;
31156 : return gen_split_2133 (insn, operands);
31157 :
31158 : case 27:
31159 : if (!((
31160 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31161 : ((64 == 64 || TARGET_AVX512VL
31162 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31163 : && ix86_pre_reload_split ()
31164 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31165 : STRIP_UNARY (operands[4]))
31166 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31167 : STRIP_UNARY (operands[4]))
31168 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31169 : STRIP_UNARY (operands[3]))
31170 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31171 : STRIP_UNARY (operands[3])))) &&
31172 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31173 : (TARGET_AVX512F)) &&
31174 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31175 : ( 1)))
31176 : return NULL;
31177 : return gen_split_2160 (insn, operands);
31178 :
31179 : case 28:
31180 : if (!((
31181 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31182 : ((32 == 64 || TARGET_AVX512VL
31183 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31184 : && ix86_pre_reload_split ()
31185 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31186 : STRIP_UNARY (operands[4]))
31187 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31188 : STRIP_UNARY (operands[4]))
31189 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31190 : STRIP_UNARY (operands[3]))
31191 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31192 : STRIP_UNARY (operands[3])))) &&
31193 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31194 : (TARGET_AVX)) &&
31195 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31196 : ( 1)))
31197 : return NULL;
31198 : return gen_split_2187 (insn, operands);
31199 :
31200 : case 29:
31201 : if (!(
31202 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31203 : ((16 == 64 || TARGET_AVX512VL
31204 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31205 : && ix86_pre_reload_split ()
31206 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31207 : STRIP_UNARY (operands[4]))
31208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31209 : STRIP_UNARY (operands[4]))
31210 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31211 : STRIP_UNARY (operands[3]))
31212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31213 : STRIP_UNARY (operands[3])))) &&
31214 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31215 : ( 1)))
31216 : return NULL;
31217 : return gen_split_2214 (insn, operands);
31218 :
31219 : case 30:
31220 : if (!((
31221 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31222 : ((64 == 64 || TARGET_AVX512VL
31223 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31224 : && ix86_pre_reload_split ()
31225 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31226 : STRIP_UNARY (operands[4]))
31227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31228 : STRIP_UNARY (operands[4]))
31229 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31230 : STRIP_UNARY (operands[3]))
31231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31232 : STRIP_UNARY (operands[3])))) &&
31233 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31234 : (TARGET_AVX512F)) &&
31235 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31236 : ( 1)))
31237 : return NULL;
31238 : return gen_split_2241 (insn, operands);
31239 :
31240 : case 31:
31241 : if (!((
31242 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31243 : ((32 == 64 || TARGET_AVX512VL
31244 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31245 : && ix86_pre_reload_split ()
31246 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31247 : STRIP_UNARY (operands[4]))
31248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31249 : STRIP_UNARY (operands[4]))
31250 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31251 : STRIP_UNARY (operands[3]))
31252 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31253 : STRIP_UNARY (operands[3])))) &&
31254 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31255 : (TARGET_AVX)) &&
31256 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31257 : ( 1)))
31258 : return NULL;
31259 : return gen_split_2268 (insn, operands);
31260 :
31261 : case 32:
31262 : if (!(
31263 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31264 : ((16 == 64 || TARGET_AVX512VL
31265 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31266 : && ix86_pre_reload_split ()
31267 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31268 : STRIP_UNARY (operands[4]))
31269 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31270 : STRIP_UNARY (operands[4]))
31271 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31272 : STRIP_UNARY (operands[3]))
31273 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31274 : STRIP_UNARY (operands[3])))) &&
31275 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31276 : ( 1)))
31277 : return NULL;
31278 : return gen_split_2295 (insn, operands);
31279 :
31280 : case 33:
31281 : if (!((
31282 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31283 : ((64 == 64 || TARGET_AVX512VL
31284 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31285 : && ix86_pre_reload_split ()
31286 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31287 : STRIP_UNARY (operands[4]))
31288 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31289 : STRIP_UNARY (operands[4]))
31290 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31291 : STRIP_UNARY (operands[3]))
31292 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31293 : STRIP_UNARY (operands[3])))) &&
31294 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31295 : (TARGET_AVX512F)) &&
31296 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31297 : ( 1)))
31298 : return NULL;
31299 : return gen_split_2322 (insn, operands);
31300 :
31301 : case 34:
31302 : if (!((
31303 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31304 : ((32 == 64 || TARGET_AVX512VL
31305 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31306 : && ix86_pre_reload_split ()
31307 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31308 : STRIP_UNARY (operands[4]))
31309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31310 : STRIP_UNARY (operands[4]))
31311 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31312 : STRIP_UNARY (operands[3]))
31313 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31314 : STRIP_UNARY (operands[3])))) &&
31315 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31316 : (TARGET_AVX)) &&
31317 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31318 : ( 1)))
31319 : return NULL;
31320 : return gen_split_2349 (insn, operands);
31321 :
31322 : case 35:
31323 : if (!((
31324 : #line 14493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31325 : ((16 == 64 || TARGET_AVX512VL
31326 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31327 : && ix86_pre_reload_split ()
31328 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31329 : STRIP_UNARY (operands[4]))
31330 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31331 : STRIP_UNARY (operands[4]))
31332 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31333 : STRIP_UNARY (operands[3]))
31334 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31335 : STRIP_UNARY (operands[3])))) &&
31336 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31337 : (TARGET_SSE2)) &&
31338 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31339 : ( 1)))
31340 : return NULL;
31341 : return gen_split_2376 (insn, operands);
31342 :
31343 : case 36:
31344 : if (!((
31345 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31346 : ((64 == 64 || TARGET_AVX512VL
31347 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31348 : && ix86_pre_reload_split ()) &&
31349 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31350 : (TARGET_AVX512F)) &&
31351 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31352 : ( 1)))
31353 : return NULL;
31354 : return gen_split_3147 (insn, operands);
31355 :
31356 : case 37:
31357 : if (!((
31358 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31359 : ((32 == 64 || TARGET_AVX512VL
31360 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31361 : && ix86_pre_reload_split ()) &&
31362 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31363 : (TARGET_AVX)) &&
31364 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31365 : ( 1)))
31366 : return NULL;
31367 : return gen_split_3156 (insn, operands);
31368 :
31369 : case 38:
31370 : if (!(
31371 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31372 : ((16 == 64 || TARGET_AVX512VL
31373 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31374 : && ix86_pre_reload_split ()) &&
31375 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31376 : ( 1)))
31377 : return NULL;
31378 : return gen_split_3165 (insn, operands);
31379 :
31380 : case 39:
31381 : if (!((
31382 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31383 : ((64 == 64 || TARGET_AVX512VL
31384 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31385 : && ix86_pre_reload_split ()) &&
31386 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31387 : (TARGET_AVX512F)) &&
31388 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31389 : ( 1)))
31390 : return NULL;
31391 : return gen_split_3174 (insn, operands);
31392 :
31393 : case 40:
31394 : if (!((
31395 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31396 : ((32 == 64 || TARGET_AVX512VL
31397 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31398 : && ix86_pre_reload_split ()) &&
31399 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31400 : (TARGET_AVX)) &&
31401 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31402 : ( 1)))
31403 : return NULL;
31404 : return gen_split_3183 (insn, operands);
31405 :
31406 : case 41:
31407 : if (!(
31408 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31409 : ((16 == 64 || TARGET_AVX512VL
31410 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31411 : && ix86_pre_reload_split ()) &&
31412 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31413 : ( 1)))
31414 : return NULL;
31415 : return gen_split_3192 (insn, operands);
31416 :
31417 : case 42:
31418 : if (!((
31419 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31420 : ((64 == 64 || TARGET_AVX512VL
31421 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31422 : && ix86_pre_reload_split ()) &&
31423 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31424 : (TARGET_AVX512F)) &&
31425 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31426 : ( 1)))
31427 : return NULL;
31428 : return gen_split_3201 (insn, operands);
31429 :
31430 : case 43:
31431 : if (!((
31432 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31433 : ((32 == 64 || TARGET_AVX512VL
31434 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31435 : && ix86_pre_reload_split ()) &&
31436 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31437 : (TARGET_AVX)) &&
31438 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31439 : ( 1)))
31440 : return NULL;
31441 : return gen_split_3210 (insn, operands);
31442 :
31443 : case 44:
31444 : if (!(
31445 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31446 : ((16 == 64 || TARGET_AVX512VL
31447 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31448 : && ix86_pre_reload_split ()) &&
31449 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31450 : ( 1)))
31451 : return NULL;
31452 : return gen_split_3219 (insn, operands);
31453 :
31454 : case 45:
31455 : if (!((
31456 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31457 : ((64 == 64 || TARGET_AVX512VL
31458 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31459 : && ix86_pre_reload_split ()) &&
31460 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31461 : (TARGET_AVX512F)) &&
31462 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31463 : ( 1)))
31464 : return NULL;
31465 : return gen_split_3228 (insn, operands);
31466 :
31467 : case 46:
31468 : if (!((
31469 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31470 : ((32 == 64 || TARGET_AVX512VL
31471 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31472 : && ix86_pre_reload_split ()) &&
31473 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31474 : (TARGET_AVX)) &&
31475 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31476 : ( 1)))
31477 : return NULL;
31478 : return gen_split_3237 (insn, operands);
31479 :
31480 : case 47:
31481 : if (!((
31482 : #line 14662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31483 : ((16 == 64 || TARGET_AVX512VL
31484 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31485 : && ix86_pre_reload_split ()) &&
31486 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31487 : (TARGET_SSE2)) &&
31488 : #line 14666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31489 : ( 1)))
31490 : return NULL;
31491 : return gen_split_3246 (insn, operands);
31492 :
31493 : default:
31494 : return NULL;
31495 : }
31496 :
31497 : case AND:
31498 : switch (pattern544 (x2))
31499 : {
31500 : case 0:
31501 : if (!((
31502 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31503 : ((64 == 64 || TARGET_AVX512VL
31504 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31505 : && ix86_pre_reload_split ()
31506 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31507 : STRIP_UNARY (operands[4]))
31508 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31509 : STRIP_UNARY (operands[4]))
31510 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31511 : STRIP_UNARY (operands[3]))
31512 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31513 : STRIP_UNARY (operands[3])))) &&
31514 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31515 : (TARGET_AVX512F)) &&
31516 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31517 : ( 1)))
31518 : return NULL;
31519 : return gen_split_2721 (insn, operands);
31520 :
31521 : case 1:
31522 : if (!((
31523 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31524 : ((32 == 64 || TARGET_AVX512VL
31525 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31526 : && ix86_pre_reload_split ()
31527 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31528 : STRIP_UNARY (operands[4]))
31529 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31530 : STRIP_UNARY (operands[4]))
31531 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31532 : STRIP_UNARY (operands[3]))
31533 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31534 : STRIP_UNARY (operands[3])))) &&
31535 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31536 : (TARGET_AVX)) &&
31537 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31538 : ( 1)))
31539 : return NULL;
31540 : return gen_split_2748 (insn, operands);
31541 :
31542 : case 2:
31543 : if (!(
31544 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31545 : ((16 == 64 || TARGET_AVX512VL
31546 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31547 : && ix86_pre_reload_split ()
31548 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31549 : STRIP_UNARY (operands[4]))
31550 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31551 : STRIP_UNARY (operands[4]))
31552 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31553 : STRIP_UNARY (operands[3]))
31554 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31555 : STRIP_UNARY (operands[3])))) &&
31556 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31557 : ( 1)))
31558 : return NULL;
31559 : return gen_split_2775 (insn, operands);
31560 :
31561 : case 3:
31562 : if (!((
31563 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31564 : ((64 == 64 || TARGET_AVX512VL
31565 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31566 : && ix86_pre_reload_split ()
31567 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31568 : STRIP_UNARY (operands[4]))
31569 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31570 : STRIP_UNARY (operands[4]))
31571 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31572 : STRIP_UNARY (operands[3]))
31573 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31574 : STRIP_UNARY (operands[3])))) &&
31575 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31576 : (TARGET_AVX512F)) &&
31577 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31578 : ( 1)))
31579 : return NULL;
31580 : return gen_split_2802 (insn, operands);
31581 :
31582 : case 4:
31583 : if (!((
31584 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31585 : ((32 == 64 || TARGET_AVX512VL
31586 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31587 : && ix86_pre_reload_split ()
31588 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31589 : STRIP_UNARY (operands[4]))
31590 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31591 : STRIP_UNARY (operands[4]))
31592 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31593 : STRIP_UNARY (operands[3]))
31594 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31595 : STRIP_UNARY (operands[3])))) &&
31596 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31597 : (TARGET_AVX)) &&
31598 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31599 : ( 1)))
31600 : return NULL;
31601 : return gen_split_2829 (insn, operands);
31602 :
31603 : case 5:
31604 : if (!(
31605 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31606 : ((16 == 64 || TARGET_AVX512VL
31607 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31608 : && ix86_pre_reload_split ()
31609 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31610 : STRIP_UNARY (operands[4]))
31611 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31612 : STRIP_UNARY (operands[4]))
31613 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31614 : STRIP_UNARY (operands[3]))
31615 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31616 : STRIP_UNARY (operands[3])))) &&
31617 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31618 : ( 1)))
31619 : return NULL;
31620 : return gen_split_2856 (insn, operands);
31621 :
31622 : case 6:
31623 : if (!((
31624 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31625 : ((64 == 64 || TARGET_AVX512VL
31626 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31627 : && ix86_pre_reload_split ()
31628 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31629 : STRIP_UNARY (operands[4]))
31630 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31631 : STRIP_UNARY (operands[4]))
31632 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31633 : STRIP_UNARY (operands[3]))
31634 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31635 : STRIP_UNARY (operands[3])))) &&
31636 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31637 : (TARGET_AVX512F)) &&
31638 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31639 : ( 1)))
31640 : return NULL;
31641 : return gen_split_2883 (insn, operands);
31642 :
31643 : case 7:
31644 : if (!((
31645 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31646 : ((32 == 64 || TARGET_AVX512VL
31647 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31648 : && ix86_pre_reload_split ()
31649 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31650 : STRIP_UNARY (operands[4]))
31651 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31652 : STRIP_UNARY (operands[4]))
31653 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31654 : STRIP_UNARY (operands[3]))
31655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31656 : STRIP_UNARY (operands[3])))) &&
31657 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31658 : (TARGET_AVX)) &&
31659 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31660 : ( 1)))
31661 : return NULL;
31662 : return gen_split_2910 (insn, operands);
31663 :
31664 : case 8:
31665 : if (!(
31666 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31667 : ((16 == 64 || TARGET_AVX512VL
31668 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31669 : && ix86_pre_reload_split ()
31670 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31671 : STRIP_UNARY (operands[4]))
31672 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31673 : STRIP_UNARY (operands[4]))
31674 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31675 : STRIP_UNARY (operands[3]))
31676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31677 : STRIP_UNARY (operands[3])))) &&
31678 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31679 : ( 1)))
31680 : return NULL;
31681 : return gen_split_2937 (insn, operands);
31682 :
31683 : case 9:
31684 : if (!((
31685 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31686 : ((64 == 64 || TARGET_AVX512VL
31687 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31688 : && ix86_pre_reload_split ()
31689 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31690 : STRIP_UNARY (operands[4]))
31691 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31692 : STRIP_UNARY (operands[4]))
31693 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31694 : STRIP_UNARY (operands[3]))
31695 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31696 : STRIP_UNARY (operands[3])))) &&
31697 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31698 : (TARGET_AVX512F)) &&
31699 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31700 : ( 1)))
31701 : return NULL;
31702 : return gen_split_2964 (insn, operands);
31703 :
31704 : case 10:
31705 : if (!((
31706 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31707 : ((32 == 64 || TARGET_AVX512VL
31708 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31709 : && ix86_pre_reload_split ()
31710 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31711 : STRIP_UNARY (operands[4]))
31712 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31713 : STRIP_UNARY (operands[4]))
31714 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31715 : STRIP_UNARY (operands[3]))
31716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31717 : STRIP_UNARY (operands[3])))) &&
31718 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31719 : (TARGET_AVX)) &&
31720 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31721 : ( 1)))
31722 : return NULL;
31723 : return gen_split_2991 (insn, operands);
31724 :
31725 : case 11:
31726 : if (!((
31727 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31728 : ((16 == 64 || TARGET_AVX512VL
31729 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31730 : && ix86_pre_reload_split ()
31731 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31732 : STRIP_UNARY (operands[4]))
31733 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31734 : STRIP_UNARY (operands[4]))
31735 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31736 : STRIP_UNARY (operands[3]))
31737 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31738 : STRIP_UNARY (operands[3])))) &&
31739 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31740 : (TARGET_SSE2)) &&
31741 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31742 : ( 1)))
31743 : return NULL;
31744 : return gen_split_3018 (insn, operands);
31745 :
31746 : default:
31747 : return NULL;
31748 : }
31749 :
31750 : case IOR:
31751 : switch (pattern544 (x2))
31752 : {
31753 : case 0:
31754 : if (!((
31755 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31756 : ((64 == 64 || TARGET_AVX512VL
31757 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31758 : && ix86_pre_reload_split ()
31759 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31760 : STRIP_UNARY (operands[4]))
31761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31762 : STRIP_UNARY (operands[4]))
31763 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31764 : STRIP_UNARY (operands[3]))
31765 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31766 : STRIP_UNARY (operands[3])))) &&
31767 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31768 : (TARGET_AVX512F)) &&
31769 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31770 : ( 1)))
31771 : return NULL;
31772 : return gen_split_2724 (insn, operands);
31773 :
31774 : case 1:
31775 : if (!((
31776 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31777 : ((32 == 64 || TARGET_AVX512VL
31778 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31779 : && ix86_pre_reload_split ()
31780 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31781 : STRIP_UNARY (operands[4]))
31782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31783 : STRIP_UNARY (operands[4]))
31784 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31785 : STRIP_UNARY (operands[3]))
31786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31787 : STRIP_UNARY (operands[3])))) &&
31788 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31789 : (TARGET_AVX)) &&
31790 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31791 : ( 1)))
31792 : return NULL;
31793 : return gen_split_2751 (insn, operands);
31794 :
31795 : case 2:
31796 : if (!(
31797 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31798 : ((16 == 64 || TARGET_AVX512VL
31799 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31800 : && ix86_pre_reload_split ()
31801 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31802 : STRIP_UNARY (operands[4]))
31803 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31804 : STRIP_UNARY (operands[4]))
31805 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31806 : STRIP_UNARY (operands[3]))
31807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31808 : STRIP_UNARY (operands[3])))) &&
31809 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31810 : ( 1)))
31811 : return NULL;
31812 : return gen_split_2778 (insn, operands);
31813 :
31814 : case 3:
31815 : if (!((
31816 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31817 : ((64 == 64 || TARGET_AVX512VL
31818 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31819 : && ix86_pre_reload_split ()
31820 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31821 : STRIP_UNARY (operands[4]))
31822 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31823 : STRIP_UNARY (operands[4]))
31824 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31825 : STRIP_UNARY (operands[3]))
31826 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31827 : STRIP_UNARY (operands[3])))) &&
31828 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31829 : (TARGET_AVX512F)) &&
31830 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31831 : ( 1)))
31832 : return NULL;
31833 : return gen_split_2805 (insn, operands);
31834 :
31835 : case 4:
31836 : if (!((
31837 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31838 : ((32 == 64 || TARGET_AVX512VL
31839 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31840 : && ix86_pre_reload_split ()
31841 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31842 : STRIP_UNARY (operands[4]))
31843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31844 : STRIP_UNARY (operands[4]))
31845 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31846 : STRIP_UNARY (operands[3]))
31847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31848 : STRIP_UNARY (operands[3])))) &&
31849 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31850 : (TARGET_AVX)) &&
31851 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31852 : ( 1)))
31853 : return NULL;
31854 : return gen_split_2832 (insn, operands);
31855 :
31856 : case 5:
31857 : if (!(
31858 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31859 : ((16 == 64 || TARGET_AVX512VL
31860 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31861 : && ix86_pre_reload_split ()
31862 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31863 : STRIP_UNARY (operands[4]))
31864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31865 : STRIP_UNARY (operands[4]))
31866 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31867 : STRIP_UNARY (operands[3]))
31868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31869 : STRIP_UNARY (operands[3])))) &&
31870 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31871 : ( 1)))
31872 : return NULL;
31873 : return gen_split_2859 (insn, operands);
31874 :
31875 : case 6:
31876 : if (!((
31877 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31878 : ((64 == 64 || TARGET_AVX512VL
31879 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31880 : && ix86_pre_reload_split ()
31881 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31882 : STRIP_UNARY (operands[4]))
31883 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31884 : STRIP_UNARY (operands[4]))
31885 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31886 : STRIP_UNARY (operands[3]))
31887 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31888 : STRIP_UNARY (operands[3])))) &&
31889 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31890 : (TARGET_AVX512F)) &&
31891 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31892 : ( 1)))
31893 : return NULL;
31894 : return gen_split_2886 (insn, operands);
31895 :
31896 : case 7:
31897 : if (!((
31898 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31899 : ((32 == 64 || TARGET_AVX512VL
31900 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31901 : && ix86_pre_reload_split ()
31902 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31903 : STRIP_UNARY (operands[4]))
31904 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31905 : STRIP_UNARY (operands[4]))
31906 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31907 : STRIP_UNARY (operands[3]))
31908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31909 : STRIP_UNARY (operands[3])))) &&
31910 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31911 : (TARGET_AVX)) &&
31912 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31913 : ( 1)))
31914 : return NULL;
31915 : return gen_split_2913 (insn, operands);
31916 :
31917 : case 8:
31918 : if (!(
31919 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31920 : ((16 == 64 || TARGET_AVX512VL
31921 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31922 : && ix86_pre_reload_split ()
31923 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31924 : STRIP_UNARY (operands[4]))
31925 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31926 : STRIP_UNARY (operands[4]))
31927 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31928 : STRIP_UNARY (operands[3]))
31929 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31930 : STRIP_UNARY (operands[3])))) &&
31931 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31932 : ( 1)))
31933 : return NULL;
31934 : return gen_split_2940 (insn, operands);
31935 :
31936 : case 9:
31937 : if (!((
31938 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31939 : ((64 == 64 || TARGET_AVX512VL
31940 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31941 : && ix86_pre_reload_split ()
31942 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31943 : STRIP_UNARY (operands[4]))
31944 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31945 : STRIP_UNARY (operands[4]))
31946 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31947 : STRIP_UNARY (operands[3]))
31948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31949 : STRIP_UNARY (operands[3])))) &&
31950 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31951 : (TARGET_AVX512F)) &&
31952 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31953 : ( 1)))
31954 : return NULL;
31955 : return gen_split_2967 (insn, operands);
31956 :
31957 : case 10:
31958 : if (!((
31959 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31960 : ((32 == 64 || TARGET_AVX512VL
31961 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31962 : && ix86_pre_reload_split ()
31963 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31964 : STRIP_UNARY (operands[4]))
31965 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31966 : STRIP_UNARY (operands[4]))
31967 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31968 : STRIP_UNARY (operands[3]))
31969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31970 : STRIP_UNARY (operands[3])))) &&
31971 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31972 : (TARGET_AVX)) &&
31973 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31974 : ( 1)))
31975 : return NULL;
31976 : return gen_split_2994 (insn, operands);
31977 :
31978 : case 11:
31979 : if (!((
31980 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31981 : ((16 == 64 || TARGET_AVX512VL
31982 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31983 : && ix86_pre_reload_split ()
31984 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31985 : STRIP_UNARY (operands[4]))
31986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31987 : STRIP_UNARY (operands[4]))
31988 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31989 : STRIP_UNARY (operands[3]))
31990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31991 : STRIP_UNARY (operands[3])))) &&
31992 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31993 : (TARGET_SSE2)) &&
31994 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31995 : ( 1)))
31996 : return NULL;
31997 : return gen_split_3021 (insn, operands);
31998 :
31999 : default:
32000 : return NULL;
32001 : }
32002 :
32003 : case XOR:
32004 : switch (pattern544 (x2))
32005 : {
32006 : case 0:
32007 : if (!((
32008 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32009 : ((64 == 64 || TARGET_AVX512VL
32010 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32011 : && ix86_pre_reload_split ()
32012 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32013 : STRIP_UNARY (operands[4]))
32014 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32015 : STRIP_UNARY (operands[4]))
32016 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32017 : STRIP_UNARY (operands[3]))
32018 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32019 : STRIP_UNARY (operands[3])))) &&
32020 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32021 : (TARGET_AVX512F)) &&
32022 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32023 : ( 1)))
32024 : return NULL;
32025 : return gen_split_2727 (insn, operands);
32026 :
32027 : case 1:
32028 : if (!((
32029 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32030 : ((32 == 64 || TARGET_AVX512VL
32031 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32032 : && ix86_pre_reload_split ()
32033 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32034 : STRIP_UNARY (operands[4]))
32035 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32036 : STRIP_UNARY (operands[4]))
32037 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32038 : STRIP_UNARY (operands[3]))
32039 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32040 : STRIP_UNARY (operands[3])))) &&
32041 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32042 : (TARGET_AVX)) &&
32043 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32044 : ( 1)))
32045 : return NULL;
32046 : return gen_split_2754 (insn, operands);
32047 :
32048 : case 2:
32049 : if (!(
32050 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32051 : ((16 == 64 || TARGET_AVX512VL
32052 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32053 : && ix86_pre_reload_split ()
32054 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32055 : STRIP_UNARY (operands[4]))
32056 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32057 : STRIP_UNARY (operands[4]))
32058 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32059 : STRIP_UNARY (operands[3]))
32060 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32061 : STRIP_UNARY (operands[3])))) &&
32062 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32063 : ( 1)))
32064 : return NULL;
32065 : return gen_split_2781 (insn, operands);
32066 :
32067 : case 3:
32068 : if (!((
32069 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32070 : ((64 == 64 || TARGET_AVX512VL
32071 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32072 : && ix86_pre_reload_split ()
32073 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32074 : STRIP_UNARY (operands[4]))
32075 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32076 : STRIP_UNARY (operands[4]))
32077 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32078 : STRIP_UNARY (operands[3]))
32079 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32080 : STRIP_UNARY (operands[3])))) &&
32081 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32082 : (TARGET_AVX512F)) &&
32083 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32084 : ( 1)))
32085 : return NULL;
32086 : return gen_split_2808 (insn, operands);
32087 :
32088 : case 4:
32089 : if (!((
32090 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32091 : ((32 == 64 || TARGET_AVX512VL
32092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32093 : && ix86_pre_reload_split ()
32094 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32095 : STRIP_UNARY (operands[4]))
32096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32097 : STRIP_UNARY (operands[4]))
32098 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32099 : STRIP_UNARY (operands[3]))
32100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32101 : STRIP_UNARY (operands[3])))) &&
32102 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32103 : (TARGET_AVX)) &&
32104 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32105 : ( 1)))
32106 : return NULL;
32107 : return gen_split_2835 (insn, operands);
32108 :
32109 : case 5:
32110 : if (!(
32111 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32112 : ((16 == 64 || TARGET_AVX512VL
32113 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32114 : && ix86_pre_reload_split ()
32115 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32116 : STRIP_UNARY (operands[4]))
32117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32118 : STRIP_UNARY (operands[4]))
32119 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32120 : STRIP_UNARY (operands[3]))
32121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32122 : STRIP_UNARY (operands[3])))) &&
32123 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32124 : ( 1)))
32125 : return NULL;
32126 : return gen_split_2862 (insn, operands);
32127 :
32128 : case 6:
32129 : if (!((
32130 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32131 : ((64 == 64 || TARGET_AVX512VL
32132 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32133 : && ix86_pre_reload_split ()
32134 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32135 : STRIP_UNARY (operands[4]))
32136 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32137 : STRIP_UNARY (operands[4]))
32138 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32139 : STRIP_UNARY (operands[3]))
32140 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32141 : STRIP_UNARY (operands[3])))) &&
32142 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32143 : (TARGET_AVX512F)) &&
32144 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32145 : ( 1)))
32146 : return NULL;
32147 : return gen_split_2889 (insn, operands);
32148 :
32149 : case 7:
32150 : if (!((
32151 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32152 : ((32 == 64 || TARGET_AVX512VL
32153 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32154 : && ix86_pre_reload_split ()
32155 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32156 : STRIP_UNARY (operands[4]))
32157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32158 : STRIP_UNARY (operands[4]))
32159 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32160 : STRIP_UNARY (operands[3]))
32161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32162 : STRIP_UNARY (operands[3])))) &&
32163 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32164 : (TARGET_AVX)) &&
32165 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32166 : ( 1)))
32167 : return NULL;
32168 : return gen_split_2916 (insn, operands);
32169 :
32170 : case 8:
32171 : if (!(
32172 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32173 : ((16 == 64 || TARGET_AVX512VL
32174 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32175 : && ix86_pre_reload_split ()
32176 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32177 : STRIP_UNARY (operands[4]))
32178 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32179 : STRIP_UNARY (operands[4]))
32180 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32181 : STRIP_UNARY (operands[3]))
32182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32183 : STRIP_UNARY (operands[3])))) &&
32184 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32185 : ( 1)))
32186 : return NULL;
32187 : return gen_split_2943 (insn, operands);
32188 :
32189 : case 9:
32190 : if (!((
32191 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32192 : ((64 == 64 || TARGET_AVX512VL
32193 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32194 : && ix86_pre_reload_split ()
32195 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32196 : STRIP_UNARY (operands[4]))
32197 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32198 : STRIP_UNARY (operands[4]))
32199 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32200 : STRIP_UNARY (operands[3]))
32201 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32202 : STRIP_UNARY (operands[3])))) &&
32203 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32204 : (TARGET_AVX512F)) &&
32205 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32206 : ( 1)))
32207 : return NULL;
32208 : return gen_split_2970 (insn, operands);
32209 :
32210 : case 10:
32211 : if (!((
32212 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32213 : ((32 == 64 || TARGET_AVX512VL
32214 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32215 : && ix86_pre_reload_split ()
32216 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32217 : STRIP_UNARY (operands[4]))
32218 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32219 : STRIP_UNARY (operands[4]))
32220 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32221 : STRIP_UNARY (operands[3]))
32222 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32223 : STRIP_UNARY (operands[3])))) &&
32224 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32225 : (TARGET_AVX)) &&
32226 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32227 : ( 1)))
32228 : return NULL;
32229 : return gen_split_2997 (insn, operands);
32230 :
32231 : case 11:
32232 : if (!((
32233 : #line 14578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32234 : ((16 == 64 || TARGET_AVX512VL
32235 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
32236 : && ix86_pre_reload_split ()
32237 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
32238 : STRIP_UNARY (operands[4]))
32239 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32240 : STRIP_UNARY (operands[4]))
32241 : || rtx_equal_p (STRIP_UNARY (operands[1]),
32242 : STRIP_UNARY (operands[3]))
32243 : || rtx_equal_p (STRIP_UNARY (operands[2]),
32244 : STRIP_UNARY (operands[3])))) &&
32245 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32246 : (TARGET_SSE2)) &&
32247 : #line 14590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
32248 : ( 1)))
32249 : return NULL;
32250 : return gen_split_3024 (insn, operands);
32251 :
32252 : default:
32253 : return NULL;
32254 : }
32255 :
32256 : default:
32257 : return NULL;
32258 : }
32259 :
32260 : case XOR:
32261 : return split_69 (x1, insn);
32262 :
32263 : default:
32264 : return NULL;
32265 : }
32266 : }
|