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 59 : pattern9 (rtx x1, machine_mode i1)
57 : {
58 59 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 59 : int res ATTRIBUTE_UNUSED;
60 59 : if (!memory_operand (operands[0], i1)
61 59 : || GET_MODE (x1) != i1)
62 : return -1;
63 5 : switch (GET_MODE (operands[1]))
64 : {
65 0 : case E_V4SImode:
66 0 : if (!register_operand (operands[1], E_V4SImode))
67 : return -1;
68 : return 0;
69 :
70 5 : case E_V4DImode:
71 5 : if (!register_operand (operands[1], E_V4DImode))
72 : return -1;
73 : return 1;
74 :
75 : default:
76 : return -1;
77 : }
78 : }
79 :
80 : int
81 21589 : pattern15 (rtx x1)
82 : {
83 21589 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
84 21589 : rtx x2, x3;
85 21589 : int res ATTRIBUTE_UNUSED;
86 21589 : x2 = XEXP (x1, 1);
87 21589 : x3 = XEXP (x2, 1);
88 21589 : operands[3] = x3;
89 21589 : if (!const_int_operand (operands[3], E_QImode))
90 : return -1;
91 20341 : return pattern14 (x1); /* [-1, 1] */
92 : }
93 :
94 : int
95 33519 : pattern18 (rtx x1, int *pnum_clobbers)
96 : {
97 33519 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
98 33519 : rtx x2, x3, x4, x5, x6, x7;
99 33519 : int res ATTRIBUTE_UNUSED;
100 33519 : x2 = XEXP (x1, 0);
101 33519 : operands[0] = x2;
102 33519 : x3 = XEXP (x1, 1);
103 33519 : x4 = XEXP (x3, 0);
104 33519 : operands[1] = x4;
105 33519 : x5 = XEXP (x3, 1);
106 33519 : switch (GET_CODE (x5))
107 : {
108 21 : case AND:
109 21 : return pattern17 (x3, pnum_clobbers); /* [-1, 1] */
110 :
111 48 : case PLUS:
112 48 : if (pnum_clobbers == NULL
113 48 : || GET_MODE (x5) != E_QImode)
114 : return -1;
115 48 : x6 = XEXP (x5, 0);
116 48 : operands[2] = x6;
117 48 : if (!nonimmediate_operand (operands[2], E_QImode))
118 : return -1;
119 48 : res = pattern15 (x3);
120 48 : if (res >= 0)
121 29 : return res + 2; /* [2, 3] */
122 : return -1;
123 :
124 40 : case MINUS:
125 40 : if (pnum_clobbers == NULL
126 40 : || GET_MODE (x5) != E_QImode)
127 : return -1;
128 40 : x6 = XEXP (x5, 0);
129 40 : operands[3] = x6;
130 40 : if (!const_int_operand (operands[3], E_QImode))
131 : return -1;
132 13 : x7 = XEXP (x5, 1);
133 13 : operands[2] = x7;
134 13 : if (!nonimmediate_operand (operands[2], E_QImode))
135 : return -1;
136 10 : res = pattern14 (x3);
137 10 : if (res >= 0)
138 2 : return res + 4; /* [4, 5] */
139 : return -1;
140 :
141 : case CONST_INT:
142 : case CONST_WIDE_INT:
143 : case CONST_POLY_INT:
144 : case CONST_FIXED:
145 : case CONST_DOUBLE:
146 : case CONST_VECTOR:
147 : case CONST:
148 : case REG:
149 : case SUBREG:
150 : case LABEL_REF:
151 : case SYMBOL_REF:
152 : case HIGH:
153 : return 6;
154 :
155 : default:
156 : return -1;
157 : }
158 : }
159 :
160 : int
161 72036 : pattern36 (rtx x1)
162 : {
163 72036 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
164 72036 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
165 72036 : rtx x10, x11, x12;
166 72036 : int res ATTRIBUTE_UNUSED;
167 72036 : x2 = XVECEXP (x1, 0, 0);
168 72036 : if (GET_CODE (x2) != SET)
169 : return -1;
170 22816 : x3 = XEXP (x2, 1);
171 22816 : if (GET_CODE (x3) != COMPARE
172 245 : || GET_MODE (x3) != E_CCmode)
173 : return -1;
174 245 : x4 = XEXP (x3, 0);
175 245 : if (GET_CODE (x4) != MEM
176 245 : || GET_MODE (x4) != E_BLKmode)
177 : return -1;
178 245 : x5 = XEXP (x3, 1);
179 245 : if (GET_CODE (x5) != MEM
180 245 : || GET_MODE (x5) != E_BLKmode)
181 : return -1;
182 245 : x6 = XEXP (x2, 0);
183 245 : if (GET_CODE (x6) != REG
184 245 : || REGNO (x6) != 17
185 490 : || GET_MODE (x6) != E_CCmode)
186 : return -1;
187 245 : x7 = XVECEXP (x1, 0, 1);
188 245 : if (GET_CODE (x7) != USE)
189 : return -1;
190 245 : x8 = XVECEXP (x1, 0, 2);
191 245 : if (GET_CODE (x8) != USE)
192 : return -1;
193 0 : x9 = XVECEXP (x1, 0, 3);
194 0 : if (GET_CODE (x9) != CLOBBER)
195 : return -1;
196 0 : x10 = XVECEXP (x1, 0, 4);
197 0 : if (GET_CODE (x10) != CLOBBER)
198 : return -1;
199 0 : x11 = XVECEXP (x1, 0, 5);
200 0 : if (GET_CODE (x11) != CLOBBER)
201 : return -1;
202 0 : x12 = XEXP (x4, 0);
203 0 : operands[4] = x12;
204 0 : return 0;
205 : }
206 :
207 : int
208 104691 : pattern40 (rtx x1)
209 : {
210 104691 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
211 104691 : rtx x2, x3, x4, x5, x6;
212 104691 : int res ATTRIBUTE_UNUSED;
213 104691 : x2 = XEXP (x1, 1);
214 104691 : x3 = XEXP (x2, 0);
215 104691 : if (GET_MODE (x3) != E_TImode)
216 : return -1;
217 8245 : x4 = XEXP (x1, 0);
218 8245 : operands[0] = x4;
219 8245 : if (!nonimmediate_operand (operands[0], E_TImode)
220 8245 : || GET_MODE (x2) != E_TImode)
221 : return -1;
222 8245 : x5 = XEXP (x3, 0);
223 8245 : operands[1] = x5;
224 8245 : if (!nonimmediate_operand (operands[1], E_DImode))
225 : return -1;
226 6151 : x6 = XEXP (x2, 1);
227 6151 : switch (GET_CODE (x6))
228 : {
229 0 : case ASHIFT:
230 0 : if (GET_MODE (x6) != E_TImode)
231 : return -1;
232 0 : return pattern39 (x6,
233 : E_TImode,
234 0 : E_DImode); /* [-1, 2] */
235 :
236 2927 : case CONST_INT:
237 2927 : case CONST_WIDE_INT:
238 2927 : operands[2] = x6;
239 2927 : if (!const_scalar_int_operand (operands[2], E_TImode))
240 : return -1;
241 : return 3;
242 :
243 : default:
244 : return -1;
245 : }
246 : }
247 :
248 : int
249 11179 : pattern47 (rtx x1)
250 : {
251 11179 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
252 11179 : rtx x2, x3;
253 11179 : int res ATTRIBUTE_UNUSED;
254 11179 : x2 = XEXP (x1, 0);
255 11179 : operands[1] = x2;
256 11179 : x3 = XEXP (x1, 1);
257 11179 : operands[2] = x3;
258 11179 : switch (GET_MODE (operands[0]))
259 : {
260 994 : case E_V8QImode:
261 994 : return pattern6 (x1,
262 994 : E_V8QImode); /* [-1, 0] */
263 :
264 940 : case E_V4HImode:
265 940 : if (pattern6 (x1,
266 : E_V4HImode) != 0)
267 : return -1;
268 : return 1;
269 :
270 162 : case E_V4QImode:
271 162 : if (pattern5 (x1,
272 : E_V4QImode) != 0)
273 : return -1;
274 : return 2;
275 :
276 220 : case E_V2QImode:
277 220 : if (pattern5 (x1,
278 : E_V2QImode) != 0)
279 : return -1;
280 : return 3;
281 :
282 237 : case E_V2HImode:
283 237 : if (pattern5 (x1,
284 : E_V2HImode) != 0)
285 : return -1;
286 : return 4;
287 :
288 : default:
289 : return -1;
290 : }
291 : }
292 :
293 : int
294 1277 : pattern57 (rtx x1)
295 : {
296 1277 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
297 1277 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
298 1277 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
299 1277 : int res ATTRIBUTE_UNUSED;
300 1277 : x2 = XEXP (x1, 1);
301 1277 : if (GET_MODE (x2) != E_V4HImode)
302 : return -1;
303 284 : x3 = XEXP (x2, 0);
304 284 : if (GET_CODE (x3) != VEC_SELECT
305 60 : || GET_MODE (x3) != E_V4HImode)
306 : return -1;
307 60 : x4 = XEXP (x3, 0);
308 60 : if (GET_CODE (x4) != VEC_CONCAT
309 60 : || GET_MODE (x4) != E_V8HImode)
310 : return -1;
311 60 : x5 = XEXP (x3, 1);
312 60 : if (GET_CODE (x5) != PARALLEL
313 60 : || XVECLEN (x5, 0) != 4)
314 : return -1;
315 60 : x6 = XVECEXP (x5, 0, 0);
316 60 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
317 : return -1;
318 60 : x7 = XVECEXP (x5, 0, 1);
319 60 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
320 : return -1;
321 60 : x8 = XVECEXP (x5, 0, 2);
322 60 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
323 : return -1;
324 60 : x9 = XVECEXP (x5, 0, 3);
325 60 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
326 : return -1;
327 60 : x10 = XEXP (x2, 1);
328 60 : if (GET_CODE (x10) != VEC_SELECT
329 60 : || GET_MODE (x10) != E_V4HImode)
330 : return -1;
331 60 : x11 = XEXP (x10, 0);
332 60 : if (GET_CODE (x11) != VEC_CONCAT
333 60 : || GET_MODE (x11) != E_V8HImode)
334 : return -1;
335 60 : x12 = XEXP (x10, 1);
336 60 : if (GET_CODE (x12) != PARALLEL
337 60 : || XVECLEN (x12, 0) != 4)
338 : return -1;
339 60 : x13 = XVECEXP (x12, 0, 0);
340 60 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
341 : return -1;
342 60 : x14 = XVECEXP (x12, 0, 1);
343 60 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
344 : return -1;
345 60 : x15 = XVECEXP (x12, 0, 2);
346 60 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
347 : return -1;
348 60 : x16 = XVECEXP (x12, 0, 3);
349 60 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
350 : return -1;
351 60 : x17 = XEXP (x1, 0);
352 60 : operands[0] = x17;
353 60 : if (!register_operand (operands[0], E_V4HImode)
354 60 : || pattern56 (x2) != 0)
355 0 : return -1;
356 : return 0;
357 : }
358 :
359 : int
360 2883610 : pattern76 (rtx x1)
361 : {
362 2883610 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
363 2883610 : rtx x2, x3, x4;
364 2883610 : int res ATTRIBUTE_UNUSED;
365 2883610 : x2 = XEXP (x1, 0);
366 2883610 : x3 = XEXP (x2, 0);
367 2883610 : operands[1] = x3;
368 2883610 : x4 = XEXP (x2, 1);
369 2883610 : operands[3] = x4;
370 2883610 : return pattern75 (x1); /* [-1, 2] */
371 : }
372 :
373 : int
374 72575 : pattern79 (rtx x1, int *pnum_clobbers)
375 : {
376 72575 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
377 72575 : int res ATTRIBUTE_UNUSED;
378 72575 : if (pnum_clobbers == NULL
379 72575 : || !nonimmediate_operand (operands[0], E_TImode)
380 72563 : || GET_MODE (x1) != E_TImode
381 72563 : || !nonimmediate_operand (operands[1], E_TImode)
382 134840 : || !x86_64_hilo_general_operand (operands[2], E_TImode))
383 28146 : return -1;
384 : return 0;
385 : }
386 :
387 : int
388 60674 : pattern87 (rtx x1)
389 : {
390 60674 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
391 60674 : rtx x2, x3, x4;
392 60674 : int res ATTRIBUTE_UNUSED;
393 60674 : x2 = XEXP (x1, 0);
394 60674 : if (GET_MODE (x2) != E_QImode
395 8805 : || !register_operand (operands[0], E_HImode)
396 61183 : || GET_MODE (x1) != E_HImode)
397 60165 : return -1;
398 509 : x3 = XEXP (x2, 0);
399 509 : operands[1] = x3;
400 509 : if (!nonimmediate_operand (operands[1], E_QImode))
401 : return -1;
402 509 : x4 = XEXP (x2, 1);
403 509 : operands[2] = x4;
404 509 : if (!nonmemory_operand (operands[2], E_QImode))
405 : return -1;
406 : return 0;
407 : }
408 :
409 : int
410 11485 : pattern94 (rtx x1, int *pnum_clobbers)
411 : {
412 11485 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
413 11485 : rtx x2, x3, x4, x5, x6, x7;
414 11485 : int res ATTRIBUTE_UNUSED;
415 11485 : if (pnum_clobbers == NULL)
416 : return -1;
417 11485 : x2 = XEXP (x1, 1);
418 11485 : x3 = XEXP (x2, 0);
419 11485 : operands[2] = x3;
420 11485 : x4 = XEXP (x3, 0);
421 11485 : if (GET_CODE (x4) != REG
422 11485 : || REGNO (x4) != 17)
423 : return -1;
424 6783 : x5 = XEXP (x3, 1);
425 6783 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
426 : return -1;
427 6783 : x6 = XEXP (x1, 0);
428 6783 : operands[0] = x6;
429 6783 : x7 = XEXP (x2, 1);
430 6783 : operands[1] = x7;
431 6783 : switch (GET_MODE (operands[0]))
432 : {
433 : case E_QImode:
434 : return 0;
435 :
436 28 : case E_HImode:
437 28 : return 1;
438 :
439 : default:
440 : return -1;
441 : }
442 : }
443 :
444 : int
445 1245 : pattern99 (rtx x1)
446 : {
447 1245 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
448 1245 : rtx x2, x3, x4, x5;
449 1245 : int res ATTRIBUTE_UNUSED;
450 1245 : x2 = XEXP (x1, 1);
451 1245 : if (GET_MODE (x2) != E_BLKmode)
452 : return -1;
453 1245 : x3 = XEXP (x1, 0);
454 1245 : operands[0] = x3;
455 1245 : if (!memory_operand (operands[0], E_BLKmode))
456 : return -1;
457 1245 : x4 = XVECEXP (x2, 0, 0);
458 1245 : operands[1] = x4;
459 1245 : if (!register_operand (operands[1], E_SImode))
460 : return -1;
461 1204 : x5 = XVECEXP (x2, 0, 1);
462 1204 : operands[2] = x5;
463 1204 : if (!register_operand (operands[2], E_SImode))
464 : return -1;
465 : return 0;
466 : }
467 :
468 : int
469 674 : pattern108 (rtx x1)
470 : {
471 674 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
472 674 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
473 674 : rtx x10, x11, x12, x13, x14, x15;
474 674 : int res ATTRIBUTE_UNUSED;
475 674 : x2 = XEXP (x1, 0);
476 674 : if (GET_MODE (x2) != E_V4HImode)
477 : return -1;
478 238 : x3 = XEXP (x2, 0);
479 238 : if (GET_CODE (x3) != VEC_CONCAT
480 238 : || GET_MODE (x3) != E_V8HImode)
481 : return -1;
482 238 : x4 = XEXP (x2, 1);
483 238 : if (GET_CODE (x4) != PARALLEL
484 238 : || XVECLEN (x4, 0) != 4)
485 : return -1;
486 238 : x5 = XVECEXP (x4, 0, 0);
487 238 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
488 : return -1;
489 238 : x6 = XVECEXP (x4, 0, 1);
490 238 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
491 : return -1;
492 238 : x7 = XVECEXP (x4, 0, 2);
493 238 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
494 : return -1;
495 238 : x8 = XVECEXP (x4, 0, 3);
496 238 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
497 : return -1;
498 238 : x9 = XEXP (x1, 1);
499 238 : if (GET_CODE (x9) != VEC_SELECT
500 238 : || GET_MODE (x9) != E_V4HImode)
501 : return -1;
502 238 : x10 = XEXP (x9, 0);
503 238 : if (GET_CODE (x10) != VEC_CONCAT
504 238 : || GET_MODE (x10) != E_V8HImode)
505 : return -1;
506 238 : x11 = XEXP (x9, 1);
507 238 : if (GET_CODE (x11) != PARALLEL
508 238 : || XVECLEN (x11, 0) != 4)
509 : return -1;
510 238 : x12 = XVECEXP (x11, 0, 0);
511 238 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
512 : return -1;
513 238 : x13 = XVECEXP (x11, 0, 1);
514 238 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
515 : return -1;
516 238 : x14 = XVECEXP (x11, 0, 2);
517 238 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
518 : return -1;
519 238 : x15 = XVECEXP (x11, 0, 3);
520 238 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
521 238 : || !register_operand (operands[0], E_V4HImode)
522 238 : || GET_MODE (x1) != E_V4HImode
523 476 : || pattern56 (x1) != 0)
524 8 : return -1;
525 : return 0;
526 : }
527 :
528 : int
529 200 : pattern130 (rtx x1, machine_mode i1)
530 : {
531 200 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
532 200 : rtx x2;
533 200 : int res ATTRIBUTE_UNUSED;
534 200 : if (!register_operand (operands[0], i1)
535 200 : || GET_MODE (x1) != i1)
536 : return -1;
537 168 : x2 = XVECEXP (x1, 0, 0);
538 168 : switch (GET_MODE (x2))
539 : {
540 86 : case E_DFmode:
541 86 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
542 : return -1;
543 : return 0;
544 :
545 82 : case E_SFmode:
546 82 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
547 : return -1;
548 : return 1;
549 :
550 : default:
551 : return -1;
552 : }
553 : }
554 :
555 : int
556 900 : pattern137 (rtx x1, machine_mode i1)
557 : {
558 900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
559 900 : rtx x2;
560 900 : int res ATTRIBUTE_UNUSED;
561 900 : if (!register_operand (operands[0], i1)
562 900 : || GET_MODE (x1) != i1)
563 : return -1;
564 876 : x2 = XEXP (x1, 0);
565 876 : if (GET_MODE (x2) != i1
566 876 : || !register_operand (operands[1], i1)
567 1692 : || !nonimmediate_operand (operands[2], i1))
568 112 : return -1;
569 : return 0;
570 : }
571 :
572 : int
573 0 : pattern144 (rtx x1)
574 : {
575 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
576 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
577 0 : rtx x10, x11;
578 0 : int res ATTRIBUTE_UNUSED;
579 0 : x2 = XEXP (x1, 1);
580 0 : operands[2] = x2;
581 0 : x3 = XEXP (x1, 2);
582 0 : operands[3] = x3;
583 0 : x4 = XEXP (x1, 0);
584 0 : x5 = XEXP (x4, 0);
585 0 : switch (GET_CODE (x5))
586 : {
587 0 : case REG:
588 0 : case SUBREG:
589 0 : case MEM:
590 0 : operands[1] = x5;
591 0 : switch (GET_MODE (operands[0]))
592 : {
593 0 : case E_V8HImode:
594 0 : return pattern141 (x1,
595 : E_V8HImode,
596 : E_QImode,
597 0 : E_V8HFmode); /* [-1, 0] */
598 :
599 0 : case E_V16HImode:
600 0 : if (pattern141 (x1,
601 : E_V16HImode,
602 : E_HImode,
603 : E_V16HFmode) != 0)
604 : return -1;
605 : return 1;
606 :
607 0 : case E_V32HImode:
608 0 : if (pattern141 (x1,
609 : E_V32HImode,
610 : E_SImode,
611 : E_V32HFmode) != 0)
612 : return -1;
613 : return 2;
614 :
615 0 : case E_V8SImode:
616 0 : if (pattern142 (x1,
617 : E_V8SImode,
618 : E_QImode) != 0)
619 : return -1;
620 : return 3;
621 :
622 0 : case E_V16SImode:
623 0 : if (!register_operand (operands[0], E_V16SImode)
624 0 : || GET_MODE (x1) != E_V16SImode
625 0 : || GET_MODE (x4) != E_V16SImode
626 0 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
627 0 : || !register_operand (operands[3], E_HImode))
628 0 : return -1;
629 0 : switch (GET_MODE (operands[1]))
630 : {
631 0 : case E_V16HFmode:
632 0 : if (!vector_operand (operands[1], E_V16HFmode))
633 : return -1;
634 : return 4;
635 :
636 0 : case E_V16SFmode:
637 0 : if (!vector_operand (operands[1], E_V16SFmode))
638 : return -1;
639 : return 5;
640 :
641 : default:
642 : return -1;
643 : }
644 :
645 0 : case E_V8DImode:
646 0 : if (!register_operand (operands[0], E_V8DImode)
647 0 : || GET_MODE (x1) != E_V8DImode
648 0 : || GET_MODE (x4) != E_V8DImode
649 0 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
650 0 : || !register_operand (operands[3], E_QImode))
651 0 : return -1;
652 0 : switch (GET_MODE (operands[1]))
653 : {
654 0 : case E_V8HFmode:
655 0 : if (!vector_operand (operands[1], E_V8HFmode))
656 : return -1;
657 : return 6;
658 :
659 0 : case E_V8DFmode:
660 0 : if (!vector_operand (operands[1], E_V8DFmode))
661 : return -1;
662 : return 7;
663 :
664 0 : case E_V8SFmode:
665 0 : if (!vector_operand (operands[1], E_V8SFmode))
666 : return -1;
667 : return 8;
668 :
669 : default:
670 : return -1;
671 : }
672 :
673 0 : case E_V4SImode:
674 0 : if (pattern142 (x1,
675 : E_V4SImode,
676 : E_QImode) != 0)
677 : return -1;
678 : return 9;
679 :
680 0 : case E_V4DImode:
681 0 : if (!register_operand (operands[0], E_V4DImode)
682 0 : || GET_MODE (x1) != E_V4DImode
683 0 : || GET_MODE (x4) != E_V4DImode
684 0 : || !nonimm_or_0_operand (operands[2], E_V4DImode)
685 0 : || !register_operand (operands[3], E_QImode))
686 0 : return -1;
687 0 : switch (GET_MODE (operands[1]))
688 : {
689 0 : case E_V4HFmode:
690 0 : if (!memory_operand (operands[1], E_V4HFmode))
691 : return -1;
692 : return 10;
693 :
694 0 : case E_V4DFmode:
695 0 : if (!vector_operand (operands[1], E_V4DFmode))
696 : return -1;
697 : return 11;
698 :
699 0 : case E_V4SFmode:
700 0 : if (!vector_operand (operands[1], E_V4SFmode))
701 : return -1;
702 : return 12;
703 :
704 : default:
705 : return -1;
706 : }
707 :
708 0 : case E_V2DImode:
709 0 : if (!register_operand (operands[0], E_V2DImode)
710 0 : || GET_MODE (x1) != E_V2DImode
711 0 : || GET_MODE (x4) != E_V2DImode
712 0 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
713 0 : || !register_operand (operands[3], E_QImode))
714 0 : return -1;
715 0 : switch (GET_MODE (operands[1]))
716 : {
717 0 : case E_V2HFmode:
718 0 : if (!memory_operand (operands[1], E_V2HFmode))
719 : return -1;
720 : return 13;
721 :
722 0 : case E_V2DFmode:
723 0 : if (!vector_operand (operands[1], E_V2DFmode))
724 : return -1;
725 : return 14;
726 :
727 : default:
728 : return -1;
729 : }
730 :
731 : default:
732 : return -1;
733 : }
734 :
735 0 : case VEC_SELECT:
736 0 : x6 = XEXP (x5, 1);
737 0 : if (GET_CODE (x6) != PARALLEL)
738 : return -1;
739 0 : x7 = XEXP (x5, 0);
740 0 : operands[1] = x7;
741 0 : if (!register_operand (operands[3], E_QImode))
742 : return -1;
743 0 : switch (XVECLEN (x6, 0))
744 : {
745 0 : case 4:
746 0 : x8 = XVECEXP (x6, 0, 0);
747 0 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
748 : return -1;
749 0 : x9 = XVECEXP (x6, 0, 1);
750 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
751 : return -1;
752 0 : x10 = XVECEXP (x6, 0, 2);
753 0 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
754 : return -1;
755 0 : x11 = XVECEXP (x6, 0, 3);
756 0 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
757 0 : || GET_MODE (x5) != E_V4HFmode
758 0 : || !register_operand (operands[1], E_V8HFmode))
759 0 : return -1;
760 0 : switch (GET_MODE (operands[0]))
761 : {
762 0 : case E_V4SImode:
763 0 : if (pattern143 (x1,
764 : E_V4SImode) != 0)
765 : return -1;
766 : return 15;
767 :
768 0 : case E_V4DImode:
769 0 : if (pattern143 (x1,
770 : E_V4DImode) != 0)
771 : return -1;
772 : return 16;
773 :
774 : default:
775 : return -1;
776 : }
777 :
778 0 : case 2:
779 0 : x8 = XVECEXP (x6, 0, 0);
780 0 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
781 : return -1;
782 0 : x9 = XVECEXP (x6, 0, 1);
783 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
784 0 : || !register_operand (operands[0], E_V2DImode)
785 0 : || GET_MODE (x1) != E_V2DImode
786 0 : || GET_MODE (x4) != E_V2DImode
787 0 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
788 0 : return -1;
789 0 : switch (GET_MODE (x5))
790 : {
791 0 : case E_V2HFmode:
792 0 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
793 : return -1;
794 : return 17;
795 :
796 0 : case E_V2SFmode:
797 0 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
798 : return -1;
799 : return 18;
800 :
801 : default:
802 : return -1;
803 : }
804 :
805 : default:
806 : return -1;
807 : }
808 :
809 : default:
810 : return -1;
811 : }
812 : }
813 :
814 : int
815 444 : pattern205 (rtx x1)
816 : {
817 444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
818 444 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
819 444 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
820 444 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
821 444 : rtx x26, x27;
822 444 : int res ATTRIBUTE_UNUSED;
823 444 : x2 = XEXP (x1, 0);
824 444 : x3 = XEXP (x2, 0);
825 444 : if (GET_CODE (x3) != VEC_CONCAT)
826 : return -1;
827 444 : x4 = XEXP (x2, 1);
828 444 : if (GET_CODE (x4) != PARALLEL)
829 : return -1;
830 444 : x5 = XEXP (x1, 1);
831 444 : if (GET_CODE (x5) != VEC_SELECT)
832 : return -1;
833 444 : x6 = XEXP (x5, 0);
834 444 : if (GET_CODE (x6) != VEC_CONCAT)
835 : return -1;
836 444 : x7 = XEXP (x5, 1);
837 444 : if (GET_CODE (x7) != PARALLEL)
838 : return -1;
839 444 : x8 = XEXP (x3, 0);
840 444 : operands[1] = x8;
841 444 : x9 = XEXP (x3, 1);
842 444 : operands[2] = x9;
843 444 : x10 = XEXP (x6, 0);
844 444 : if (!rtx_equal_p (x10, operands[1]))
845 : return -1;
846 444 : x11 = XEXP (x6, 1);
847 444 : if (!rtx_equal_p (x11, operands[2]))
848 : return -1;
849 444 : switch (XVECLEN (x4, 0))
850 : {
851 197 : case 16:
852 197 : return pattern195 (x1); /* [-1, 0] */
853 :
854 239 : case 8:
855 239 : x12 = XVECEXP (x4, 0, 0);
856 239 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
857 : return -1;
858 239 : x13 = XVECEXP (x4, 0, 1);
859 239 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
860 : return -1;
861 239 : x14 = XVECEXP (x4, 0, 2);
862 239 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
863 : return -1;
864 239 : x15 = XVECEXP (x4, 0, 3);
865 239 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
866 : return -1;
867 239 : x16 = XVECEXP (x4, 0, 4);
868 239 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
869 : return -1;
870 239 : x17 = XVECEXP (x4, 0, 5);
871 239 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
872 : return -1;
873 239 : x18 = XVECEXP (x4, 0, 6);
874 239 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
875 : return -1;
876 239 : x19 = XVECEXP (x4, 0, 7);
877 239 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
878 239 : || XVECLEN (x7, 0) != 8)
879 : return -1;
880 239 : x20 = XVECEXP (x7, 0, 0);
881 239 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
882 : return -1;
883 239 : x21 = XVECEXP (x7, 0, 1);
884 239 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
885 : return -1;
886 239 : x22 = XVECEXP (x7, 0, 2);
887 239 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
888 : return -1;
889 239 : x23 = XVECEXP (x7, 0, 3);
890 239 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
891 : return -1;
892 239 : x24 = XVECEXP (x7, 0, 4);
893 239 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
894 : return -1;
895 239 : x25 = XVECEXP (x7, 0, 5);
896 239 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
897 : return -1;
898 239 : x26 = XVECEXP (x7, 0, 6);
899 239 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
900 : return -1;
901 239 : x27 = XVECEXP (x7, 0, 7);
902 239 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
903 239 : || pattern196 (x1,
904 : E_V16HImode,
905 : E_V8HImode) != 0)
906 16 : return -1;
907 : return 1;
908 :
909 : default:
910 : return -1;
911 : }
912 : }
913 :
914 : int
915 321462 : pattern226 (rtx x1, machine_mode i1, machine_mode i2)
916 : {
917 321462 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
918 321462 : int res ATTRIBUTE_UNUSED;
919 321462 : if (!register_operand (operands[0], i2)
920 320860 : || GET_MODE (x1) != i2
921 320860 : || !register_operand (operands[1], i2)
922 577593 : || !vector_operand (operands[2], i1))
923 108317 : return -1;
924 : return 0;
925 : }
926 :
927 : int
928 2250 : pattern229 (rtx x1)
929 : {
930 2250 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
931 2250 : rtx x2, x3, x4;
932 2250 : int res ATTRIBUTE_UNUSED;
933 2250 : x2 = XVECEXP (x1, 0, 1);
934 2250 : if (GET_CODE (x2) != CLOBBER)
935 : return -1;
936 1870 : x3 = XEXP (x2, 0);
937 1870 : if (GET_CODE (x3) != REG
938 1870 : || REGNO (x3) != 17
939 3740 : || GET_MODE (x3) != E_CCmode)
940 : return -1;
941 1870 : x4 = XVECEXP (x1, 0, 2);
942 1870 : if (GET_CODE (x4) != CLOBBER)
943 : return -1;
944 898 : return pattern228 (x1); /* [-1, 1] */
945 : }
946 :
947 : int
948 112066 : pattern237 (rtx x1)
949 : {
950 112066 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
951 112066 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
952 112066 : rtx x10, x11, x12, x13, x14, x15;
953 112066 : int res ATTRIBUTE_UNUSED;
954 112066 : x2 = XVECEXP (x1, 0, 0);
955 112066 : x3 = XEXP (x2, 1);
956 112066 : if (GET_MODE (x3) != E_CCmode)
957 : return -1;
958 112066 : x4 = XEXP (x3, 0);
959 112066 : if (GET_CODE (x4) != NE)
960 : return -1;
961 109093 : x5 = XEXP (x4, 1);
962 109093 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
963 : return -1;
964 109061 : x6 = XEXP (x3, 1);
965 109061 : if (GET_CODE (x6) != COMPARE
966 109061 : || GET_MODE (x6) != E_CCmode)
967 : return -1;
968 109061 : x7 = XEXP (x6, 0);
969 109061 : if (GET_CODE (x7) != MEM
970 109061 : || GET_MODE (x7) != E_BLKmode)
971 : return -1;
972 109061 : x8 = XEXP (x6, 1);
973 109061 : if (GET_CODE (x8) != MEM
974 109061 : || GET_MODE (x8) != E_BLKmode)
975 : return -1;
976 109061 : x9 = XEXP (x3, 2);
977 109061 : if (GET_CODE (x9) != REG
978 76294 : || REGNO (x9) != 17
979 185355 : || GET_MODE (x9) != E_CCmode)
980 : return -1;
981 76294 : x10 = XEXP (x2, 0);
982 76294 : if (GET_CODE (x10) != REG
983 76294 : || REGNO (x10) != 17
984 152588 : || GET_MODE (x10) != E_CCmode)
985 : return -1;
986 76294 : x11 = XVECEXP (x1, 0, 1);
987 76294 : if (GET_CODE (x11) != USE)
988 : return -1;
989 76294 : x12 = XVECEXP (x1, 0, 2);
990 76294 : if (GET_CODE (x12) != CLOBBER)
991 : return -1;
992 76294 : x13 = XVECEXP (x1, 0, 3);
993 76294 : if (GET_CODE (x13) != CLOBBER)
994 : return -1;
995 76294 : x14 = XVECEXP (x1, 0, 4);
996 76294 : if (GET_CODE (x14) != CLOBBER)
997 : return -1;
998 76294 : x15 = XEXP (x4, 0);
999 76294 : operands[6] = x15;
1000 76294 : return 0;
1001 : }
1002 :
1003 : int
1004 61388 : pattern257 (rtx x1, int *pnum_clobbers)
1005 : {
1006 61388 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1007 61388 : rtx x2, x3, x4, x5;
1008 61388 : int res ATTRIBUTE_UNUSED;
1009 61388 : if (pnum_clobbers == NULL)
1010 : return -1;
1011 61388 : x2 = XEXP (x1, 1);
1012 61388 : x3 = XEXP (x2, 0);
1013 61388 : if (GET_MODE (x3) != E_QImode)
1014 : return -1;
1015 241 : x4 = XEXP (x3, 0);
1016 241 : if (GET_CODE (x4) != SUBREG
1017 160 : || maybe_ne (SUBREG_BYTE (x4), 0)
1018 401 : || GET_MODE (x4) != E_QImode)
1019 : return -1;
1020 160 : x5 = XEXP (x4, 0);
1021 160 : switch (GET_CODE (x5))
1022 : {
1023 136 : case ASHIFTRT:
1024 136 : case LSHIFTRT:
1025 136 : case SIGN_EXTRACT:
1026 136 : case ZERO_EXTRACT:
1027 136 : operands[3] = x5;
1028 136 : return pattern256 (x1); /* [-1, 0] */
1029 :
1030 : default:
1031 : return -1;
1032 : }
1033 : }
1034 :
1035 : int
1036 2647556 : pattern274 (rtx x1)
1037 : {
1038 2647556 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1039 2647556 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1040 2647556 : rtx x10, x11, x12, x13;
1041 2647556 : int res ATTRIBUTE_UNUSED;
1042 2647556 : x2 = XEXP (x1, 0);
1043 2647556 : x3 = XEXP (x2, 0);
1044 2647556 : operands[1] = x3;
1045 2647556 : x4 = XEXP (x2, 1);
1046 2647556 : operands[2] = x4;
1047 2647556 : x5 = XEXP (x1, 1);
1048 2647556 : switch (XVECLEN (x5, 0))
1049 : {
1050 291510 : case 2:
1051 291510 : x6 = XVECEXP (x5, 0, 0);
1052 291510 : if (GET_CODE (x6) != CONST_INT)
1053 : return -1;
1054 : return 0;
1055 :
1056 576245 : case 8:
1057 576245 : x6 = XVECEXP (x5, 0, 0);
1058 576245 : if (GET_CODE (x6) != CONST_INT)
1059 : return -1;
1060 576245 : x7 = XVECEXP (x5, 0, 1);
1061 576245 : if (GET_CODE (x7) != CONST_INT)
1062 : return -1;
1063 576245 : x8 = XVECEXP (x5, 0, 2);
1064 576245 : if (GET_CODE (x8) != CONST_INT)
1065 : return -1;
1066 576245 : x9 = XVECEXP (x5, 0, 3);
1067 576245 : if (GET_CODE (x9) != CONST_INT)
1068 : return -1;
1069 576245 : x10 = XVECEXP (x5, 0, 4);
1070 576245 : if (GET_CODE (x10) != CONST_INT)
1071 : return -1;
1072 576245 : x11 = XVECEXP (x5, 0, 5);
1073 576245 : if (GET_CODE (x11) != CONST_INT)
1074 : return -1;
1075 576245 : x12 = XVECEXP (x5, 0, 6);
1076 576245 : if (GET_CODE (x12) != CONST_INT)
1077 : return -1;
1078 576245 : x13 = XVECEXP (x5, 0, 7);
1079 576245 : if (GET_CODE (x13) != CONST_INT
1080 576245 : || !register_operand (operands[0], E_V8QImode)
1081 43290 : || GET_MODE (x1) != E_V8QImode
1082 43290 : || GET_MODE (x2) != E_V16QImode
1083 43290 : || !register_operand (operands[1], E_V8QImode)
1084 618502 : || !register_mmxmem_operand (operands[2], E_V8QImode))
1085 538912 : return -1;
1086 37333 : switch (XWINT (x6, 0))
1087 : {
1088 8663 : case 4L:
1089 8663 : if (XWINT (x7, 0) != 12L
1090 6821 : || XWINT (x8, 0) != 5L
1091 6717 : || XWINT (x9, 0) != 13L
1092 6717 : || XWINT (x10, 0) != 6L
1093 6717 : || XWINT (x11, 0) != 14L
1094 6717 : || XWINT (x12, 0) != 7L
1095 6717 : || XWINT (x13, 0) != 15L)
1096 : return -1;
1097 : return 1;
1098 :
1099 14408 : case 0L:
1100 14408 : if (XWINT (x7, 0) != 8L
1101 8461 : || XWINT (x8, 0) != 1L
1102 7692 : || XWINT (x9, 0) != 9L
1103 7478 : || XWINT (x10, 0) != 2L
1104 7478 : || XWINT (x11, 0) != 10L
1105 7478 : || XWINT (x12, 0) != 3L
1106 7478 : || XWINT (x13, 0) != 11L)
1107 : return -1;
1108 : return 2;
1109 :
1110 : default:
1111 : return -1;
1112 : }
1113 :
1114 1553389 : case 4:
1115 1553389 : x6 = XVECEXP (x5, 0, 0);
1116 1553389 : if (GET_CODE (x6) != CONST_INT)
1117 : return -1;
1118 1553389 : x7 = XVECEXP (x5, 0, 1);
1119 1553389 : if (GET_CODE (x7) != CONST_INT)
1120 : return -1;
1121 1553389 : x8 = XVECEXP (x5, 0, 2);
1122 1553389 : if (GET_CODE (x8) != CONST_INT)
1123 : return -1;
1124 1553389 : x9 = XVECEXP (x5, 0, 3);
1125 1553389 : if (GET_CODE (x9) != CONST_INT)
1126 : return -1;
1127 1553389 : switch (XWINT (x6, 0))
1128 : {
1129 286427 : case 2L:
1130 286427 : if (XWINT (x7, 0) != 6L
1131 120896 : || XWINT (x8, 0) != 3L
1132 119867 : || XWINT (x9, 0) != 7L)
1133 : return -1;
1134 119702 : switch (GET_MODE (operands[0]))
1135 : {
1136 4344 : case E_V4QImode:
1137 4344 : if (pattern272 (x1,
1138 : E_V4QImode,
1139 : E_V8QImode) != 0)
1140 : return -1;
1141 : return 3;
1142 :
1143 23670 : case E_V4HImode:
1144 23670 : if (pattern273 (x1,
1145 : E_V4HImode,
1146 : E_V8HImode) != 0)
1147 : return -1;
1148 : return 4;
1149 :
1150 : default:
1151 : return -1;
1152 : }
1153 :
1154 793904 : case 0L:
1155 793904 : if (XWINT (x7, 0) != 4L
1156 358428 : || XWINT (x8, 0) != 1L
1157 343287 : || XWINT (x9, 0) != 5L)
1158 : return -1;
1159 342679 : switch (GET_MODE (operands[0]))
1160 : {
1161 6516 : case E_V4QImode:
1162 6516 : if (pattern272 (x1,
1163 : E_V4QImode,
1164 : E_V8QImode) != 0)
1165 : return -1;
1166 : return 5;
1167 :
1168 32470 : case E_V4HImode:
1169 32470 : if (pattern273 (x1,
1170 : E_V4HImode,
1171 : E_V8HImode) != 0)
1172 : return -1;
1173 : return 6;
1174 :
1175 : default:
1176 : return -1;
1177 : }
1178 :
1179 : default:
1180 : return -1;
1181 : }
1182 :
1183 : default:
1184 : return -1;
1185 : }
1186 : }
1187 :
1188 : int
1189 752 : pattern325 (rtx x1)
1190 : {
1191 752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1192 752 : rtx x2;
1193 752 : int res ATTRIBUTE_UNUSED;
1194 752 : x2 = XVECEXP (x1, 0, 0);
1195 752 : operands[1] = x2;
1196 752 : switch (GET_MODE (operands[0]))
1197 : {
1198 126 : case E_V16SFmode:
1199 126 : if (!register_operand (operands[0], E_V16SFmode)
1200 117 : || GET_MODE (x1) != E_V16SFmode
1201 243 : || !nonimmediate_operand (operands[1], E_V16SFmode))
1202 11 : return -1;
1203 : return 0;
1204 :
1205 126 : case E_V8SFmode:
1206 126 : if (!register_operand (operands[0], E_V8SFmode)
1207 117 : || GET_MODE (x1) != E_V8SFmode
1208 243 : || !nonimmediate_operand (operands[1], E_V8SFmode))
1209 11 : return -1;
1210 : return 1;
1211 :
1212 121 : case E_V4SFmode:
1213 121 : if (!register_operand (operands[0], E_V4SFmode)
1214 115 : || GET_MODE (x1) != E_V4SFmode
1215 236 : || !nonimmediate_operand (operands[1], E_V4SFmode))
1216 7 : return -1;
1217 : return 2;
1218 :
1219 129 : case E_V8DFmode:
1220 129 : if (!register_operand (operands[0], E_V8DFmode)
1221 120 : || GET_MODE (x1) != E_V8DFmode
1222 249 : || !nonimmediate_operand (operands[1], E_V8DFmode))
1223 12 : return -1;
1224 : return 3;
1225 :
1226 126 : case E_V4DFmode:
1227 126 : if (!register_operand (operands[0], E_V4DFmode)
1228 117 : || GET_MODE (x1) != E_V4DFmode
1229 243 : || !nonimmediate_operand (operands[1], E_V4DFmode))
1230 11 : return -1;
1231 : return 4;
1232 :
1233 124 : case E_V2DFmode:
1234 124 : if (!register_operand (operands[0], E_V2DFmode)
1235 118 : || GET_MODE (x1) != E_V2DFmode
1236 242 : || !nonimmediate_operand (operands[1], E_V2DFmode))
1237 8 : return -1;
1238 : return 5;
1239 :
1240 : default:
1241 : return -1;
1242 : }
1243 : }
1244 :
1245 : int
1246 664673 : pattern334 (rtx x1)
1247 : {
1248 664673 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1249 664673 : rtx x2, x3, x4, x5;
1250 664673 : int res ATTRIBUTE_UNUSED;
1251 664673 : x2 = XEXP (x1, 0);
1252 664673 : x3 = XEXP (x2, 0);
1253 664673 : operands[1] = x3;
1254 664673 : x4 = XEXP (x2, 1);
1255 664673 : operands[2] = x4;
1256 664673 : x5 = XEXP (x1, 1);
1257 664673 : operands[3] = x5;
1258 664673 : switch (GET_MODE (operands[0]))
1259 : {
1260 5997 : case E_V8HImode:
1261 5997 : return pattern333 (x1,
1262 5997 : E_V8HImode); /* [-1, 0] */
1263 :
1264 4226 : case E_V4SImode:
1265 4226 : if (pattern333 (x1,
1266 : E_V4SImode) != 0)
1267 : return -1;
1268 : return 1;
1269 :
1270 : default:
1271 : return -1;
1272 : }
1273 : }
1274 :
1275 : int
1276 57246 : pattern338 (rtx x1, rtx_code i1)
1277 : {
1278 57246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1279 57246 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1280 57246 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1281 57246 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1282 57246 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
1283 57246 : rtx x34, x35;
1284 57246 : int res ATTRIBUTE_UNUSED;
1285 57246 : x2 = XEXP (x1, 0);
1286 57246 : x3 = XEXP (x2, 0);
1287 57246 : x4 = XEXP (x3, 0);
1288 57246 : if (GET_CODE (x4) != VEC_SELECT)
1289 : return -1;
1290 349 : x5 = XEXP (x4, 1);
1291 349 : if (GET_CODE (x5) != PARALLEL)
1292 : return -1;
1293 349 : x6 = XEXP (x2, 1);
1294 349 : if (GET_CODE (x6) != i1)
1295 : return -1;
1296 252 : x7 = XEXP (x6, 0);
1297 252 : if (GET_CODE (x7) != VEC_SELECT)
1298 : return -1;
1299 190 : x8 = XEXP (x7, 1);
1300 190 : if (GET_CODE (x8) != PARALLEL)
1301 : return -1;
1302 190 : x9 = XEXP (x1, 1);
1303 190 : if (GET_CODE (x9) != PLUS)
1304 : return -1;
1305 190 : x10 = XEXP (x9, 0);
1306 190 : if (GET_CODE (x10) != i1)
1307 : return -1;
1308 190 : x11 = XEXP (x10, 0);
1309 190 : if (GET_CODE (x11) != VEC_SELECT)
1310 : return -1;
1311 190 : x12 = XEXP (x11, 1);
1312 190 : if (GET_CODE (x12) != PARALLEL)
1313 : return -1;
1314 190 : x13 = XEXP (x9, 1);
1315 190 : if (GET_CODE (x13) != i1)
1316 : return -1;
1317 190 : x14 = XEXP (x13, 0);
1318 190 : if (GET_CODE (x14) != VEC_SELECT)
1319 : return -1;
1320 190 : x15 = XEXP (x14, 1);
1321 190 : if (GET_CODE (x15) != PARALLEL)
1322 : return -1;
1323 190 : x16 = XEXP (x4, 0);
1324 190 : operands[1] = x16;
1325 190 : x17 = XEXP (x7, 0);
1326 190 : if (!rtx_equal_p (x17, operands[1]))
1327 : return -1;
1328 190 : x18 = XEXP (x11, 0);
1329 190 : if (!rtx_equal_p (x18, operands[1]))
1330 : return -1;
1331 190 : x19 = XEXP (x14, 0);
1332 190 : if (!rtx_equal_p (x19, operands[1]))
1333 : return -1;
1334 190 : switch (XVECLEN (x5, 0))
1335 : {
1336 90 : case 4:
1337 90 : x20 = XVECEXP (x5, 0, 0);
1338 90 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1339 : return -1;
1340 90 : x21 = XVECEXP (x5, 0, 1);
1341 90 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1342 : return -1;
1343 90 : x22 = XVECEXP (x5, 0, 2);
1344 90 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1345 : return -1;
1346 90 : x23 = XVECEXP (x5, 0, 3);
1347 90 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 12]
1348 90 : || XVECLEN (x8, 0) != 4)
1349 : return -1;
1350 90 : x24 = XVECEXP (x8, 0, 0);
1351 90 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1352 : return -1;
1353 90 : x25 = XVECEXP (x8, 0, 1);
1354 90 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
1355 : return -1;
1356 90 : x26 = XVECEXP (x8, 0, 2);
1357 90 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
1358 : return -1;
1359 90 : x27 = XVECEXP (x8, 0, 3);
1360 90 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 13]
1361 90 : || XVECLEN (x12, 0) != 4)
1362 : return -1;
1363 90 : x28 = XVECEXP (x12, 0, 0);
1364 90 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1365 : return -1;
1366 90 : x29 = XVECEXP (x12, 0, 1);
1367 90 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1368 : return -1;
1369 90 : x30 = XVECEXP (x12, 0, 2);
1370 90 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1371 : return -1;
1372 90 : x31 = XVECEXP (x12, 0, 3);
1373 90 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1374 90 : || XVECLEN (x15, 0) != 4)
1375 : return -1;
1376 90 : x32 = XVECEXP (x15, 0, 0);
1377 90 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1378 : return -1;
1379 90 : x33 = XVECEXP (x15, 0, 1);
1380 90 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
1381 : return -1;
1382 90 : x34 = XVECEXP (x15, 0, 2);
1383 90 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
1384 : return -1;
1385 90 : x35 = XVECEXP (x15, 0, 3);
1386 90 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
1387 90 : || pattern337 (x1,
1388 : E_V4QImode,
1389 : E_V4SImode,
1390 : E_V16QImode) != 0)
1391 4 : return -1;
1392 : return 0;
1393 :
1394 100 : case 2:
1395 100 : x20 = XVECEXP (x5, 0, 0);
1396 100 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1397 : return -1;
1398 100 : x21 = XVECEXP (x5, 0, 1);
1399 100 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4]
1400 100 : || XVECLEN (x8, 0) != 2)
1401 : return -1;
1402 100 : x24 = XVECEXP (x8, 0, 0);
1403 100 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1404 : return -1;
1405 100 : x25 = XVECEXP (x8, 0, 1);
1406 100 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5]
1407 100 : || XVECLEN (x12, 0) != 2)
1408 : return -1;
1409 100 : x28 = XVECEXP (x12, 0, 0);
1410 100 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1411 : return -1;
1412 100 : x29 = XVECEXP (x12, 0, 1);
1413 100 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1414 100 : || XVECLEN (x15, 0) != 2)
1415 : return -1;
1416 100 : x32 = XVECEXP (x15, 0, 0);
1417 100 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1418 : return -1;
1419 100 : x33 = XVECEXP (x15, 0, 1);
1420 100 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
1421 100 : || pattern337 (x1,
1422 : E_V2HImode,
1423 : E_V2DImode,
1424 : E_V8HImode) != 0)
1425 4 : return -1;
1426 : return 1;
1427 :
1428 : default:
1429 : return -1;
1430 : }
1431 : }
1432 :
1433 : int
1434 294 : pattern377 (rtx x1)
1435 : {
1436 294 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1437 294 : int res ATTRIBUTE_UNUSED;
1438 294 : switch (GET_MODE (operands[0]))
1439 : {
1440 279 : case E_QImode:
1441 279 : if (!register_operand (operands[0], E_QImode)
1442 279 : || GET_MODE (x1) != E_QImode
1443 558 : || !register_operand (operands[1], E_QImode))
1444 37 : return -1;
1445 : return 0;
1446 :
1447 15 : case E_HImode:
1448 15 : if (!register_operand (operands[0], E_HImode)
1449 15 : || GET_MODE (x1) != E_HImode
1450 30 : || !register_operand (operands[1], E_HImode))
1451 0 : return -1;
1452 : return 1;
1453 :
1454 : default:
1455 : return -1;
1456 : }
1457 : }
1458 :
1459 : int
1460 2517 : pattern385 (rtx x1, int i1)
1461 : {
1462 2517 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1463 2517 : rtx x2;
1464 2517 : int res ATTRIBUTE_UNUSED;
1465 2517 : if (GET_CODE (x1) != UNSPEC
1466 12 : || XVECLEN (x1, 0) != 1
1467 12 : || XINT (x1, 1) != i1)
1468 : return -1;
1469 12 : x2 = XVECEXP (x1, 0, 0);
1470 12 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1471 0 : return -1;
1472 : return 0;
1473 : }
1474 :
1475 : int
1476 3346 : pattern390 (rtx x1)
1477 : {
1478 3346 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1479 3346 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1480 3346 : rtx x10, x11;
1481 3346 : int res ATTRIBUTE_UNUSED;
1482 3346 : x2 = XVECEXP (x1, 0, 1);
1483 3346 : if (GET_CODE (x2) != CLOBBER)
1484 : return -1;
1485 3346 : x3 = XVECEXP (x1, 0, 2);
1486 3346 : if (GET_CODE (x3) != CLOBBER)
1487 : return -1;
1488 3346 : x4 = XVECEXP (x1, 0, 0);
1489 3346 : x5 = XEXP (x4, 0);
1490 3346 : operands[0] = x5;
1491 3346 : x6 = XEXP (x4, 1);
1492 3346 : x7 = XEXP (x6, 0);
1493 3346 : operands[1] = x7;
1494 3346 : if (!register_operand (operands[1], E_DImode))
1495 : return -1;
1496 3343 : x8 = XEXP (x2, 0);
1497 3343 : operands[2] = x8;
1498 3343 : if (!memory_operand (operands[2], E_DImode))
1499 : return -1;
1500 3343 : x9 = XEXP (x3, 0);
1501 3343 : operands[3] = x9;
1502 3343 : if (!scratch_operand (operands[3], E_V4SImode))
1503 : return -1;
1504 3343 : x10 = XVECEXP (x1, 0, 3);
1505 3343 : x11 = XEXP (x10, 0);
1506 3343 : operands[4] = x11;
1507 3343 : if (!scratch_operand (operands[4], E_V4SImode))
1508 : return -1;
1509 3343 : return pattern389 (x6); /* [-1, 2] */
1510 : }
1511 :
1512 : int
1513 8955 : pattern405 (rtx x1)
1514 : {
1515 8955 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1516 8955 : rtx x2, x3, x4, x5, x6;
1517 8955 : int res ATTRIBUTE_UNUSED;
1518 8955 : x2 = XEXP (x1, 0);
1519 8955 : x3 = XEXP (x2, 0);
1520 8955 : operands[1] = x3;
1521 8955 : x4 = XEXP (x1, 1);
1522 8955 : switch (GET_CODE (x4))
1523 : {
1524 0 : case ASHIFT:
1525 0 : x5 = XEXP (x4, 1);
1526 0 : operands[3] = x5;
1527 0 : if (!const_int_operand (operands[3], E_QImode))
1528 : return -1;
1529 0 : x6 = XEXP (x4, 0);
1530 0 : switch (GET_CODE (x6))
1531 : {
1532 0 : case REG:
1533 0 : case SUBREG:
1534 0 : operands[2] = x6;
1535 0 : switch (GET_MODE (operands[0]))
1536 : {
1537 0 : case E_DImode:
1538 0 : return pattern401 (x1,
1539 : E_DImode,
1540 0 : E_SImode); /* [-1, 0] */
1541 :
1542 0 : case E_TImode:
1543 0 : if (pattern401 (x1,
1544 : E_TImode,
1545 : E_DImode) != 0)
1546 : return -1;
1547 : return 1;
1548 :
1549 : default:
1550 : return -1;
1551 : }
1552 :
1553 0 : case SIGN_EXTEND:
1554 0 : res = pattern403 (x1);
1555 0 : if (res >= 0)
1556 0 : return res + 2; /* [2, 3] */
1557 : return -1;
1558 :
1559 0 : case ZERO_EXTEND:
1560 0 : res = pattern403 (x1);
1561 0 : if (res >= 0)
1562 0 : return res + 4; /* [4, 5] */
1563 : return -1;
1564 :
1565 : default:
1566 : return -1;
1567 : }
1568 :
1569 2300 : case CONST_INT:
1570 2300 : case CONST_WIDE_INT:
1571 2300 : operands[2] = x4;
1572 2300 : switch (GET_MODE (operands[0]))
1573 : {
1574 644 : case E_DImode:
1575 644 : if (pattern404 (x1,
1576 : E_DImode,
1577 : E_SImode) != 0)
1578 : return -1;
1579 : return 6;
1580 :
1581 1146 : case E_TImode:
1582 1146 : if (pattern404 (x1,
1583 : E_TImode,
1584 : E_DImode) != 0)
1585 : return -1;
1586 : return 7;
1587 :
1588 : default:
1589 : return -1;
1590 : }
1591 :
1592 : default:
1593 : return -1;
1594 : }
1595 : }
1596 :
1597 : int
1598 125581 : pattern425 (rtx x1)
1599 : {
1600 125581 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1601 125581 : rtx x2, x3, x4, x5, x6;
1602 125581 : int res ATTRIBUTE_UNUSED;
1603 125581 : x2 = XEXP (x1, 1);
1604 125581 : x3 = XEXP (x2, 0);
1605 125581 : x4 = XEXP (x3, 0);
1606 125581 : if (GET_CODE (x4) != SUBREG
1607 38565 : || maybe_ne (SUBREG_BYTE (x4), 0)
1608 163345 : || GET_MODE (x4) != E_QImode)
1609 : return -1;
1610 120 : x5 = XEXP (x4, 0);
1611 120 : switch (GET_CODE (x5))
1612 : {
1613 3 : case ASHIFTRT:
1614 3 : case LSHIFTRT:
1615 3 : case SIGN_EXTRACT:
1616 3 : case ZERO_EXTRACT:
1617 3 : operands[3] = x5;
1618 3 : x6 = XEXP (x1, 0);
1619 3 : return pattern424 (x6); /* [-1, 0] */
1620 :
1621 : default:
1622 : return -1;
1623 : }
1624 : }
1625 :
1626 : int
1627 427 : pattern432 (rtx x1, machine_mode i1)
1628 : {
1629 427 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1630 427 : rtx x2, x3;
1631 427 : int res ATTRIBUTE_UNUSED;
1632 427 : if (!register_operand (operands[0], i1)
1633 427 : || GET_MODE (x1) != i1)
1634 : return -1;
1635 355 : x2 = XEXP (x1, 0);
1636 355 : if (GET_MODE (x2) != i1)
1637 : return -1;
1638 355 : x3 = XEXP (x2, 0);
1639 355 : if (GET_MODE (x3) != i1
1640 355 : || !register_no_SP_operand (operands[1], i1)
1641 310 : || !register_operand (operands[3], i1)
1642 628 : || !immediate_operand (operands[4], i1))
1643 152 : return -1;
1644 : return 0;
1645 : }
1646 :
1647 : int
1648 330 : pattern441 (rtx x1)
1649 : {
1650 330 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1651 330 : rtx x2, x3;
1652 330 : int res ATTRIBUTE_UNUSED;
1653 330 : if (GET_MODE (x1) != E_SImode)
1654 : return -1;
1655 318 : x2 = XEXP (x1, 0);
1656 318 : if (GET_CODE (x2) != ASHIFT
1657 72 : || GET_MODE (x2) != E_SImode)
1658 : return -1;
1659 72 : x3 = XEXP (x2, 0);
1660 72 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1661 46 : return -1;
1662 : return 0;
1663 : }
1664 :
1665 : int
1666 6606 : pattern447 (rtx x1, int *pnum_clobbers)
1667 : {
1668 6606 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1669 6606 : rtx x2, x3, x4, x5, x6, x7, x8;
1670 6606 : int res ATTRIBUTE_UNUSED;
1671 6606 : x2 = XEXP (x1, 1);
1672 6606 : x3 = XEXP (x2, 1);
1673 6606 : switch (GET_CODE (x3))
1674 : {
1675 3772 : case CONST_INT:
1676 3772 : operands[3] = x3;
1677 3772 : x4 = XEXP (x1, 0);
1678 3772 : x5 = XEXP (x4, 0);
1679 3772 : operands[4] = x5;
1680 3772 : x6 = XEXP (x4, 1);
1681 3772 : operands[2] = x6;
1682 3772 : x7 = XEXP (x2, 0);
1683 3772 : operands[1] = x7;
1684 3772 : return pattern445 (x1); /* [-1, 1] */
1685 :
1686 297 : case MINUS:
1687 297 : if (pnum_clobbers == NULL
1688 297 : || GET_MODE (x3) != E_QImode)
1689 : return -1;
1690 290 : x8 = XEXP (x3, 0);
1691 290 : if (GET_CODE (x8) != CONST_INT)
1692 : return -1;
1693 116 : x4 = XEXP (x1, 0);
1694 116 : x6 = XEXP (x4, 1);
1695 116 : if (!nonmemory_operand (x6, E_QImode))
1696 : return -1;
1697 116 : switch (XWINT (x8, 0))
1698 : {
1699 90 : case 64L:
1700 90 : if (pattern446 (x1,
1701 : E_DImode) != 0)
1702 : return -1;
1703 : return 2;
1704 :
1705 20 : case 32L:
1706 20 : if (pattern446 (x1,
1707 : E_SImode) != 0)
1708 : return -1;
1709 : return 3;
1710 :
1711 : default:
1712 : return -1;
1713 : }
1714 :
1715 : default:
1716 : return -1;
1717 : }
1718 : }
1719 :
1720 : int
1721 3663 : pattern460 (rtx x1)
1722 : {
1723 3663 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1724 3663 : rtx x2;
1725 3663 : int res ATTRIBUTE_UNUSED;
1726 3663 : x2 = XEXP (x1, 1);
1727 3663 : if (!rtx_equal_p (x2, operands[1]))
1728 : return -1;
1729 3246 : switch (GET_MODE (operands[0]))
1730 : {
1731 569 : case E_V8HFmode:
1732 569 : return pattern459 (x1,
1733 569 : E_V8HFmode); /* [-1, 0] */
1734 :
1735 1684 : case E_V4SFmode:
1736 1684 : if (pattern459 (x1,
1737 : E_V4SFmode) != 0)
1738 : return -1;
1739 : return 1;
1740 :
1741 993 : case E_V2DFmode:
1742 993 : if (pattern459 (x1,
1743 : E_V2DFmode) != 0)
1744 : return -1;
1745 : return 2;
1746 :
1747 : default:
1748 : return -1;
1749 : }
1750 : }
1751 :
1752 : int
1753 6229 : pattern470 (rtx x1, machine_mode i1, machine_mode i2)
1754 : {
1755 6229 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1756 6229 : rtx x2;
1757 6229 : int res ATTRIBUTE_UNUSED;
1758 6229 : if (!register_operand (operands[0], i1)
1759 6229 : || GET_MODE (x1) != i1)
1760 : return -1;
1761 5836 : x2 = XEXP (x1, 0);
1762 5836 : if (GET_MODE (x2) != i1
1763 5836 : || !nonimmediate_operand (operands[1], i1)
1764 5774 : || !nonimm_or_0_operand (operands[3], i1)
1765 11526 : || !register_operand (operands[4], i2))
1766 403 : return -1;
1767 : return 0;
1768 : }
1769 :
1770 : int
1771 7363 : pattern475 (rtx x1, machine_mode i1, machine_mode i2)
1772 : {
1773 7363 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1774 7363 : rtx x2;
1775 7363 : int res ATTRIBUTE_UNUSED;
1776 7363 : if (!register_operand (operands[0], i1)
1777 7363 : || GET_MODE (x1) != i1)
1778 : return -1;
1779 6899 : x2 = XEXP (x1, 0);
1780 6899 : if (GET_MODE (x2) != i1
1781 6899 : || !register_operand (operands[1], i1)
1782 6886 : || !vector_operand (operands[2], i1)
1783 6844 : || !nonimm_or_0_operand (operands[4], i1)
1784 13604 : || !register_operand (operands[5], i2))
1785 290 : return -1;
1786 : return 0;
1787 : }
1788 :
1789 : int
1790 4225 : pattern481 (rtx x1)
1791 : {
1792 4225 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1793 4225 : rtx x2, x3, x4, x5, x6, x7;
1794 4225 : int res ATTRIBUTE_UNUSED;
1795 4225 : x2 = XEXP (x1, 0);
1796 4225 : x3 = XVECEXP (x2, 0, 0);
1797 4225 : operands[1] = x3;
1798 4225 : x4 = XVECEXP (x2, 0, 1);
1799 4225 : operands[2] = x4;
1800 4225 : x5 = XVECEXP (x2, 0, 2);
1801 4225 : operands[3] = x5;
1802 4225 : if (!const_0_to_255_operand (operands[3], E_SImode))
1803 : return -1;
1804 4225 : x6 = XEXP (x1, 1);
1805 4225 : operands[4] = x6;
1806 4225 : x7 = XEXP (x1, 2);
1807 4225 : operands[5] = x7;
1808 4225 : switch (GET_MODE (operands[0]))
1809 : {
1810 400 : case E_V32HImode:
1811 400 : return pattern480 (x1,
1812 : E_V32HImode,
1813 400 : E_SImode); /* [-1, 0] */
1814 :
1815 509 : case E_V16SImode:
1816 509 : if (pattern480 (x1,
1817 : E_V16SImode,
1818 : E_HImode) != 0)
1819 : return -1;
1820 : return 1;
1821 :
1822 536 : case E_V8DImode:
1823 536 : if (pattern480 (x1,
1824 : E_V8DImode,
1825 : E_QImode) != 0)
1826 : return -1;
1827 : return 2;
1828 :
1829 434 : case E_V16HImode:
1830 434 : if (pattern480 (x1,
1831 : E_V16HImode,
1832 : E_HImode) != 0)
1833 : return -1;
1834 : return 3;
1835 :
1836 488 : case E_V8SImode:
1837 488 : if (pattern480 (x1,
1838 : E_V8SImode,
1839 : E_QImode) != 0)
1840 : return -1;
1841 : return 4;
1842 :
1843 502 : case E_V4DImode:
1844 502 : if (pattern480 (x1,
1845 : E_V4DImode,
1846 : E_QImode) != 0)
1847 : return -1;
1848 : return 5;
1849 :
1850 426 : case E_V8HImode:
1851 426 : if (pattern480 (x1,
1852 : E_V8HImode,
1853 : E_QImode) != 0)
1854 : return -1;
1855 : return 6;
1856 :
1857 458 : case E_V4SImode:
1858 458 : if (pattern480 (x1,
1859 : E_V4SImode,
1860 : E_QImode) != 0)
1861 : return -1;
1862 : return 7;
1863 :
1864 472 : case E_V2DImode:
1865 472 : if (pattern480 (x1,
1866 : E_V2DImode,
1867 : E_QImode) != 0)
1868 : return -1;
1869 : return 8;
1870 :
1871 : default:
1872 : return -1;
1873 : }
1874 : }
1875 :
1876 : int
1877 8 : pattern496 (rtx x1, machine_mode i1)
1878 : {
1879 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1880 8 : int res ATTRIBUTE_UNUSED;
1881 8 : if (!register_operand (operands[0], i1)
1882 8 : || GET_MODE (x1) != i1
1883 8 : || !register_operand (operands[1], i1)
1884 12 : || !nonimmediate_operand (operands[2], i1))
1885 6 : return -1;
1886 : return 0;
1887 : }
1888 :
1889 : int
1890 696 : pattern499 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1891 : {
1892 696 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1893 696 : rtx x2, x3, x4;
1894 696 : int res ATTRIBUTE_UNUSED;
1895 696 : if (!register_operand (operands[0], i2)
1896 696 : || GET_MODE (x1) != i2)
1897 : return -1;
1898 678 : x2 = XEXP (x1, 0);
1899 678 : if (GET_MODE (x2) != i1)
1900 : return -1;
1901 678 : x3 = XEXP (x2, 0);
1902 678 : if (GET_MODE (x3) != i1
1903 678 : || !nonimmediate_operand (operands[1], i3))
1904 0 : return -1;
1905 678 : x4 = XEXP (x2, 1);
1906 678 : if (GET_MODE (x4) != i1
1907 678 : || !nonimm_or_0_operand (operands[2], i2)
1908 1351 : || !const0_operand (operands[4], i1))
1909 5 : return -1;
1910 : return 0;
1911 : }
1912 :
1913 : int
1914 0 : pattern505 (rtx x1)
1915 : {
1916 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1917 0 : rtx x2, x3, x4, x5, x6, x7;
1918 0 : int res ATTRIBUTE_UNUSED;
1919 0 : x2 = XEXP (x1, 0);
1920 0 : x3 = XEXP (x2, 0);
1921 0 : if (GET_MODE (x3) != E_V2SImode)
1922 : return -1;
1923 0 : x4 = XEXP (x1, 1);
1924 0 : if (GET_CODE (x4) != CONST_VECTOR
1925 0 : || XVECLEN (x4, 0) != 2
1926 0 : || GET_MODE (x4) != E_V2SImode)
1927 : return -1;
1928 0 : x5 = XVECEXP (x4, 0, 0);
1929 0 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1930 : return -1;
1931 0 : x6 = XVECEXP (x4, 0, 1);
1932 0 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
1933 0 : || !register_operand (operands[0], E_V4SImode)
1934 0 : || GET_MODE (x1) != E_V4SImode
1935 0 : || GET_MODE (x2) != E_V2SImode)
1936 0 : return -1;
1937 0 : x7 = XEXP (x3, 0);
1938 0 : operands[1] = x7;
1939 0 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
1940 : return -1;
1941 0 : return pattern504 (x2); /* [-1, 1] */
1942 : }
1943 :
1944 : int
1945 720 : pattern510 (rtx x1, machine_mode i1, machine_mode i2)
1946 : {
1947 720 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1948 720 : rtx x2, x3, x4;
1949 720 : int res ATTRIBUTE_UNUSED;
1950 720 : if (!register_operand (operands[0], i2)
1951 720 : || GET_MODE (x1) != i2)
1952 : return -1;
1953 720 : x2 = XEXP (x1, 0);
1954 720 : if (GET_MODE (x2) != i1)
1955 : return -1;
1956 720 : x3 = XEXP (x2, 0);
1957 720 : if (GET_MODE (x3) != i1)
1958 : return -1;
1959 720 : x4 = XEXP (x2, 1);
1960 720 : if (GET_MODE (x4) != i1)
1961 : return -1;
1962 720 : switch (GET_MODE (operands[1]))
1963 : {
1964 360 : case E_V4SImode:
1965 360 : if (!register_operand (operands[1], E_V4SImode))
1966 : return -1;
1967 : return 0;
1968 :
1969 360 : case E_V4DImode:
1970 360 : if (!register_operand (operands[1], E_V4DImode))
1971 : return -1;
1972 : return 1;
1973 :
1974 : default:
1975 : return -1;
1976 : }
1977 : }
1978 :
1979 : int
1980 251 : pattern518 (rtx x1)
1981 : {
1982 251 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1983 251 : int res ATTRIBUTE_UNUSED;
1984 251 : if (!register_operand (operands[0], E_V16HFmode)
1985 251 : || GET_MODE (x1) != E_V16HFmode)
1986 : return -1;
1987 221 : switch (GET_MODE (operands[1]))
1988 : {
1989 138 : case E_V16HImode:
1990 138 : if (!vector_operand (operands[1], E_V16HImode))
1991 : return -1;
1992 : return 0;
1993 :
1994 79 : case E_V16SImode:
1995 79 : if (!vector_operand (operands[1], E_V16SImode))
1996 : return -1;
1997 : return 1;
1998 :
1999 : default:
2000 : return -1;
2001 : }
2002 : }
2003 :
2004 : int
2005 8 : pattern522 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2006 : {
2007 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2008 8 : rtx x2, x3;
2009 8 : int res ATTRIBUTE_UNUSED;
2010 8 : if (!register_operand (operands[0], i1)
2011 8 : || GET_MODE (x1) != i1)
2012 : return -1;
2013 8 : x2 = XEXP (x1, 0);
2014 8 : if (GET_MODE (x2) != i3)
2015 : return -1;
2016 8 : x3 = XEXP (x2, 0);
2017 8 : if (GET_MODE (x3) != i1
2018 8 : || !nonimmediate_operand (operands[1], i2)
2019 8 : || !const0_operand (operands[2], i2)
2020 16 : || !const0_operand (operands[3], i1))
2021 0 : return -1;
2022 : return 0;
2023 : }
2024 :
2025 : int
2026 26446 : pattern531 (rtx x1)
2027 : {
2028 26446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2029 26446 : rtx x2, x3, x4;
2030 26446 : int res ATTRIBUTE_UNUSED;
2031 26446 : x2 = XEXP (x1, 0);
2032 26446 : x3 = XEXP (x2, 1);
2033 26446 : operands[2] = x3;
2034 26446 : x4 = XEXP (x1, 1);
2035 26446 : operands[3] = x4;
2036 26446 : switch (GET_CODE (x2))
2037 : {
2038 18541 : case GT:
2039 18541 : switch (GET_MODE (operands[0]))
2040 : {
2041 21 : case E_V4DImode:
2042 21 : return pattern530 (x1,
2043 21 : E_V4DImode); /* [-1, 0] */
2044 :
2045 104 : case E_V2DImode:
2046 104 : if (pattern530 (x1,
2047 : E_V2DImode) != 0)
2048 : return -1;
2049 : return 1;
2050 :
2051 : default:
2052 : return -1;
2053 : }
2054 :
2055 : case LT:
2056 : return 2;
2057 :
2058 : default:
2059 : return -1;
2060 : }
2061 : }
2062 :
2063 : int
2064 1375127 : pattern535 (rtx x1)
2065 : {
2066 1375127 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2067 1375127 : rtx x2, x3, x4, x5;
2068 1375127 : int res ATTRIBUTE_UNUSED;
2069 1375127 : x2 = XEXP (x1, 0);
2070 1375127 : x3 = XEXP (x2, 0);
2071 1375127 : operands[1] = x3;
2072 1375127 : x4 = XEXP (x2, 1);
2073 1375127 : operands[2] = x4;
2074 1375127 : x5 = XEXP (x1, 1);
2075 1375127 : switch (GET_CODE (x5))
2076 : {
2077 79920 : case AND:
2078 79920 : return pattern533 (x1); /* [-1, 11] */
2079 :
2080 314 : case IOR:
2081 314 : res = pattern533 (x1);
2082 314 : if (res >= 0)
2083 124 : return res + 12; /* [12, 23] */
2084 : return -1;
2085 :
2086 1577 : case XOR:
2087 1577 : res = pattern533 (x1);
2088 1577 : if (res >= 0)
2089 30 : return res + 24; /* [24, 35] */
2090 : return -1;
2091 :
2092 804375 : case REG:
2093 804375 : case SUBREG:
2094 804375 : case MEM:
2095 804375 : case NOT:
2096 804375 : operands[3] = x5;
2097 804375 : switch (GET_MODE (operands[0]))
2098 : {
2099 19 : case E_V64QImode:
2100 19 : if (pattern534 (x1,
2101 : E_V64QImode) != 0)
2102 : return -1;
2103 : return 36;
2104 :
2105 468 : case E_V32QImode:
2106 468 : if (pattern534 (x1,
2107 : E_V32QImode) != 0)
2108 : return -1;
2109 : return 37;
2110 :
2111 94620 : case E_V16QImode:
2112 94620 : if (pattern534 (x1,
2113 : E_V16QImode) != 0)
2114 : return -1;
2115 : return 38;
2116 :
2117 0 : case E_V32HImode:
2118 0 : if (pattern534 (x1,
2119 : E_V32HImode) != 0)
2120 : return -1;
2121 : return 39;
2122 :
2123 140 : case E_V16HImode:
2124 140 : if (pattern534 (x1,
2125 : E_V16HImode) != 0)
2126 : return -1;
2127 : return 40;
2128 :
2129 4431 : case E_V8HImode:
2130 4431 : if (pattern534 (x1,
2131 : E_V8HImode) != 0)
2132 : return -1;
2133 : return 41;
2134 :
2135 8 : case E_V16SImode:
2136 8 : if (pattern534 (x1,
2137 : E_V16SImode) != 0)
2138 : return -1;
2139 : return 42;
2140 :
2141 5496 : case E_V8SImode:
2142 5496 : if (pattern534 (x1,
2143 : E_V8SImode) != 0)
2144 : return -1;
2145 : return 43;
2146 :
2147 43926 : case E_V4SImode:
2148 43926 : if (pattern534 (x1,
2149 : E_V4SImode) != 0)
2150 : return -1;
2151 : return 44;
2152 :
2153 0 : case E_V8DImode:
2154 0 : if (pattern534 (x1,
2155 : E_V8DImode) != 0)
2156 : return -1;
2157 : return 45;
2158 :
2159 529 : case E_V4DImode:
2160 529 : if (pattern534 (x1,
2161 : E_V4DImode) != 0)
2162 : return -1;
2163 : return 46;
2164 :
2165 12967 : case E_V2DImode:
2166 12967 : if (pattern534 (x1,
2167 : E_V2DImode) != 0)
2168 : return -1;
2169 : return 47;
2170 :
2171 : default:
2172 : return -1;
2173 : }
2174 :
2175 : default:
2176 : return -1;
2177 : }
2178 : }
2179 :
2180 : int
2181 1106 : pattern549 (rtx x1)
2182 : {
2183 1106 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2184 1106 : rtx x2, x3, x4, x5, x6, x7;
2185 1106 : int res ATTRIBUTE_UNUSED;
2186 1106 : x2 = XVECEXP (x1, 0, 0);
2187 1106 : x3 = XEXP (x2, 0);
2188 1106 : operands[0] = x3;
2189 1106 : x4 = XEXP (x2, 1);
2190 1106 : x5 = XVECEXP (x4, 0, 0);
2191 1106 : operands[1] = x5;
2192 1106 : x6 = XVECEXP (x1, 0, 1);
2193 1106 : switch (GET_CODE (x6))
2194 : {
2195 1104 : case CLOBBER:
2196 1104 : x7 = XEXP (x6, 0);
2197 1104 : if (GET_CODE (x7) != REG
2198 1104 : || REGNO (x7) != 17
2199 2208 : || GET_MODE (x7) != E_CCmode)
2200 : return -1;
2201 1104 : switch (GET_MODE (operands[0]))
2202 : {
2203 387 : case E_SImode:
2204 387 : if (!register_operand (operands[0], E_SImode)
2205 387 : || GET_MODE (x4) != E_SImode
2206 774 : || !nonimmediate_operand (operands[1], E_SImode))
2207 2 : return -1;
2208 : return 0;
2209 :
2210 382 : case E_DImode:
2211 382 : if (!register_operand (operands[0], E_DImode)
2212 382 : || GET_MODE (x4) != E_DImode
2213 764 : || !nonimmediate_operand (operands[1], E_DImode))
2214 2 : return -1;
2215 : return 1;
2216 :
2217 335 : case E_HImode:
2218 335 : if (!register_operand (operands[0], E_HImode)
2219 335 : || GET_MODE (x4) != E_HImode
2220 670 : || !nonimmediate_operand (operands[1], E_HImode))
2221 3 : return -1;
2222 : return 2;
2223 :
2224 : default:
2225 : return -1;
2226 : }
2227 :
2228 0 : case UNSPEC:
2229 0 : if (XVECLEN (x6, 0) != 1
2230 0 : || XINT (x6, 1) != 39)
2231 : return -1;
2232 0 : res = pattern548 (x1);
2233 0 : if (res >= 0)
2234 0 : return res + 3; /* [3, 4] */
2235 : return -1;
2236 :
2237 : default:
2238 : return -1;
2239 : }
2240 : }
2241 :
2242 : int
2243 2367687 : pattern567 (rtx x1, machine_mode i1)
2244 : {
2245 2367687 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2246 2367687 : int res ATTRIBUTE_UNUSED;
2247 2367687 : if (!nonimmediate_operand (operands[0], i1)
2248 2367048 : || GET_MODE (x1) != i1
2249 2367048 : || !nonimmediate_operand (operands[1], i1)
2250 4667228 : || !general_operand (operands[2], i1))
2251 70200 : return -1;
2252 : return 0;
2253 : }
2254 :
2255 : int
2256 16626 : pattern570 (rtx x1, machine_mode i1)
2257 : {
2258 16626 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2259 16626 : int res ATTRIBUTE_UNUSED;
2260 16626 : if (!register_operand (operands[0], i1)
2261 16597 : || GET_MODE (x1) != i1
2262 16597 : || !register_operand (operands[1], i1)
2263 32839 : || !register_operand (operands[2], i1))
2264 5417 : return -1;
2265 : return 0;
2266 : }
2267 :
2268 : int
2269 4427 : pattern575 (rtx x1)
2270 : {
2271 4427 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2272 4427 : rtx x2, x3;
2273 4427 : int res ATTRIBUTE_UNUSED;
2274 4427 : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
2275 : return -1;
2276 3679 : x2 = XEXP (x1, 0);
2277 3679 : if (GET_CODE (x2) != REG
2278 3679 : || REGNO (x2) != 17)
2279 : return -1;
2280 2620 : x3 = XEXP (x1, 1);
2281 2620 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2282 0 : return -1;
2283 : return 0;
2284 : }
2285 :
2286 : int
2287 212308 : pattern580 (rtx x1)
2288 : {
2289 212308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2290 212308 : rtx x2, x3, x4, x5;
2291 212308 : int res ATTRIBUTE_UNUSED;
2292 212308 : x2 = XEXP (x1, 0);
2293 212308 : x3 = XEXP (x2, 0);
2294 212308 : x4 = XEXP (x3, 0);
2295 212308 : operands[1] = x4;
2296 212308 : x5 = XEXP (x3, 1);
2297 212308 : operands[2] = x5;
2298 212308 : if (!const123_operand (operands[2], E_VOIDmode))
2299 : return -1;
2300 179556 : return pattern433 (x1); /* [-1, 1] */
2301 : }
2302 :
2303 : int
2304 9081 : pattern585 (rtx x1)
2305 : {
2306 9081 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2307 9081 : rtx x2, x3, x4, x5, x6, x7, x8;
2308 9081 : int res ATTRIBUTE_UNUSED;
2309 9081 : x2 = XEXP (x1, 1);
2310 9081 : if (GET_MODE (x2) != E_DImode)
2311 : return -1;
2312 4632 : x3 = XEXP (x2, 0);
2313 4632 : if (GET_CODE (x3) != XOR
2314 6 : || GET_MODE (x3) != E_SImode)
2315 : return -1;
2316 6 : x4 = XEXP (x3, 0);
2317 6 : if (GET_CODE (x4) != MINUS
2318 6 : || GET_MODE (x4) != E_SImode)
2319 : return -1;
2320 6 : x5 = XEXP (x4, 0);
2321 6 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
2322 : return -1;
2323 6 : x6 = XEXP (x4, 1);
2324 6 : if (GET_CODE (x6) != CLZ
2325 6 : || GET_MODE (x6) != E_SImode)
2326 : return -1;
2327 6 : x7 = XEXP (x3, 1);
2328 6 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
2329 6 : || !register_operand (operands[0], E_DImode)
2330 6 : || GET_MODE (x1) != E_DImode
2331 12 : || !const_int_operand (operands[2], E_DImode))
2332 2 : return -1;
2333 4 : x8 = XEXP (x6, 0);
2334 4 : operands[1] = x8;
2335 4 : if (!nonimmediate_operand (operands[1], E_SImode))
2336 : return -1;
2337 : return 0;
2338 : }
2339 :
2340 : int
2341 66 : pattern594 (rtx x1)
2342 : {
2343 66 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2344 66 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2345 66 : rtx x10;
2346 66 : int res ATTRIBUTE_UNUSED;
2347 66 : x2 = XVECEXP (x1, 0, 0);
2348 66 : x3 = XEXP (x2, 1);
2349 66 : x4 = XEXP (x3, 0);
2350 66 : operands[2] = x4;
2351 66 : x5 = XEXP (x3, 1);
2352 66 : operands[3] = x5;
2353 66 : x6 = XVECEXP (x1, 0, 1);
2354 66 : x7 = XEXP (x6, 0);
2355 66 : operands[1] = x7;
2356 66 : x8 = XEXP (x6, 1);
2357 66 : x9 = XEXP (x8, 0);
2358 66 : if (!rtx_equal_p (x9, operands[2]))
2359 : return -1;
2360 66 : x10 = XEXP (x8, 1);
2361 66 : if (!rtx_equal_p (x10, operands[3]))
2362 : return -1;
2363 66 : switch (GET_MODE (operands[0]))
2364 : {
2365 28 : case E_SImode:
2366 28 : return pattern391 (x1,
2367 28 : E_SImode); /* [-1, 0] */
2368 :
2369 38 : case E_DImode:
2370 38 : if (pattern391 (x1,
2371 : E_DImode) != 0)
2372 : return -1;
2373 : return 1;
2374 :
2375 : default:
2376 : return -1;
2377 : }
2378 : }
2379 :
2380 : int
2381 205 : pattern603 (rtx x1)
2382 : {
2383 205 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2384 205 : rtx x2, x3;
2385 205 : int res ATTRIBUTE_UNUSED;
2386 205 : x2 = XVECEXP (x1, 0, 1);
2387 205 : if (GET_CODE (x2) != SUBREG
2388 205 : || maybe_ne (SUBREG_BYTE (x2), 0))
2389 : return -1;
2390 14 : x3 = XVECEXP (x1, 0, 0);
2391 14 : operands[1] = x3;
2392 14 : return pattern602 (x1); /* [-1, 2] */
2393 : }
2394 :
2395 : int
2396 288282 : pattern607 (rtx x1)
2397 : {
2398 288282 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2399 288282 : rtx x2, x3, x4, x5;
2400 288282 : int res ATTRIBUTE_UNUSED;
2401 288282 : if (GET_CODE (x1) != SET)
2402 : return -1;
2403 281821 : x2 = XEXP (x1, 1);
2404 281821 : if (!commutative_operator (x2, E_VOIDmode))
2405 : return -1;
2406 89495 : operands[3] = x2;
2407 89495 : x3 = XEXP (x2, 1);
2408 89495 : operands[2] = x3;
2409 89495 : if (!memory_operand (operands[2], E_VOIDmode))
2410 : return -1;
2411 18022 : x4 = XEXP (x2, 0);
2412 18022 : if (!rtx_equal_p (x4, operands[0]))
2413 : return -1;
2414 14722 : x5 = XEXP (x1, 0);
2415 14722 : if (!rtx_equal_p (x5, operands[0]))
2416 : return -1;
2417 : return 0;
2418 : }
2419 :
2420 : int
2421 118 : pattern612 (rtx x1, machine_mode i1)
2422 : {
2423 118 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2424 118 : rtx x2, x3, x4, x5;
2425 118 : int res ATTRIBUTE_UNUSED;
2426 118 : x2 = XVECEXP (x1, 0, 0);
2427 118 : x3 = XEXP (x2, 0);
2428 118 : if (GET_MODE (x3) != i1
2429 118 : || !vector_operand (operands[0], i1)
2430 106 : || !const0_operand (operands[1], i1)
2431 130 : || !const0_operand (operands[2], i1))
2432 106 : return -1;
2433 12 : x4 = XVECEXP (x1, 0, 1);
2434 12 : if (GET_MODE (x4) != i1)
2435 : return -1;
2436 12 : x5 = XEXP (x4, 0);
2437 12 : if (GET_MODE (x5) != i1)
2438 : return -1;
2439 : return 0;
2440 : }
2441 :
2442 : int
2443 314702 : pattern617 (rtx x1)
2444 : {
2445 314702 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2446 314702 : rtx x2;
2447 314702 : int res ATTRIBUTE_UNUSED;
2448 314702 : x2 = XEXP (x1, 1);
2449 314702 : switch (GET_CODE (x2))
2450 : {
2451 14653 : case CONST_INT:
2452 14653 : case CONST_WIDE_INT:
2453 14653 : operands[3] = x2;
2454 14653 : switch (GET_MODE (operands[0]))
2455 : {
2456 459 : case E_QImode:
2457 459 : return pattern614 (x1,
2458 459 : E_QImode); /* [-1, 0] */
2459 :
2460 1996 : case E_HImode:
2461 1996 : if (pattern614 (x1,
2462 : E_HImode) != 0)
2463 : return -1;
2464 : return 1;
2465 :
2466 1 : case E_TImode:
2467 1 : if (pattern615 (x1,
2468 : E_TImode) != 0)
2469 : return -1;
2470 : return 2;
2471 :
2472 : default:
2473 : return -1;
2474 : }
2475 :
2476 31445 : case ZERO_EXTEND:
2477 31445 : if (pattern616 (x1,
2478 : E_DImode,
2479 : E_TImode) != 0)
2480 : return -1;
2481 : return 3;
2482 :
2483 : default:
2484 : return -1;
2485 : }
2486 : }
2487 :
2488 : int
2489 47 : pattern628 (rtx x1, machine_mode i1, machine_mode i2)
2490 : {
2491 47 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2492 47 : rtx x2;
2493 47 : int res ATTRIBUTE_UNUSED;
2494 47 : if (!register_operand (operands[0], i1)
2495 47 : || GET_MODE (x1) != i1)
2496 : return -1;
2497 47 : x2 = XEXP (x1, 0);
2498 47 : if (GET_MODE (x2) != i2
2499 47 : || !nonimmediate_operand (operands[1], i2))
2500 28 : return -1;
2501 : return 0;
2502 : }
2503 :
2504 : int
2505 1053704 : pattern633 (rtx x1)
2506 : {
2507 1053704 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2508 1053704 : rtx x2, x3;
2509 1053704 : int res ATTRIBUTE_UNUSED;
2510 1053704 : x2 = XEXP (x1, 1);
2511 1053704 : if (GET_CODE (x2) != SUBREG
2512 294864 : || maybe_ne (SUBREG_BYTE (x2), 0)
2513 1348568 : || GET_MODE (x2) != E_QImode)
2514 : return -1;
2515 292877 : x3 = XEXP (x2, 0);
2516 292877 : if (GET_CODE (x3) != AND
2517 292877 : || pattern291 (x1,
2518 : E_DImode) != 0)
2519 291679 : return -1;
2520 : return 0;
2521 : }
2522 :
2523 : int
2524 3446 : pattern640 (rtx x1)
2525 : {
2526 3446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2527 3446 : rtx x2, x3, x4;
2528 3446 : int res ATTRIBUTE_UNUSED;
2529 3446 : x2 = XEXP (x1, 0);
2530 3446 : x3 = XVECEXP (x2, 0, 0);
2531 3446 : operands[1] = x3;
2532 3446 : x4 = XEXP (x1, 2);
2533 3446 : switch (GET_CODE (x4))
2534 : {
2535 2878 : case REG:
2536 2878 : case SUBREG:
2537 2878 : operands[3] = x4;
2538 2878 : switch (GET_MODE (operands[0]))
2539 : {
2540 482 : case E_V16SFmode:
2541 482 : return pattern638 (x1,
2542 : E_V16SFmode,
2543 482 : E_HImode); /* [-1, 0] */
2544 :
2545 480 : case E_V8SFmode:
2546 480 : if (pattern638 (x1,
2547 : E_V8SFmode,
2548 : E_QImode) != 0)
2549 : return -1;
2550 : return 1;
2551 :
2552 473 : case E_V4SFmode:
2553 473 : if (pattern638 (x1,
2554 : E_V4SFmode,
2555 : E_QImode) != 0)
2556 : return -1;
2557 : return 2;
2558 :
2559 486 : case E_V8DFmode:
2560 486 : if (pattern638 (x1,
2561 : E_V8DFmode,
2562 : E_QImode) != 0)
2563 : return -1;
2564 : return 3;
2565 :
2566 480 : case E_V4DFmode:
2567 480 : if (pattern638 (x1,
2568 : E_V4DFmode,
2569 : E_QImode) != 0)
2570 : return -1;
2571 : return 4;
2572 :
2573 477 : case E_V2DFmode:
2574 477 : if (pattern638 (x1,
2575 : E_V2DFmode,
2576 : E_QImode) != 0)
2577 : return -1;
2578 : return 5;
2579 :
2580 : default:
2581 : return -1;
2582 : }
2583 :
2584 528 : case CONST_INT:
2585 528 : if (XWINT (x4, 0) != 1L)
2586 : return -1;
2587 382 : switch (GET_MODE (operands[0]))
2588 : {
2589 186 : case E_V4SFmode:
2590 186 : if (pattern639 (x1,
2591 : E_V4SFmode) != 0)
2592 : return -1;
2593 : return 6;
2594 :
2595 196 : case E_V2DFmode:
2596 196 : if (pattern639 (x1,
2597 : E_V2DFmode) != 0)
2598 : return -1;
2599 : return 7;
2600 :
2601 : default:
2602 : return -1;
2603 : }
2604 :
2605 : default:
2606 : return -1;
2607 : }
2608 : }
2609 :
2610 : int
2611 374 : pattern656 (rtx x1)
2612 : {
2613 374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2614 374 : int res ATTRIBUTE_UNUSED;
2615 374 : if (!register_operand (operands[0], E_V2DImode)
2616 374 : || GET_MODE (x1) != E_V2DImode)
2617 : return -1;
2618 344 : switch (GET_MODE (operands[1]))
2619 : {
2620 110 : case E_V8HFmode:
2621 110 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
2622 : return -1;
2623 : return 0;
2624 :
2625 116 : case E_V2DFmode:
2626 116 : if (!vector_operand (operands[1], E_V2DFmode))
2627 : return -1;
2628 : return 1;
2629 :
2630 118 : case E_V4SFmode:
2631 118 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
2632 : return -1;
2633 : return 2;
2634 :
2635 : default:
2636 : return -1;
2637 : }
2638 : }
2639 :
2640 : int
2641 0 : pattern664 (rtx x1)
2642 : {
2643 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2644 0 : rtx x2, x3, x4, x5, x6, x7;
2645 0 : int res ATTRIBUTE_UNUSED;
2646 0 : x2 = XVECEXP (x1, 0, 0);
2647 0 : x3 = XEXP (x2, 0);
2648 0 : x4 = XEXP (x3, 0);
2649 0 : operands[1] = x4;
2650 0 : x5 = XEXP (x2, 1);
2651 0 : operands[2] = x5;
2652 0 : x6 = XEXP (x2, 2);
2653 0 : operands[3] = x6;
2654 0 : x7 = XVECEXP (x1, 0, 1);
2655 0 : operands[4] = x7;
2656 0 : if (!const48_operand (operands[4], E_SImode))
2657 : return -1;
2658 0 : switch (GET_MODE (operands[0]))
2659 : {
2660 0 : case E_V8HImode:
2661 0 : return pattern663 (x1,
2662 : E_QImode,
2663 : E_V8HImode,
2664 0 : E_V8HFmode); /* [-1, 0] */
2665 :
2666 0 : case E_V16HImode:
2667 0 : if (pattern663 (x1,
2668 : E_HImode,
2669 : E_V16HImode,
2670 : E_V16HFmode) != 0)
2671 : return -1;
2672 : return 1;
2673 :
2674 0 : case E_V32HImode:
2675 0 : if (pattern663 (x1,
2676 : E_SImode,
2677 : E_V32HImode,
2678 : E_V32HFmode) != 0)
2679 : return -1;
2680 : return 2;
2681 :
2682 0 : case E_V8SImode:
2683 0 : if (!register_operand (operands[0], E_V8SImode)
2684 0 : || GET_MODE (x1) != E_V8SImode
2685 0 : || GET_MODE (x2) != E_V8SImode
2686 0 : || GET_MODE (x3) != E_V8SImode
2687 0 : || !nonimm_or_0_operand (operands[2], E_V8SImode)
2688 0 : || !register_operand (operands[3], E_QImode))
2689 0 : return -1;
2690 0 : switch (GET_MODE (operands[1]))
2691 : {
2692 0 : case E_V8HFmode:
2693 0 : if (!register_operand (operands[1], E_V8HFmode))
2694 : return -1;
2695 : return 3;
2696 :
2697 0 : case E_V8DFmode:
2698 0 : if (!register_operand (operands[1], E_V8DFmode))
2699 : return -1;
2700 : return 4;
2701 :
2702 : default:
2703 : return -1;
2704 : }
2705 :
2706 0 : case E_V16SImode:
2707 0 : if (!register_operand (operands[0], E_V16SImode)
2708 0 : || GET_MODE (x1) != E_V16SImode
2709 0 : || GET_MODE (x2) != E_V16SImode
2710 0 : || GET_MODE (x3) != E_V16SImode
2711 0 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
2712 0 : || !register_operand (operands[3], E_HImode))
2713 0 : return -1;
2714 0 : switch (GET_MODE (operands[1]))
2715 : {
2716 0 : case E_V16HFmode:
2717 0 : if (!register_operand (operands[1], E_V16HFmode))
2718 : return -1;
2719 : return 5;
2720 :
2721 0 : case E_V16SFmode:
2722 0 : if (!register_operand (operands[1], E_V16SFmode))
2723 : return -1;
2724 : return 6;
2725 :
2726 : default:
2727 : return -1;
2728 : }
2729 :
2730 0 : case E_V8DImode:
2731 0 : if (!register_operand (operands[0], E_V8DImode)
2732 0 : || GET_MODE (x1) != E_V8DImode
2733 0 : || GET_MODE (x2) != E_V8DImode
2734 0 : || GET_MODE (x3) != E_V8DImode
2735 0 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
2736 0 : || !register_operand (operands[3], E_QImode))
2737 0 : return -1;
2738 0 : switch (GET_MODE (operands[1]))
2739 : {
2740 0 : case E_V8HFmode:
2741 0 : if (!register_operand (operands[1], E_V8HFmode))
2742 : return -1;
2743 : return 7;
2744 :
2745 0 : case E_V8DFmode:
2746 0 : if (!register_operand (operands[1], E_V8DFmode))
2747 : return -1;
2748 : return 8;
2749 :
2750 0 : case E_V8SFmode:
2751 0 : if (!register_operand (operands[1], E_V8SFmode))
2752 : return -1;
2753 : return 9;
2754 :
2755 : default:
2756 : return -1;
2757 : }
2758 :
2759 : default:
2760 : return -1;
2761 : }
2762 : }
2763 :
2764 : int
2765 199907 : pattern696 (rtx x1, rtx_code i1)
2766 : {
2767 199907 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2768 199907 : rtx x2, x3, x4, x5;
2769 199907 : int res ATTRIBUTE_UNUSED;
2770 199907 : x2 = XVECEXP (x1, 0, 0);
2771 199907 : x3 = XEXP (x2, 1);
2772 199907 : x4 = XEXP (x3, 1);
2773 199907 : if (GET_CODE (x4) != SIGN_EXTEND)
2774 : return -1;
2775 197667 : x5 = XEXP (x4, 0);
2776 197667 : if (GET_CODE (x5) != i1
2777 197667 : || pattern695 (x1,
2778 : i1) != 0)
2779 9239 : return -1;
2780 : return 0;
2781 : }
2782 :
2783 : int
2784 9326 : pattern700 (rtx x1, machine_mode i1)
2785 : {
2786 9326 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2787 9326 : rtx x2;
2788 9326 : int res ATTRIBUTE_UNUSED;
2789 9326 : if (!nonimmediate_operand (operands[0], i1)
2790 9326 : || GET_MODE (x1) != i1
2791 18652 : || !x86_64_general_operand (operands[1], i1))
2792 2 : return -1;
2793 9324 : x2 = XEXP (x1, 1);
2794 9324 : if (GET_MODE (x2) != i1)
2795 : return -1;
2796 : return 0;
2797 : }
2798 :
2799 : int
2800 225 : pattern704 (rtx x1)
2801 : {
2802 225 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2803 225 : rtx x2, x3, x4;
2804 225 : int res ATTRIBUTE_UNUSED;
2805 225 : if (GET_MODE (x1) != E_SImode)
2806 : return -1;
2807 219 : x2 = XEXP (x1, 0);
2808 219 : if (GET_CODE (x2) != ASHIFT
2809 73 : || GET_MODE (x2) != E_SImode)
2810 : return -1;
2811 73 : x3 = XEXP (x2, 0);
2812 73 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2813 : return -1;
2814 27 : x4 = XEXP (x1, 1);
2815 27 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
2816 0 : return -1;
2817 : return 0;
2818 : }
2819 :
2820 : int
2821 7562 : pattern710 (rtx x1)
2822 : {
2823 7562 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2824 7562 : rtx x2, x3, x4, x5;
2825 7562 : int res ATTRIBUTE_UNUSED;
2826 7562 : x2 = XVECEXP (x1, 0, 1);
2827 7562 : x3 = XEXP (x2, 0);
2828 7562 : if (GET_CODE (x3) != REG
2829 7562 : || REGNO (x3) != 17
2830 15124 : || GET_MODE (x3) != E_CCmode)
2831 : return -1;
2832 7562 : x4 = XVECEXP (x1, 0, 0);
2833 7562 : x5 = XEXP (x4, 1);
2834 7562 : return pattern408 (x5); /* [-1, 1] */
2835 : }
2836 :
2837 : int
2838 264 : pattern718 (rtx x1)
2839 : {
2840 264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2841 264 : rtx x2, x3, x4, x5, x6, x7, x8;
2842 264 : int res ATTRIBUTE_UNUSED;
2843 264 : x2 = XVECEXP (x1, 0, 0);
2844 264 : x3 = XEXP (x2, 0);
2845 264 : if (GET_CODE (x3) != REG
2846 264 : || REGNO (x3) != 17
2847 528 : || GET_MODE (x3) != E_CCmode)
2848 : return -1;
2849 264 : x4 = XVECEXP (x1, 0, 1);
2850 264 : if (GET_CODE (x4) != CLOBBER)
2851 : return -1;
2852 264 : x5 = XVECEXP (x1, 0, 2);
2853 264 : if (GET_CODE (x5) != CLOBBER)
2854 : return -1;
2855 264 : x6 = XEXP (x2, 1);
2856 264 : x7 = XVECEXP (x6, 0, 0);
2857 264 : operands[2] = x7;
2858 264 : if (!register_operand (operands[2], E_V16QImode))
2859 : return -1;
2860 264 : x8 = XVECEXP (x6, 0, 1);
2861 264 : operands[3] = x8;
2862 264 : return 0;
2863 : }
2864 :
2865 : int
2866 6984 : pattern722 (rtx x1, machine_mode i1, machine_mode i2)
2867 : {
2868 6984 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2869 6984 : rtx x2, x3;
2870 6984 : int res ATTRIBUTE_UNUSED;
2871 6984 : if (!nonimmediate_operand (operands[0], i1)
2872 6984 : || GET_MODE (x1) != i1)
2873 : return -1;
2874 6968 : x2 = XEXP (x1, 0);
2875 6968 : if (GET_MODE (x2) != i1)
2876 : return -1;
2877 6968 : x3 = XEXP (x2, 0);
2878 6968 : if (GET_MODE (x3) != i1
2879 6968 : || !nonimmediate_operand (operands[1], i2)
2880 9911 : || !const_scalar_int_operand (operands[3], i1))
2881 4025 : return -1;
2882 : return 0;
2883 : }
2884 :
2885 : int
2886 1687 : pattern732 (rtx x1, rtx_code i1)
2887 : {
2888 1687 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2889 1687 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2890 1687 : rtx x10;
2891 1687 : int res ATTRIBUTE_UNUSED;
2892 1687 : x2 = XEXP (x1, 0);
2893 1687 : x3 = XEXP (x2, 1);
2894 1687 : if (GET_CODE (x3) != i1)
2895 : return -1;
2896 476 : x4 = XEXP (x1, 1);
2897 476 : if (XVECLEN (x4, 0) < 1)
2898 : return -1;
2899 476 : operands[5] = x4;
2900 476 : if (!addsub_vs_parallel (operands[5], E_VOIDmode))
2901 : return -1;
2902 8 : operands[7] = x1;
2903 8 : x5 = XEXP (x2, 0);
2904 8 : x6 = XEXP (x5, 0);
2905 8 : operands[1] = x6;
2906 8 : x7 = XEXP (x5, 1);
2907 8 : operands[2] = x7;
2908 8 : x8 = XEXP (x3, 0);
2909 8 : operands[3] = x8;
2910 8 : x9 = XEXP (x3, 1);
2911 8 : operands[4] = x9;
2912 8 : x10 = XVECEXP (x4, 0, 0);
2913 8 : operands[6] = x10;
2914 8 : if (!const_int_operand (operands[6], E_VOIDmode))
2915 : return -1;
2916 8 : switch (GET_MODE (operands[0]))
2917 : {
2918 : case E_V8SFmode:
2919 : return 0;
2920 :
2921 0 : case E_V4SFmode:
2922 0 : return 1;
2923 :
2924 0 : case E_V4DFmode:
2925 0 : return 2;
2926 :
2927 0 : case E_V2DFmode:
2928 0 : return 3;
2929 :
2930 : default:
2931 : return -1;
2932 : }
2933 : }
2934 :
2935 : int
2936 270 : pattern742 (rtx x1, machine_mode i1)
2937 : {
2938 270 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2939 270 : rtx x2, x3;
2940 270 : int res ATTRIBUTE_UNUSED;
2941 270 : if (!register_operand (operands[0], i1)
2942 270 : || GET_MODE (x1) != i1
2943 270 : || !register_operand (operands[1], i1)
2944 432 : || !register_operand (operands[2], i1))
2945 180 : return -1;
2946 90 : x2 = XVECEXP (x1, 0, 2);
2947 90 : if (GET_MODE (x2) != i1)
2948 : return -1;
2949 90 : x3 = XEXP (x2, 0);
2950 90 : if (GET_MODE (x3) != i1
2951 90 : || !register_operand (operands[3], i1)
2952 72 : || !nonmemory_operand (operands[4], i1)
2953 162 : || !const0_operand (operands[5], i1))
2954 54 : return -1;
2955 : return 0;
2956 : }
2957 :
2958 : int
2959 16060 : pattern751 (machine_mode i1)
2960 : {
2961 16060 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2962 16060 : int res ATTRIBUTE_UNUSED;
2963 16060 : if (!register_operand (operands[0], i1)
2964 15937 : || !ix86_comparison_uns_operator (operands[1], i1)
2965 15804 : || !register_operand (operands[2], i1)
2966 26557 : || !register_operand (operands[3], i1))
2967 15988 : return -1;
2968 : return 0;
2969 : }
2970 :
2971 : int
2972 6362 : pattern755 (rtx x1, rtx_code i1)
2973 : {
2974 6362 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2975 6362 : rtx x2, x3, x4, x5, x6, x7;
2976 6362 : int res ATTRIBUTE_UNUSED;
2977 6362 : x2 = XEXP (x1, 0);
2978 6362 : x3 = XEXP (x2, 0);
2979 6362 : x4 = XEXP (x3, 1);
2980 6362 : if (GET_CODE (x4) != i1)
2981 : return -1;
2982 5970 : x5 = XEXP (x3, 0);
2983 5970 : x6 = XEXP (x5, 0);
2984 5970 : operands[1] = x6;
2985 5970 : x7 = XEXP (x4, 0);
2986 5970 : operands[2] = x7;
2987 5970 : switch (GET_MODE (operands[0]))
2988 : {
2989 584 : case E_V4HImode:
2990 584 : if (!register_operand (operands[0], E_V4HImode)
2991 574 : || GET_MODE (x1) != E_V4HImode
2992 574 : || GET_MODE (x2) != E_V4SImode
2993 574 : || GET_MODE (x3) != E_V4SImode
2994 574 : || GET_MODE (x5) != E_V4SImode
2995 574 : || !register_mmxmem_operand (operands[1], E_V4HImode)
2996 455 : || GET_MODE (x4) != E_V4SImode
2997 1039 : || !register_mmxmem_operand (operands[2], E_V4HImode))
2998 147 : return -1;
2999 : return 0;
3000 :
3001 40 : case E_V2HImode:
3002 40 : if (!register_operand (operands[0], E_V2HImode)
3003 30 : || GET_MODE (x1) != E_V2HImode
3004 30 : || GET_MODE (x2) != E_V2SImode
3005 30 : || GET_MODE (x3) != E_V2SImode
3006 30 : || GET_MODE (x5) != E_V2SImode
3007 30 : || !register_operand (operands[1], E_V2HImode)
3008 20 : || GET_MODE (x4) != E_V2SImode
3009 60 : || !register_operand (operands[2], E_V2HImode))
3010 30 : return -1;
3011 : return 1;
3012 :
3013 : default:
3014 : return -1;
3015 : }
3016 : }
3017 :
3018 : int
3019 51 : pattern776 (rtx x1, machine_mode i1, machine_mode i2)
3020 : {
3021 51 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3022 51 : rtx x2, x3, x4;
3023 51 : int res ATTRIBUTE_UNUSED;
3024 51 : if (!register_operand (operands[0], i2)
3025 51 : || GET_MODE (x1) != i2)
3026 : return -1;
3027 46 : x2 = XEXP (x1, 0);
3028 46 : if (GET_MODE (x2) != i2)
3029 : return -1;
3030 46 : x3 = XEXP (x2, 0);
3031 46 : if (GET_MODE (x3) != i1)
3032 : return -1;
3033 46 : x4 = XVECEXP (x3, 0, 0);
3034 46 : if (GET_MODE (x4) != i1
3035 46 : || !register_operand (operands[1], i2)
3036 88 : || !nonimmediate_operand (operands[2], i1))
3037 28 : return -1;
3038 : return 0;
3039 : }
3040 :
3041 : int
3042 3994 : pattern783 (rtx x1)
3043 : {
3044 3994 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3045 3994 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3046 3994 : rtx x10;
3047 3994 : int res ATTRIBUTE_UNUSED;
3048 3994 : x2 = XVECEXP (x1, 0, 0);
3049 3994 : x3 = XEXP (x2, 2);
3050 3994 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3051 : return -1;
3052 3994 : x4 = XEXP (x2, 0);
3053 3994 : x5 = XEXP (x4, 0);
3054 3994 : x6 = XEXP (x5, 0);
3055 3994 : operands[1] = x6;
3056 3994 : x7 = XEXP (x5, 1);
3057 3994 : operands[2] = x7;
3058 3994 : x8 = XEXP (x4, 1);
3059 3994 : operands[3] = x8;
3060 3994 : x9 = XEXP (x4, 2);
3061 3994 : operands[4] = x9;
3062 3994 : if (!register_operand (operands[4], E_QImode))
3063 : return -1;
3064 3958 : x10 = XVECEXP (x1, 0, 1);
3065 3958 : operands[5] = x10;
3066 3958 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
3067 : return -1;
3068 3958 : return pattern782 (x1); /* [-1, 2] */
3069 : }
3070 :
3071 : int
3072 204 : pattern796 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3073 : {
3074 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3075 204 : rtx x2, x3;
3076 204 : int res ATTRIBUTE_UNUSED;
3077 204 : if (!register_operand (operands[0], i3)
3078 204 : || GET_MODE (x1) != i3)
3079 : return -1;
3080 195 : x2 = XEXP (x1, 0);
3081 195 : if (GET_MODE (x2) != i2
3082 195 : || !nonimmediate_operand (operands[2], i1))
3083 0 : return -1;
3084 195 : x3 = XEXP (x1, 1);
3085 195 : if (GET_MODE (x3) != i2
3086 195 : || !register_operand (operands[1], i1))
3087 3 : return -1;
3088 : return 0;
3089 : }
3090 :
3091 : int
3092 192733 : pattern804 (machine_mode i1)
3093 : {
3094 192733 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3095 192733 : int res ATTRIBUTE_UNUSED;
3096 192733 : if (!register_operand (operands[0], i1)
3097 188720 : || !ix86_comparison_int_operator (operands[1], i1)
3098 188635 : || !register_operand (operands[2], i1)
3099 288163 : || !nonimmediate_operand (operands[3], i1))
3100 188428 : return -1;
3101 : return 0;
3102 : }
3103 :
3104 : int
3105 1245374 : pattern813 (rtx x1)
3106 : {
3107 1245374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3108 1245374 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3109 1245374 : int res ATTRIBUTE_UNUSED;
3110 1245374 : if (!pmovzx_parallel (operands[4], E_VOIDmode))
3111 : return -1;
3112 398119 : x2 = XEXP (x1, 0);
3113 398119 : x3 = XEXP (x2, 0);
3114 398119 : if (GET_CODE (x3) != SUBREG
3115 398119 : || maybe_ne (SUBREG_BYTE (x3), 0))
3116 : return -1;
3117 155126 : x4 = XEXP (x3, 0);
3118 155126 : if (GET_CODE (x4) != VEC_CONCAT)
3119 : return -1;
3120 3951 : x5 = XEXP (x4, 0);
3121 3951 : operands[1] = x5;
3122 3951 : x6 = XEXP (x4, 1);
3123 3951 : operands[2] = x6;
3124 3951 : x7 = XEXP (x2, 1);
3125 3951 : operands[3] = x7;
3126 3951 : x8 = XEXP (x1, 1);
3127 3951 : x9 = XVECEXP (x8, 0, 0);
3128 3951 : operands[5] = x9;
3129 3951 : if (!const_int_operand (operands[5], E_VOIDmode))
3130 : return -1;
3131 3951 : switch (GET_MODE (operands[0]))
3132 : {
3133 4 : case E_V32QImode:
3134 4 : if (!register_operand (operands[0], E_V32QImode)
3135 4 : || GET_MODE (x1) != E_V32QImode
3136 4 : || GET_MODE (x2) != E_V64QImode
3137 4 : || GET_MODE (x3) != E_V32QImode
3138 8 : || !const0_operand (operands[3], E_V32QImode))
3139 0 : return -1;
3140 4 : switch (GET_MODE (x4))
3141 : {
3142 0 : case E_V16HImode:
3143 0 : if (!nonimmediate_operand (operands[1], E_V8HImode)
3144 0 : || !const0_operand (operands[2], E_V8HImode))
3145 0 : return -1;
3146 : return 0;
3147 :
3148 4 : case E_V8SImode:
3149 4 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3150 4 : || !const0_operand (operands[2], E_V4SImode))
3151 0 : return -1;
3152 : return 1;
3153 :
3154 0 : case E_V4DImode:
3155 0 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3156 0 : || !const0_operand (operands[2], E_V2DImode))
3157 0 : return -1;
3158 : return 2;
3159 :
3160 : default:
3161 : return -1;
3162 : }
3163 :
3164 4 : case E_V64QImode:
3165 4 : if (!register_operand (operands[0], E_V64QImode)
3166 4 : || GET_MODE (x1) != E_V64QImode
3167 4 : || GET_MODE (x2) != E_V128QImode
3168 4 : || GET_MODE (x3) != E_V64QImode
3169 8 : || !const0_operand (operands[3], E_V64QImode))
3170 0 : return -1;
3171 4 : switch (GET_MODE (x4))
3172 : {
3173 0 : case E_V32HImode:
3174 0 : if (!nonimmediate_operand (operands[1], E_V16HImode)
3175 0 : || !const0_operand (operands[2], E_V16HImode))
3176 0 : return -1;
3177 : return 3;
3178 :
3179 4 : case E_V16SImode:
3180 4 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3181 4 : || !const0_operand (operands[2], E_V8SImode))
3182 0 : return -1;
3183 : return 4;
3184 :
3185 0 : case E_V8DImode:
3186 0 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3187 0 : || !const0_operand (operands[2], E_V4DImode))
3188 0 : return -1;
3189 : return 5;
3190 :
3191 : default:
3192 : return -1;
3193 : }
3194 :
3195 108 : case E_V16QImode:
3196 108 : if (!register_operand (operands[0], E_V16QImode)
3197 90 : || GET_MODE (x1) != E_V16QImode
3198 90 : || GET_MODE (x2) != E_V32QImode
3199 90 : || GET_MODE (x3) != E_V16QImode
3200 198 : || !const0_operand (operands[3], E_V16QImode))
3201 104 : return -1;
3202 4 : switch (GET_MODE (x4))
3203 : {
3204 0 : case E_V8HImode:
3205 0 : if (!vector_operand (operands[1], E_V4HImode)
3206 0 : || !const0_operand (operands[2], E_V4HImode))
3207 0 : return -1;
3208 : return 6;
3209 :
3210 4 : case E_V4SImode:
3211 4 : if (!vector_operand (operands[1], E_V2SImode)
3212 4 : || !const0_operand (operands[2], E_V2SImode))
3213 0 : return -1;
3214 : return 7;
3215 :
3216 0 : case E_V2DImode:
3217 0 : if (!vector_operand (operands[1], E_DImode)
3218 0 : || !const0_operand (operands[2], E_DImode))
3219 0 : return -1;
3220 : return 8;
3221 :
3222 : default:
3223 : return -1;
3224 : }
3225 :
3226 8 : case E_V32HImode:
3227 8 : if (!register_operand (operands[0], E_V32HImode)
3228 8 : || GET_MODE (x1) != E_V32HImode
3229 8 : || GET_MODE (x2) != E_V64HImode
3230 8 : || GET_MODE (x3) != E_V32HImode
3231 16 : || !const0_operand (operands[3], E_V32HImode))
3232 0 : return -1;
3233 8 : switch (GET_MODE (x4))
3234 : {
3235 0 : case E_V64QImode:
3236 0 : if (!nonimmediate_operand (operands[1], E_V32QImode)
3237 0 : || !const0_operand (operands[2], E_V32QImode))
3238 0 : return -1;
3239 : return 9;
3240 :
3241 8 : case E_V16SImode:
3242 8 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3243 8 : || !const0_operand (operands[2], E_V8SImode))
3244 0 : return -1;
3245 : return 10;
3246 :
3247 0 : case E_V8DImode:
3248 0 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3249 0 : || !const0_operand (operands[2], E_V4DImode))
3250 0 : return -1;
3251 : return 11;
3252 :
3253 : default:
3254 : return -1;
3255 : }
3256 :
3257 8 : case E_V16HImode:
3258 8 : if (!register_operand (operands[0], E_V16HImode)
3259 8 : || GET_MODE (x1) != E_V16HImode
3260 8 : || GET_MODE (x2) != E_V32HImode
3261 8 : || GET_MODE (x3) != E_V16HImode
3262 16 : || !const0_operand (operands[3], E_V16HImode))
3263 0 : return -1;
3264 8 : switch (GET_MODE (x4))
3265 : {
3266 0 : case E_V32QImode:
3267 0 : if (!nonimmediate_operand (operands[1], E_V16QImode)
3268 0 : || !const0_operand (operands[2], E_V16QImode))
3269 0 : return -1;
3270 : return 12;
3271 :
3272 8 : case E_V8SImode:
3273 8 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3274 8 : || !const0_operand (operands[2], E_V4SImode))
3275 0 : return -1;
3276 : return 13;
3277 :
3278 0 : case E_V4DImode:
3279 0 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3280 0 : || !const0_operand (operands[2], E_V2DImode))
3281 0 : return -1;
3282 : return 14;
3283 :
3284 : default:
3285 : return -1;
3286 : }
3287 :
3288 105 : case E_V8HImode:
3289 105 : if (!register_operand (operands[0], E_V8HImode)
3290 105 : || GET_MODE (x1) != E_V8HImode
3291 105 : || GET_MODE (x2) != E_V16HImode
3292 105 : || GET_MODE (x3) != E_V8HImode
3293 210 : || !const0_operand (operands[3], E_V8HImode))
3294 97 : return -1;
3295 8 : switch (GET_MODE (x4))
3296 : {
3297 0 : case E_V16QImode:
3298 0 : if (!vector_operand (operands[1], E_V8QImode)
3299 0 : || !const0_operand (operands[2], E_V8QImode))
3300 0 : return -1;
3301 : return 15;
3302 :
3303 8 : case E_V4SImode:
3304 8 : if (!vector_operand (operands[1], E_V2SImode)
3305 8 : || !const0_operand (operands[2], E_V2SImode))
3306 0 : return -1;
3307 : return 16;
3308 :
3309 0 : case E_V2DImode:
3310 0 : if (!vector_operand (operands[1], E_DImode)
3311 0 : || !const0_operand (operands[2], E_DImode))
3312 0 : return -1;
3313 : return 17;
3314 :
3315 : default:
3316 : return -1;
3317 : }
3318 :
3319 : default:
3320 : return -1;
3321 : }
3322 : }
3323 :
3324 : int
3325 1431 : pattern889 (rtx x1)
3326 : {
3327 1431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3328 1431 : rtx x2, x3, x4, x5, x6;
3329 1431 : int res ATTRIBUTE_UNUSED;
3330 1431 : x2 = XVECEXP (x1, 0, 0);
3331 1431 : x3 = XVECEXP (x2, 0, 0);
3332 1431 : if (GET_CODE (x3) != VEC_SELECT)
3333 : return -1;
3334 1014 : x4 = XEXP (x3, 1);
3335 1014 : if (GET_CODE (x4) != PARALLEL
3336 1014 : || XVECLEN (x4, 0) != 1)
3337 : return -1;
3338 1014 : x5 = XVECEXP (x4, 0, 0);
3339 1014 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3340 : return -1;
3341 1014 : x6 = XEXP (x3, 0);
3342 1014 : operands[1] = x6;
3343 1014 : if (!const48_operand (operands[2], E_SImode))
3344 : return -1;
3345 1014 : switch (GET_MODE (operands[0]))
3346 : {
3347 506 : case E_SImode:
3348 506 : return pattern888 (x1,
3349 506 : E_SImode); /* [-1, 1] */
3350 :
3351 508 : case E_DImode:
3352 508 : res = pattern888 (x1,
3353 : E_DImode);
3354 508 : if (res >= 0)
3355 482 : return res + 2; /* [2, 3] */
3356 : return -1;
3357 :
3358 : default:
3359 : return -1;
3360 : }
3361 : }
3362 :
3363 : int
3364 654 : pattern902 (rtx x1)
3365 : {
3366 654 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3367 654 : rtx x2;
3368 654 : int res ATTRIBUTE_UNUSED;
3369 654 : if (!register_operand (operands[0], E_V16HFmode)
3370 654 : || GET_MODE (x1) != E_V16HFmode)
3371 : return -1;
3372 612 : x2 = XEXP (x1, 0);
3373 612 : if (GET_MODE (x2) != E_V16HFmode
3374 612 : || !nonimm_or_0_operand (operands[2], E_V16HFmode)
3375 1224 : || !register_operand (operands[3], E_HImode))
3376 54 : return -1;
3377 558 : switch (GET_MODE (operands[1]))
3378 : {
3379 408 : case E_V16HImode:
3380 408 : if (!vector_operand (operands[1], E_V16HImode))
3381 : return -1;
3382 : return 0;
3383 :
3384 150 : case E_V16SImode:
3385 150 : if (!vector_operand (operands[1], E_V16SImode))
3386 : return -1;
3387 : return 1;
3388 :
3389 : default:
3390 : return -1;
3391 : }
3392 : }
3393 :
3394 : int
3395 305 : pattern912 (rtx x1, machine_mode i1)
3396 : {
3397 305 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3398 305 : rtx x2, x3;
3399 305 : int res ATTRIBUTE_UNUSED;
3400 305 : if (!register_operand (operands[0], i1)
3401 305 : || GET_MODE (x1) != i1)
3402 : return -1;
3403 257 : x2 = XVECEXP (x1, 0, 0);
3404 257 : if (GET_MODE (x2) != i1)
3405 : return -1;
3406 257 : x3 = XEXP (x2, 0);
3407 257 : if (GET_MODE (x3) != i1
3408 257 : || !register_operand (operands[1], i1)
3409 474 : || !nonimmediate_operand (operands[2], i1))
3410 40 : return -1;
3411 : return 0;
3412 : }
3413 :
3414 : int
3415 464 : pattern920 (rtx x1)
3416 : {
3417 464 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3418 464 : rtx x2, x3, x4, x5, x6;
3419 464 : int res ATTRIBUTE_UNUSED;
3420 464 : x2 = XEXP (x1, 0);
3421 464 : x3 = XEXP (x2, 0);
3422 464 : if (GET_MODE (x3) != E_V2SImode)
3423 : return -1;
3424 464 : x4 = XEXP (x1, 1);
3425 464 : if (GET_CODE (x4) != CONST_VECTOR
3426 464 : || XVECLEN (x4, 0) != 2
3427 464 : || GET_MODE (x4) != E_V2SImode)
3428 : return -1;
3429 464 : x5 = XVECEXP (x4, 0, 0);
3430 464 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3431 : return -1;
3432 464 : x6 = XVECEXP (x4, 0, 1);
3433 464 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
3434 464 : || !register_operand (operands[0], E_V4SImode)
3435 464 : || GET_MODE (x1) != E_V4SImode
3436 464 : || GET_MODE (x2) != E_V2SImode
3437 928 : || !nonimmediate_operand (operands[1], E_V2DFmode))
3438 32 : return -1;
3439 432 : return pattern504 (x2); /* [-1, 1] */
3440 : }
3441 :
3442 : int
3443 26354 : pattern928 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3444 : {
3445 26354 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3446 26354 : rtx x2;
3447 26354 : int res ATTRIBUTE_UNUSED;
3448 26354 : if (!register_operand (operands[0], i3)
3449 26354 : || GET_MODE (x1) != i3)
3450 : return -1;
3451 22182 : x2 = XEXP (x1, 0);
3452 22182 : if (GET_MODE (x2) != i2
3453 22182 : || !nonimmediate_operand (operands[1], i1))
3454 5585 : return -1;
3455 : return 0;
3456 : }
3457 :
3458 : int
3459 178496 : pattern931 (rtx x1)
3460 : {
3461 178496 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3462 178496 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3463 178496 : rtx x10, x11, x12, x13, x14, x15;
3464 178496 : int res ATTRIBUTE_UNUSED;
3465 178496 : x2 = XVECEXP (x1, 0, 2);
3466 178496 : if (GET_CODE (x2) != CONST_INT)
3467 : return -1;
3468 178496 : x3 = XVECEXP (x1, 0, 3);
3469 178496 : if (GET_CODE (x3) != CONST_INT)
3470 : return -1;
3471 178496 : x4 = XVECEXP (x1, 0, 4);
3472 178496 : if (GET_CODE (x4) != CONST_INT)
3473 : return -1;
3474 178496 : x5 = XVECEXP (x1, 0, 5);
3475 178496 : if (GET_CODE (x5) != CONST_INT)
3476 : return -1;
3477 178496 : x6 = XVECEXP (x1, 0, 6);
3478 178496 : if (GET_CODE (x6) != CONST_INT)
3479 : return -1;
3480 178496 : x7 = XVECEXP (x1, 0, 7);
3481 178496 : if (GET_CODE (x7) != CONST_INT)
3482 : return -1;
3483 178496 : x8 = XVECEXP (x1, 0, 8);
3484 178496 : if (GET_CODE (x8) != CONST_INT)
3485 : return -1;
3486 178496 : x9 = XVECEXP (x1, 0, 9);
3487 178496 : if (GET_CODE (x9) != CONST_INT)
3488 : return -1;
3489 178496 : x10 = XVECEXP (x1, 0, 10);
3490 178496 : if (GET_CODE (x10) != CONST_INT)
3491 : return -1;
3492 178496 : x11 = XVECEXP (x1, 0, 11);
3493 178496 : if (GET_CODE (x11) != CONST_INT)
3494 : return -1;
3495 178496 : x12 = XVECEXP (x1, 0, 12);
3496 178496 : if (GET_CODE (x12) != CONST_INT)
3497 : return -1;
3498 178496 : x13 = XVECEXP (x1, 0, 13);
3499 178496 : if (GET_CODE (x13) != CONST_INT)
3500 : return -1;
3501 178496 : x14 = XVECEXP (x1, 0, 14);
3502 178496 : if (GET_CODE (x14) != CONST_INT)
3503 : return -1;
3504 178496 : x15 = XVECEXP (x1, 0, 15);
3505 178496 : if (GET_CODE (x15) != CONST_INT)
3506 0 : return -1;
3507 : return 0;
3508 : }
3509 :
3510 : int
3511 7863 : pattern947 (rtx x1, machine_mode i1)
3512 : {
3513 7863 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3514 7863 : rtx x2;
3515 7863 : int res ATTRIBUTE_UNUSED;
3516 7863 : if (!register_operand (operands[0], i1)
3517 7863 : || GET_MODE (x1) != i1)
3518 : return -1;
3519 7811 : x2 = XEXP (x1, 0);
3520 7811 : if (GET_MODE (x2) != i1
3521 7811 : || !register_operand (operands[1], i1))
3522 3110 : return -1;
3523 : return 0;
3524 : }
3525 :
3526 : int
3527 809 : pattern956 (rtx x1, machine_mode i1)
3528 : {
3529 809 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3530 809 : rtx x2;
3531 809 : int res ATTRIBUTE_UNUSED;
3532 809 : if (!register_operand (operands[0], i1)
3533 809 : || GET_MODE (x1) != i1)
3534 : return -1;
3535 801 : x2 = XEXP (x1, 0);
3536 801 : if (GET_MODE (x2) != i1
3537 801 : || !register_operand (operands[1], i1)
3538 297 : || !const0_operand (operands[2], i1)
3539 881 : || !const1_operand (operands[3], i1))
3540 801 : return -1;
3541 : return 0;
3542 : }
3543 :
3544 : int
3545 4436643 : pattern964 (rtx x1, machine_mode i1)
3546 : {
3547 4436643 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3548 4436643 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3549 4436643 : int res ATTRIBUTE_UNUSED;
3550 4436643 : operands[1] = x1;
3551 4436643 : if (!general_reg_operand (operands[1], i1))
3552 : return -1;
3553 1063083 : x2 = PATTERN (peep2_next_insn (2));
3554 1063083 : if (GET_CODE (x2) != PARALLEL
3555 153754 : || XVECLEN (x2, 0) != 2)
3556 : return -1;
3557 142452 : x3 = XVECEXP (x2, 0, 0);
3558 142452 : if (GET_CODE (x3) != SET)
3559 : return -1;
3560 142286 : x4 = XEXP (x3, 0);
3561 142286 : if (GET_CODE (x4) != REG
3562 142286 : || REGNO (x4) != 17)
3563 : return -1;
3564 17904 : x5 = XVECEXP (x2, 0, 1);
3565 17904 : if (GET_CODE (x5) != SET)
3566 : return -1;
3567 17343 : x6 = XEXP (x3, 1);
3568 17343 : operands[5] = x6;
3569 17343 : x7 = XEXP (x5, 1);
3570 17343 : operands[6] = x7;
3571 17343 : x8 = XEXP (x5, 0);
3572 17343 : if (!rtx_equal_p (x8, operands[0]))
3573 : return -1;
3574 10700 : x9 = PATTERN (peep2_next_insn (3));
3575 10700 : return pattern963 (x9,
3576 10700 : i1); /* [-1, 0] */
3577 : }
3578 :
3579 : int
3580 7302 : pattern971 (rtx x1, machine_mode i1)
3581 : {
3582 7302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3583 7302 : int res ATTRIBUTE_UNUSED;
3584 7302 : if (!register_operand (operands[0], i1)
3585 7295 : || GET_MODE (x1) != i1
3586 7295 : || !register_operand (operands[1], i1)
3587 14566 : || !register_operand (operands[2], i1))
3588 51 : return -1;
3589 : return 0;
3590 : }
3591 :
3592 : int
3593 168 : pattern975 (rtx x1)
3594 : {
3595 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3596 168 : rtx x2;
3597 168 : int res ATTRIBUTE_UNUSED;
3598 168 : if (!register_operand (operands[0], E_QImode)
3599 168 : || GET_MODE (x1) != E_QImode)
3600 : return -1;
3601 168 : x2 = XEXP (x1, 0);
3602 168 : if (GET_MODE (x2) != E_QImode)
3603 : return -1;
3604 168 : switch (GET_MODE (operands[1]))
3605 : {
3606 3 : case E_V8SImode:
3607 3 : if (!register_operand (operands[1], E_V8SImode)
3608 3 : || !nonimmediate_operand (operands[2], E_V8SImode)
3609 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3610 0 : return -1;
3611 : return 0;
3612 :
3613 0 : case E_V4SImode:
3614 0 : if (!register_operand (operands[1], E_V4SImode)
3615 0 : || !nonimmediate_operand (operands[2], E_V4SImode)
3616 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3617 0 : return -1;
3618 : return 1;
3619 :
3620 29 : case E_V8DImode:
3621 29 : if (!register_operand (operands[1], E_V8DImode)
3622 29 : || !nonimmediate_operand (operands[2], E_V8DImode)
3623 58 : || !const_0_to_7_operand (operands[3], E_SImode))
3624 0 : return -1;
3625 : return 2;
3626 :
3627 0 : case E_V4DImode:
3628 0 : if (!register_operand (operands[1], E_V4DImode)
3629 0 : || !nonimmediate_operand (operands[2], E_V4DImode)
3630 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3631 0 : return -1;
3632 : return 3;
3633 :
3634 0 : case E_V2DImode:
3635 0 : if (!register_operand (operands[1], E_V2DImode)
3636 0 : || !nonimmediate_operand (operands[2], E_V2DImode)
3637 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3638 0 : return -1;
3639 : return 4;
3640 :
3641 0 : case E_V8HFmode:
3642 0 : if (!register_operand (operands[1], E_V8HFmode)
3643 0 : || !nonimmediate_operand (operands[2], E_V8HFmode)
3644 0 : || !const_0_to_31_operand (operands[3], E_SImode))
3645 0 : return -1;
3646 : return 5;
3647 :
3648 3 : case E_V8SFmode:
3649 3 : if (!register_operand (operands[1], E_V8SFmode)
3650 3 : || !nonimmediate_operand (operands[2], E_V8SFmode)
3651 6 : || !const_0_to_31_operand (operands[3], E_SImode))
3652 0 : return -1;
3653 : return 6;
3654 :
3655 21 : case E_V4SFmode:
3656 21 : if (!register_operand (operands[1], E_V4SFmode)
3657 18 : || !nonimmediate_operand (operands[2], E_V4SFmode)
3658 33 : || !const_0_to_31_operand (operands[3], E_SImode))
3659 9 : return -1;
3660 : return 7;
3661 :
3662 50 : case E_V8DFmode:
3663 50 : if (!register_operand (operands[1], E_V8DFmode)
3664 50 : || !nonimmediate_operand (operands[2], E_V8DFmode)
3665 100 : || !const_0_to_31_operand (operands[3], E_SImode))
3666 0 : return -1;
3667 : return 8;
3668 :
3669 25 : case E_V4DFmode:
3670 25 : if (!register_operand (operands[1], E_V4DFmode)
3671 25 : || !nonimmediate_operand (operands[2], E_V4DFmode)
3672 50 : || !const_0_to_31_operand (operands[3], E_SImode))
3673 0 : return -1;
3674 : return 9;
3675 :
3676 34 : case E_V2DFmode:
3677 34 : if (!register_operand (operands[1], E_V2DFmode)
3678 34 : || !nonimmediate_operand (operands[2], E_V2DFmode)
3679 68 : || !const_0_to_31_operand (operands[3], E_SImode))
3680 0 : return -1;
3681 : return 10;
3682 :
3683 3 : case E_V8HImode:
3684 3 : if (!register_operand (operands[1], E_V8HImode)
3685 3 : || !nonimmediate_operand (operands[2], E_V8HImode)
3686 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3687 0 : return -1;
3688 : return 11;
3689 :
3690 : default:
3691 : return -1;
3692 : }
3693 : }
3694 :
3695 : int
3696 622 : pattern998 (rtx x1)
3697 : {
3698 622 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3699 622 : rtx x2;
3700 622 : int res ATTRIBUTE_UNUSED;
3701 622 : if (!register_operand (operands[0], E_V8DImode)
3702 622 : || GET_MODE (x1) != E_V8DImode)
3703 : return -1;
3704 508 : x2 = XEXP (x1, 0);
3705 508 : if (GET_MODE (x2) != E_V8DImode
3706 508 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
3707 972 : || !register_operand (operands[3], E_QImode))
3708 108 : return -1;
3709 400 : switch (GET_MODE (operands[1]))
3710 : {
3711 146 : case E_V8HFmode:
3712 146 : if (!vector_operand (operands[1], E_V8HFmode))
3713 : return -1;
3714 : return 0;
3715 :
3716 126 : case E_V8DFmode:
3717 126 : if (!vector_operand (operands[1], E_V8DFmode))
3718 : return -1;
3719 : return 1;
3720 :
3721 128 : case E_V8SFmode:
3722 128 : if (!vector_operand (operands[1], E_V8SFmode))
3723 : return -1;
3724 : return 2;
3725 :
3726 : default:
3727 : return -1;
3728 : }
3729 : }
3730 :
3731 : int
3732 3339 : pattern1006 (rtx x1, machine_mode i1)
3733 : {
3734 3339 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3735 3339 : rtx x2, x3, x4;
3736 3339 : int res ATTRIBUTE_UNUSED;
3737 3339 : if (!register_operand (operands[0], i1)
3738 3339 : || GET_MODE (x1) != i1)
3739 : return -1;
3740 3231 : x2 = XEXP (x1, 0);
3741 3231 : if (GET_MODE (x2) != i1)
3742 : return -1;
3743 3231 : x3 = XVECEXP (x2, 0, 0);
3744 3231 : if (!register_operand (x3, i1))
3745 : return -1;
3746 3193 : x4 = XVECEXP (x2, 0, 1);
3747 3193 : if (!register_operand (x4, i1))
3748 : return -1;
3749 : return 0;
3750 : }
3751 :
3752 : int
3753 0 : pattern1016 (rtx x1, machine_mode i1, machine_mode i2)
3754 : {
3755 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3756 0 : rtx x2, x3;
3757 0 : int res ATTRIBUTE_UNUSED;
3758 0 : if (!register_operand (operands[0], i1)
3759 0 : || GET_MODE (x1) != i1
3760 0 : || !vector_operand (operands[1], i1)
3761 0 : || !vector_operand (operands[2], i1))
3762 0 : return -1;
3763 0 : x2 = XEXP (x1, 2);
3764 0 : if (GET_MODE (x2) != i2)
3765 : return -1;
3766 0 : x3 = XVECEXP (x2, 0, 0);
3767 0 : if (GET_MODE (x3) != i1
3768 0 : || !register_operand (operands[3], i1)
3769 0 : || !const0_operand (operands[4], i1))
3770 0 : return -1;
3771 : return 0;
3772 : }
3773 :
3774 : int
3775 444 : pattern1023 (rtx x1, machine_mode i1)
3776 : {
3777 444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3778 444 : int res ATTRIBUTE_UNUSED;
3779 444 : if (!register_operand (operands[0], i1)
3780 444 : || GET_MODE (x1) != i1
3781 444 : || !ix86_comparison_uns_operator (operands[1], i1)
3782 444 : || !register_operand (operands[2], i1)
3783 888 : || !nonimmediate_operand (operands[3], i1))
3784 0 : return -1;
3785 : return 0;
3786 : }
3787 :
3788 : int
3789 213 : pattern1029 (rtx x1, machine_mode i1, machine_mode i2)
3790 : {
3791 213 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3792 213 : rtx x2;
3793 213 : int res ATTRIBUTE_UNUSED;
3794 213 : x2 = XVECEXP (x1, 0, 0);
3795 213 : if (GET_MODE (x2) != i2
3796 213 : || !register_operand (operands[0], i2)
3797 209 : || GET_MODE (x1) != i2
3798 209 : || !register_operand (operands[1], i1)
3799 418 : || !const48_operand (operands[2], E_SImode))
3800 8 : return -1;
3801 : return 0;
3802 : }
3803 :
3804 : int
3805 28553 : pattern1035 (rtx x1, machine_mode i1)
3806 : {
3807 28553 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3808 28553 : int res ATTRIBUTE_UNUSED;
3809 28553 : if (!register_operand (operands[0], i1)
3810 27685 : || GET_MODE (x1) != i1
3811 27685 : || !register_operand (operands[1], i1)
3812 20968 : || !vector_operand (operands[2], i1)
3813 46461 : || !register_operand (operands[3], i1))
3814 13449 : return -1;
3815 : return 0;
3816 : }
3817 :
3818 : int
3819 1312 : pattern1041 (rtx x1, machine_mode i1, machine_mode i2)
3820 : {
3821 1312 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3822 1312 : rtx x2;
3823 1312 : int res ATTRIBUTE_UNUSED;
3824 1312 : if (!nonimmediate_operand (operands[0], i2)
3825 1312 : || GET_MODE (x1) != i2
3826 2624 : || !nonimmediate_operand (operands[1], i1))
3827 0 : return -1;
3828 1312 : x2 = XEXP (x1, 1);
3829 1312 : if (GET_MODE (x2) != i1)
3830 : return -1;
3831 : return 0;
3832 : }
3833 :
3834 : int
3835 9017 : pattern1049 (rtx x1)
3836 : {
3837 9017 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3838 9017 : rtx x2, x3, x4;
3839 9017 : int res ATTRIBUTE_UNUSED;
3840 9017 : x2 = XEXP (x1, 0);
3841 9017 : x3 = XEXP (x2, 0);
3842 9017 : operands[1] = x3;
3843 9017 : x4 = XEXP (x2, 1);
3844 9017 : operands[2] = x4;
3845 9017 : return pattern1048 (x1); /* [-1, 5] */
3846 : }
3847 :
3848 : int
3849 328 : pattern1050 (rtx x1, machine_mode i1)
3850 : {
3851 328 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3852 328 : rtx x2, x3, x4, x5, x6;
3853 328 : int res ATTRIBUTE_UNUSED;
3854 328 : if (!register_operand (operands[0], i1))
3855 : return -1;
3856 328 : x2 = XVECEXP (x1, 0, 0);
3857 328 : x3 = XEXP (x2, 1);
3858 328 : if (GET_MODE (x3) != i1)
3859 : return -1;
3860 328 : x4 = XEXP (x3, 0);
3861 328 : switch (GET_MODE (x4))
3862 : {
3863 70 : case E_HImode:
3864 70 : if (!register_operand (operands[4], E_HImode))
3865 : return -1;
3866 70 : x5 = XVECEXP (x1, 0, 1);
3867 70 : x6 = XEXP (x5, 1);
3868 70 : if (GET_MODE (x6) != E_HImode)
3869 : return -1;
3870 70 : switch (GET_MODE (operands[1]))
3871 : {
3872 14 : case E_V16SImode:
3873 14 : if (!nonimmediate_operand (operands[1], E_V16SImode)
3874 12 : || !nonimmediate_operand (operands[2], E_V16SImode)
3875 26 : || !const_0_to_7_operand (operands[3], E_SImode))
3876 2 : return -1;
3877 : return 0;
3878 :
3879 14 : case E_V16HFmode:
3880 14 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
3881 12 : || !nonimmediate_operand (operands[2], E_V16HFmode)
3882 26 : || !const_0_to_31_operand (operands[3], E_SImode))
3883 2 : return -1;
3884 : return 1;
3885 :
3886 14 : case E_V16SFmode:
3887 14 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
3888 12 : || !nonimmediate_operand (operands[2], E_V16SFmode)
3889 26 : || !const_0_to_31_operand (operands[3], E_SImode))
3890 2 : return -1;
3891 : return 2;
3892 :
3893 14 : case E_V16QImode:
3894 14 : if (!nonimmediate_operand (operands[1], E_V16QImode)
3895 12 : || !nonimmediate_operand (operands[2], E_V16QImode)
3896 26 : || !const_0_to_7_operand (operands[3], E_SImode))
3897 2 : return -1;
3898 : return 3;
3899 :
3900 14 : case E_V16HImode:
3901 14 : if (!nonimmediate_operand (operands[1], E_V16HImode)
3902 12 : || !nonimmediate_operand (operands[2], E_V16HImode)
3903 26 : || !const_0_to_7_operand (operands[3], E_SImode))
3904 2 : return -1;
3905 : return 4;
3906 :
3907 : default:
3908 : return -1;
3909 : }
3910 :
3911 237 : case E_QImode:
3912 237 : if (!register_operand (operands[4], E_QImode))
3913 : return -1;
3914 237 : x5 = XVECEXP (x1, 0, 1);
3915 237 : x6 = XEXP (x5, 1);
3916 237 : if (GET_MODE (x6) != E_QImode)
3917 : return -1;
3918 237 : switch (GET_MODE (operands[1]))
3919 : {
3920 21 : case E_V8SImode:
3921 21 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3922 18 : || !nonimmediate_operand (operands[2], E_V8SImode)
3923 39 : || !const_0_to_7_operand (operands[3], E_SImode))
3924 3 : return -1;
3925 : return 5;
3926 :
3927 21 : case E_V4SImode:
3928 21 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3929 18 : || !nonimmediate_operand (operands[2], E_V4SImode)
3930 39 : || !const_0_to_7_operand (operands[3], E_SImode))
3931 3 : return -1;
3932 : return 6;
3933 :
3934 21 : case E_V8DImode:
3935 21 : if (!nonimmediate_operand (operands[1], E_V8DImode)
3936 18 : || !nonimmediate_operand (operands[2], E_V8DImode)
3937 39 : || !const_0_to_7_operand (operands[3], E_SImode))
3938 3 : return -1;
3939 : return 7;
3940 :
3941 21 : case E_V4DImode:
3942 21 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3943 18 : || !nonimmediate_operand (operands[2], E_V4DImode)
3944 39 : || !const_0_to_7_operand (operands[3], E_SImode))
3945 3 : return -1;
3946 : return 8;
3947 :
3948 21 : case E_V2DImode:
3949 21 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3950 18 : || !nonimmediate_operand (operands[2], E_V2DImode)
3951 39 : || !const_0_to_7_operand (operands[3], E_SImode))
3952 3 : return -1;
3953 : return 9;
3954 :
3955 15 : case E_V8HFmode:
3956 15 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
3957 15 : || !nonimmediate_operand (operands[2], E_V8HFmode)
3958 30 : || !const_0_to_31_operand (operands[3], E_SImode))
3959 0 : return -1;
3960 : return 10;
3961 :
3962 21 : case E_V8SFmode:
3963 21 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
3964 18 : || !nonimmediate_operand (operands[2], E_V8SFmode)
3965 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3966 3 : return -1;
3967 : return 11;
3968 :
3969 21 : case E_V4SFmode:
3970 21 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
3971 18 : || !nonimmediate_operand (operands[2], E_V4SFmode)
3972 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3973 3 : return -1;
3974 : return 12;
3975 :
3976 21 : case E_V8DFmode:
3977 21 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
3978 18 : || !nonimmediate_operand (operands[2], E_V8DFmode)
3979 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3980 3 : return -1;
3981 : return 13;
3982 :
3983 21 : case E_V4DFmode:
3984 21 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
3985 18 : || !nonimmediate_operand (operands[2], E_V4DFmode)
3986 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3987 3 : return -1;
3988 : return 14;
3989 :
3990 21 : case E_V2DFmode:
3991 21 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
3992 18 : || !nonimmediate_operand (operands[2], E_V2DFmode)
3993 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3994 3 : return -1;
3995 : return 15;
3996 :
3997 12 : case E_V8HImode:
3998 12 : if (!nonimmediate_operand (operands[1], E_V8HImode)
3999 12 : || !nonimmediate_operand (operands[2], E_V8HImode)
4000 24 : || !const_0_to_7_operand (operands[3], E_SImode))
4001 0 : return -1;
4002 : return 16;
4003 :
4004 : default:
4005 : return -1;
4006 : }
4007 :
4008 21 : case E_SImode:
4009 21 : if (!register_operand (operands[4], E_SImode))
4010 : return -1;
4011 21 : x5 = XVECEXP (x1, 0, 1);
4012 21 : x6 = XEXP (x5, 1);
4013 21 : if (GET_MODE (x6) != E_SImode)
4014 : return -1;
4015 21 : switch (GET_MODE (operands[1]))
4016 : {
4017 7 : case E_V32HFmode:
4018 7 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
4019 6 : || !nonimmediate_operand (operands[2], E_V32HFmode)
4020 13 : || !const_0_to_31_operand (operands[3], E_SImode))
4021 1 : return -1;
4022 : return 17;
4023 :
4024 7 : case E_V32QImode:
4025 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
4026 6 : || !nonimmediate_operand (operands[2], E_V32QImode)
4027 13 : || !const_0_to_7_operand (operands[3], E_SImode))
4028 1 : return -1;
4029 : return 18;
4030 :
4031 7 : case E_V32HImode:
4032 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4033 6 : || !nonimmediate_operand (operands[2], E_V32HImode)
4034 13 : || !const_0_to_7_operand (operands[3], E_SImode))
4035 1 : return -1;
4036 : return 19;
4037 :
4038 : default:
4039 : return -1;
4040 : }
4041 :
4042 0 : case E_DImode:
4043 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
4044 0 : || !nonimmediate_operand (operands[2], E_V64QImode)
4045 0 : || !const_0_to_7_operand (operands[3], E_SImode)
4046 0 : || !register_operand (operands[4], E_DImode))
4047 0 : return -1;
4048 0 : x5 = XVECEXP (x1, 0, 1);
4049 0 : x6 = XEXP (x5, 1);
4050 0 : if (GET_MODE (x6) != E_DImode)
4051 : return -1;
4052 : return 20;
4053 :
4054 : default:
4055 : return -1;
4056 : }
4057 : }
4058 :
4059 : int
4060 5883 : pattern1129 (rtx x1, machine_mode i1)
4061 : {
4062 5883 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4063 5883 : int res ATTRIBUTE_UNUSED;
4064 5883 : if (!register_operand (operands[0], i1)
4065 4574 : || GET_MODE (x1) != i1
4066 4574 : || !vector_operand (operands[2], i1)
4067 4423 : || !register_operand (operands[1], i1)
4068 9359 : || !const_0_to_15_operand (operands[3], E_SImode))
4069 2447 : return -1;
4070 : return 0;
4071 : }
4072 :
4073 : int
4074 357 : pattern1135 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4075 : {
4076 357 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4077 357 : rtx x2, x3, x4;
4078 357 : int res ATTRIBUTE_UNUSED;
4079 357 : if (!register_operand (operands[0], i2)
4080 357 : || GET_MODE (x1) != i2)
4081 : return -1;
4082 357 : x2 = XEXP (x1, 0);
4083 357 : if (GET_MODE (x2) != i2)
4084 : return -1;
4085 357 : x3 = XEXP (x2, 0);
4086 357 : if (GET_MODE (x3) != i4
4087 357 : || !register_operand (operands[1], i3))
4088 0 : return -1;
4089 357 : x4 = XEXP (x2, 1);
4090 357 : if (GET_MODE (x4) != i4
4091 357 : || !vector_operand (operands[2], i3)
4092 357 : || !nonimm_or_0_operand (operands[3], i2)
4093 712 : || !register_operand (operands[4], i1))
4094 7 : return -1;
4095 : return 0;
4096 : }
4097 :
4098 : int
4099 368 : pattern1146 (rtx x1)
4100 : {
4101 368 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4102 368 : rtx x2, x3;
4103 368 : int res ATTRIBUTE_UNUSED;
4104 368 : x2 = XVECEXP (x1, 0, 0);
4105 368 : if (GET_MODE (x2) != E_V32HFmode
4106 368 : || !register_operand (operands[0], E_V32HFmode)
4107 350 : || GET_MODE (x1) != E_V32HFmode
4108 350 : || !register_operand (operands[1], E_V32HFmode)
4109 716 : || !register_operand (operands[2], E_V32HFmode))
4110 32 : return -1;
4111 336 : x3 = XVECEXP (x2, 0, 2);
4112 336 : operands[3] = x3;
4113 336 : if (!register_operand (operands[3], E_V32HFmode)
4114 336 : || !const_4_or_8_to_11_operand (operands[4], E_SImode))
4115 8 : return -1;
4116 : return 0;
4117 : }
4118 :
4119 : int
4120 7596 : pattern1156 (rtx x1, machine_mode i1)
4121 : {
4122 7596 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4123 7596 : rtx x2, x3, x4, x5;
4124 7596 : int res ATTRIBUTE_UNUSED;
4125 7596 : if (!register_operand (operands[0], i1)
4126 7596 : || GET_MODE (x1) != i1)
4127 : return -1;
4128 6702 : x2 = XEXP (x1, 0);
4129 6702 : if (GET_MODE (x2) != i1
4130 6702 : || !nonimmediate_operand (operands[2], i1))
4131 1072 : return -1;
4132 5630 : x3 = XEXP (x1, 1);
4133 5630 : if (GET_MODE (x3) != i1
4134 5630 : || !nonimmediate_operand (operands[1], i1))
4135 1053 : return -1;
4136 4577 : x4 = XEXP (x1, 2);
4137 4577 : if (GET_MODE (x4) != i1)
4138 : return -1;
4139 4577 : x5 = XEXP (x4, 1);
4140 4577 : if (GET_MODE (x5) != i1)
4141 : return -1;
4142 : return 0;
4143 : }
4144 :
4145 : int
4146 38 : pattern1164 (rtx x1)
4147 : {
4148 38 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4149 38 : rtx x2, x3, x4, x5, x6;
4150 38 : int res ATTRIBUTE_UNUSED;
4151 38 : x2 = XEXP (x1, 0);
4152 38 : x3 = XEXP (x2, 0);
4153 38 : operands[2] = x3;
4154 38 : x4 = XEXP (x3, 0);
4155 38 : if (GET_CODE (x4) != REG
4156 38 : || REGNO (x4) != 17)
4157 : return -1;
4158 18 : x5 = XEXP (x3, 1);
4159 18 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4160 : return -1;
4161 18 : x6 = XEXP (x2, 1);
4162 18 : operands[1] = x6;
4163 18 : return pattern1163 (x1); /* [-1, 5] */
4164 : }
4165 :
4166 : int
4167 0 : pattern1171 (rtx x1, machine_mode i1)
4168 : {
4169 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4170 0 : rtx x2, x3;
4171 0 : int res ATTRIBUTE_UNUSED;
4172 0 : if (!nonimmediate_operand (operands[0], i1)
4173 0 : || GET_MODE (x1) != i1)
4174 : return -1;
4175 0 : x2 = XEXP (x1, 0);
4176 0 : if (GET_MODE (x2) != i1)
4177 : return -1;
4178 0 : x3 = XEXP (x2, 0);
4179 0 : if (GET_MODE (x3) != i1
4180 0 : || !nonimmediate_operand (operands[1], i1)
4181 0 : || !immediate_operand (operands[2], i1))
4182 0 : return -1;
4183 : return 0;
4184 : }
4185 :
4186 : int
4187 22213 : pattern1178 (rtx x1)
4188 : {
4189 22213 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4190 22213 : rtx x2, x3, x4;
4191 22213 : int res ATTRIBUTE_UNUSED;
4192 22213 : x2 = XEXP (x1, 1);
4193 22213 : x3 = XEXP (x2, 1);
4194 22213 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4195 22213 : || GET_MODE (x3) != E_QImode)
4196 : return -1;
4197 22213 : x4 = XEXP (x1, 0);
4198 22213 : operands[0] = x4;
4199 22213 : return pattern1177 (x2); /* [-1, 11] */
4200 : }
4201 :
4202 : int
4203 136 : pattern1185 (rtx x1, machine_mode i1, machine_mode i2)
4204 : {
4205 136 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4206 136 : rtx x2, x3;
4207 136 : int res ATTRIBUTE_UNUSED;
4208 136 : x2 = XEXP (x1, 0);
4209 136 : if (GET_MODE (x2) != E_SImode
4210 136 : || !register_operand (operands[0], i2)
4211 272 : || GET_MODE (x1) != i2)
4212 0 : return -1;
4213 136 : x3 = XEXP (x2, 0);
4214 136 : operands[1] = x3;
4215 136 : if (!nonimmediate_operand (operands[1], i1))
4216 : return -1;
4217 : return 0;
4218 : }
4219 :
4220 : int
4221 49 : pattern1191 ()
4222 : {
4223 49 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4224 49 : int res ATTRIBUTE_UNUSED;
4225 49 : switch (GET_MODE (operands[4]))
4226 : {
4227 14 : case E_QImode:
4228 14 : if (!register_operand (operands[4], E_QImode))
4229 : return -1;
4230 : return 0;
4231 :
4232 14 : case E_HImode:
4233 14 : if (!register_operand (operands[4], E_HImode))
4234 : return -1;
4235 : return 1;
4236 :
4237 7 : case E_SImode:
4238 7 : if (!register_operand (operands[4], E_SImode))
4239 : return -1;
4240 : return 2;
4241 :
4242 14 : case E_DImode:
4243 14 : if (!register_operand (operands[4], E_DImode))
4244 : return -1;
4245 : return 3;
4246 :
4247 : default:
4248 : return -1;
4249 : }
4250 : }
4251 :
4252 : int
4253 14 : pattern1202 (rtx x1, machine_mode i1)
4254 : {
4255 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4256 14 : rtx x2, x3, x4, x5, x6;
4257 14 : int res ATTRIBUTE_UNUSED;
4258 14 : if (!rtx_equal_p (x1, operands[0]))
4259 : return -1;
4260 14 : x2 = PATTERN (peep2_next_insn (2));
4261 14 : x3 = XEXP (x2, 0);
4262 14 : switch (GET_CODE (x3))
4263 : {
4264 12 : case SUBREG:
4265 12 : case MEM:
4266 12 : if (!rtx_equal_p (x3, operands[1]))
4267 : return -1;
4268 : return 0;
4269 :
4270 2 : case REG:
4271 2 : if (peep2_current_count < 4)
4272 : return -1;
4273 2 : operands[5] = x3;
4274 2 : if (!general_reg_operand (operands[5], i1))
4275 : return -1;
4276 2 : x4 = PATTERN (peep2_next_insn (3));
4277 2 : if (GET_CODE (x4) != SET)
4278 : return -1;
4279 0 : x5 = XEXP (x4, 1);
4280 0 : if (!rtx_equal_p (x5, operands[5]))
4281 : return -1;
4282 0 : x6 = XEXP (x4, 0);
4283 0 : if (!rtx_equal_p (x6, operands[1]))
4284 : return -1;
4285 : return 1;
4286 :
4287 : default:
4288 : return -1;
4289 : }
4290 : }
4291 :
4292 : int
4293 47788 : pattern1210 ()
4294 : {
4295 47788 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4296 47788 : int res ATTRIBUTE_UNUSED;
4297 47788 : switch (GET_MODE (operands[2]))
4298 : {
4299 5541 : case E_HImode:
4300 5541 : if (!extract_high_operator (operands[2], E_HImode))
4301 : return -1;
4302 : return 0;
4303 :
4304 25166 : case E_SImode:
4305 25166 : if (!extract_high_operator (operands[2], E_SImode))
4306 : return -1;
4307 : return 1;
4308 :
4309 17081 : case E_DImode:
4310 17081 : if (!extract_high_operator (operands[2], E_DImode))
4311 : return -1;
4312 : return 2;
4313 :
4314 : default:
4315 : return -1;
4316 : }
4317 : }
4318 :
4319 : int
4320 12 : pattern1218 (rtx x1, machine_mode i1)
4321 : {
4322 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4323 12 : rtx x2, x3;
4324 12 : int res ATTRIBUTE_UNUSED;
4325 12 : if (!nonimmediate_operand (operands[0], i1)
4326 12 : || GET_MODE (x1) != i1)
4327 : return -1;
4328 12 : x2 = XEXP (x1, 0);
4329 12 : if (GET_MODE (x2) != i1
4330 12 : || !nonimmediate_operand (operands[1], i1))
4331 0 : return -1;
4332 12 : x3 = XEXP (x2, 1);
4333 12 : if (GET_MODE (x3) != i1
4334 12 : || !x86_64_general_operand (operands[2], i1))
4335 0 : return -1;
4336 : return 0;
4337 : }
4338 :
4339 : int
4340 715 : pattern1226 (rtx x1, machine_mode i1, machine_mode i2)
4341 : {
4342 715 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4343 715 : rtx x2, x3, x4;
4344 715 : int res ATTRIBUTE_UNUSED;
4345 715 : if (!register_operand (operands[0], i1)
4346 715 : || GET_MODE (x1) != i1)
4347 : return -1;
4348 623 : x2 = XEXP (x1, 0);
4349 623 : if (GET_MODE (x2) != i1)
4350 : return -1;
4351 623 : x3 = XEXP (x2, 0);
4352 623 : if (GET_MODE (x3) != i2
4353 623 : || !register_operand (operands[1], i1))
4354 0 : return -1;
4355 623 : x4 = XEXP (x3, 1);
4356 623 : operands[2] = x4;
4357 623 : if (!nonimmediate_operand (operands[2], i1))
4358 : return -1;
4359 : return 0;
4360 : }
4361 :
4362 : int
4363 481 : pattern1233 (rtx x1)
4364 : {
4365 481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4366 481 : rtx x2, x3, x4;
4367 481 : int res ATTRIBUTE_UNUSED;
4368 481 : x2 = XVECEXP (x1, 0, 2);
4369 481 : x3 = XEXP (x2, 0);
4370 481 : x4 = XEXP (x3, 1);
4371 481 : operands[4] = x4;
4372 481 : switch (GET_MODE (operands[0]))
4373 : {
4374 383 : case E_V16QImode:
4375 383 : if (!register_operand (operands[0], E_V16QImode)
4376 383 : || GET_MODE (x1) != E_V16QImode
4377 383 : || !register_operand (operands[1], E_V16QImode)
4378 374 : || !vector_operand (operands[2], E_V16QImode)
4379 753 : || GET_MODE (x2) != E_V16QImode)
4380 13 : return -1;
4381 370 : switch (GET_MODE (x3))
4382 : {
4383 284 : case E_V4SImode:
4384 284 : if (!register_operand (operands[3], E_V4SImode)
4385 284 : || !const0_operand (operands[4], E_V4SImode))
4386 203 : return -1;
4387 : return 0;
4388 :
4389 82 : case E_V2DImode:
4390 82 : if (!register_operand (operands[3], E_V2DImode)
4391 82 : || !const0_operand (operands[4], E_V2DImode))
4392 44 : return -1;
4393 : return 1;
4394 :
4395 : default:
4396 : return -1;
4397 : }
4398 :
4399 93 : case E_V32QImode:
4400 93 : if (!register_operand (operands[0], E_V32QImode)
4401 93 : || GET_MODE (x1) != E_V32QImode
4402 93 : || !register_operand (operands[1], E_V32QImode)
4403 91 : || !vector_operand (operands[2], E_V32QImode)
4404 180 : || GET_MODE (x2) != E_V32QImode)
4405 6 : return -1;
4406 87 : switch (GET_MODE (x3))
4407 : {
4408 57 : case E_V8SImode:
4409 57 : if (!register_operand (operands[3], E_V8SImode)
4410 57 : || !const0_operand (operands[4], E_V8SImode))
4411 32 : return -1;
4412 : return 2;
4413 :
4414 27 : case E_V4DImode:
4415 27 : if (!register_operand (operands[3], E_V4DImode)
4416 27 : || !const0_operand (operands[4], E_V4DImode))
4417 1 : return -1;
4418 : return 3;
4419 :
4420 : default:
4421 : return -1;
4422 : }
4423 :
4424 : default:
4425 : return -1;
4426 : }
4427 : }
4428 :
4429 : int
4430 5856 : pattern1251 (rtx x1, rtx_code i1)
4431 : {
4432 5856 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4433 5856 : rtx x2, x3, x4, x5, x6;
4434 5856 : int res ATTRIBUTE_UNUSED;
4435 5856 : x2 = XEXP (x1, 1);
4436 5856 : if (maybe_ne (SUBREG_BYTE (x2), 0))
4437 : return -1;
4438 5856 : x3 = XEXP (x2, 0);
4439 5856 : if (GET_CODE (x3) != i1)
4440 : return -1;
4441 1809 : x4 = XEXP (x3, 0);
4442 1809 : if (GET_CODE (x4) != ZERO_EXTEND)
4443 : return -1;
4444 1782 : switch (GET_MODE (operands[0]))
4445 : {
4446 1563 : case E_DImode:
4447 1563 : if (GET_MODE (x1) != E_DImode)
4448 : return -1;
4449 1563 : x5 = XEXP (x1, 0);
4450 1563 : if (GET_MODE (x5) != E_DImode)
4451 : return -1;
4452 1563 : x6 = XEXP (x5, 1);
4453 1563 : if (!const_0_to_63_operand (x6, E_QImode))
4454 : return -1;
4455 : return 0;
4456 :
4457 219 : case E_SImode:
4458 219 : if (GET_MODE (x1) != E_SImode)
4459 : return -1;
4460 219 : x5 = XEXP (x1, 0);
4461 219 : if (GET_MODE (x5) != E_SImode)
4462 : return -1;
4463 219 : x6 = XEXP (x5, 1);
4464 219 : if (!const_0_to_31_operand (x6, E_QImode))
4465 : return -1;
4466 : return 1;
4467 :
4468 : default:
4469 : return -1;
4470 : }
4471 : }
4472 :
4473 : int
4474 1983 : pattern1266 (rtx x1)
4475 : {
4476 1983 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4477 1983 : rtx x2, x3;
4478 1983 : int res ATTRIBUTE_UNUSED;
4479 1983 : if (GET_CODE (x1) != SET)
4480 : return -1;
4481 1967 : x2 = XEXP (x1, 1);
4482 1967 : if (GET_CODE (x2) != PLUS
4483 1967 : || GET_MODE (x2) != E_SImode)
4484 : return -1;
4485 1967 : x3 = XEXP (x2, 0);
4486 1967 : if (GET_CODE (x3) != REG
4487 1967 : || REGNO (x3) != 7
4488 3934 : || GET_MODE (x3) != E_SImode)
4489 0 : return -1;
4490 : return 0;
4491 : }
4492 :
4493 : int
4494 2 : pattern1271 (rtx x1)
4495 : {
4496 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4497 2 : rtx x2, x3, x4, x5, x6, x7;
4498 2 : int res ATTRIBUTE_UNUSED;
4499 2 : x2 = XEXP (x1, 2);
4500 2 : switch (GET_CODE (x2))
4501 : {
4502 0 : case REG:
4503 0 : case SUBREG:
4504 0 : operands[1] = x2;
4505 0 : x3 = XEXP (x1, 0);
4506 0 : operands[0] = x3;
4507 0 : x4 = XEXP (x1, 1);
4508 0 : operands[3] = x4;
4509 0 : switch (GET_MODE (x1))
4510 : {
4511 0 : case E_V32QImode:
4512 0 : if (!vector_all_ones_operand (operands[0], E_V32QImode)
4513 0 : || !const0_operand (operands[3], E_V32QImode)
4514 0 : || !register_operand (operands[1], E_SImode))
4515 0 : return -1;
4516 : return 0;
4517 :
4518 0 : case E_V16QImode:
4519 0 : if (!vector_all_ones_operand (operands[0], E_V16QImode)
4520 0 : || !const0_operand (operands[3], E_V16QImode)
4521 0 : || !register_operand (operands[1], E_HImode))
4522 0 : return -1;
4523 : return 1;
4524 :
4525 : default:
4526 : return -1;
4527 : }
4528 :
4529 2 : case UNSPEC:
4530 2 : if (XVECLEN (x2, 0) != 3
4531 2 : || XINT (x2, 1) != 60)
4532 : return -1;
4533 2 : x5 = XVECEXP (x2, 0, 2);
4534 2 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4535 : return -1;
4536 2 : x3 = XEXP (x1, 0);
4537 2 : operands[3] = x3;
4538 2 : x4 = XEXP (x1, 1);
4539 2 : operands[4] = x4;
4540 2 : x6 = XVECEXP (x2, 0, 0);
4541 2 : operands[0] = x6;
4542 2 : x7 = XVECEXP (x2, 0, 1);
4543 2 : operands[1] = x7;
4544 2 : switch (GET_MODE (x1))
4545 : {
4546 0 : case E_V32QImode:
4547 0 : if (pattern1270 (x2,
4548 : E_V32QImode,
4549 : E_SImode) != 0)
4550 : return -1;
4551 : return 2;
4552 :
4553 2 : case E_V16QImode:
4554 2 : if (pattern1270 (x2,
4555 : E_V16QImode,
4556 : E_HImode) != 0)
4557 : return -1;
4558 : return 3;
4559 :
4560 : default:
4561 : return -1;
4562 : }
4563 :
4564 : default:
4565 : return -1;
4566 : }
4567 : }
4568 :
4569 : int
4570 787 : pattern1297 (rtx x1, machine_mode i1, machine_mode i2)
4571 : {
4572 787 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4573 787 : rtx x2;
4574 787 : int res ATTRIBUTE_UNUSED;
4575 787 : if (!register_operand (operands[0], i2)
4576 787 : || GET_MODE (x1) != i2)
4577 : return -1;
4578 763 : x2 = XEXP (x1, 0);
4579 763 : if (GET_MODE (x2) != i2
4580 763 : || !nonimmediate_operand (operands[1], i2)
4581 736 : || !nonimmediate_operand (operands[2], i2)
4582 736 : || !nonimmediate_operand (operands[3], i2)
4583 1490 : || !register_operand (operands[4], i1))
4584 36 : return -1;
4585 : return 0;
4586 : }
4587 :
4588 : int
4589 378 : pattern1306 (rtx x1, machine_mode i1)
4590 : {
4591 378 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4592 378 : rtx x2;
4593 378 : int res ATTRIBUTE_UNUSED;
4594 378 : if (!register_operand (operands[0], i1)
4595 378 : || GET_MODE (x1) != i1)
4596 : return -1;
4597 367 : x2 = XEXP (x1, 0);
4598 367 : if (GET_MODE (x2) != i1
4599 367 : || !vector_operand (operands[1], i1))
4600 28 : return -1;
4601 : return 0;
4602 : }
4603 :
4604 : int
4605 1476 : pattern1312 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4606 : {
4607 1476 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4608 1476 : rtx x2, x3;
4609 1476 : int res ATTRIBUTE_UNUSED;
4610 1476 : x2 = XVECEXP (x1, 0, 0);
4611 1476 : x3 = XEXP (x2, 0);
4612 1476 : if (GET_MODE (x3) != i2
4613 1476 : || !register_operand (operands[0], i2)
4614 1421 : || GET_MODE (x1) != i2
4615 1421 : || GET_MODE (x2) != i2
4616 1421 : || !register_operand (operands[1], i3)
4617 1421 : || !nonimm_or_0_operand (operands[2], i2)
4618 1393 : || !register_operand (operands[3], i1)
4619 2817 : || !const48_operand (operands[4], E_SImode))
4620 135 : return -1;
4621 : return 0;
4622 : }
4623 :
4624 : int
4625 253 : pattern1319 (rtx x1, machine_mode i1)
4626 : {
4627 253 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4628 253 : rtx x2;
4629 253 : int res ATTRIBUTE_UNUSED;
4630 253 : if (!register_operand (operands[0], i1)
4631 253 : || GET_MODE (x1) != i1)
4632 : return -1;
4633 242 : x2 = XVECEXP (x1, 0, 0);
4634 242 : if (GET_MODE (x2) != i1
4635 242 : || !register_operand (operands[1], i1)
4636 481 : || !nonimmediate_operand (operands[2], i1))
4637 3 : return -1;
4638 : return 0;
4639 : }
4640 :
4641 : int
4642 734258 : pattern1323 (rtx x1, machine_mode i1, machine_mode i2)
4643 : {
4644 734258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4645 734258 : rtx x2, x3;
4646 734258 : int res ATTRIBUTE_UNUSED;
4647 734258 : if (!register_operand (operands[0], i1)
4648 734258 : || GET_MODE (x1) != i1)
4649 : return -1;
4650 368627 : x2 = XEXP (x1, 0);
4651 368627 : if (GET_MODE (x2) != i2
4652 368627 : || !register_operand (operands[1], i1))
4653 69706 : return -1;
4654 298921 : x3 = XEXP (x2, 1);
4655 298921 : operands[2] = x3;
4656 298921 : if (!vector_operand (operands[2], i1))
4657 : return -1;
4658 : return 0;
4659 : }
4660 :
4661 : int
4662 9581 : pattern1328 (rtx x1)
4663 : {
4664 9581 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4665 9581 : rtx x2, x3;
4666 9581 : int res ATTRIBUTE_UNUSED;
4667 9581 : if (GET_CODE (x1) != PLUS)
4668 : return -1;
4669 9581 : x2 = XEXP (x1, 0);
4670 9581 : if (GET_CODE (x2) != PLUS)
4671 : return -1;
4672 9581 : x3 = XEXP (x2, 0);
4673 9581 : switch (GET_CODE (x3))
4674 : {
4675 9581 : case LTU:
4676 9581 : case UNLT:
4677 9581 : if (!rtx_equal_p (x3, operands[4]))
4678 : return -1;
4679 : return 0;
4680 :
4681 : default:
4682 : return -1;
4683 : }
4684 : }
4685 :
4686 : int
4687 56053 : pattern1337 (rtx x1)
4688 : {
4689 56053 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4690 56053 : rtx x2, x3;
4691 56053 : int res ATTRIBUTE_UNUSED;
4692 56053 : x2 = XEXP (x1, 1);
4693 56053 : switch (GET_CODE (x2))
4694 : {
4695 9134 : case REG:
4696 9134 : case SUBREG:
4697 9134 : case MEM:
4698 9134 : if (!rtx_equal_p (x2, operands[1]))
4699 : return -1;
4700 2840 : switch (GET_MODE (operands[0]))
4701 : {
4702 943 : case E_SImode:
4703 943 : return pattern936 (x1,
4704 943 : E_SImode); /* [-1, 0] */
4705 :
4706 1524 : case E_DImode:
4707 1524 : if (pattern936 (x1,
4708 : E_DImode) != 0)
4709 : return -1;
4710 : return 1;
4711 :
4712 : default:
4713 : return -1;
4714 : }
4715 :
4716 232 : case NOT:
4717 232 : x3 = XEXP (x2, 0);
4718 232 : if (!rtx_equal_p (x3, operands[1]))
4719 : return -1;
4720 224 : switch (GET_MODE (operands[0]))
4721 : {
4722 80 : case E_SImode:
4723 80 : if (pattern1336 (x1,
4724 : E_SImode) != 0)
4725 : return -1;
4726 : return 2;
4727 :
4728 144 : case E_DImode:
4729 144 : if (pattern1336 (x1,
4730 : E_DImode) != 0)
4731 : return -1;
4732 : return 3;
4733 :
4734 : default:
4735 : return -1;
4736 : }
4737 :
4738 : default:
4739 : return -1;
4740 : }
4741 : }
4742 :
4743 : int
4744 7745 : pattern1354 (rtx x1)
4745 : {
4746 7745 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4747 7745 : rtx x2, x3, x4, x5;
4748 7745 : int res ATTRIBUTE_UNUSED;
4749 7745 : x2 = XEXP (x1, 1);
4750 7745 : if (GET_CODE (x2) != COMPARE
4751 1200 : || GET_MODE (x2) != E_CCZmode)
4752 : return -1;
4753 724 : x3 = XEXP (x2, 1);
4754 724 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4755 : return -1;
4756 647 : x4 = XEXP (x1, 0);
4757 647 : if (GET_CODE (x4) != REG
4758 647 : || REGNO (x4) != 17
4759 1294 : || GET_MODE (x4) != E_CCZmode)
4760 : return -1;
4761 647 : x5 = XEXP (x2, 0);
4762 647 : if (!rtx_equal_p (x5, operands[1]))
4763 : return -1;
4764 : return 0;
4765 : }
4766 :
4767 : int
4768 1260249 : pattern1363 (rtx x1, machine_mode i1)
4769 : {
4770 1260249 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4771 1260249 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4772 1260249 : rtx x10, x11, x12, x13, x14, x15, x16;
4773 1260249 : int res ATTRIBUTE_UNUSED;
4774 1260249 : if (!general_reg_operand (operands[0], i1))
4775 : return -1;
4776 1260249 : switch (GET_CODE (x1))
4777 : {
4778 883053 : case SET:
4779 883053 : x2 = XEXP (x1, 1);
4780 883053 : switch (GET_CODE (x2))
4781 : {
4782 300054 : case CONST_INT:
4783 300054 : if (XWINT (x2, 0) != 0L)
4784 : return -1;
4785 173828 : x3 = XEXP (x1, 0);
4786 173828 : if (GET_CODE (x3) != ZERO_EXTRACT)
4787 : return -1;
4788 1 : x4 = XEXP (x3, 1);
4789 1 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4790 : return -1;
4791 1 : x5 = XEXP (x3, 2);
4792 1 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4793 : return -1;
4794 1 : x6 = XEXP (x3, 0);
4795 1 : operands[1] = x6;
4796 1 : if (!int248_register_operand (operands[1], E_VOIDmode))
4797 : return -1;
4798 1 : switch (GET_MODE (x3))
4799 : {
4800 : case E_HImode:
4801 : return 0;
4802 :
4803 : case E_SImode:
4804 : return 1;
4805 :
4806 : case E_DImode:
4807 : return 2;
4808 :
4809 : default:
4810 : return -1;
4811 : }
4812 :
4813 137340 : case REG:
4814 137340 : case SUBREG:
4815 137340 : case MEM:
4816 137340 : operands[2] = x2;
4817 137340 : x3 = XEXP (x1, 0);
4818 137340 : if (GET_CODE (x3) != STRICT_LOW_PART)
4819 : return -1;
4820 352 : x6 = XEXP (x3, 0);
4821 352 : operands[1] = x6;
4822 352 : res = pattern1350 ();
4823 352 : if (res >= 0)
4824 352 : return res + 3; /* [3, 4] */
4825 : return -1;
4826 :
4827 : default:
4828 : return -1;
4829 : }
4830 :
4831 61787 : case PARALLEL:
4832 61787 : if (XVECLEN (x1, 0) != 2)
4833 : return -1;
4834 22692 : x7 = XVECEXP (x1, 0, 0);
4835 22692 : if (GET_CODE (x7) != SET)
4836 : return -1;
4837 21153 : x8 = XEXP (x7, 1);
4838 21153 : switch (GET_CODE (x8))
4839 : {
4840 923 : case PLUS:
4841 923 : if (GET_MODE (x8) != i1
4842 923 : || pattern1353 (x1) != 0)
4843 913 : return -1;
4844 : return 5;
4845 :
4846 315 : case IOR:
4847 315 : if (GET_MODE (x8) != i1
4848 315 : || pattern1353 (x1) != 0)
4849 178 : return -1;
4850 : return 6;
4851 :
4852 62 : case XOR:
4853 62 : if (GET_MODE (x8) != i1
4854 62 : || pattern1353 (x1) != 0)
4855 60 : return -1;
4856 : return 7;
4857 :
4858 694 : case UNSPEC:
4859 694 : if (peep2_current_count < 3
4860 694 : || peep2_current_count < 4
4861 680 : || XVECLEN (x8, 0) != 2
4862 648 : || XINT (x8, 1) != 41
4863 648 : || GET_MODE (x8) != E_CCCmode)
4864 : return -1;
4865 644 : x9 = XVECEXP (x8, 0, 1);
4866 644 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4867 : return -1;
4868 644 : x10 = XEXP (x7, 0);
4869 644 : if (GET_CODE (x10) != REG
4870 644 : || REGNO (x10) != 17
4871 1288 : || GET_MODE (x10) != E_CCCmode)
4872 : return -1;
4873 644 : x11 = XVECEXP (x1, 0, 1);
4874 644 : if (GET_CODE (x11) != SET)
4875 : return -1;
4876 637 : x12 = XEXP (x11, 1);
4877 637 : if (GET_CODE (x12) != NEG
4878 637 : || GET_MODE (x12) != i1)
4879 : return -1;
4880 637 : x13 = XVECEXP (x8, 0, 0);
4881 637 : operands[1] = x13;
4882 637 : if (!general_reg_operand (operands[1], i1))
4883 : return -1;
4884 637 : x14 = XEXP (x12, 0);
4885 637 : if (!rtx_equal_p (x14, operands[1]))
4886 : return -1;
4887 637 : x15 = XEXP (x11, 0);
4888 637 : if (!rtx_equal_p (x15, operands[1]))
4889 : return -1;
4890 637 : x16 = PATTERN (peep2_next_insn (2));
4891 637 : if (pattern1206 (x16,
4892 : i1) != 0)
4893 : return -1;
4894 : return 8;
4895 :
4896 : default:
4897 : return -1;
4898 : }
4899 :
4900 : default:
4901 : return -1;
4902 : }
4903 : }
4904 :
4905 : int
4906 1387 : pattern1418 (rtx x1)
4907 : {
4908 1387 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4909 1387 : rtx x2;
4910 1387 : int res ATTRIBUTE_UNUSED;
4911 1387 : x2 = XVECEXP (x1, 0, 1);
4912 1387 : operands[4] = x2;
4913 1387 : if (!const48_operand (operands[4], E_SImode))
4914 : return -1;
4915 1387 : return pattern1417 (x1); /* [-1, 2] */
4916 : }
4917 :
4918 : int
4919 1002 : pattern1424 (rtx x1, int i1, int i2, int i3, int i4, int i5)
4920 : {
4921 1002 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4922 1002 : rtx x2, x3, x4, x5, x6;
4923 1002 : int res ATTRIBUTE_UNUSED;
4924 1002 : x2 = XVECEXP (x1, 0, 3);
4925 1002 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
4926 : return -1;
4927 1002 : x3 = XVECEXP (x1, 0, 4);
4928 1002 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4929 : return -1;
4930 1002 : x4 = XVECEXP (x1, 0, 5);
4931 1002 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4932 : return -1;
4933 1002 : x5 = XVECEXP (x1, 0, 6);
4934 1002 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4935 : return -1;
4936 1002 : x6 = XVECEXP (x1, 0, 7);
4937 1002 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4938 0 : return -1;
4939 : return 0;
4940 : }
4941 :
4942 : int
4943 8775554 : pattern1434 (rtx x1, machine_mode i1)
4944 : {
4945 8775554 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4946 8775554 : int res ATTRIBUTE_UNUSED;
4947 8775554 : if (!register_operand (operands[0], i1)
4948 8334882 : || GET_MODE (x1) != i1
4949 8334882 : || !register_operand (operands[1], i1)
4950 17096617 : || !x86_64_nonmemory_operand (operands[2], i1))
4951 540144 : return -1;
4952 : return 0;
4953 : }
4954 :
4955 : int
4956 58427 : pattern1438 (rtx x1, machine_mode i1)
4957 : {
4958 58427 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4959 58427 : int res ATTRIBUTE_UNUSED;
4960 58427 : if (!nonimmediate_operand (operands[1], i1)
4961 54904 : || !general_operand (operands[2], i1)
4962 54893 : || !nonimmediate_operand (operands[0], i1)
4963 113320 : || GET_MODE (x1) != i1)
4964 3534 : return -1;
4965 : return 0;
4966 : }
4967 :
4968 : int
4969 27506 : pattern1446 (rtx x1)
4970 : {
4971 27506 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4972 27506 : rtx x2, x3, x4, x5;
4973 27506 : int res ATTRIBUTE_UNUSED;
4974 27506 : x2 = XEXP (x1, 1);
4975 27506 : x3 = XEXP (x2, 0);
4976 27506 : x4 = XEXP (x3, 0);
4977 27506 : operands[2] = x4;
4978 27506 : if (!int248_register_operand (operands[2], E_VOIDmode))
4979 : return -1;
4980 25337 : x5 = XEXP (x3, 1);
4981 25337 : operands[3] = x5;
4982 25337 : if (!const_int_operand (operands[3], E_VOIDmode))
4983 : return -1;
4984 25323 : return pattern340 (x1); /* [-1, 1] */
4985 : }
4986 :
4987 : int
4988 0 : pattern1455 (rtx x1, machine_mode i1)
4989 : {
4990 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4991 0 : rtx x2;
4992 0 : int res ATTRIBUTE_UNUSED;
4993 0 : if (!register_operand (operands[0], i1)
4994 0 : || GET_MODE (x1) != i1
4995 0 : || !vector_operand (operands[1], i1)
4996 0 : || !register_operand (operands[2], i1))
4997 0 : return -1;
4998 0 : x2 = XVECEXP (x1, 0, 2);
4999 0 : if (GET_MODE (x2) != i1)
5000 : return -1;
5001 : return 0;
5002 : }
5003 :
5004 : int
5005 302 : pattern1460 (rtx x1, machine_mode i1, machine_mode i2)
5006 : {
5007 302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5008 302 : rtx x2;
5009 302 : int res ATTRIBUTE_UNUSED;
5010 302 : if (!memory_operand (operands[0], i2)
5011 302 : || GET_MODE (x1) != i2)
5012 : return -1;
5013 296 : x2 = XEXP (x1, 1);
5014 296 : if (GET_MODE (x2) != i2
5015 296 : || !register_operand (operands[1], i1))
5016 4 : return -1;
5017 : return 0;
5018 : }
5019 :
5020 : int
5021 660 : pattern1467 (rtx x1, machine_mode i1, machine_mode i2)
5022 : {
5023 660 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5024 660 : rtx x2;
5025 660 : int res ATTRIBUTE_UNUSED;
5026 660 : if (!register_operand (operands[0], i1)
5027 660 : || GET_MODE (x1) != i1)
5028 : return -1;
5029 625 : x2 = XEXP (x1, 0);
5030 625 : if (GET_MODE (x2) != i1
5031 625 : || !register_operand (operands[1], i1)
5032 612 : || !register_operand (operands[2], i1)
5033 612 : || !bcst_vector_operand (operands[3], i1)
5034 611 : || !const0_operand (operands[5], i1)
5035 1236 : || !register_operand (operands[6], i2))
5036 47 : return -1;
5037 : return 0;
5038 : }
5039 :
5040 : int
5041 8440 : pattern1476 (rtx x1)
5042 : {
5043 8440 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5044 8440 : rtx x2;
5045 8440 : int res ATTRIBUTE_UNUSED;
5046 8440 : switch (GET_MODE (operands[0]))
5047 : {
5048 618 : case E_V32HFmode:
5049 618 : return pattern1474 (x1,
5050 : E_V32HFmode,
5051 618 : E_SImode); /* [-1, 0] */
5052 :
5053 799 : case E_V16HFmode:
5054 799 : if (pattern1474 (x1,
5055 : E_V16HFmode,
5056 : E_HImode) != 0)
5057 : return -1;
5058 : return 1;
5059 :
5060 1638 : case E_V8HFmode:
5061 1638 : if (pattern1474 (x1,
5062 : E_V8HFmode,
5063 : E_QImode) != 0)
5064 : return -1;
5065 : return 2;
5066 :
5067 387 : case E_V16SFmode:
5068 387 : if (pattern1474 (x1,
5069 : E_V16SFmode,
5070 : E_HImode) != 0)
5071 : return -1;
5072 : return 3;
5073 :
5074 325 : case E_V8SFmode:
5075 325 : if (!register_operand (operands[0], E_V8SFmode)
5076 325 : || GET_MODE (x1) != E_V8SFmode)
5077 : return -1;
5078 308 : x2 = XEXP (x1, 2);
5079 308 : if (GET_MODE (x2) != E_QImode)
5080 : return -1;
5081 : return 4;
5082 :
5083 295 : case E_V4SFmode:
5084 295 : if (!register_operand (operands[0], E_V4SFmode)
5085 295 : || GET_MODE (x1) != E_V4SFmode)
5086 : return -1;
5087 293 : x2 = XEXP (x1, 2);
5088 293 : if (GET_MODE (x2) != E_QImode)
5089 : return -1;
5090 : return 5;
5091 :
5092 62 : case E_V8DFmode:
5093 62 : if (pattern1474 (x1,
5094 : E_V8DFmode,
5095 : E_QImode) != 0)
5096 : return -1;
5097 : return 6;
5098 :
5099 302 : case E_V4DFmode:
5100 302 : if (!register_operand (operands[0], E_V4DFmode)
5101 302 : || GET_MODE (x1) != E_V4DFmode)
5102 : return -1;
5103 295 : x2 = XEXP (x1, 2);
5104 295 : if (GET_MODE (x2) != E_QImode)
5105 : return -1;
5106 : return 7;
5107 :
5108 198 : case E_V2DFmode:
5109 198 : if (!register_operand (operands[0], E_V2DFmode)
5110 198 : || GET_MODE (x1) != E_V2DFmode)
5111 : return -1;
5112 196 : x2 = XEXP (x1, 2);
5113 196 : if (GET_MODE (x2) != E_QImode)
5114 : return -1;
5115 : return 8;
5116 :
5117 626 : case E_V4SImode:
5118 626 : if (pattern1475 (x1,
5119 : E_V4SImode,
5120 : E_QImode) != 0)
5121 : return -1;
5122 : return 9;
5123 :
5124 75 : case E_V2DImode:
5125 75 : if (pattern1475 (x1,
5126 : E_V2DImode,
5127 : E_QImode) != 0)
5128 : return -1;
5129 : return 10;
5130 :
5131 574 : case E_V8SImode:
5132 574 : if (pattern1475 (x1,
5133 : E_V8SImode,
5134 : E_QImode) != 0)
5135 : return -1;
5136 : return 11;
5137 :
5138 239 : case E_V4DImode:
5139 239 : if (pattern1475 (x1,
5140 : E_V4DImode,
5141 : E_QImode) != 0)
5142 : return -1;
5143 : return 12;
5144 :
5145 257 : case E_V32QImode:
5146 257 : if (pattern1475 (x1,
5147 : E_V32QImode,
5148 : E_SImode) != 0)
5149 : return -1;
5150 : return 13;
5151 :
5152 112 : case E_V16QImode:
5153 112 : if (pattern1475 (x1,
5154 : E_V16QImode,
5155 : E_HImode) != 0)
5156 : return -1;
5157 : return 14;
5158 :
5159 : default:
5160 : return -1;
5161 : }
5162 : }
5163 :
5164 : int
5165 1066 : pattern1514 (rtx x1, int i1, int i2, int i3, int i4, int i5)
5166 : {
5167 1066 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5168 1066 : rtx x2, x3, x4, x5, x6;
5169 1066 : int res ATTRIBUTE_UNUSED;
5170 1066 : x2 = XVECEXP (x1, 0, 7);
5171 1066 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
5172 : return -1;
5173 1066 : x3 = XVECEXP (x1, 0, 8);
5174 1066 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5175 : return -1;
5176 1066 : x4 = XVECEXP (x1, 0, 9);
5177 1066 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5178 : return -1;
5179 1066 : x5 = XVECEXP (x1, 0, 10);
5180 1066 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5181 : return -1;
5182 1066 : x6 = XVECEXP (x1, 0, 11);
5183 1066 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1]
5184 1066 : || pattern1426 (x1) != 0)
5185 0 : return -1;
5186 : return 0;
5187 : }
5188 :
5189 : int
5190 685 : pattern1524 (rtx x1, machine_mode i1)
5191 : {
5192 685 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5193 685 : rtx x2;
5194 685 : int res ATTRIBUTE_UNUSED;
5195 685 : if (!register_operand (operands[0], i1)
5196 685 : || GET_MODE (x1) != i1
5197 1370 : || !register_operand (operands[2], i1))
5198 68 : return -1;
5199 617 : x2 = XEXP (x1, 1);
5200 617 : if (GET_MODE (x2) != i1
5201 617 : || !nonimmediate_operand (operands[3], i1))
5202 505 : return -1;
5203 : return 0;
5204 : }
5205 :
5206 : int
5207 670550 : pattern1530 ()
5208 : {
5209 670550 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5210 670550 : int res ATTRIBUTE_UNUSED;
5211 670550 : if (!const_0_to_3_operand (operands[3], E_VOIDmode)
5212 621799 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
5213 431351 : || !const_4_to_7_operand (operands[5], E_VOIDmode)
5214 1098499 : || !const_4_to_7_operand (operands[6], E_VOIDmode))
5215 246141 : return -1;
5216 : return 0;
5217 : }
5218 :
5219 : int
5220 3576 : pattern1536 (rtx x1)
5221 : {
5222 3576 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5223 3576 : rtx x2, x3, x4;
5224 3576 : int res ATTRIBUTE_UNUSED;
5225 3576 : x2 = XEXP (x1, 1);
5226 3576 : x3 = XEXP (x2, 1);
5227 3576 : if (maybe_ne (SUBREG_BYTE (x3), 0)
5228 3576 : || GET_MODE (x3) != E_QImode)
5229 : return -1;
5230 3576 : x4 = XEXP (x3, 0);
5231 3576 : switch (GET_CODE (x4))
5232 : {
5233 447 : case ASHIFTRT:
5234 447 : case LSHIFTRT:
5235 447 : case SIGN_EXTRACT:
5236 447 : case ZERO_EXTRACT:
5237 447 : operands[4] = x4;
5238 447 : return pattern1055 (x1); /* [-1, 5] */
5239 :
5240 : default:
5241 : return -1;
5242 : }
5243 : }
5244 :
5245 : int
5246 21917 : pattern1545 (rtx x1)
5247 : {
5248 21917 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5249 21917 : int res ATTRIBUTE_UNUSED;
5250 21917 : switch (GET_MODE (operands[0]))
5251 : {
5252 6728 : case E_V8SFmode:
5253 6728 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
5254 6728 : || GET_MODE (x1) != E_V8SFmode
5255 13456 : || !nonimmediate_operand (operands[1], E_V16SFmode))
5256 0 : return -1;
5257 : return 0;
5258 :
5259 6346 : case E_V8SImode:
5260 6346 : if (!nonimmediate_operand (operands[0], E_V8SImode)
5261 6346 : || GET_MODE (x1) != E_V8SImode
5262 12692 : || !nonimmediate_operand (operands[1], E_V16SImode))
5263 0 : return -1;
5264 : return 1;
5265 :
5266 7372 : case E_V8HImode:
5267 7372 : if (!nonimmediate_operand (operands[0], E_V8HImode)
5268 7372 : || GET_MODE (x1) != E_V8HImode
5269 14744 : || !nonimmediate_operand (operands[1], E_V16HImode))
5270 79 : return -1;
5271 : return 2;
5272 :
5273 517 : case E_V8HFmode:
5274 517 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
5275 517 : || GET_MODE (x1) != E_V8HFmode
5276 1034 : || !nonimmediate_operand (operands[1], E_V16HFmode))
5277 3 : return -1;
5278 : return 3;
5279 :
5280 711 : case E_V8BFmode:
5281 711 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
5282 711 : || GET_MODE (x1) != E_V8BFmode
5283 1422 : || !nonimmediate_operand (operands[1], E_V16BFmode))
5284 34 : return -1;
5285 : return 4;
5286 :
5287 : default:
5288 : return -1;
5289 : }
5290 : }
5291 :
5292 : int
5293 440 : pattern1566 ()
5294 : {
5295 440 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5296 440 : int res ATTRIBUTE_UNUSED;
5297 440 : if (!const0_operand (operands[4], E_V4HFmode))
5298 : return -1;
5299 440 : switch (GET_MODE (operands[1]))
5300 : {
5301 220 : case E_V4DFmode:
5302 220 : if (!vector_operand (operands[1], E_V4DFmode))
5303 : return -1;
5304 : return 0;
5305 :
5306 220 : case E_V4SFmode:
5307 220 : if (!vector_operand (operands[1], E_V4SFmode))
5308 : return -1;
5309 : return 1;
5310 :
5311 : default:
5312 : return -1;
5313 : }
5314 : }
5315 :
5316 : int
5317 24187 : pattern1573 (rtx x1, machine_mode i1, machine_mode i2)
5318 : {
5319 24187 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5320 24187 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5321 24187 : int res ATTRIBUTE_UNUSED;
5322 24187 : x2 = XVECEXP (x1, 0, 0);
5323 24187 : x3 = XEXP (x2, 1);
5324 24187 : x4 = XEXP (x3, 0);
5325 24187 : x5 = XEXP (x4, 0);
5326 24187 : if (GET_MODE (x5) != i2
5327 24187 : || !nonimmediate_operand (operands[1], i1)
5328 48133 : || !const_int_operand (operands[3], i2))
5329 241 : return -1;
5330 23946 : x6 = XEXP (x3, 1);
5331 23946 : if (GET_MODE (x6) != i2)
5332 : return -1;
5333 23946 : x7 = XEXP (x6, 0);
5334 23946 : if (GET_MODE (x7) != i1
5335 23946 : || !x86_64_immediate_operand (operands[2], i1)
5336 47892 : || !nonimmediate_operand (operands[0], i1))
5337 0 : return -1;
5338 23946 : x8 = XVECEXP (x1, 0, 1);
5339 23946 : x9 = XEXP (x8, 1);
5340 23946 : if (GET_MODE (x9) != i1)
5341 : return -1;
5342 : return 0;
5343 : }
5344 :
5345 : int
5346 776 : pattern1588 (rtx x1)
5347 : {
5348 776 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5349 776 : rtx x2, x3, x4;
5350 776 : int res ATTRIBUTE_UNUSED;
5351 776 : x2 = XEXP (x1, 2);
5352 776 : operands[3] = x2;
5353 776 : x3 = XEXP (x1, 1);
5354 776 : x4 = XEXP (x3, 0);
5355 776 : if (!rtx_equal_p (x4, operands[2]))
5356 : return -1;
5357 704 : switch (GET_MODE (operands[0]))
5358 : {
5359 17 : case E_HImode:
5360 17 : return pattern1587 (x1,
5361 17 : E_HImode); /* [-1, 0] */
5362 :
5363 670 : case E_SImode:
5364 670 : if (pattern1587 (x1,
5365 : E_SImode) != 0)
5366 : return -1;
5367 : return 1;
5368 :
5369 17 : case E_DImode:
5370 17 : if (pattern1587 (x1,
5371 : E_DImode) != 0)
5372 : return -1;
5373 : return 2;
5374 :
5375 : default:
5376 : return -1;
5377 : }
5378 : }
5379 :
5380 : int
5381 0 : pattern1596 (rtx x1, machine_mode i1, machine_mode i2)
5382 : {
5383 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5384 0 : rtx x2, x3, x4;
5385 0 : int res ATTRIBUTE_UNUSED;
5386 0 : if (!register_operand (operands[0], i1)
5387 0 : || GET_MODE (x1) != i1)
5388 : return -1;
5389 0 : x2 = XVECEXP (x1, 0, 0);
5390 0 : if (GET_MODE (x2) != i1)
5391 : return -1;
5392 0 : x3 = XEXP (x2, 0);
5393 0 : if (GET_MODE (x3) != i1)
5394 : return -1;
5395 0 : x4 = XEXP (x3, 0);
5396 0 : if (GET_MODE (x4) != i2
5397 0 : || !register_operand (operands[2], i2)
5398 0 : || !register_operand (operands[1], i1))
5399 0 : return -1;
5400 : return 0;
5401 : }
5402 :
5403 : int
5404 507 : pattern1605 (rtx x1, machine_mode i1, machine_mode i2)
5405 : {
5406 507 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5407 507 : rtx x2, x3, x4;
5408 507 : int res ATTRIBUTE_UNUSED;
5409 507 : if (!register_operand (operands[0], i2)
5410 507 : || GET_MODE (x1) != i2)
5411 : return -1;
5412 493 : x2 = XVECEXP (x1, 0, 0);
5413 493 : if (GET_MODE (x2) != i2)
5414 : return -1;
5415 493 : x3 = XEXP (x2, 0);
5416 493 : if (GET_MODE (x3) != i2
5417 493 : || !register_operand (operands[1], i2))
5418 5 : return -1;
5419 488 : x4 = XEXP (x3, 2);
5420 488 : return pattern1604 (x4,
5421 : i1,
5422 488 : i2); /* [-1, 0] */
5423 : }
5424 :
5425 : int
5426 0 : pattern1613 (rtx x1, machine_mode i1, machine_mode i2)
5427 : {
5428 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5429 0 : rtx x2, x3, x4, x5, x6;
5430 0 : int res ATTRIBUTE_UNUSED;
5431 0 : if (!register_operand (operands[0], i1)
5432 0 : || GET_MODE (x1) != i1)
5433 : return -1;
5434 0 : x2 = XVECEXP (x1, 0, 0);
5435 0 : if (GET_MODE (x2) != i1)
5436 : return -1;
5437 0 : x3 = XEXP (x2, 0);
5438 0 : if (GET_MODE (x3) != i1)
5439 : return -1;
5440 0 : x4 = XEXP (x3, 0);
5441 0 : if (GET_MODE (x4) != i1
5442 0 : || !register_operand (operands[1], i1)
5443 0 : || !register_operand (operands[2], i1))
5444 0 : return -1;
5445 0 : x5 = XEXP (x3, 2);
5446 0 : if (GET_MODE (x5) != i1
5447 0 : || !nonimmediate_operand (operands[3], i1)
5448 0 : || !register_operand (operands[4], i2))
5449 0 : return -1;
5450 0 : x6 = XEXP (x2, 1);
5451 0 : if (!rtx_equal_p (x6, operands[3]))
5452 : return -1;
5453 : return 0;
5454 : }
5455 :
5456 : int
5457 126 : pattern1626 (rtx x1, machine_mode i1, machine_mode i2)
5458 : {
5459 126 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5460 126 : rtx x2, x3;
5461 126 : int res ATTRIBUTE_UNUSED;
5462 126 : if (!register_operand (operands[0], i2)
5463 123 : || GET_MODE (x1) != i2
5464 123 : || !register_operand (operands[6], E_QImode)
5465 155 : || !vsib_mem_operator (operands[5], i1))
5466 97 : return -1;
5467 29 : x2 = XVECEXP (x1, 0, 2);
5468 29 : x3 = XEXP (x2, 0);
5469 29 : switch (GET_MODE (x3))
5470 : {
5471 0 : case E_SImode:
5472 0 : return pattern1625 (
5473 0 : E_SImode); /* [-1, 1] */
5474 :
5475 29 : case E_DImode:
5476 29 : res = pattern1625 (
5477 : E_DImode);
5478 29 : if (res >= 0)
5479 17 : return res + 2; /* [2, 3] */
5480 : return -1;
5481 :
5482 : default:
5483 : return -1;
5484 : }
5485 : }
5486 :
5487 : int
5488 13 : pattern1638 (rtx x1, machine_mode i1)
5489 : {
5490 13 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5491 13 : rtx x2, x3, x4, x5, x6;
5492 13 : int res ATTRIBUTE_UNUSED;
5493 13 : if (!nonimmediate_operand (operands[1], i1)
5494 13 : || !general_operand (operands[2], i1)
5495 25 : || !nonimmediate_operand (operands[0], i1))
5496 1 : return -1;
5497 12 : x2 = XVECEXP (x1, 0, 1);
5498 12 : x3 = XEXP (x2, 1);
5499 12 : if (GET_MODE (x3) != i1)
5500 : return -1;
5501 12 : x4 = XVECEXP (x1, 0, 0);
5502 12 : x5 = XEXP (x4, 1);
5503 12 : x6 = XEXP (x5, 1);
5504 12 : if (!rtx_equal_p (x6, operands[2]))
5505 : return -1;
5506 : return 0;
5507 : }
5508 :
5509 : int
5510 1700 : pattern1648 (rtx x1, machine_mode i1)
5511 : {
5512 1700 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5513 1700 : rtx x2, x3, x4;
5514 1700 : int res ATTRIBUTE_UNUSED;
5515 1700 : if (!nonmemory_operand (operands[1], i1))
5516 : return -1;
5517 1700 : operands[3] = x1;
5518 1700 : if (!register_operand (operands[3], i1))
5519 : return -1;
5520 8 : x2 = PATTERN (peep2_next_insn (1));
5521 8 : x3 = XEXP (x2, 1);
5522 8 : if (!rtx_equal_p (x3, operands[3]))
5523 : return -1;
5524 8 : x4 = XEXP (x2, 0);
5525 8 : if (!rtx_equal_p (x4, operands[0]))
5526 : return -1;
5527 : return 0;
5528 : }
5529 :
5530 : int
5531 890 : pattern1656 (rtx x1, machine_mode i1, machine_mode i2)
5532 : {
5533 890 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5534 890 : rtx x2, x3, x4;
5535 890 : int res ATTRIBUTE_UNUSED;
5536 890 : if (!register_operand (operands[0], i1)
5537 890 : || GET_MODE (x1) != i1)
5538 : return -1;
5539 840 : x2 = XEXP (x1, 0);
5540 840 : if (GET_MODE (x2) != i1)
5541 : return -1;
5542 840 : x3 = XEXP (x2, 0);
5543 840 : if (GET_MODE (x3) != i2)
5544 : return -1;
5545 840 : x4 = XEXP (x1, 1);
5546 840 : if (!nonimm_or_0_operand (x4, i1))
5547 : return -1;
5548 : return 0;
5549 : }
5550 :
5551 : int
5552 725 : pattern1663 (rtx x1, machine_mode i1, machine_mode i2)
5553 : {
5554 725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5555 725 : rtx x2, x3;
5556 725 : int res ATTRIBUTE_UNUSED;
5557 725 : if (!register_operand (operands[0], i2)
5558 725 : || GET_MODE (x1) != i2)
5559 : return -1;
5560 705 : x2 = XVECEXP (x1, 0, 0);
5561 705 : if (GET_MODE (x2) != i2)
5562 : return -1;
5563 705 : x3 = XEXP (x2, 0);
5564 705 : if (GET_MODE (x3) != i2
5565 705 : || !register_operand (operands[1], i2)
5566 700 : || !register_operand (operands[2], i2)
5567 696 : || !register_operand (operands[3], i2)
5568 696 : || !const0_operand (operands[4], i2)
5569 1401 : || !register_operand (operands[5], i1))
5570 19 : return -1;
5571 : return 0;
5572 : }
5573 :
5574 : int
5575 115 : pattern1673 (machine_mode i1)
5576 : {
5577 115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5578 115 : int res ATTRIBUTE_UNUSED;
5579 115 : if (!vsib_address_operand (operands[4], i1))
5580 : return -1;
5581 115 : switch (GET_MODE (operands[3]))
5582 : {
5583 82 : case E_V4SImode:
5584 82 : if (!register_operand (operands[3], E_V4SImode))
5585 : return -1;
5586 : return 0;
5587 :
5588 33 : case E_V4DImode:
5589 33 : if (!register_operand (operands[3], E_V4DImode))
5590 : return -1;
5591 : return 1;
5592 :
5593 : default:
5594 : return -1;
5595 : }
5596 : }
5597 :
5598 : int
5599 22 : pattern1681 (rtx x1, machine_mode i1)
5600 : {
5601 22 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5602 22 : rtx x2, x3, x4;
5603 22 : int res ATTRIBUTE_UNUSED;
5604 22 : x2 = XVECEXP (x1, 0, 0);
5605 22 : x3 = XEXP (x2, 0);
5606 22 : if (GET_MODE (x3) != i1)
5607 : return -1;
5608 22 : x4 = XEXP (x2, 1);
5609 22 : if (GET_MODE (x4) != i1)
5610 : return -1;
5611 22 : switch (GET_MODE (operands[2]))
5612 : {
5613 10 : case E_SImode:
5614 10 : return pattern1680 (x1,
5615 10 : E_SImode); /* [-1, 0] */
5616 :
5617 12 : case E_DImode:
5618 12 : if (pattern1680 (x1,
5619 : E_DImode) != 0)
5620 : return -1;
5621 : return 1;
5622 :
5623 : default:
5624 : return -1;
5625 : }
5626 : }
5627 :
5628 : int
5629 1336 : pattern1692 (rtx x1, machine_mode i1)
5630 : {
5631 1336 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5632 1336 : rtx x2, x3, x4, x5;
5633 1336 : int res ATTRIBUTE_UNUSED;
5634 1336 : if (!register_operand (operands[0], i1)
5635 1336 : || GET_MODE (x1) != i1)
5636 : return -1;
5637 1296 : x2 = XVECEXP (x1, 0, 0);
5638 1296 : if (GET_MODE (x2) != i1)
5639 : return -1;
5640 1296 : x3 = XEXP (x2, 0);
5641 1296 : if (GET_MODE (x3) != i1)
5642 : return -1;
5643 1296 : x4 = XEXP (x3, 0);
5644 1296 : if (GET_MODE (x4) != i1
5645 1296 : || !register_operand (operands[2], i1))
5646 15 : return -1;
5647 1281 : x5 = XEXP (x4, 2);
5648 1281 : if (GET_MODE (x5) != i1)
5649 : return -1;
5650 : return 0;
5651 : }
5652 :
5653 : int
5654 516 : pattern1701 (rtx x1)
5655 : {
5656 516 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5657 516 : rtx x2, x3, x4, x5, x6, x7, x8;
5658 516 : int res ATTRIBUTE_UNUSED;
5659 516 : if (!register_operand (operands[0], E_DImode))
5660 : return -1;
5661 516 : x2 = XEXP (x1, 0);
5662 516 : x3 = XEXP (x2, 0);
5663 516 : operands[1] = x3;
5664 516 : if (!nonimmediate_operand (operands[1], E_DImode))
5665 : return -1;
5666 516 : x4 = XEXP (x1, 1);
5667 516 : if (GET_MODE (x4) != E_DImode)
5668 : return -1;
5669 516 : x5 = XEXP (x4, 0);
5670 516 : if (GET_MODE (x5) != E_TImode)
5671 : return -1;
5672 516 : x6 = XEXP (x5, 0);
5673 516 : if (GET_MODE (x6) != E_TImode)
5674 : return -1;
5675 516 : x7 = XEXP (x6, 0);
5676 516 : operands[2] = x7;
5677 516 : if (!register_operand (operands[2], E_DImode))
5678 : return -1;
5679 516 : x8 = XEXP (x5, 1);
5680 516 : operands[4] = x8;
5681 516 : if (!const_0_to_255_operand (operands[4], E_QImode))
5682 : return -1;
5683 : return 0;
5684 : }
5685 :
5686 : int
5687 4423 : pattern1712 (rtx x1)
5688 : {
5689 4423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5690 4423 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5691 4423 : rtx x10, x11;
5692 4423 : int res ATTRIBUTE_UNUSED;
5693 4423 : x2 = XVECEXP (x1, 0, 0);
5694 4423 : x3 = XEXP (x2, 1);
5695 4423 : x4 = XVECEXP (x3, 0, 1);
5696 4423 : operands[4] = x4;
5697 4423 : if (!const_int_operand (operands[4], E_SImode))
5698 : return -1;
5699 4423 : x5 = XEXP (x2, 0);
5700 4423 : if (!rtx_equal_p (x5, operands[0]))
5701 : return -1;
5702 4423 : x6 = XVECEXP (x1, 0, 1);
5703 4423 : x7 = XEXP (x6, 1);
5704 4423 : x8 = XEXP (x7, 0);
5705 4423 : if (!rtx_equal_p (x8, operands[1]))
5706 : return -1;
5707 4423 : x9 = XEXP (x7, 1);
5708 4423 : if (!rtx_equal_p (x9, operands[0]))
5709 : return -1;
5710 4423 : x10 = XEXP (x6, 0);
5711 4423 : if (!rtx_equal_p (x10, operands[1]))
5712 : return -1;
5713 4423 : x11 = PATTERN (peep2_next_insn (2));
5714 4423 : return pattern1546 (x11); /* [-1, 0] */
5715 : }
5716 :
5717 : int
5718 448 : pattern1725 (rtx x1, machine_mode i1, machine_mode i2)
5719 : {
5720 448 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5721 448 : rtx x2, x3;
5722 448 : int res ATTRIBUTE_UNUSED;
5723 448 : if (!register_operand (operands[0], i1)
5724 413 : || GET_MODE (x1) != i1
5725 413 : || !vsib_mem_operator (operands[6], i2)
5726 861 : || !register_operand (operands[4], i1))
5727 296 : return -1;
5728 152 : x2 = XVECEXP (x1, 0, 1);
5729 152 : x3 = XEXP (x2, 0);
5730 152 : switch (GET_MODE (x3))
5731 : {
5732 0 : case E_SImode:
5733 0 : return pattern1724 (
5734 0 : E_SImode); /* [-1, 1] */
5735 :
5736 152 : case E_DImode:
5737 152 : res = pattern1724 (
5738 : E_DImode);
5739 152 : if (res >= 0)
5740 34 : return res + 2; /* [2, 3] */
5741 : return -1;
5742 :
5743 : default:
5744 : return -1;
5745 : }
5746 : }
5747 :
5748 : int
5749 829 : pattern1736 (rtx x1, machine_mode i1, machine_mode i2)
5750 : {
5751 829 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5752 829 : int res ATTRIBUTE_UNUSED;
5753 829 : if (!register_operand (operands[6], i1)
5754 829 : || !register_operand (operands[2], i2)
5755 1608 : || !scratch_operand (operands[1], i1))
5756 50 : return -1;
5757 779 : switch (GET_MODE (x1))
5758 : {
5759 0 : case E_SImode:
5760 0 : if (!vsib_address_operand (operands[3], E_SImode))
5761 : return -1;
5762 : return 0;
5763 :
5764 779 : case E_DImode:
5765 779 : if (!vsib_address_operand (operands[3], E_DImode))
5766 : return -1;
5767 : return 1;
5768 :
5769 : default:
5770 : return -1;
5771 : }
5772 : }
5773 :
5774 : int
5775 308 : pattern1745 (rtx x1, machine_mode i1, machine_mode i2)
5776 : {
5777 308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5778 308 : rtx x2, x3;
5779 308 : int res ATTRIBUTE_UNUSED;
5780 308 : if (!register_operand (operands[0], i2)
5781 304 : || GET_MODE (x1) != i2
5782 304 : || !register_operand (operands[6], E_QImode)
5783 214 : || !vsib_mem_operator (operands[5], i1)
5784 522 : || !scratch_operand (operands[1], E_QImode))
5785 94 : return -1;
5786 214 : x2 = XVECEXP (x1, 0, 2);
5787 214 : x3 = XEXP (x2, 0);
5788 214 : switch (GET_MODE (x3))
5789 : {
5790 0 : case E_SImode:
5791 0 : return pattern1744 (
5792 0 : E_SImode); /* [-1, 1] */
5793 :
5794 214 : case E_DImode:
5795 214 : res = pattern1744 (
5796 : E_DImode);
5797 214 : if (res >= 0)
5798 208 : return res + 2; /* [2, 3] */
5799 : return -1;
5800 :
5801 : default:
5802 : return -1;
5803 : }
5804 : }
5805 :
5806 : int
5807 354 : pattern1757 (rtx x1, machine_mode i1)
5808 : {
5809 354 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5810 354 : rtx x2, x3, x4, x5;
5811 354 : int res ATTRIBUTE_UNUSED;
5812 354 : if (!register_operand (operands[0], i1)
5813 354 : || GET_MODE (x1) != i1)
5814 : return -1;
5815 346 : x2 = XVECEXP (x1, 0, 0);
5816 346 : if (GET_MODE (x2) != i1)
5817 : return -1;
5818 346 : x3 = XEXP (x2, 0);
5819 346 : if (GET_MODE (x3) != i1)
5820 : return -1;
5821 346 : x4 = XEXP (x3, 0);
5822 346 : if (GET_MODE (x4) != i1)
5823 : return -1;
5824 346 : x5 = XEXP (x4, 0);
5825 346 : if (GET_MODE (x5) != i1
5826 346 : || !register_operand (operands[2], i1)
5827 341 : || !nonimmediate_operand (operands[1], i1)
5828 341 : || !register_operand (operands[3], i1)
5829 686 : || !const0_operand (operands[4], i1))
5830 6 : return -1;
5831 : return 0;
5832 : }
5833 :
5834 : int
5835 616 : pattern1766 (rtx x1, machine_mode i1, machine_mode i2)
5836 : {
5837 616 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5838 616 : rtx x2, x3;
5839 616 : int res ATTRIBUTE_UNUSED;
5840 616 : if (!register_operand (operands[0], i2)
5841 612 : || GET_MODE (x1) != i2
5842 612 : || !register_operand (operands[1], i2)
5843 612 : || !register_operand (operands[7], E_QImode)
5844 574 : || !vsib_mem_operator (operands[6], i1)
5845 1190 : || !scratch_operand (operands[2], E_QImode))
5846 42 : return -1;
5847 574 : x2 = XVECEXP (x1, 0, 2);
5848 574 : x3 = XEXP (x2, 0);
5849 574 : switch (GET_MODE (x3))
5850 : {
5851 0 : case E_SImode:
5852 0 : return pattern1765 (
5853 0 : E_SImode); /* [-1, 1] */
5854 :
5855 574 : case E_DImode:
5856 574 : res = pattern1765 (
5857 : E_DImode);
5858 574 : if (res >= 0)
5859 543 : return res + 2; /* [2, 3] */
5860 : return -1;
5861 :
5862 : default:
5863 : return -1;
5864 : }
5865 : }
5866 :
5867 : int
5868 755 : pattern1779 (rtx x1, machine_mode i1, machine_mode i2)
5869 : {
5870 755 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5871 755 : rtx x2, x3;
5872 755 : int res ATTRIBUTE_UNUSED;
5873 755 : if (!register_operand (operands[0], i1)
5874 755 : || GET_MODE (x1) != i1)
5875 : return -1;
5876 688 : x2 = XEXP (x1, 0);
5877 688 : if (GET_MODE (x2) != i1)
5878 : return -1;
5879 688 : x3 = XEXP (x2, 0);
5880 688 : if (GET_MODE (x3) != i2
5881 688 : || !register_operand (operands[1], i1)
5882 688 : || !nonimmediate_operand (operands[2], i1)
5883 671 : || !const_0_to_7_operand (operands[3], E_VOIDmode)
5884 671 : || !const_0_to_7_operand (operands[4], E_VOIDmode)
5885 643 : || !const_0_to_7_operand (operands[5], E_VOIDmode)
5886 643 : || !const_0_to_7_operand (operands[6], E_VOIDmode)
5887 643 : || !const_8_to_15_operand (operands[7], E_VOIDmode)
5888 643 : || !const_8_to_15_operand (operands[8], E_VOIDmode)
5889 643 : || !const_8_to_15_operand (operands[9], E_VOIDmode)
5890 643 : || !const_8_to_15_operand (operands[10], E_VOIDmode)
5891 1331 : || !nonimm_or_0_operand (operands[11], i1))
5892 52 : return -1;
5893 : return 0;
5894 : }
5895 :
5896 : int
5897 813 : pattern1795 (machine_mode i1)
5898 : {
5899 813 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5900 813 : int res ATTRIBUTE_UNUSED;
5901 813 : if (!vsib_address_operand (operands[0], i1))
5902 : return -1;
5903 794 : switch (GET_MODE (operands[2]))
5904 : {
5905 400 : case E_V16SImode:
5906 400 : return pattern1793 (
5907 : E_HImode,
5908 : E_V16SFmode,
5909 400 : E_V16SImode); /* [-1, 0] */
5910 :
5911 394 : case E_V8DImode:
5912 394 : if (pattern1793 (
5913 : E_QImode,
5914 : E_V8SFmode,
5915 : E_V8DImode) != 0)
5916 : return -1;
5917 : return 1;
5918 :
5919 : default:
5920 : return -1;
5921 : }
5922 : }
5923 :
5924 : int
5925 24661 : pattern1803 (rtx x1, machine_mode i1)
5926 : {
5927 24661 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5928 24661 : int res ATTRIBUTE_UNUSED;
5929 24661 : if (!register_operand (operands[1], i1)
5930 24661 : || !register_operand (operands[0], i1)
5931 24661 : || GET_MODE (x1) != i1
5932 24661 : || !register_operand (operands[3], i1)
5933 49322 : || !register_operand (operands[4], i1))
5934 4700 : return -1;
5935 : return 0;
5936 : }
5937 :
5938 : int
5939 718 : pattern1809 (rtx x1, int i1, int i2, int i3, int i4)
5940 : {
5941 718 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5942 718 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5943 718 : int res ATTRIBUTE_UNUSED;
5944 718 : x2 = XVECEXP (x1, 0, 12);
5945 718 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5946 : return -1;
5947 718 : x3 = XVECEXP (x1, 0, 13);
5948 718 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5949 : return -1;
5950 718 : x4 = XVECEXP (x1, 0, 14);
5951 718 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5952 : return -1;
5953 718 : x5 = XVECEXP (x1, 0, 15);
5954 718 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5955 : return -1;
5956 718 : x6 = XVECEXP (x1, 0, 16);
5957 718 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
5958 : return -1;
5959 718 : x7 = XVECEXP (x1, 0, 17);
5960 718 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
5961 : return -1;
5962 718 : x8 = XVECEXP (x1, 0, 18);
5963 718 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
5964 : return -1;
5965 718 : x9 = XVECEXP (x1, 0, 19);
5966 718 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
5967 0 : return -1;
5968 : return 0;
5969 : }
5970 :
5971 : int
5972 3551 : pattern1823 (rtx x1, machine_mode i1)
5973 : {
5974 3551 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5975 3551 : rtx x2, x3, x4, x5, x6, x7;
5976 3551 : int res ATTRIBUTE_UNUSED;
5977 3551 : x2 = XVECEXP (x1, 0, 0);
5978 3551 : x3 = XEXP (x2, 1);
5979 3551 : x4 = XEXP (x3, 0);
5980 3551 : x5 = XEXP (x4, 0);
5981 3551 : if (GET_MODE (x5) != i1
5982 3551 : || !ix86_carry_flag_operator (operands[4], i1)
5983 7102 : || !nonimmediate_operand (operands[1], i1))
5984 0 : return -1;
5985 3551 : x6 = XVECEXP (x1, 0, 1);
5986 3551 : x7 = XEXP (x6, 1);
5987 3551 : return pattern1822 (x7,
5988 3551 : i1); /* [-1, 0] */
5989 : }
5990 :
5991 : int
5992 190 : pattern1831 (rtx x1, int i1, int i2, int i3, int i4, int i5)
5993 : {
5994 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5995 190 : rtx x2, x3, x4, x5, x6;
5996 190 : int res ATTRIBUTE_UNUSED;
5997 190 : x2 = XVECEXP (x1, 0, 17);
5998 190 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
5999 : return -1;
6000 190 : x3 = XVECEXP (x1, 0, 18);
6001 190 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6002 : return -1;
6003 190 : x4 = XVECEXP (x1, 0, 19);
6004 190 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6005 : return -1;
6006 190 : x5 = XVECEXP (x1, 0, 20);
6007 190 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6008 : return -1;
6009 190 : x6 = XVECEXP (x1, 0, 21);
6010 190 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6011 0 : return -1;
6012 : return 0;
6013 : }
6014 :
6015 : int
6016 246 : pattern1842 (rtx x1, machine_mode i1)
6017 : {
6018 246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6019 246 : int res ATTRIBUTE_UNUSED;
6020 246 : if (!register_operand (operands[5], i1))
6021 : return -1;
6022 110 : switch (GET_MODE (x1))
6023 : {
6024 0 : case E_SImode:
6025 0 : if (!vsib_address_operand (operands[3], E_SImode))
6026 : return -1;
6027 : return 0;
6028 :
6029 110 : case E_DImode:
6030 110 : if (!vsib_address_operand (operands[3], E_DImode))
6031 : return -1;
6032 : return 1;
6033 :
6034 : default:
6035 : return -1;
6036 : }
6037 : }
6038 :
6039 : int
6040 8724 : pattern1850 (rtx x1)
6041 : {
6042 8724 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6043 8724 : rtx x2, x3, x4, x5;
6044 8724 : int res ATTRIBUTE_UNUSED;
6045 8724 : x2 = XEXP (x1, 1);
6046 8724 : if (GET_CODE (x2) != COMPARE)
6047 : return -1;
6048 2678 : x3 = XEXP (x2, 1);
6049 2678 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6050 : return -1;
6051 377 : x4 = XEXP (x1, 0);
6052 377 : if (GET_CODE (x4) != REG
6053 377 : || REGNO (x4) != 17)
6054 : return -1;
6055 377 : x5 = XEXP (x2, 0);
6056 377 : if (!rtx_equal_p (x5, operands[0]))
6057 : return -1;
6058 : return 0;
6059 : }
6060 :
6061 : int
6062 82239 : pattern1856 (rtx x1, machine_mode i1)
6063 : {
6064 82239 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6065 82239 : rtx x2, x3, x4, x5;
6066 82239 : int res ATTRIBUTE_UNUSED;
6067 82239 : if (!register_operand (operands[2], i1)
6068 82239 : || !register_operand (operands[0], i1))
6069 0 : return -1;
6070 82239 : x2 = XVECEXP (x1, 0, 1);
6071 82239 : x3 = XEXP (x2, 1);
6072 82239 : if (GET_MODE (x3) != i1
6073 82239 : || !register_operand (operands[3], i1)
6074 82239 : || !register_operand (operands[5], i1)
6075 158061 : || !register_operand (operands[1], i1))
6076 6417 : return -1;
6077 75822 : x4 = XVECEXP (x1, 0, 2);
6078 75822 : x5 = XEXP (x4, 1);
6079 75822 : if (GET_MODE (x5) != i1
6080 75822 : || !register_operand (operands[4], i1))
6081 913 : return -1;
6082 : return 0;
6083 : }
6084 :
6085 : int
6086 194 : pattern1864 (machine_mode i1)
6087 : {
6088 194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6089 194 : int res ATTRIBUTE_UNUSED;
6090 194 : if (!vsib_address_operand (operands[2], i1))
6091 : return -1;
6092 186 : switch (GET_MODE (operands[3]))
6093 : {
6094 106 : case E_V8SImode:
6095 106 : if (!register_operand (operands[3], E_V8SImode)
6096 106 : || !register_operand (operands[4], E_V8SImode))
6097 40 : return -1;
6098 : return 0;
6099 :
6100 80 : case E_V4DImode:
6101 80 : if (!register_operand (operands[3], E_V4DImode)
6102 80 : || !register_operand (operands[4], E_V4SImode))
6103 16 : return -1;
6104 : return 1;
6105 :
6106 : default:
6107 : return -1;
6108 : }
6109 : }
6110 :
6111 : int
6112 37322 : pattern1871 (rtx x1, machine_mode i1, machine_mode i2)
6113 : {
6114 37322 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6115 37322 : rtx x2, x3, x4, x5, x6, x7, x8;
6116 37322 : int res ATTRIBUTE_UNUSED;
6117 37322 : if (!nonimmediate_operand (operands[1], i1))
6118 : return -1;
6119 37322 : x2 = XVECEXP (x1, 0, 0);
6120 37322 : x3 = XEXP (x2, 1);
6121 37322 : x4 = XEXP (x3, 1);
6122 37322 : if (GET_MODE (x4) != i2
6123 37322 : || !ix86_carry_flag_operator (operands[4], i2))
6124 0 : return -1;
6125 37322 : x5 = XEXP (x4, 1);
6126 37322 : if (GET_MODE (x5) != i2
6127 37322 : || !nonimmediate_operand (operands[2], i1)
6128 72995 : || !nonimmediate_operand (operands[0], i1))
6129 1649 : return -1;
6130 35673 : x6 = XVECEXP (x1, 0, 1);
6131 35673 : x7 = XEXP (x6, 1);
6132 35673 : if (GET_MODE (x7) != i1)
6133 : return -1;
6134 35673 : x8 = XEXP (x7, 0);
6135 35673 : if (GET_MODE (x8) != i1
6136 35673 : || !ix86_carry_flag_operator (operands[5], i1))
6137 0 : return -1;
6138 : return 0;
6139 : }
6140 :
6141 : int
6142 38 : pattern1881 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6143 : {
6144 38 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6145 38 : rtx x2, x3, x4;
6146 38 : int res ATTRIBUTE_UNUSED;
6147 38 : if (!register_operand (operands[0], i2)
6148 38 : || GET_MODE (x1) != i2)
6149 : return -1;
6150 36 : x2 = XEXP (x1, 0);
6151 36 : if (GET_MODE (x2) != i1
6152 36 : || !register_operand (operands[2], i2)
6153 36 : || !vsib_mem_operator (operands[7], i3)
6154 36 : || !register_operand (operands[5], i2)
6155 68 : || !scratch_operand (operands[1], i1))
6156 4 : return -1;
6157 32 : x3 = XVECEXP (x2, 0, 1);
6158 32 : x4 = XEXP (x3, 0);
6159 32 : switch (GET_MODE (x4))
6160 : {
6161 0 : case E_SImode:
6162 0 : if (!vsib_address_operand (operands[3], E_SImode))
6163 : return -1;
6164 : return 0;
6165 :
6166 32 : case E_DImode:
6167 32 : if (!vsib_address_operand (operands[3], E_DImode))
6168 : return -1;
6169 : return 1;
6170 :
6171 : default:
6172 : return -1;
6173 : }
6174 : }
6175 :
6176 : int
6177 24 : pattern1890 (rtx x1, machine_mode i1)
6178 : {
6179 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6180 24 : rtx x2, x3, x4, x5, x6, x7, x8;
6181 24 : int res ATTRIBUTE_UNUSED;
6182 24 : if (!x86_64_general_operand (operands[1], i1))
6183 : return -1;
6184 24 : x2 = XVECEXP (x1, 0, 1);
6185 24 : x3 = XEXP (x2, 1);
6186 24 : if (XINT (x3, 1) != 112
6187 24 : || GET_MODE (x3) != i1)
6188 : return -1;
6189 24 : x4 = XVECEXP (x1, 0, 2);
6190 24 : x5 = XEXP (x4, 1);
6191 24 : if (GET_CODE (x5) != COMPARE
6192 24 : || GET_MODE (x5) != E_CCmode
6193 24 : || !memory_operand (operands[2], i1)
6194 48 : || !register_operand (operands[3], i1))
6195 0 : return -1;
6196 24 : x6 = XEXP (x4, 0);
6197 24 : if (GET_MODE (x6) != E_CCmode)
6198 : return -1;
6199 24 : x7 = XEXP (x5, 0);
6200 24 : if (!rtx_equal_p (x7, operands[2]))
6201 : return -1;
6202 24 : x8 = XEXP (x5, 1);
6203 24 : if (!rtx_equal_p (x8, operands[0])
6204 24 : || !register_operand (operands[5], i1)
6205 48 : || !x86_64_general_operand (operands[6], i1))
6206 0 : return -1;
6207 : return 0;
6208 : }
6209 :
6210 : int
6211 17 : pattern1897 (rtx x1, machine_mode i1)
6212 : {
6213 17 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6214 17 : rtx x2, x3, x4, x5, x6, x7;
6215 17 : int res ATTRIBUTE_UNUSED;
6216 17 : if (!register_operand (operands[4], E_SImode)
6217 17 : || GET_MODE (x1) != E_SImode
6218 34 : || !nonmemory_operand (operands[2], E_SImode))
6219 0 : return -1;
6220 17 : x2 = PATTERN (peep2_next_insn (3));
6221 17 : x3 = XEXP (x2, 1);
6222 17 : operands[5] = x3;
6223 17 : if (!register_operand (operands[5], i1))
6224 : return -1;
6225 17 : x4 = PATTERN (peep2_next_insn (4));
6226 17 : x5 = XEXP (x4, 1);
6227 17 : x6 = XEXP (x5, 0);
6228 17 : operands[6] = x6;
6229 17 : x7 = XEXP (x5, 1);
6230 17 : operands[7] = x7;
6231 17 : return 0;
6232 : }
6233 :
6234 : int
6235 321 : pattern1905 (rtx x1, machine_mode i1, machine_mode i2)
6236 : {
6237 321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6238 321 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6239 321 : rtx x10, x11;
6240 321 : int res ATTRIBUTE_UNUSED;
6241 321 : x2 = XVECEXP (x1, 0, 0);
6242 321 : x3 = XEXP (x2, 1);
6243 321 : x4 = XEXP (x3, 0);
6244 321 : x5 = XEXP (x4, 0);
6245 321 : if (GET_MODE (x5) != i2
6246 321 : || !ix86_carry_flag_operator (operands[4], i2))
6247 0 : return -1;
6248 321 : x6 = XEXP (x5, 1);
6249 321 : if (GET_MODE (x6) != i2
6250 321 : || !nonimmediate_operand (operands[1], i1)
6251 642 : || !const_int_operand (operands[6], i2))
6252 0 : return -1;
6253 321 : x7 = XEXP (x3, 1);
6254 321 : if (GET_MODE (x7) != i2)
6255 : return -1;
6256 321 : x8 = XEXP (x7, 0);
6257 321 : if (GET_MODE (x8) != i1)
6258 : return -1;
6259 321 : x9 = XEXP (x8, 0);
6260 321 : if (GET_MODE (x9) != i1
6261 321 : || !ix86_carry_flag_operator (operands[5], i1))
6262 0 : return -1;
6263 321 : x10 = XVECEXP (x1, 0, 1);
6264 321 : x11 = XEXP (x10, 1);
6265 321 : return pattern1904 (x11,
6266 321 : i1); /* [-1, 0] */
6267 : }
6268 :
6269 : int
6270 1546 : pattern1914 (rtx x1)
6271 : {
6272 1546 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6273 1546 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6274 1546 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6275 1546 : int res ATTRIBUTE_UNUSED;
6276 1546 : x2 = XEXP (x1, 0);
6277 1546 : x3 = XEXP (x2, 0);
6278 1546 : x4 = XEXP (x3, 0);
6279 1546 : x5 = XEXP (x4, 0);
6280 1546 : x6 = XEXP (x5, 0);
6281 1546 : operands[1] = x6;
6282 1546 : if (!nonimmediate_operand (operands[1], E_V8HImode))
6283 : return -1;
6284 1351 : x7 = XEXP (x3, 1);
6285 1351 : x8 = XEXP (x7, 0);
6286 1351 : x9 = XEXP (x8, 0);
6287 1351 : operands[2] = x9;
6288 1351 : if (!nonimmediate_operand (operands[2], E_V8HImode))
6289 : return -1;
6290 1169 : x10 = XEXP (x1, 1);
6291 1169 : operands[3] = x10;
6292 1169 : if (!register_operand (operands[3], E_V4SImode))
6293 : return -1;
6294 1157 : x11 = XEXP (x2, 1);
6295 1157 : x12 = XEXP (x11, 0);
6296 1157 : x13 = XEXP (x12, 0);
6297 1157 : x14 = XEXP (x13, 0);
6298 1157 : if (!rtx_equal_p (x14, operands[1]))
6299 : return -1;
6300 1157 : x15 = XEXP (x11, 1);
6301 1157 : x16 = XEXP (x15, 0);
6302 1157 : x17 = XEXP (x16, 0);
6303 1157 : if (!rtx_equal_p (x17, operands[2]))
6304 : return -1;
6305 : return 0;
6306 : }
6307 :
6308 : int
6309 36227 : recog_5 (rtx x1 ATTRIBUTE_UNUSED,
6310 : rtx_insn *insn ATTRIBUTE_UNUSED,
6311 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6312 : {
6313 36227 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6314 36227 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6315 36227 : rtx x10;
6316 36227 : int res ATTRIBUTE_UNUSED;
6317 36227 : x2 = XEXP (x1, 1);
6318 36227 : x3 = XEXP (x2, 0);
6319 36227 : if (GET_MODE (x3) != E_QImode)
6320 : return -1;
6321 9975 : x4 = XEXP (x1, 0);
6322 9975 : if (GET_MODE (x4) != E_CCCmode
6323 8850 : || GET_MODE (x2) != E_CCCmode)
6324 : return -1;
6325 8850 : x5 = XEXP (x3, 0);
6326 8850 : if (GET_MODE (x5) != E_QImode)
6327 : return -1;
6328 8850 : x6 = XEXP (x2, 1);
6329 8850 : if (GET_MODE (x6) != E_QImode)
6330 : return -1;
6331 8850 : switch (GET_CODE (x5))
6332 : {
6333 39 : case LTU:
6334 39 : x7 = XEXP (x5, 0);
6335 39 : if (GET_CODE (x7) != REG
6336 39 : || REGNO (x7) != 17
6337 78 : || GET_MODE (x7) != E_CCCmode)
6338 : return -1;
6339 3 : x8 = XEXP (x5, 1);
6340 3 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
6341 3 : || GET_CODE (x6) != GEU)
6342 : return -1;
6343 3 : x9 = XEXP (x6, 0);
6344 3 : if (GET_CODE (x9) != REG
6345 3 : || REGNO (x9) != 17
6346 6 : || GET_MODE (x9) != E_CCCmode)
6347 : return -1;
6348 3 : x10 = XEXP (x6, 1);
6349 3 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6350 : return -1;
6351 : return 68; /* *x86_cmc */
6352 :
6353 8354 : case GEU:
6354 8354 : x7 = XEXP (x5, 0);
6355 8354 : if (GET_CODE (x7) != REG
6356 8354 : || REGNO (x7) != 17)
6357 : return -1;
6358 8021 : x8 = XEXP (x5, 1);
6359 8021 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
6360 8021 : || GET_CODE (x6) != LTU)
6361 : return -1;
6362 8021 : x9 = XEXP (x6, 0);
6363 8021 : if (GET_CODE (x9) != REG
6364 8021 : || REGNO (x9) != 17)
6365 : return -1;
6366 8021 : x10 = XEXP (x6, 1);
6367 8021 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6368 : return -1;
6369 8021 : switch (GET_MODE (x7))
6370 : {
6371 759 : case E_CCmode:
6372 759 : if (GET_MODE (x9) != E_CCmode
6373 1518 : || !
6374 : #line 10216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6375 : (ix86_pre_reload_split ()))
6376 : return -1;
6377 : return 555; /* *setcc_qi_addqi3_cconly_overflow_1_cc */
6378 :
6379 : case E_CCCmode:
6380 : if (GET_MODE (x9) != E_CCCmode
6381 : || !
6382 : #line 10216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6383 : (ix86_pre_reload_split ()))
6384 : return -1;
6385 : return 556; /* *setcc_qi_addqi3_cconly_overflow_1_ccc */
6386 :
6387 : default:
6388 : return -1;
6389 : }
6390 :
6391 : default:
6392 : return -1;
6393 : }
6394 : }
6395 :
6396 : int
6397 : recog_11 (rtx x1 ATTRIBUTE_UNUSED,
6398 : rtx_insn *insn ATTRIBUTE_UNUSED,
6399 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6400 : {
6401 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6402 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6403 : rtx x10, x11;
6404 : int res ATTRIBUTE_UNUSED;
6405 : x2 = XEXP (x1, 1);
6406 : if (GET_MODE (x2) != E_CCFPmode)
6407 : return -1;
6408 : x3 = XVECEXP (x2, 0, 0);
6409 : if (GET_CODE (x3) != VEC_SELECT)
6410 : return -1;
6411 : x4 = XEXP (x3, 1);
6412 : if (GET_CODE (x4) != PARALLEL
6413 : || XVECLEN (x4, 0) != 1)
6414 : return -1;
6415 : x5 = XVECEXP (x4, 0, 0);
6416 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6417 : return -1;
6418 : x6 = XVECEXP (x2, 0, 1);
6419 : if (GET_CODE (x6) != VEC_SELECT)
6420 : return -1;
6421 : x7 = XEXP (x6, 1);
6422 : if (GET_CODE (x7) != PARALLEL
6423 : || XVECLEN (x7, 0) != 1)
6424 : return -1;
6425 : x8 = XVECEXP (x7, 0, 0);
6426 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6427 : return -1;
6428 : x9 = XEXP (x1, 0);
6429 : if (GET_CODE (x9) != REG
6430 : || REGNO (x9) != 17
6431 : || GET_MODE (x9) != E_CCFPmode)
6432 : return -1;
6433 : x10 = XEXP (x3, 0);
6434 : operands[0] = x10;
6435 : x11 = XEXP (x6, 0);
6436 : operands[1] = x11;
6437 : switch (GET_MODE (x3))
6438 : {
6439 : case E_HFmode:
6440 : if (!register_operand (operands[0], E_V8HFmode)
6441 : || GET_MODE (x6) != E_HFmode
6442 : || !nonimmediate_operand (operands[1], E_V8HFmode)
6443 : || !(
6444 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6445 : (TARGET_AVX10_2) &&
6446 : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6447 : (TARGET_AVX512FP16)))
6448 : return -1;
6449 : return 3740; /* avx10_2_comxhf */
6450 :
6451 : case E_SFmode:
6452 : if (!register_operand (operands[0], E_V4SFmode)
6453 : || GET_MODE (x6) != E_SFmode
6454 : || !nonimmediate_operand (operands[1], E_V4SFmode)
6455 : || !
6456 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6457 : (TARGET_AVX10_2))
6458 : return -1;
6459 : return 3744; /* avx10_2_comxsf */
6460 :
6461 : case E_DFmode:
6462 : if (!register_operand (operands[0], E_V2DFmode)
6463 : || GET_MODE (x6) != E_DFmode
6464 : || !nonimmediate_operand (operands[1], E_V2DFmode)
6465 : || !
6466 : #line 5208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6467 : (TARGET_AVX10_2))
6468 : return -1;
6469 : return 3748; /* avx10_2_comxdf */
6470 :
6471 : default:
6472 : return -1;
6473 : }
6474 : }
6475 :
6476 : int
6477 : recog_13 (rtx x1 ATTRIBUTE_UNUSED,
6478 : rtx_insn *insn ATTRIBUTE_UNUSED,
6479 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6480 : {
6481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6482 : rtx x2, x3, x4, x5, x6;
6483 : int res ATTRIBUTE_UNUSED;
6484 : x2 = XEXP (x1, 1);
6485 : switch (XINT (x2, 1))
6486 : {
6487 : case 106:
6488 : if (GET_MODE (x2) != E_TImode)
6489 : return -1;
6490 : x3 = XEXP (x1, 0);
6491 : operands[0] = x3;
6492 : if (!push_operand (operands[0], E_TImode))
6493 : return -1;
6494 : x4 = XVECEXP (x2, 0, 0);
6495 : operands[1] = x4;
6496 : if (!register_operand (operands[1], E_DImode))
6497 : return -1;
6498 : x5 = XVECEXP (x2, 0, 1);
6499 : operands[2] = x5;
6500 : if (!register_operand (operands[2], E_DImode)
6501 : || !
6502 : #line 3900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6503 : (TARGET_APX_PUSH2POP2))
6504 : return -1;
6505 : return 163; /* push2_di */
6506 :
6507 : case 41:
6508 : if (GET_MODE (x2) != E_CCCmode
6509 : || pattern254 (x1) != 0)
6510 : return -1;
6511 : x4 = XVECEXP (x2, 0, 0);
6512 : switch (GET_CODE (x4))
6513 : {
6514 : case LTU:
6515 : if (pattern724 (x4) != 0)
6516 : return -1;
6517 : x6 = XEXP (x4, 0);
6518 : switch (GET_MODE (x6))
6519 : {
6520 : case E_CCmode:
6521 : if (!
6522 : #line 10247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6523 : (ix86_pre_reload_split ()))
6524 : return -1;
6525 : return 560; /* *setcc_qi_negqi_ccc_2_cc */
6526 :
6527 : case E_CCCmode:
6528 : if (!
6529 : #line 10247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6530 : (ix86_pre_reload_split ()))
6531 : return -1;
6532 : return 561; /* *setcc_qi_negqi_ccc_2_ccc */
6533 :
6534 : default:
6535 : return -1;
6536 : }
6537 :
6538 : case REG:
6539 : case SUBREG:
6540 : case MEM:
6541 : if (pnum_clobbers == NULL)
6542 : return -1;
6543 : operands[1] = x4;
6544 : switch (GET_MODE (operands[1]))
6545 : {
6546 : case E_QImode:
6547 : if (!nonimmediate_operand (operands[1], E_QImode))
6548 : return -1;
6549 : *pnum_clobbers = 1;
6550 : return 1016; /* *negqi_ccc_2 */
6551 :
6552 : case E_HImode:
6553 : if (!nonimmediate_operand (operands[1], E_HImode))
6554 : return -1;
6555 : *pnum_clobbers = 1;
6556 : return 1017; /* *neghi_ccc_2 */
6557 :
6558 : case E_SImode:
6559 : if (!nonimmediate_operand (operands[1], E_SImode))
6560 : return -1;
6561 : *pnum_clobbers = 1;
6562 : return 1018; /* *negsi_ccc_2 */
6563 :
6564 : case E_DImode:
6565 : if (!nonimmediate_operand (operands[1], E_DImode)
6566 : || !
6567 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6568 : (TARGET_64BIT))
6569 : return -1;
6570 : *pnum_clobbers = 1;
6571 : return 1019; /* *negdi_ccc_2 */
6572 :
6573 : default:
6574 : return -1;
6575 : }
6576 :
6577 : default:
6578 : return -1;
6579 : }
6580 :
6581 : case 67:
6582 : if (pnum_clobbers == NULL
6583 : || GET_MODE (x2) != E_XFmode)
6584 : return -1;
6585 : x3 = XEXP (x1, 0);
6586 : operands[0] = x3;
6587 : if (!register_operand (operands[0], E_XFmode))
6588 : return -1;
6589 : x4 = XVECEXP (x2, 0, 0);
6590 : operands[2] = x4;
6591 : if (!register_operand (operands[2], E_XFmode))
6592 : return -1;
6593 : x5 = XVECEXP (x2, 0, 1);
6594 : operands[1] = x5;
6595 : if (!register_operand (operands[1], E_XFmode)
6596 : || !
6597 : #line 24512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6598 : (TARGET_USE_FANCY_MATH_387
6599 : && flag_unsafe_math_optimizations))
6600 : return -1;
6601 : *pnum_clobbers = 1;
6602 : return 1755; /* atan2xf3 */
6603 :
6604 : case 68:
6605 : if (pnum_clobbers == NULL
6606 : || pattern165 (x1,
6607 : E_XFmode) != 0
6608 : || !
6609 : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6610 : (TARGET_USE_FANCY_MATH_387
6611 : && flag_unsafe_math_optimizations))
6612 : return -1;
6613 : *pnum_clobbers = 1;
6614 : return 1756; /* fyl2xxf3_i387 */
6615 :
6616 : case 69:
6617 : if (pnum_clobbers == NULL
6618 : || pattern165 (x1,
6619 : E_XFmode) != 0
6620 : || !
6621 : #line 24912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6622 : (TARGET_USE_FANCY_MATH_387
6623 : && flag_unsafe_math_optimizations))
6624 : return -1;
6625 : *pnum_clobbers = 1;
6626 : return 1757; /* fyl2xp1xf3_i387 */
6627 :
6628 : case 59:
6629 : x3 = XEXP (x1, 0);
6630 : operands[0] = x3;
6631 : x4 = XVECEXP (x2, 0, 0);
6632 : operands[1] = x4;
6633 : x5 = XVECEXP (x2, 0, 1);
6634 : operands[2] = x5;
6635 : switch (GET_MODE (operands[0]))
6636 : {
6637 : case E_SFmode:
6638 : if (pattern64 (x2,
6639 : E_SFmode) != 0
6640 : || !
6641 : #line 25221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6642 : (TARGET_AVX512F))
6643 : return -1;
6644 : return 1761; /* avx512f_scalefsf2 */
6645 :
6646 : case E_DFmode:
6647 : if (pattern64 (x2,
6648 : E_DFmode) != 0
6649 : || !
6650 : #line 25221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6651 : (TARGET_AVX512F))
6652 : return -1;
6653 : return 1762; /* avx512f_scalefdf2 */
6654 :
6655 : default:
6656 : return -1;
6657 : }
6658 :
6659 : case 95:
6660 : x3 = XEXP (x1, 0);
6661 : operands[0] = x3;
6662 : x4 = XVECEXP (x2, 0, 0);
6663 : operands[1] = x4;
6664 : x5 = XVECEXP (x2, 0, 1);
6665 : operands[2] = x5;
6666 : if (!const_0_to_15_operand (operands[2], E_SImode))
6667 : return -1;
6668 : switch (GET_MODE (operands[0]))
6669 : {
6670 : case E_HFmode:
6671 : if (!register_operand (operands[0], E_HFmode)
6672 : || GET_MODE (x2) != E_HFmode
6673 : || !nonimmediate_operand (operands[1], E_HFmode)
6674 : || !(
6675 : #line 25339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6676 : (TARGET_SSE4_1) &&
6677 : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6678 : (TARGET_AVX512FP16)))
6679 : return -1;
6680 : return 1763; /* sse4_1_roundhf2 */
6681 :
6682 : case E_SFmode:
6683 : if (!register_operand (operands[0], E_SFmode)
6684 : || GET_MODE (x2) != E_SFmode
6685 : || !nonimmediate_operand (operands[1], E_SFmode)
6686 : || !
6687 : #line 25339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6688 : (TARGET_SSE4_1))
6689 : return -1;
6690 : return 1764; /* sse4_1_roundsf2 */
6691 :
6692 : case E_DFmode:
6693 : if (!register_operand (operands[0], E_DFmode)
6694 : || GET_MODE (x2) != E_DFmode
6695 : || !nonimmediate_operand (operands[1], E_DFmode)
6696 : || !
6697 : #line 25339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6698 : (TARGET_SSE4_1))
6699 : return -1;
6700 : return 1765; /* sse4_1_rounddf2 */
6701 :
6702 : default:
6703 : return -1;
6704 : }
6705 :
6706 : case 64:
6707 : switch (pattern65 (x1))
6708 : {
6709 : case 0:
6710 : if (!
6711 : #line 27214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6712 : (TARGET_AVX512FP16))
6713 : return -1;
6714 : return 1855; /* *ieee_smaxhf3 */
6715 :
6716 : case 1:
6717 : if (!
6718 : #line 27226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6719 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
6720 : return -1;
6721 : return 1857; /* *ieee_smaxsf3 */
6722 :
6723 : case 2:
6724 : if (!
6725 : #line 27226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6726 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
6727 : return -1;
6728 : return 1859; /* *ieee_smaxdf3 */
6729 :
6730 : default:
6731 : return -1;
6732 : }
6733 :
6734 : case 63:
6735 : switch (pattern65 (x1))
6736 : {
6737 : case 0:
6738 : if (!
6739 : #line 27214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6740 : (TARGET_AVX512FP16))
6741 : return -1;
6742 : return 1856; /* *ieee_sminhf3 */
6743 :
6744 : case 1:
6745 : if (!
6746 : #line 27226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6747 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
6748 : return -1;
6749 : return 1858; /* *ieee_sminsf3 */
6750 :
6751 : case 2:
6752 : if (!
6753 : #line 27226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6754 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
6755 : return -1;
6756 : return 1860; /* *ieee_smindf3 */
6757 :
6758 : default:
6759 : return -1;
6760 : }
6761 :
6762 : case 114:
6763 : if (pattern66 (x1,
6764 : E_V2SFmode) != 0
6765 : || !
6766 : #line 934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6767 : (TARGET_3DNOW))
6768 : return -1;
6769 : return 2117; /* mmx_rcpit1v2sf3 */
6770 :
6771 : case 115:
6772 : if (pattern66 (x1,
6773 : E_V2SFmode) != 0
6774 : || !
6775 : #line 945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6776 : (TARGET_3DNOW))
6777 : return -1;
6778 : return 2118; /* mmx_rcpit2v2sf3 */
6779 :
6780 : case 117:
6781 : if (pattern66 (x1,
6782 : E_V2SFmode) != 0
6783 : || !
6784 : #line 982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6785 : (TARGET_3DNOW))
6786 : return -1;
6787 : return 2120; /* mmx_rsqit1v2sf3 */
6788 :
6789 : case 58:
6790 : switch (pattern68 (x1))
6791 : {
6792 : case 0:
6793 : if (!
6794 : #line 4820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6795 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
6796 : return -1;
6797 : return 2350; /* mmx_packuswb */
6798 :
6799 : case 1:
6800 : if (!
6801 : #line 4859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6802 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
6803 : return -1;
6804 : return 2352; /* mmx_packusdw */
6805 :
6806 : default:
6807 : return -1;
6808 : }
6809 :
6810 : case 53:
6811 : x3 = XEXP (x1, 0);
6812 : operands[0] = x3;
6813 : x4 = XVECEXP (x2, 0, 0);
6814 : operands[1] = x4;
6815 : x5 = XVECEXP (x2, 0, 1);
6816 : operands[2] = x5;
6817 : if (!vector_operand (operands[2], E_V16QImode))
6818 : return -1;
6819 : switch (GET_MODE (operands[0]))
6820 : {
6821 : case E_V8QImode:
6822 : if (!register_operand (operands[0], E_V8QImode)
6823 : || GET_MODE (x2) != E_V8QImode
6824 : || !register_operand (operands[1], E_V8QImode)
6825 : || !
6826 : #line 5517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6827 : (TARGET_SSSE3 && TARGET_MMX_WITH_SSE))
6828 : return -1;
6829 : return 2387; /* mmx_pshufbv8qi3 */
6830 :
6831 : case E_V4QImode:
6832 : if (!register_operand (operands[0], E_V4QImode)
6833 : || GET_MODE (x2) != E_V4QImode
6834 : || !register_operand (operands[1], E_V4QImode)
6835 : || !
6836 : #line 5535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6837 : (TARGET_SSSE3))
6838 : return -1;
6839 : return 2388; /* mmx_pshufbv4qi3 */
6840 :
6841 : default:
6842 : return -1;
6843 : }
6844 :
6845 : case 57:
6846 : if (GET_MODE (x2) != E_V1DImode)
6847 : return -1;
6848 : x3 = XEXP (x1, 0);
6849 : operands[0] = x3;
6850 : if (!register_operand (operands[0], E_V1DImode))
6851 : return -1;
6852 : x4 = XVECEXP (x2, 0, 0);
6853 : operands[1] = x4;
6854 : if (!register_mmxmem_operand (operands[1], E_V8QImode))
6855 : return -1;
6856 : x5 = XVECEXP (x2, 0, 1);
6857 : operands[2] = x5;
6858 : if (!register_mmxmem_operand (operands[2], E_V8QImode)
6859 : || !
6860 : #line 6505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6861 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && (TARGET_SSE || TARGET_3DNOW_A)
6862 : && ix86_binary_operator_ok (PLUS, V8QImode, operands)))
6863 : return -1;
6864 : return 2440; /* *mmx_psadbw */
6865 :
6866 : case 177:
6867 : if (pattern69 (x1) != 0)
6868 : return -1;
6869 : switch (pattern966 ())
6870 : {
6871 : case 0:
6872 : if (!(
6873 : #line 2358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6874 : (TARGET_AVX512F) &&
6875 : #line 2102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6876 : (TARGET_AVX512DQ)))
6877 : return -1;
6878 : return 2673; /* ktestqi */
6879 :
6880 : case 1:
6881 : if (!(
6882 : #line 2358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6883 : (TARGET_AVX512F) &&
6884 : #line 2102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6885 : (TARGET_AVX512DQ)))
6886 : return -1;
6887 : return 2674; /* ktesthi */
6888 :
6889 : case 2:
6890 : if (!(
6891 : #line 2358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6892 : (TARGET_AVX512F) &&
6893 : #line 2103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6894 : (TARGET_AVX512BW)))
6895 : return -1;
6896 : return 2675; /* ktestsi */
6897 :
6898 : case 3:
6899 : if (!(
6900 : #line 2358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6901 : (TARGET_AVX512F) &&
6902 : #line 2103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6903 : (TARGET_AVX512BW)))
6904 : return -1;
6905 : return 2676; /* ktestdi */
6906 :
6907 : default:
6908 : return -1;
6909 : }
6910 :
6911 : case 179:
6912 : return recog_9 (x1, insn, pnum_clobbers);
6913 :
6914 : case 62:
6915 : return recog_11 (x1, insn, pnum_clobbers);
6916 :
6917 : case 159:
6918 : switch (pattern71 (x1))
6919 : {
6920 : case 0:
6921 : if (!(
6922 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6923 : (TARGET_AVX512F) &&
6924 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6925 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6926 : return -1;
6927 : return 8158; /* avx512vl_testmv16qi3 */
6928 :
6929 : case 1:
6930 : if (!(
6931 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6932 : (TARGET_AVX512F) &&
6933 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6934 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6935 : return -1;
6936 : return 8162; /* avx512vl_testmv16hi3 */
6937 :
6938 : case 2:
6939 : if (!
6940 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6941 : (TARGET_AVX512F))
6942 : return -1;
6943 : return 8166; /* avx512f_testmv16si3 */
6944 :
6945 : case 3:
6946 : if (!(
6947 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6948 : (TARGET_AVX512F) &&
6949 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6950 : (TARGET_AVX512VL && TARGET_AVX512BW)))
6951 : return -1;
6952 : return 8164; /* avx512vl_testmv8hi3 */
6953 :
6954 : case 4:
6955 : if (!(
6956 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6957 : (TARGET_AVX512F) &&
6958 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6959 : (TARGET_AVX512VL)))
6960 : return -1;
6961 : return 8168; /* avx512vl_testmv8si3 */
6962 :
6963 : case 5:
6964 : if (!(
6965 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6966 : (TARGET_AVX512F) &&
6967 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6968 : (TARGET_AVX512VL)))
6969 : return -1;
6970 : return 8170; /* avx512vl_testmv4si3 */
6971 :
6972 : case 6:
6973 : if (!
6974 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6975 : (TARGET_AVX512F))
6976 : return -1;
6977 : return 8172; /* avx512f_testmv8di3 */
6978 :
6979 : case 7:
6980 : if (!(
6981 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6982 : (TARGET_AVX512F) &&
6983 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6984 : (TARGET_AVX512VL)))
6985 : return -1;
6986 : return 8174; /* avx512vl_testmv4di3 */
6987 :
6988 : case 8:
6989 : if (!(
6990 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6991 : (TARGET_AVX512F) &&
6992 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6993 : (TARGET_AVX512VL)))
6994 : return -1;
6995 : return 8176; /* avx512vl_testmv2di3 */
6996 :
6997 : default:
6998 : return -1;
6999 : }
7000 :
7001 : case 160:
7002 : switch (pattern71 (x1))
7003 : {
7004 : case 0:
7005 : if (!(
7006 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7007 : (TARGET_AVX512F) &&
7008 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7009 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7010 : return -1;
7011 : return 8182; /* avx512vl_testnmv16qi3 */
7012 :
7013 : case 1:
7014 : if (!(
7015 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7016 : (TARGET_AVX512F) &&
7017 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7018 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7019 : return -1;
7020 : return 8186; /* avx512vl_testnmv16hi3 */
7021 :
7022 : case 2:
7023 : if (!
7024 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7025 : (TARGET_AVX512F))
7026 : return -1;
7027 : return 8190; /* avx512f_testnmv16si3 */
7028 :
7029 : case 3:
7030 : if (!(
7031 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7032 : (TARGET_AVX512F) &&
7033 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7034 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7035 : return -1;
7036 : return 8188; /* avx512vl_testnmv8hi3 */
7037 :
7038 : case 4:
7039 : if (!(
7040 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7041 : (TARGET_AVX512F) &&
7042 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7043 : (TARGET_AVX512VL)))
7044 : return -1;
7045 : return 8192; /* avx512vl_testnmv8si3 */
7046 :
7047 : case 5:
7048 : if (!(
7049 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7050 : (TARGET_AVX512F) &&
7051 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7052 : (TARGET_AVX512VL)))
7053 : return -1;
7054 : return 8194; /* avx512vl_testnmv4si3 */
7055 :
7056 : case 6:
7057 : if (!
7058 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7059 : (TARGET_AVX512F))
7060 : return -1;
7061 : return 8196; /* avx512f_testnmv8di3 */
7062 :
7063 : case 7:
7064 : if (!(
7065 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7066 : (TARGET_AVX512F) &&
7067 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7068 : (TARGET_AVX512VL)))
7069 : return -1;
7070 : return 8198; /* avx512vl_testnmv4di3 */
7071 :
7072 : case 8:
7073 : if (!(
7074 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7075 : (TARGET_AVX512F) &&
7076 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7077 : (TARGET_AVX512VL)))
7078 : return -1;
7079 : return 8200; /* avx512vl_testnmv2di3 */
7080 :
7081 : default:
7082 : return -1;
7083 : }
7084 :
7085 : case 121:
7086 : x3 = XEXP (x1, 0);
7087 : operands[0] = x3;
7088 : x4 = XVECEXP (x2, 0, 0);
7089 : operands[1] = x4;
7090 : x5 = XVECEXP (x2, 0, 1);
7091 : operands[2] = x5;
7092 : switch (GET_MODE (operands[0]))
7093 : {
7094 : case E_V8QImode:
7095 : if (pattern738 (x2,
7096 : E_V8QImode) != 0
7097 : || !
7098 : #line 23556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7099 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7100 : return -1;
7101 : return 8682; /* ssse3_psignv8qi3 */
7102 :
7103 : case E_V4HImode:
7104 : if (pattern67 (x2,
7105 : E_V4HImode) != 0
7106 : || !
7107 : #line 23556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7108 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7109 : return -1;
7110 : return 8683; /* ssse3_psignv4hi3 */
7111 :
7112 : case E_V2SImode:
7113 : if (pattern738 (x2,
7114 : E_V2SImode) != 0
7115 : || !
7116 : #line 23556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7117 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7118 : return -1;
7119 : return 8684; /* ssse3_psignv2si3 */
7120 :
7121 : default:
7122 : return -1;
7123 : }
7124 :
7125 : case 149:
7126 : if (pattern69 (x1) != 0)
7127 : return -1;
7128 : switch (GET_MODE (operands[0]))
7129 : {
7130 : case E_V8SFmode:
7131 : if (!register_operand (operands[0], E_V8SFmode)
7132 : || !nonimmediate_operand (operands[1], E_V8SFmode)
7133 : || !
7134 : #line 25887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7135 : (TARGET_AVX))
7136 : return -1;
7137 : return 8981; /* avx_vtestps256 */
7138 :
7139 : case E_V4SFmode:
7140 : if (!register_operand (operands[0], E_V4SFmode)
7141 : || !nonimmediate_operand (operands[1], E_V4SFmode)
7142 : || !
7143 : #line 25887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7144 : (TARGET_AVX))
7145 : return -1;
7146 : return 8982; /* avx_vtestps */
7147 :
7148 : case E_V4DFmode:
7149 : if (!register_operand (operands[0], E_V4DFmode)
7150 : || !nonimmediate_operand (operands[1], E_V4DFmode)
7151 : || !
7152 : #line 25887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7153 : (TARGET_AVX))
7154 : return -1;
7155 : return 8983; /* avx_vtestpd256 */
7156 :
7157 : case E_V2DFmode:
7158 : if (!register_operand (operands[0], E_V2DFmode)
7159 : || !nonimmediate_operand (operands[1], E_V2DFmode)
7160 : || !(
7161 : #line 25887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7162 : (TARGET_AVX) &&
7163 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7164 : (TARGET_SSE2)))
7165 : return -1;
7166 : return 8984; /* avx_vtestpd */
7167 :
7168 : default:
7169 : return -1;
7170 : }
7171 :
7172 : case 131:
7173 : return recog_10 (x1, insn, pnum_clobbers);
7174 :
7175 : case 151:
7176 : if (GET_MODE (x2) != E_V4HImode)
7177 : return -1;
7178 : x3 = XEXP (x1, 0);
7179 : operands[0] = x3;
7180 : if (!memory_operand (operands[0], E_V4HImode))
7181 : return -1;
7182 : x4 = XVECEXP (x2, 0, 0);
7183 : operands[1] = x4;
7184 : if (!register_operand (operands[1], E_V4SFmode))
7185 : return -1;
7186 : x5 = XVECEXP (x2, 0, 1);
7187 : operands[2] = x5;
7188 : if (!const_0_to_255_operand (operands[2], E_SImode)
7189 : || !
7190 : #line 29857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7191 : (TARGET_F16C || TARGET_AVX512VL))
7192 : return -1;
7193 : return 9733; /* *vcvtps2ph_store */
7194 :
7195 : case 194:
7196 : x3 = XEXP (x1, 0);
7197 : operands[0] = x3;
7198 : x4 = XVECEXP (x2, 0, 0);
7199 : operands[1] = x4;
7200 : x5 = XVECEXP (x2, 0, 1);
7201 : operands[2] = x5;
7202 : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
7203 : return -1;
7204 : switch (GET_MODE (operands[0]))
7205 : {
7206 : case E_HImode:
7207 : switch (pattern653 (x2,
7208 : E_HImode))
7209 : {
7210 : case 0:
7211 : if (!(
7212 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7213 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V16HFmode)) &&
7214 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7215 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
7216 : return -1;
7217 : return 10058; /* avx512dq_fpclassv16hf */
7218 :
7219 : case 1:
7220 : if (!
7221 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7222 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V16SFmode)))
7223 : return -1;
7224 : return 10062; /* avx512dq_fpclassv16sf */
7225 :
7226 : default:
7227 : return -1;
7228 : }
7229 :
7230 : case E_QImode:
7231 : if (!register_operand (operands[0], E_QImode)
7232 : || GET_MODE (x2) != E_QImode)
7233 : return -1;
7234 : switch (GET_MODE (operands[1]))
7235 : {
7236 : case E_V8HFmode:
7237 : if (!vector_operand (operands[1], E_V8HFmode)
7238 : || !(
7239 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7240 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8HFmode)) &&
7241 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7242 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
7243 : return -1;
7244 : return 10060; /* avx512dq_fpclassv8hf */
7245 :
7246 : case E_V8SFmode:
7247 : if (!vector_operand (operands[1], E_V8SFmode)
7248 : || !(
7249 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7250 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8SFmode)) &&
7251 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7252 : (TARGET_AVX512VL)))
7253 : return -1;
7254 : return 10064; /* avx512dq_fpclassv8sf */
7255 :
7256 : case E_V4SFmode:
7257 : if (!vector_operand (operands[1], E_V4SFmode)
7258 : || !(
7259 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7260 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V4SFmode)) &&
7261 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7262 : (TARGET_AVX512VL)))
7263 : return -1;
7264 : return 10066; /* avx512dq_fpclassv4sf */
7265 :
7266 : case E_V8DFmode:
7267 : if (!vector_operand (operands[1], E_V8DFmode)
7268 : || !
7269 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7270 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V8DFmode)))
7271 : return -1;
7272 : return 10068; /* avx512dq_fpclassv8df */
7273 :
7274 : case E_V4DFmode:
7275 : if (!vector_operand (operands[1], E_V4DFmode)
7276 : || !(
7277 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7278 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V4DFmode)) &&
7279 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7280 : (TARGET_AVX512VL)))
7281 : return -1;
7282 : return 10070; /* avx512dq_fpclassv4df */
7283 :
7284 : case E_V2DFmode:
7285 : if (!vector_operand (operands[1], E_V2DFmode)
7286 : || !(
7287 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7288 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V2DFmode)) &&
7289 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7290 : (TARGET_AVX512VL)))
7291 : return -1;
7292 : return 10072; /* avx512dq_fpclassv2df */
7293 :
7294 : default:
7295 : return -1;
7296 : }
7297 :
7298 : default:
7299 : return -1;
7300 : }
7301 :
7302 : case 215:
7303 : if (GET_MODE (x2) != E_HImode)
7304 : return -1;
7305 : x3 = XEXP (x1, 0);
7306 : operands[0] = x3;
7307 : if (!register_operand (operands[0], E_HImode))
7308 : return -1;
7309 : x4 = XVECEXP (x2, 0, 0);
7310 : operands[1] = x4;
7311 : if (!register_operand (operands[1], E_V16QImode))
7312 : return -1;
7313 : x5 = XVECEXP (x2, 0, 1);
7314 : operands[2] = x5;
7315 : if (!nonimmediate_operand (operands[2], E_V16QImode)
7316 : || !(
7317 : #line 31638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7318 : (TARGET_AVX512BITALG) &&
7319 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7320 : (TARGET_AVX512VL)))
7321 : return -1;
7322 : return 10400; /* avx512vl_vpshufbitqmbv16qi */
7323 :
7324 : case 216:
7325 : x3 = XEXP (x1, 0);
7326 : operands[0] = x3;
7327 : x4 = XVECEXP (x2, 0, 0);
7328 : operands[1] = x4;
7329 : x5 = XVECEXP (x2, 0, 1);
7330 : operands[2] = x5;
7331 : switch (GET_MODE (operands[0]))
7332 : {
7333 : case E_P2QImode:
7334 : if (!register_operand (operands[0], E_P2QImode)
7335 : || GET_MODE (x2) != E_P2QImode)
7336 : return -1;
7337 : switch (GET_MODE (operands[1]))
7338 : {
7339 : case E_V8DImode:
7340 : if (!register_operand (operands[1], E_V8DImode)
7341 : || !vector_operand (operands[2], E_V8DImode)
7342 : || !
7343 : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7344 : (TARGET_AVX512VP2INTERSECT))
7345 : return -1;
7346 : return 10406; /* avx512vp2intersect_2intersectv8di */
7347 :
7348 : case E_V4DImode:
7349 : if (!register_operand (operands[1], E_V4DImode)
7350 : || !vector_operand (operands[2], E_V4DImode)
7351 : || !(
7352 : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7353 : (TARGET_AVX512VP2INTERSECT) &&
7354 : #line 31644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7355 : (TARGET_AVX512VL)))
7356 : return -1;
7357 : return 10407; /* avx512vp2intersect_2intersectv4di */
7358 :
7359 : case E_V2DImode:
7360 : if (!register_operand (operands[1], E_V2DImode)
7361 : || !vector_operand (operands[2], E_V2DImode)
7362 : || !(
7363 : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7364 : (TARGET_AVX512VP2INTERSECT) &&
7365 : #line 31644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7366 : (TARGET_AVX512VL)))
7367 : return -1;
7368 : return 10408; /* avx512vp2intersect_2intersectv2di */
7369 :
7370 : case E_V8SImode:
7371 : if (!register_operand (operands[1], E_V8SImode)
7372 : || !vector_operand (operands[2], E_V8SImode)
7373 : || !(
7374 : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7375 : (TARGET_AVX512VP2INTERSECT) &&
7376 : #line 31645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7377 : (TARGET_AVX512VL)))
7378 : return -1;
7379 : return 10409; /* avx512vp2intersect_2intersectv8si */
7380 :
7381 : case E_V4SImode:
7382 : if (!register_operand (operands[1], E_V4SImode)
7383 : || !vector_operand (operands[2], E_V4SImode)
7384 : || !(
7385 : #line 31677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7386 : (TARGET_AVX512VP2INTERSECT) &&
7387 : #line 31645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7388 : (TARGET_AVX512VL)))
7389 : return -1;
7390 : return 10410; /* avx512vp2intersect_2intersectv4si */
7391 :
7392 : default:
7393 : return -1;
7394 : }
7395 :
7396 : case E_P2HImode:
7397 : if (pattern739 (x2,
7398 : E_V16SImode,
7399 : E_P2HImode) != 0
7400 : || !
7401 : #line 31686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7402 : (TARGET_AVX512VP2INTERSECT))
7403 : return -1;
7404 : return 10411; /* avx512vp2intersect_2intersectv16si */
7405 :
7406 : default:
7407 : return -1;
7408 : }
7409 :
7410 : case 263:
7411 : x3 = XEXP (x1, 0);
7412 : operands[0] = x3;
7413 : x4 = XVECEXP (x2, 0, 0);
7414 : operands[1] = x4;
7415 : x5 = XVECEXP (x2, 0, 1);
7416 : operands[2] = x5;
7417 : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
7418 : return -1;
7419 : switch (GET_MODE (operands[0]))
7420 : {
7421 : case E_HImode:
7422 : if (!register_operand (operands[0], E_HImode)
7423 : || GET_MODE (x2) != E_HImode
7424 : || !nonimmediate_operand (operands[1], E_V16BFmode)
7425 : || !
7426 : #line 33153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7427 : (TARGET_AVX10_2))
7428 : return -1;
7429 : return 10794; /* avx10_2_fpclassbf16_v16bf */
7430 :
7431 : case E_QImode:
7432 : if (!register_operand (operands[0], E_QImode)
7433 : || GET_MODE (x2) != E_QImode
7434 : || !nonimmediate_operand (operands[1], E_V8BFmode)
7435 : || !
7436 : #line 33153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7437 : (TARGET_AVX10_2))
7438 : return -1;
7439 : return 10796; /* avx10_2_fpclassbf16_v8bf */
7440 :
7441 : default:
7442 : return -1;
7443 : }
7444 :
7445 : case 292:
7446 : x3 = XEXP (x1, 0);
7447 : operands[0] = x3;
7448 : x4 = XVECEXP (x2, 0, 0);
7449 : operands[1] = x4;
7450 : x5 = XVECEXP (x2, 0, 1);
7451 : operands[2] = x5;
7452 : if (!const_int_operand (operands[2], E_SImode))
7453 : return -1;
7454 : switch (GET_MODE (operands[0]))
7455 : {
7456 : case E_QImode:
7457 : if (!memory_operand (operands[0], E_QImode)
7458 : || GET_MODE (x2) != E_QImode
7459 : || !nonmemory_operand (operands[1], E_QImode))
7460 : return -1;
7461 : return 11065; /* atomic_storeqi_1 */
7462 :
7463 : case E_HImode:
7464 : if (!memory_operand (operands[0], E_HImode)
7465 : || GET_MODE (x2) != E_HImode
7466 : || !nonmemory_operand (operands[1], E_HImode))
7467 : return -1;
7468 : return 11066; /* atomic_storehi_1 */
7469 :
7470 : default:
7471 : return -1;
7472 : }
7473 :
7474 : default:
7475 : return -1;
7476 : }
7477 : }
7478 :
7479 : int
7480 : recog_39 (rtx x1 ATTRIBUTE_UNUSED,
7481 : rtx_insn *insn ATTRIBUTE_UNUSED,
7482 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7483 : {
7484 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7485 : rtx x2, x3;
7486 : int res ATTRIBUTE_UNUSED;
7487 : x2 = XEXP (x1, 1);
7488 : x3 = XEXP (x2, 1);
7489 : operands[2] = x3;
7490 : switch (GET_MODE (operands[0]))
7491 : {
7492 : case E_TImode:
7493 : if (pnum_clobbers == NULL
7494 : || pattern745 (x2,
7495 : E_TImode) != 0)
7496 : return -1;
7497 : if ((
7498 : #line 13632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7499 : (TARGET_BMI) &&
7500 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7501 : (TARGET_64BIT)))
7502 : {
7503 : *pnum_clobbers = 1;
7504 : return 838; /* *andnti3_doubleword_bmi */
7505 : }
7506 : if (!(
7507 : #line 13650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7508 : (!TARGET_BMI
7509 : && ix86_pre_reload_split ()) &&
7510 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7511 : (TARGET_64BIT)))
7512 : return -1;
7513 : *pnum_clobbers = 1;
7514 : return 840; /* *andnti3_doubleword */
7515 :
7516 : case E_QImode:
7517 : if (pnum_clobbers == NULL
7518 : || pattern621 (x2,
7519 : E_QImode) != 0
7520 : || !
7521 : #line 13682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7522 : (TARGET_BMI || TARGET_AVX512BW))
7523 : return -1;
7524 : *pnum_clobbers = 1;
7525 : return 843; /* *andnqi_1 */
7526 :
7527 : case E_HImode:
7528 : if (pnum_clobbers == NULL
7529 : || pattern621 (x2,
7530 : E_HImode) != 0
7531 : || !
7532 : #line 13682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7533 : (TARGET_BMI || TARGET_AVX512BW))
7534 : return -1;
7535 : *pnum_clobbers = 1;
7536 : return 844; /* *andnhi_1 */
7537 :
7538 : case E_V2SFmode:
7539 : if (pattern621 (x2,
7540 : E_V2SFmode) != 0
7541 : || !
7542 : #line 1366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7543 : (TARGET_MMX_WITH_SSE))
7544 : return -1;
7545 : return 2133; /* *mmx_andnotv2sf3 */
7546 :
7547 : case E_V2BFmode:
7548 : if (pattern621 (x2,
7549 : E_V2BFmode) != 0
7550 : || !
7551 : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7552 : (TARGET_SSE))
7553 : return -1;
7554 : return 2164; /* *mmx_andnotv2bf3 */
7555 :
7556 : case E_V4BFmode:
7557 : if (pattern621 (x2,
7558 : E_V4BFmode) != 0
7559 : || !(
7560 : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7561 : (TARGET_SSE) &&
7562 : #line 2248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7563 : (TARGET_MMX_WITH_SSE)))
7564 : return -1;
7565 : return 2165; /* *mmx_andnotv4bf3 */
7566 :
7567 : case E_V2HFmode:
7568 : if (pattern621 (x2,
7569 : E_V2HFmode) != 0
7570 : || !
7571 : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7572 : (TARGET_SSE))
7573 : return -1;
7574 : return 2166; /* *mmx_andnotv2hf3 */
7575 :
7576 : case E_V4HFmode:
7577 : if (pattern621 (x2,
7578 : E_V4HFmode) != 0
7579 : || !(
7580 : #line 2592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7581 : (TARGET_SSE) &&
7582 : #line 2249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7583 : (TARGET_MMX_WITH_SSE)))
7584 : return -1;
7585 : return 2167; /* *mmx_andnotv4hf3 */
7586 :
7587 : case E_V8QImode:
7588 : if (pattern622 (x2,
7589 : E_V8QImode) != 0
7590 : || !
7591 : #line 4620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7592 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7593 : return -1;
7594 : return 2325; /* mmx_andnotv8qi3 */
7595 :
7596 : case E_V4HImode:
7597 : if (pattern622 (x2,
7598 : E_V4HImode) != 0
7599 : || !
7600 : #line 4620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7601 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7602 : return -1;
7603 : return 2326; /* mmx_andnotv4hi3 */
7604 :
7605 : case E_V2SImode:
7606 : if (pattern622 (x2,
7607 : E_V2SImode) != 0
7608 : || !
7609 : #line 4620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7610 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7611 : return -1;
7612 : return 2327; /* mmx_andnotv2si3 */
7613 :
7614 : case E_V4QImode:
7615 : if (pnum_clobbers == NULL
7616 : || pattern621 (x2,
7617 : E_V4QImode) != 0)
7618 : return -1;
7619 : *pnum_clobbers = 1;
7620 : return 2328; /* *andnotv4qi3 */
7621 :
7622 : case E_V2QImode:
7623 : if (pnum_clobbers == NULL
7624 : || pattern621 (x2,
7625 : E_V2QImode) != 0)
7626 : return -1;
7627 : *pnum_clobbers = 1;
7628 : return 2329; /* *andnotv2qi3 */
7629 :
7630 : case E_V2HImode:
7631 : if (pnum_clobbers == NULL
7632 : || pattern621 (x2,
7633 : E_V2HImode) != 0)
7634 : return -1;
7635 : *pnum_clobbers = 1;
7636 : return 2330; /* *andnotv2hi3 */
7637 :
7638 : case E_BFmode:
7639 : if (pattern621 (x2,
7640 : E_BFmode) != 0
7641 : || !
7642 : #line 5886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7643 : (TARGET_SSE))
7644 : return -1;
7645 : return 3849; /* *andnotbf3 */
7646 :
7647 : case E_HFmode:
7648 : if (pattern621 (x2,
7649 : E_HFmode) != 0
7650 : || !
7651 : #line 5886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7652 : (TARGET_SSE))
7653 : return -1;
7654 : return 3850; /* *andnothf3 */
7655 :
7656 : case E_SFmode:
7657 : if (pattern621 (x2,
7658 : E_SFmode) != 0
7659 : || !
7660 : #line 5886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7661 : (TARGET_SSE))
7662 : return -1;
7663 : return 3851; /* *andnotsf3 */
7664 :
7665 : case E_DFmode:
7666 : if (pattern621 (x2,
7667 : E_DFmode) != 0
7668 : || !(
7669 : #line 5886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7670 : (TARGET_SSE) &&
7671 : #line 1353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7672 : (TARGET_SSE2)))
7673 : return -1;
7674 : return 3852; /* *andnotdf3 */
7675 :
7676 : case E_TFmode:
7677 : if (pattern623 (x2,
7678 : E_TFmode) != 0
7679 : || !
7680 : #line 5956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7681 : (TARGET_SSE))
7682 : return -1;
7683 : return 3853; /* *andnottf3 */
7684 :
7685 : default:
7686 : return -1;
7687 : }
7688 : }
7689 :
7690 : int
7691 : recog_45 (rtx x1 ATTRIBUTE_UNUSED,
7692 : rtx_insn *insn ATTRIBUTE_UNUSED,
7693 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7694 : {
7695 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7696 : rtx x2, x3, x4;
7697 : int res ATTRIBUTE_UNUSED;
7698 : x2 = XEXP (x1, 0);
7699 : operands[0] = x2;
7700 : x3 = XEXP (x1, 1);
7701 : x4 = XEXP (x3, 0);
7702 : operands[1] = x4;
7703 : switch (GET_MODE (operands[0]))
7704 : {
7705 : case E_TImode:
7706 : if (pattern266 (x3, pnum_clobbers,
7707 : E_TImode) != 0
7708 : || !(
7709 : #line 14945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7710 : (TARGET_CMOVE
7711 : && ix86_pre_reload_split ()) &&
7712 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7713 : (TARGET_64BIT)))
7714 : return -1;
7715 : *pnum_clobbers = 1;
7716 : return 1028; /* *absti2_doubleword */
7717 :
7718 : case E_QImode:
7719 : if (pattern266 (x3, pnum_clobbers,
7720 : E_QImode) != 0
7721 : || !
7722 : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7723 : (TARGET_CMOVE
7724 : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
7725 : && ix86_pre_reload_split ()))
7726 : return -1;
7727 : *pnum_clobbers = 1;
7728 : return 1031; /* *absqi2_1 */
7729 :
7730 : case E_HImode:
7731 : if (pattern266 (x3, pnum_clobbers,
7732 : E_HImode) != 0
7733 : || !
7734 : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7735 : (TARGET_CMOVE
7736 : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
7737 : && ix86_pre_reload_split ()))
7738 : return -1;
7739 : *pnum_clobbers = 1;
7740 : return 1032; /* *abshi2_1 */
7741 :
7742 : case E_SFmode:
7743 : if (!register_operand (operands[0], E_SFmode)
7744 : || GET_MODE (x3) != E_SFmode
7745 : || !register_operand (operands[1], E_SFmode))
7746 : return -1;
7747 : if (pnum_clobbers != NULL
7748 : &&
7749 : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7750 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
7751 : {
7752 : *pnum_clobbers = 1;
7753 : return 1042; /* *abssf2_i387_1 */
7754 : }
7755 : if (!
7756 : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7757 : (TARGET_80387 && reload_completed))
7758 : return -1;
7759 : return 1056; /* *abssf2_i387 */
7760 :
7761 : case E_DFmode:
7762 : if (!register_operand (operands[0], E_DFmode)
7763 : || GET_MODE (x3) != E_DFmode
7764 : || !register_operand (operands[1], E_DFmode))
7765 : return -1;
7766 : if (pnum_clobbers != NULL
7767 : &&
7768 : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7769 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
7770 : {
7771 : *pnum_clobbers = 1;
7772 : return 1044; /* *absdf2_i387_1 */
7773 : }
7774 : if (!
7775 : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7776 : (TARGET_80387 && reload_completed))
7777 : return -1;
7778 : return 1058; /* *absdf2_i387 */
7779 :
7780 : case E_XFmode:
7781 : if (!register_operand (operands[0], E_XFmode)
7782 : || GET_MODE (x3) != E_XFmode
7783 : || !register_operand (operands[1], E_XFmode))
7784 : return -1;
7785 : if (pnum_clobbers != NULL
7786 : &&
7787 : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7788 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
7789 : {
7790 : *pnum_clobbers = 1;
7791 : return 1046; /* *absxf2_i387_1 */
7792 : }
7793 : if (!
7794 : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7795 : (TARGET_80387 && reload_completed))
7796 : return -1;
7797 : return 1060; /* *absxf2_i387 */
7798 :
7799 : case E_V8QImode:
7800 : if (!register_operand (operands[0], E_V8QImode)
7801 : || GET_MODE (x3) != E_V8QImode
7802 : || !register_mmxmem_operand (operands[1], E_V8QImode)
7803 : || !
7804 : #line 3842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7805 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7806 : return -1;
7807 : return 2249; /* ssse3_absv8qi2 */
7808 :
7809 : case E_V4HImode:
7810 : if (!register_operand (operands[0], E_V4HImode)
7811 : || GET_MODE (x3) != E_V4HImode
7812 : || !register_mmxmem_operand (operands[1], E_V4HImode)
7813 : || !
7814 : #line 3842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7815 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7816 : return -1;
7817 : return 2250; /* ssse3_absv4hi2 */
7818 :
7819 : case E_V2SImode:
7820 : if (!register_operand (operands[0], E_V2SImode)
7821 : || GET_MODE (x3) != E_V2SImode
7822 : || !register_mmxmem_operand (operands[1], E_V2SImode)
7823 : || !
7824 : #line 3842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7825 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7826 : return -1;
7827 : return 2251; /* ssse3_absv2si2 */
7828 :
7829 : case E_V4QImode:
7830 : if (!register_operand (operands[0], E_V4QImode)
7831 : || GET_MODE (x3) != E_V4QImode
7832 : || !register_operand (operands[1], E_V4QImode)
7833 : || !
7834 : #line 3863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7835 : (TARGET_SSSE3))
7836 : return -1;
7837 : return 2252; /* absv4qi2 */
7838 :
7839 : case E_V2QImode:
7840 : if (!register_operand (operands[0], E_V2QImode)
7841 : || GET_MODE (x3) != E_V2QImode
7842 : || !register_operand (operands[1], E_V2QImode)
7843 : || !
7844 : #line 3863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7845 : (TARGET_SSSE3))
7846 : return -1;
7847 : return 2253; /* absv2qi2 */
7848 :
7849 : case E_V2HImode:
7850 : if (!register_operand (operands[0], E_V2HImode)
7851 : || GET_MODE (x3) != E_V2HImode
7852 : || !register_operand (operands[1], E_V2HImode)
7853 : || !
7854 : #line 3863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7855 : (TARGET_SSSE3))
7856 : return -1;
7857 : return 2254; /* absv2hi2 */
7858 :
7859 : default:
7860 : return -1;
7861 : }
7862 : }
7863 :
7864 : int
7865 : recog_49 (rtx x1 ATTRIBUTE_UNUSED,
7866 : rtx_insn *insn ATTRIBUTE_UNUSED,
7867 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7868 : {
7869 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7870 : rtx x2, x3, x4, x5, x6, x7;
7871 : int res ATTRIBUTE_UNUSED;
7872 : x2 = XEXP (x1, 1);
7873 : x3 = XEXP (x2, 0);
7874 : switch (GET_CODE (x3))
7875 : {
7876 : case ZERO_EXTRACT:
7877 : if (pnum_clobbers == NULL)
7878 : return -1;
7879 : x4 = XEXP (x3, 1);
7880 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
7881 : return -1;
7882 : x5 = XEXP (x2, 1);
7883 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7884 : || !register_operand (operands[0], E_QImode)
7885 : || GET_MODE (x2) != E_QImode)
7886 : return -1;
7887 : x6 = XEXP (x3, 0);
7888 : operands[1] = x6;
7889 : x7 = XEXP (x3, 2);
7890 : operands[2] = x7;
7891 : if (!register_operand (operands[2], E_QImode))
7892 : return -1;
7893 : switch (GET_MODE (x3))
7894 : {
7895 : case E_SImode:
7896 : if (!register_operand (operands[1], E_SImode)
7897 : || !
7898 : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7899 : (TARGET_USE_BT && ix86_pre_reload_split ()))
7900 : return -1;
7901 : *pnum_clobbers = 1;
7902 : return 1472; /* *btsi_setncqi_2 */
7903 :
7904 : case E_DImode:
7905 : if (!register_operand (operands[1], E_DImode)
7906 : || !(
7907 : #line 19744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7908 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
7909 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7910 : (TARGET_64BIT)))
7911 : return -1;
7912 : *pnum_clobbers = 1;
7913 : return 1473; /* *btdi_setncqi_2 */
7914 :
7915 : default:
7916 : return -1;
7917 : }
7918 :
7919 : case REG:
7920 : case SUBREG:
7921 : case MEM:
7922 : operands[1] = x3;
7923 : x5 = XEXP (x2, 1);
7924 : operands[2] = x5;
7925 : switch (GET_MODE (operands[0]))
7926 : {
7927 : case E_V8QImode:
7928 : if (pattern6 (x2,
7929 : E_V8QImode) != 0
7930 : || !
7931 : #line 4169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7932 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7933 : && ix86_binary_operator_ok (EQ, V8QImode, operands)))
7934 : return -1;
7935 : return 2274; /* *mmx_eqv8qi3 */
7936 :
7937 : case E_V4HImode:
7938 : if (pattern6 (x2,
7939 : E_V4HImode) != 0
7940 : || !
7941 : #line 4169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7942 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7943 : && ix86_binary_operator_ok (EQ, V4HImode, operands)))
7944 : return -1;
7945 : return 2275; /* *mmx_eqv4hi3 */
7946 :
7947 : case E_V2SImode:
7948 : if (pattern6 (x2,
7949 : E_V2SImode) != 0
7950 : || !
7951 : #line 4169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7952 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7953 : && ix86_binary_operator_ok (EQ, V2SImode, operands)))
7954 : return -1;
7955 : return 2276; /* *mmx_eqv2si3 */
7956 :
7957 : case E_V4QImode:
7958 : if (pattern5 (x2,
7959 : E_V4QImode) != 0
7960 : || !
7961 : #line 4185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7962 : (TARGET_SSE2))
7963 : return -1;
7964 : return 2277; /* *eqv4qi3 */
7965 :
7966 : case E_V2QImode:
7967 : if (pattern5 (x2,
7968 : E_V2QImode) != 0
7969 : || !
7970 : #line 4185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7971 : (TARGET_SSE2))
7972 : return -1;
7973 : return 2278; /* *eqv2qi3 */
7974 :
7975 : case E_V2HImode:
7976 : if (pattern5 (x2,
7977 : E_V2HImode) != 0
7978 : || !
7979 : #line 4185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7980 : (TARGET_SSE2))
7981 : return -1;
7982 : return 2279; /* *eqv2hi3 */
7983 :
7984 : default:
7985 : return -1;
7986 : }
7987 :
7988 : default:
7989 : return -1;
7990 : }
7991 : }
7992 :
7993 : int
7994 : recog_53 (rtx x1 ATTRIBUTE_UNUSED,
7995 : rtx_insn *insn ATTRIBUTE_UNUSED,
7996 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7997 : {
7998 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7999 : rtx x2, x3, x4, x5;
8000 : int res ATTRIBUTE_UNUSED;
8001 : x2 = XEXP (x1, 1);
8002 : x3 = XEXP (x2, 1);
8003 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8004 : return -1;
8005 : x4 = XEXP (x1, 0);
8006 : switch (GET_CODE (x4))
8007 : {
8008 : case REG:
8009 : case SUBREG:
8010 : case MEM:
8011 : operands[0] = x4;
8012 : switch (GET_MODE (operands[0]))
8013 : {
8014 : case E_HImode:
8015 : if (!register_operand (operands[0], E_HImode)
8016 : || !ix86_comparison_operator (operands[1], E_HImode))
8017 : return -1;
8018 : if (
8019 : #line 19833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8020 : (TARGET_APX_ZU))
8021 : return 1476; /* *setcc_hi_zu */
8022 : if (pnum_clobbers != NULL
8023 : &&
8024 : #line 19857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8025 : (!TARGET_PARTIAL_REG_STALL
8026 : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
8027 : {
8028 : *pnum_clobbers = 1;
8029 : return 1480; /* *setcc_hi_1_and */
8030 : }
8031 : if (!
8032 : #line 19874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8033 : (!TARGET_APX_ZU && !TARGET_PARTIAL_REG_STALL
8034 : && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))))
8035 : return -1;
8036 : return 1482; /* *setcc_hi_1_movzbl */
8037 :
8038 : case E_QImode:
8039 : if (!nonimmediate_operand (operands[0], E_QImode)
8040 : || !ix86_comparison_operator (operands[1], E_QImode))
8041 : return -1;
8042 : return 1484; /* *setcc_qi */
8043 :
8044 : default:
8045 : return -1;
8046 : }
8047 :
8048 : case STRICT_LOW_PART:
8049 : x5 = XEXP (x4, 0);
8050 : operands[0] = x5;
8051 : if (!register_operand (operands[0], E_QImode)
8052 : || !ix86_comparison_operator (operands[1], E_QImode))
8053 : return -1;
8054 : return 1485; /* *setcc_qi_slp */
8055 :
8056 : default:
8057 : return -1;
8058 : }
8059 : }
8060 :
8061 : int
8062 : recog_57 (rtx x1 ATTRIBUTE_UNUSED,
8063 : rtx_insn *insn ATTRIBUTE_UNUSED,
8064 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8065 : {
8066 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8067 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8068 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
8069 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
8070 : rtx x26, x27, x28, x29;
8071 : int res ATTRIBUTE_UNUSED;
8072 : x2 = XEXP (x1, 1);
8073 : x3 = XEXP (x2, 0);
8074 : switch (GET_CODE (x3))
8075 : {
8076 : case AND:
8077 : x4 = XEXP (x1, 0);
8078 : operands[0] = x4;
8079 : switch (pattern76 (x2))
8080 : {
8081 : case 0:
8082 : if (!
8083 : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8084 : (TARGET_64BIT
8085 : && CONST_WIDE_INT_P (operands[3])
8086 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
8087 : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
8088 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0))
8089 : return -1;
8090 : return 147; /* *insvti_highpart_1 */
8091 :
8092 : case 1:
8093 : if (!
8094 : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8095 : (TARGET_64BIT
8096 : && CONST_WIDE_INT_P (operands[3])
8097 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
8098 : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
8099 : && CONST_WIDE_INT_ELT (operands[3], 1) == -1))
8100 : return -1;
8101 : return 150; /* *insvti_lowpart_1 */
8102 :
8103 : case 2:
8104 : if (!
8105 : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8106 : (!TARGET_64BIT
8107 : && CONST_INT_P (operands[3])
8108 : && UINTVAL (operands[3]) == 0xffffffff00000000ll))
8109 : return -1;
8110 : return 153; /* *insvdi_lowpart_1 */
8111 :
8112 : default:
8113 : return -1;
8114 : }
8115 :
8116 : case REG:
8117 : case SUBREG:
8118 : case MEM:
8119 : operands[1] = x3;
8120 : res = recog_56 (x1, insn, pnum_clobbers);
8121 : if (res >= 0)
8122 : return res;
8123 : if (pnum_clobbers == NULL
8124 : || pattern83 (x2) != 0)
8125 : return -1;
8126 : x5 = XEXP (x3, 0);
8127 : x6 = XEXP (x5, 0);
8128 : operands[2] = x6;
8129 : switch (pattern1080 (x1))
8130 : {
8131 : case 0:
8132 : if (
8133 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8134 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8135 : {
8136 : *pnum_clobbers = 1;
8137 : return 307; /* *addqi_exthi_1_slp */
8138 : }
8139 : break;
8140 :
8141 : case 1:
8142 : if (
8143 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8144 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8145 : {
8146 : *pnum_clobbers = 1;
8147 : return 308; /* *addqi_extsi_1_slp */
8148 : }
8149 : break;
8150 :
8151 : case 2:
8152 : if ((
8153 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8154 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
8155 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8156 : (TARGET_64BIT)))
8157 : {
8158 : *pnum_clobbers = 1;
8159 : return 309; /* *addqi_extdi_1_slp */
8160 : }
8161 : break;
8162 :
8163 : case 3:
8164 : *pnum_clobbers = 1;
8165 : return 331; /* *addqi_exthi_0 */
8166 :
8167 : case 4:
8168 : *pnum_clobbers = 1;
8169 : return 332; /* *addqi_extsi_0 */
8170 :
8171 : case 5:
8172 : if (
8173 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8174 : (TARGET_64BIT))
8175 : {
8176 : *pnum_clobbers = 1;
8177 : return 333; /* *addqi_extdi_0 */
8178 : }
8179 : break;
8180 :
8181 : default:
8182 : break;
8183 : }
8184 : x7 = XEXP (x2, 1);
8185 : if (GET_CODE (x7) != SUBREG)
8186 : return -1;
8187 : switch (pattern1083 (x1))
8188 : {
8189 : case 0:
8190 : if (!
8191 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8192 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8193 : return -1;
8194 : *pnum_clobbers = 1;
8195 : return 310; /* *addqi_exthi_2_slp */
8196 :
8197 : case 1:
8198 : if (!
8199 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8200 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8201 : return -1;
8202 : *pnum_clobbers = 1;
8203 : return 311; /* *addqi_extsi_2_slp */
8204 :
8205 : case 2:
8206 : if (!(
8207 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8208 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
8209 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8210 : (TARGET_64BIT)))
8211 : return -1;
8212 : *pnum_clobbers = 1;
8213 : return 312; /* *addqi_extdi_2_slp */
8214 :
8215 : case 3:
8216 : *pnum_clobbers = 1;
8217 : return 334; /* *addqi_ext2hi_0 */
8218 :
8219 : case 4:
8220 : *pnum_clobbers = 1;
8221 : return 335; /* *addqi_ext2si_0 */
8222 :
8223 : case 5:
8224 : if (!
8225 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8226 : (TARGET_64BIT))
8227 : return -1;
8228 : *pnum_clobbers = 1;
8229 : return 336; /* *addqi_ext2di_0 */
8230 :
8231 : default:
8232 : return -1;
8233 : }
8234 :
8235 : case ZERO_EXTEND:
8236 : if (GET_MODE (x3) != E_TImode)
8237 : return -1;
8238 : x4 = XEXP (x1, 0);
8239 : operands[0] = x4;
8240 : switch (pattern278 (x2, pnum_clobbers,
8241 : E_TImode,
8242 : E_DImode))
8243 : {
8244 : case 0:
8245 : if (!(
8246 : #line 6562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8247 : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
8248 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8249 : (TARGET_64BIT)))
8250 : return -1;
8251 : *pnum_clobbers = 1;
8252 : return 273; /* *addti3_doubleword_zext */
8253 :
8254 : case 1:
8255 : if (!(
8256 : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8257 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8258 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8259 : (TARGET_64BIT)))
8260 : return -1;
8261 : return 933; /* *concatditi3_2 */
8262 :
8263 : case 2:
8264 : if (!(
8265 : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8266 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8267 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8268 : (TARGET_64BIT)))
8269 : return -1;
8270 : return 954; /* *concatditi3_4 */
8271 :
8272 : case 3:
8273 : if (!(
8274 : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8275 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8276 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8277 : (TARGET_64BIT)))
8278 : return -1;
8279 : return 957; /* *concatditi3_4 */
8280 :
8281 : case 4:
8282 : if (!(
8283 : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8284 : (TImode == DImode
8285 : ? CONST_INT_P (operands[2])
8286 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
8287 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
8288 : : CONST_WIDE_INT_P (operands[2])
8289 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
8290 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
8291 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
8292 : 1)),
8293 : VOIDmode)) &&
8294 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8295 : (TARGET_64BIT)))
8296 : return -1;
8297 : return 981; /* *concatditi3_7 */
8298 :
8299 : default:
8300 : return -1;
8301 : }
8302 :
8303 : case PLUS:
8304 : x4 = XEXP (x1, 0);
8305 : operands[0] = x4;
8306 : x5 = XEXP (x3, 0);
8307 : switch (GET_CODE (x5))
8308 : {
8309 : case ASHIFT:
8310 : x6 = XEXP (x5, 0);
8311 : switch (GET_CODE (x6))
8312 : {
8313 : case ZERO_EXTEND:
8314 : if (pnum_clobbers == NULL
8315 : || GET_MODE (x6) != E_TImode)
8316 : return -1;
8317 : x8 = XEXP (x3, 1);
8318 : if (GET_CODE (x8) != ZERO_EXTEND
8319 : || GET_MODE (x8) != E_TImode
8320 : || pattern1007 (x2,
8321 : E_TImode) != 0)
8322 : return -1;
8323 : switch (pattern91 (x2,
8324 : E_TImode,
8325 : E_DImode))
8326 : {
8327 : case 0:
8328 : if (!(
8329 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8330 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8331 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8332 : (TARGET_64BIT)))
8333 : return -1;
8334 : *pnum_clobbers = 1;
8335 : return 277; /* *addti3_doubleword_concat */
8336 :
8337 : case 1:
8338 : if (!(
8339 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8340 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8341 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8342 : (TARGET_64BIT)))
8343 : return -1;
8344 : *pnum_clobbers = 1;
8345 : return 283; /* *addti3_doubleword_concat_zext */
8346 :
8347 : default:
8348 : return -1;
8349 : }
8350 :
8351 : case REG:
8352 : case SUBREG:
8353 : switch (pattern580 (x2))
8354 : {
8355 : case 0:
8356 : if (!
8357 : #line 8023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8358 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8359 : return -1;
8360 : return 374; /* *leaqi_general_3b */
8361 :
8362 : case 1:
8363 : if (!
8364 : #line 8023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8365 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8366 : return -1;
8367 : return 375; /* *leahi_general_3b */
8368 :
8369 : default:
8370 : return -1;
8371 : }
8372 :
8373 : default:
8374 : return -1;
8375 : }
8376 :
8377 : case REG:
8378 : case SUBREG:
8379 : switch (pattern431 (x2))
8380 : {
8381 : case 0:
8382 : if (!
8383 : #line 7931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8384 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8385 : return -1;
8386 : return 366; /* *leaqi_general_1 */
8387 :
8388 : case 1:
8389 : if (!
8390 : #line 7931 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8391 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8392 : return -1;
8393 : return 367; /* *leahi_general_1 */
8394 :
8395 : default:
8396 : return -1;
8397 : }
8398 :
8399 : case MULT:
8400 : switch (pattern434 (x2))
8401 : {
8402 : case 0:
8403 : if (!
8404 : #line 7997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8405 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8406 : return -1;
8407 : return 372; /* *leaqi_general_3 */
8408 :
8409 : case 1:
8410 : if (!
8411 : #line 7997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8412 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8413 : return -1;
8414 : return 373; /* *leahi_general_3 */
8415 :
8416 : default:
8417 : return -1;
8418 : }
8419 :
8420 : case LTU:
8421 : case UNLT:
8422 : if (pnum_clobbers == NULL)
8423 : return -1;
8424 : operands[4] = x5;
8425 : x9 = XEXP (x5, 1);
8426 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8427 : return -1;
8428 : x6 = XEXP (x5, 0);
8429 : operands[3] = x6;
8430 : if (!flags_reg_operand (operands[3], E_VOIDmode))
8431 : return -1;
8432 : x8 = XEXP (x3, 1);
8433 : operands[1] = x8;
8434 : x7 = XEXP (x2, 1);
8435 : operands[2] = x7;
8436 : switch (GET_MODE (operands[0]))
8437 : {
8438 : case E_QImode:
8439 : if (pattern1368 (x2,
8440 : E_QImode) != 0
8441 : || !
8442 : #line 8840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8443 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
8444 : return -1;
8445 : *pnum_clobbers = 1;
8446 : return 457; /* addqi3_carry */
8447 :
8448 : case E_HImode:
8449 : if (pattern1368 (x2,
8450 : E_HImode) != 0
8451 : || !
8452 : #line 8840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8453 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
8454 : return -1;
8455 : *pnum_clobbers = 1;
8456 : return 458; /* addhi3_carry */
8457 :
8458 : default:
8459 : return -1;
8460 : }
8461 :
8462 : case EQ:
8463 : switch (pattern435 (x2, pnum_clobbers))
8464 : {
8465 : case 0:
8466 : if (pattern1273 (x2,
8467 : E_QImode) != 0
8468 : || !
8469 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8470 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
8471 : && ix86_pre_reload_split ()))
8472 : return -1;
8473 : *pnum_clobbers = 1;
8474 : return 582; /* *addqi3_eq */
8475 :
8476 : case 1:
8477 : if (pattern1273 (x2,
8478 : E_HImode) != 0
8479 : || !
8480 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8481 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
8482 : && ix86_pre_reload_split ()))
8483 : return -1;
8484 : *pnum_clobbers = 1;
8485 : return 583; /* *addhi3_eq */
8486 :
8487 : default:
8488 : return -1;
8489 : }
8490 :
8491 : case NE:
8492 : switch (pattern435 (x2, pnum_clobbers))
8493 : {
8494 : case 0:
8495 : if (pattern1274 (x2,
8496 : E_QImode) != 0
8497 : || !
8498 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8499 : (CONST_INT_P (operands[2])
8500 : && (QImode != DImode
8501 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
8502 : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
8503 : && ix86_pre_reload_split ()))
8504 : return -1;
8505 : *pnum_clobbers = 1;
8506 : return 586; /* *addqi3_ne */
8507 :
8508 : case 1:
8509 : if (pattern1274 (x2,
8510 : E_HImode) != 0
8511 : || !
8512 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8513 : (CONST_INT_P (operands[2])
8514 : && (HImode != DImode
8515 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
8516 : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
8517 : && ix86_pre_reload_split ()))
8518 : return -1;
8519 : *pnum_clobbers = 1;
8520 : return 587; /* *addhi3_ne */
8521 :
8522 : default:
8523 : return -1;
8524 : }
8525 :
8526 : default:
8527 : return -1;
8528 : }
8529 :
8530 : case IOR:
8531 : switch (pattern93 (x1, pnum_clobbers))
8532 : {
8533 : case 0:
8534 : if (!(
8535 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8536 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8537 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8538 : (TARGET_64BIT)))
8539 : return -1;
8540 : *pnum_clobbers = 1;
8541 : return 278; /* *addti3_doubleword_concat */
8542 :
8543 : case 1:
8544 : if (!(
8545 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8546 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8547 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8548 : (TARGET_64BIT)))
8549 : return -1;
8550 : *pnum_clobbers = 1;
8551 : return 284; /* *addti3_doubleword_concat_zext */
8552 :
8553 : default:
8554 : return -1;
8555 : }
8556 :
8557 : case XOR:
8558 : switch (pattern93 (x1, pnum_clobbers))
8559 : {
8560 : case 0:
8561 : if (!(
8562 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8563 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8564 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8565 : (TARGET_64BIT)))
8566 : return -1;
8567 : *pnum_clobbers = 1;
8568 : return 279; /* *addti3_doubleword_concat */
8569 :
8570 : case 1:
8571 : if (!(
8572 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8573 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
8574 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8575 : (TARGET_64BIT)))
8576 : return -1;
8577 : *pnum_clobbers = 1;
8578 : return 285; /* *addti3_doubleword_concat_zext */
8579 :
8580 : default:
8581 : return -1;
8582 : }
8583 :
8584 : case MULT:
8585 : x4 = XEXP (x1, 0);
8586 : operands[0] = x4;
8587 : x5 = XEXP (x3, 0);
8588 : switch (GET_CODE (x5))
8589 : {
8590 : case REG:
8591 : case SUBREG:
8592 : switch (pattern400 (x2))
8593 : {
8594 : case 0:
8595 : if (!
8596 : #line 7953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8597 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8598 : return -1;
8599 : return 368; /* *leaqi_general_2 */
8600 :
8601 : case 1:
8602 : if (!
8603 : #line 7953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8604 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8605 : return -1;
8606 : return 369; /* *leahi_general_2 */
8607 :
8608 : default:
8609 : return -1;
8610 : }
8611 :
8612 : case SIGN_EXTEND:
8613 : if (pattern310 (x5,
8614 : 2,
8615 : E_V2HImode,
8616 : E_V2SImode) != 0)
8617 : return -1;
8618 : x8 = XEXP (x3, 1);
8619 : if (pattern1275 (x8,
8620 : E_V2HImode,
8621 : E_V2SImode) != 0)
8622 : return -1;
8623 : x10 = XEXP (x8, 0);
8624 : x11 = XEXP (x10, 1);
8625 : if (XVECLEN (x11, 0) != 2)
8626 : return -1;
8627 : x12 = XVECEXP (x11, 0, 0);
8628 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8629 : return -1;
8630 : x13 = XVECEXP (x11, 0, 1);
8631 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
8632 : return -1;
8633 : x7 = XEXP (x2, 1);
8634 : if (GET_CODE (x7) != MULT
8635 : || GET_MODE (x7) != E_V2SImode)
8636 : return -1;
8637 : x14 = XEXP (x7, 0);
8638 : if (pattern1211 (x14,
8639 : E_V2HImode,
8640 : VEC_SELECT,
8641 : E_V2SImode,
8642 : SIGN_EXTEND) != 0)
8643 : return -1;
8644 : x15 = XEXP (x14, 0);
8645 : x16 = XEXP (x15, 1);
8646 : if (GET_CODE (x16) != PARALLEL
8647 : || XVECLEN (x16, 0) != 2)
8648 : return -1;
8649 : x17 = XVECEXP (x16, 0, 0);
8650 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8651 : return -1;
8652 : x18 = XVECEXP (x16, 0, 1);
8653 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
8654 : return -1;
8655 : x19 = XEXP (x7, 1);
8656 : if (pattern1874 (x19,
8657 : E_V2HImode,
8658 : E_V2SImode) != 0)
8659 : return -1;
8660 : x20 = XEXP (x19, 0);
8661 : x21 = XEXP (x20, 1);
8662 : if (XVECLEN (x21, 0) != 2)
8663 : return -1;
8664 : x22 = XVECEXP (x21, 0, 0);
8665 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8666 : return -1;
8667 : x23 = XVECEXP (x21, 0, 1);
8668 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
8669 : || !register_operand (operands[0], E_V2SImode)
8670 : || GET_MODE (x2) != E_V2SImode
8671 : || GET_MODE (x3) != E_V2SImode)
8672 : return -1;
8673 : x6 = XEXP (x5, 0);
8674 : x24 = XEXP (x6, 0);
8675 : operands[1] = x24;
8676 : if (!register_mmxmem_operand (operands[1], E_V4HImode))
8677 : return -1;
8678 : x25 = XEXP (x10, 0);
8679 : operands[2] = x25;
8680 : if (!register_mmxmem_operand (operands[2], E_V4HImode))
8681 : return -1;
8682 : x26 = XEXP (x15, 0);
8683 : if (!rtx_equal_p (x26, operands[1]))
8684 : return -1;
8685 : x27 = XEXP (x20, 0);
8686 : if (!rtx_equal_p (x27, operands[2])
8687 : || !
8688 : #line 3593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8689 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8690 : && ix86_binary_operator_ok (MULT, V4HImode, operands)))
8691 : return -1;
8692 : return 2222; /* *mmx_pmaddwd */
8693 :
8694 : default:
8695 : return -1;
8696 : }
8697 :
8698 : case ASHIFT:
8699 : x4 = XEXP (x1, 0);
8700 : operands[0] = x4;
8701 : x8 = XEXP (x3, 1);
8702 : operands[2] = x8;
8703 : x5 = XEXP (x3, 0);
8704 : switch (GET_CODE (x5))
8705 : {
8706 : case REG:
8707 : case SUBREG:
8708 : operands[1] = x5;
8709 : x7 = XEXP (x2, 1);
8710 : switch (GET_CODE (x7))
8711 : {
8712 : case CONST_INT:
8713 : case CONST_WIDE_INT:
8714 : case CONST_POLY_INT:
8715 : case CONST_FIXED:
8716 : case CONST_DOUBLE:
8717 : case CONST_VECTOR:
8718 : case CONST:
8719 : case REG:
8720 : case SUBREG:
8721 : case LABEL_REF:
8722 : case SYMBOL_REF:
8723 : case HIGH:
8724 : operands[3] = x7;
8725 : switch (GET_MODE (operands[0]))
8726 : {
8727 : case E_QImode:
8728 : if (pattern1090 (x2,
8729 : E_QImode) != 0
8730 : || !
8731 : #line 7974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8732 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8733 : return -1;
8734 : return 370; /* *leaqi_general_2b */
8735 :
8736 : case E_HImode:
8737 : if (pattern1090 (x2,
8738 : E_HImode) != 0
8739 : || !
8740 : #line 7974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8741 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8742 : return -1;
8743 : return 371; /* *leahi_general_2b */
8744 :
8745 : case E_TImode:
8746 : if (pattern615 (x2,
8747 : E_TImode) != 0
8748 : || !(
8749 : #line 14473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8750 : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
8751 : && (TImode == DImode
8752 : ? CONST_INT_P (operands[3])
8753 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8754 : : CONST_INT_P (operands[3])
8755 : ? INTVAL (operands[3]) >= 0
8756 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8757 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8758 : && !(CONST_INT_P (operands[3])
8759 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8760 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8761 : 0)),
8762 : VOIDmode))) &&
8763 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8764 : (TARGET_64BIT)))
8765 : return -1;
8766 : return 963; /* *concatditi3_5 */
8767 :
8768 : default:
8769 : return -1;
8770 : }
8771 :
8772 : case ZERO_EXTEND:
8773 : if (pattern616 (x2,
8774 : E_DImode,
8775 : E_TImode) != 0
8776 : || !(
8777 : #line 14396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8778 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
8779 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8780 : (TARGET_64BIT)))
8781 : return -1;
8782 : return 927; /* *concatditi3_1 */
8783 :
8784 : default:
8785 : return -1;
8786 : }
8787 :
8788 : case SIGN_EXTEND:
8789 : switch (pattern427 (x2))
8790 : {
8791 : case 0:
8792 : if (!(
8793 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8794 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
8795 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8796 : (TARGET_64BIT)))
8797 : return -1;
8798 : return 942; /* *concatditi3_3 */
8799 :
8800 : case 1:
8801 : if (!(
8802 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8803 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
8804 : && (TImode == DImode
8805 : ? CONST_INT_P (operands[3])
8806 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8807 : : CONST_INT_P (operands[3])
8808 : ? INTVAL (operands[3]) >= 0
8809 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8810 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8811 : && !(CONST_INT_P (operands[3])
8812 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8813 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8814 : 0)),
8815 : VOIDmode))) &&
8816 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8817 : (TARGET_64BIT)))
8818 : return -1;
8819 : return 972; /* *concatditi3_6 */
8820 :
8821 : default:
8822 : return -1;
8823 : }
8824 :
8825 : case ZERO_EXTEND:
8826 : switch (pattern427 (x2))
8827 : {
8828 : case 0:
8829 : if (!(
8830 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8831 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
8832 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8833 : (TARGET_64BIT)))
8834 : return -1;
8835 : return 945; /* *concatditi3_3 */
8836 :
8837 : case 1:
8838 : if (!(
8839 : #line 14505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8840 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
8841 : && (TImode == DImode
8842 : ? CONST_INT_P (operands[3])
8843 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
8844 : : CONST_INT_P (operands[3])
8845 : ? INTVAL (operands[3]) >= 0
8846 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
8847 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
8848 : && !(CONST_INT_P (operands[3])
8849 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
8850 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
8851 : 0)),
8852 : VOIDmode))) &&
8853 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8854 : (TARGET_64BIT)))
8855 : return -1;
8856 : return 975; /* *concatditi3_6 */
8857 :
8858 : default:
8859 : return -1;
8860 : }
8861 :
8862 : default:
8863 : return -1;
8864 : }
8865 :
8866 : case LTU:
8867 : case UNLT:
8868 : switch (pattern94 (x1, pnum_clobbers))
8869 : {
8870 : case 0:
8871 : if (pattern1093 (x2,
8872 : E_QImode) != 0
8873 : || !
8874 : #line 8941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8875 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
8876 : return -1;
8877 : *pnum_clobbers = 1;
8878 : return 465; /* *addqi3_carry_0 */
8879 :
8880 : case 1:
8881 : if (pattern1093 (x2,
8882 : E_HImode) != 0
8883 : || !
8884 : #line 8941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8885 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
8886 : return -1;
8887 : *pnum_clobbers = 1;
8888 : return 466; /* *addhi3_carry_0 */
8889 :
8890 : default:
8891 : return -1;
8892 : }
8893 :
8894 : case GE:
8895 : case GEU:
8896 : switch (pattern94 (x1, pnum_clobbers))
8897 : {
8898 : case 0:
8899 : if (pattern1094 (x2,
8900 : E_QImode) != 0
8901 : || !
8902 : #line 8975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8903 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
8904 : return -1;
8905 : *pnum_clobbers = 1;
8906 : return 473; /* *addqi3_carry_0r */
8907 :
8908 : case 1:
8909 : if (pattern1094 (x2,
8910 : E_HImode) != 0
8911 : || !
8912 : #line 8975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8913 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
8914 : return -1;
8915 : *pnum_clobbers = 1;
8916 : return 474; /* *addhi3_carry_0r */
8917 :
8918 : default:
8919 : return -1;
8920 : }
8921 :
8922 : case EQ:
8923 : switch (pattern96 (x1, pnum_clobbers))
8924 : {
8925 : case 0:
8926 : if (!
8927 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8928 : (ix86_unary_operator_ok (PLUS, QImode, operands)
8929 : && ix86_pre_reload_split ()))
8930 : return -1;
8931 : *pnum_clobbers = 1;
8932 : return 590; /* *addqi3_eq_0 */
8933 :
8934 : case 1:
8935 : if (!
8936 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8937 : (ix86_unary_operator_ok (PLUS, HImode, operands)
8938 : && ix86_pre_reload_split ()))
8939 : return -1;
8940 : *pnum_clobbers = 1;
8941 : return 591; /* *addhi3_eq_0 */
8942 :
8943 : default:
8944 : return -1;
8945 : }
8946 :
8947 : case NE:
8948 : switch (pattern96 (x1, pnum_clobbers))
8949 : {
8950 : case 0:
8951 : if (!
8952 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8953 : (ix86_unary_operator_ok (PLUS, QImode, operands)
8954 : && ix86_pre_reload_split ()))
8955 : return -1;
8956 : *pnum_clobbers = 1;
8957 : return 594; /* *addqi3_ne_0 */
8958 :
8959 : case 1:
8960 : if (!
8961 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8962 : (ix86_unary_operator_ok (PLUS, HImode, operands)
8963 : && ix86_pre_reload_split ()))
8964 : return -1;
8965 : *pnum_clobbers = 1;
8966 : return 595; /* *addhi3_ne_0 */
8967 :
8968 : default:
8969 : return -1;
8970 : }
8971 :
8972 : case MINUS:
8973 : if (pnum_clobbers == NULL)
8974 : return -1;
8975 : x4 = XEXP (x1, 0);
8976 : operands[0] = x4;
8977 : x5 = XEXP (x3, 0);
8978 : operands[1] = x5;
8979 : x7 = XEXP (x2, 1);
8980 : operands[2] = x7;
8981 : x8 = XEXP (x3, 1);
8982 : switch (GET_CODE (x8))
8983 : {
8984 : case NE:
8985 : switch (pattern862 (x2))
8986 : {
8987 : case 0:
8988 : if (!
8989 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8990 : (CONST_INT_P (operands[2])
8991 : && (QImode != DImode
8992 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
8993 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
8994 : && ix86_pre_reload_split ()))
8995 : return -1;
8996 : *pnum_clobbers = 1;
8997 : return 602; /* *subqi3_ne */
8998 :
8999 : case 1:
9000 : if (!
9001 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9002 : (CONST_INT_P (operands[2])
9003 : && (HImode != DImode
9004 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
9005 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
9006 : && ix86_pre_reload_split ()))
9007 : return -1;
9008 : *pnum_clobbers = 1;
9009 : return 603; /* *subhi3_ne */
9010 :
9011 : default:
9012 : return -1;
9013 : }
9014 :
9015 : case EQ:
9016 : switch (pattern862 (x2))
9017 : {
9018 : case 0:
9019 : if (!
9020 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9021 : (CONST_INT_P (operands[2])
9022 : && (QImode != DImode
9023 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
9024 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
9025 : && ix86_pre_reload_split ()))
9026 : return -1;
9027 : *pnum_clobbers = 1;
9028 : return 606; /* *subqi3_eq_1 */
9029 :
9030 : case 1:
9031 : if (!
9032 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9033 : (CONST_INT_P (operands[2])
9034 : && (HImode != DImode
9035 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
9036 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
9037 : && ix86_pre_reload_split ()))
9038 : return -1;
9039 : *pnum_clobbers = 1;
9040 : return 607; /* *subhi3_eq_1 */
9041 :
9042 : default:
9043 : return -1;
9044 : }
9045 :
9046 : default:
9047 : return -1;
9048 : }
9049 :
9050 : case VEC_SELECT:
9051 : switch (pattern97 (x1))
9052 : {
9053 : case 0:
9054 : x5 = XEXP (x3, 0);
9055 : operands[1] = x5;
9056 : x8 = XEXP (x3, 1);
9057 : if (XVECLEN (x8, 0) != 1)
9058 : return -1;
9059 : x7 = XEXP (x2, 1);
9060 : x19 = XEXP (x7, 1);
9061 : if (XVECLEN (x19, 0) != 1)
9062 : return -1;
9063 : x28 = XVECEXP (x8, 0, 0);
9064 : operands[2] = x28;
9065 : if (!const_0_to_1_operand (operands[2], E_SImode))
9066 : return -1;
9067 : x29 = XVECEXP (x19, 0, 0);
9068 : operands[3] = x29;
9069 : if (!const_0_to_1_operand (operands[3], E_SImode))
9070 : return -1;
9071 : x14 = XEXP (x7, 0);
9072 : if (!rtx_equal_p (x14, operands[1]))
9073 : return -1;
9074 : switch (GET_MODE (operands[0]))
9075 : {
9076 : case E_SFmode:
9077 : if (!register_operand (operands[0], E_SFmode)
9078 : || GET_MODE (x2) != E_SFmode
9079 : || GET_MODE (x3) != E_SFmode
9080 : || !nonimmediate_operand (operands[1], E_V2SFmode)
9081 : || GET_MODE (x7) != E_SFmode
9082 : || !
9083 : #line 1035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9084 : (TARGET_SSE3 && TARGET_MMX_WITH_SSE && ix86_partial_vec_fp_math
9085 : && INTVAL (operands[2]) != INTVAL (operands[3])
9086 : && ix86_pre_reload_split ()))
9087 : return -1;
9088 : return 2122; /* *mmx_haddv2sf3_low */
9089 :
9090 : case E_DFmode:
9091 : if (pattern1521 (x2,
9092 : E_DFmode,
9093 : E_V2DFmode) != 0
9094 : || !
9095 : #line 3819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9096 : (TARGET_SSE3 && TARGET_V2DF_REDUCTION_PREFER_HADDPD
9097 : && INTVAL (operands[2]) != INTVAL (operands[3])))
9098 : return -1;
9099 : return 3224; /* *sse3_haddv2df3_low */
9100 :
9101 : default:
9102 : return -1;
9103 : }
9104 :
9105 : case 1:
9106 : switch (pattern864 (x2))
9107 : {
9108 : case 0:
9109 : if (!
9110 : #line 22970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9111 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
9112 : return -1;
9113 : return 8640; /* ssse3_phaddwv4hi3 */
9114 :
9115 : case 1:
9116 : if (!
9117 : #line 23057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9118 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
9119 : return -1;
9120 : return 8648; /* ssse3_phadddv2si3 */
9121 :
9122 : default:
9123 : return -1;
9124 : }
9125 :
9126 : default:
9127 : return -1;
9128 : }
9129 :
9130 : default:
9131 : return -1;
9132 : }
9133 : }
9134 :
9135 : int
9136 : recog_87 (rtx x1 ATTRIBUTE_UNUSED,
9137 : rtx_insn *insn ATTRIBUTE_UNUSED,
9138 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9139 : {
9140 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9141 : rtx x2, x3;
9142 : int res ATTRIBUTE_UNUSED;
9143 : x2 = XEXP (x1, 1);
9144 : x3 = XEXP (x2, 1);
9145 : switch (GET_CODE (x3))
9146 : {
9147 : case CONST_INT:
9148 : case CONST_WIDE_INT:
9149 : case CONST_POLY_INT:
9150 : case CONST_FIXED:
9151 : case CONST_DOUBLE:
9152 : case CONST_VECTOR:
9153 : case CONST:
9154 : case REG:
9155 : case SUBREG:
9156 : case MEM:
9157 : case LABEL_REF:
9158 : case SYMBOL_REF:
9159 : case HIGH:
9160 : operands[2] = x3;
9161 : switch (pattern439 (x2))
9162 : {
9163 : case 0:
9164 : if (pnum_clobbers != NULL
9165 : && x86_64_hilo_general_operand (operands[2], E_DImode)
9166 : && (
9167 : #line 8102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9168 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
9169 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9170 : (!TARGET_64BIT)))
9171 : {
9172 : *pnum_clobbers = 1;
9173 : return 384; /* *subdi3_doubleword */
9174 : }
9175 : if (!x86_64_general_operand (operands[2], E_DImode))
9176 : return -1;
9177 : if ((
9178 : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9179 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
9180 : && TARGET_APX_NF) &&
9181 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9182 : (TARGET_64BIT)))
9183 : return 394; /* *subdi_1_nf */
9184 : if (pnum_clobbers == NULL
9185 : || !(
9186 : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9187 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
9188 : && true) &&
9189 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9190 : (TARGET_64BIT)))
9191 : return -1;
9192 : *pnum_clobbers = 1;
9193 : return 395; /* *subdi_1 */
9194 :
9195 : case 1:
9196 : if (
9197 : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9198 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
9199 : && TARGET_APX_NF))
9200 : return 392; /* *subsi_1_nf */
9201 : if (pnum_clobbers == NULL
9202 : || !
9203 : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9204 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
9205 : && true))
9206 : return -1;
9207 : *pnum_clobbers = 1;
9208 : return 393; /* *subsi_1 */
9209 :
9210 : default:
9211 : return -1;
9212 : }
9213 :
9214 : case ZERO_EXTEND:
9215 : if (pnum_clobbers == NULL
9216 : || GET_MODE (x3) != E_DImode
9217 : || pattern765 (x2,
9218 : E_SImode,
9219 : E_DImode) != 0
9220 : || !(
9221 : #line 8136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9222 : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
9223 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9224 : (!TARGET_64BIT)))
9225 : return -1;
9226 : *pnum_clobbers = 1;
9227 : return 386; /* *subdi3_doubleword_zext */
9228 :
9229 : case LTU:
9230 : case UNLT:
9231 : switch (pattern448 (x3, pnum_clobbers))
9232 : {
9233 : case 0:
9234 : if (pattern1216 (x2,
9235 : E_SImode) != 0
9236 : || !
9237 : #line 9606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9238 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
9239 : return -1;
9240 : *pnum_clobbers = 1;
9241 : return 513; /* *subsi3_carry_0 */
9242 :
9243 : case 1:
9244 : if (pattern1216 (x2,
9245 : E_DImode) != 0
9246 : || !(
9247 : #line 9606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9248 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
9249 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9250 : (TARGET_64BIT)))
9251 : return -1;
9252 : *pnum_clobbers = 1;
9253 : return 514; /* *subdi3_carry_0 */
9254 :
9255 : default:
9256 : return -1;
9257 : }
9258 :
9259 : case GE:
9260 : case GEU:
9261 : switch (pattern448 (x3, pnum_clobbers))
9262 : {
9263 : case 0:
9264 : if (pattern1217 (x2,
9265 : E_SImode) != 0
9266 : || !
9267 : #line 9640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9268 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
9269 : return -1;
9270 : *pnum_clobbers = 1;
9271 : return 521; /* *subsi3_carry_0r */
9272 :
9273 : case 1:
9274 : if (pattern1217 (x2,
9275 : E_DImode) != 0
9276 : || !(
9277 : #line 9640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9278 : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
9279 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9280 : (TARGET_64BIT)))
9281 : return -1;
9282 : *pnum_clobbers = 1;
9283 : return 522; /* *subdi3_carry_0r */
9284 :
9285 : default:
9286 : return -1;
9287 : }
9288 :
9289 : case EQ:
9290 : switch (pattern450 (x2, pnum_clobbers))
9291 : {
9292 : case 0:
9293 : if (!
9294 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9295 : (ix86_unary_operator_ok (MINUS, SImode, operands)
9296 : && ix86_pre_reload_split ()))
9297 : return -1;
9298 : *pnum_clobbers = 1;
9299 : return 612; /* *subsi3_eq_0 */
9300 :
9301 : case 1:
9302 : if (!(
9303 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9304 : (ix86_unary_operator_ok (MINUS, DImode, operands)
9305 : && ix86_pre_reload_split ()) &&
9306 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9307 : (TARGET_64BIT)))
9308 : return -1;
9309 : *pnum_clobbers = 1;
9310 : return 613; /* *subdi3_eq_0 */
9311 :
9312 : default:
9313 : return -1;
9314 : }
9315 :
9316 : case NE:
9317 : switch (pattern450 (x2, pnum_clobbers))
9318 : {
9319 : case 0:
9320 : if (!
9321 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9322 : (ix86_unary_operator_ok (MINUS, SImode, operands)
9323 : && ix86_pre_reload_split ()))
9324 : return -1;
9325 : *pnum_clobbers = 1;
9326 : return 616; /* *subsi3_ne_0 */
9327 :
9328 : case 1:
9329 : if (!(
9330 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9331 : (ix86_unary_operator_ok (MINUS, DImode, operands)
9332 : && ix86_pre_reload_split ()) &&
9333 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9334 : (TARGET_64BIT)))
9335 : return -1;
9336 : *pnum_clobbers = 1;
9337 : return 617; /* *subdi3_ne_0 */
9338 :
9339 : default:
9340 : return -1;
9341 : }
9342 :
9343 : default:
9344 : return -1;
9345 : }
9346 : }
9347 :
9348 : int
9349 : recog_90 (rtx x1 ATTRIBUTE_UNUSED,
9350 : rtx_insn *insn ATTRIBUTE_UNUSED,
9351 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9352 : {
9353 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9354 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9355 : rtx x10, x11, x12, x13;
9356 : int res ATTRIBUTE_UNUSED;
9357 : x2 = XEXP (x1, 1);
9358 : x3 = XEXP (x2, 0);
9359 : x4 = XEXP (x3, 1);
9360 : if (GET_CODE (x4) != CONST_INT)
9361 : return -1;
9362 : x5 = XEXP (x1, 0);
9363 : operands[0] = x5;
9364 : switch (GET_CODE (x3))
9365 : {
9366 : case NE:
9367 : case EQ:
9368 : operands[1] = x3;
9369 : if (bt_comparison_operator (operands[1], E_VOIDmode))
9370 : {
9371 : res = recog_89 (x1, insn, pnum_clobbers);
9372 : if (res >= 0)
9373 : return res;
9374 : }
9375 : if (GET_CODE (x3) != NE
9376 : || GET_MODE (x3) != E_QImode
9377 : || XWINT (x4, 0) != 0L)
9378 : return -1;
9379 : x6 = XEXP (x2, 1);
9380 : if (GET_CODE (x6) != ZERO_EXTRACT)
9381 : return -1;
9382 : x7 = XEXP (x6, 1);
9383 : if (GET_CODE (x7) != UMIN
9384 : || GET_MODE (x7) != E_QImode)
9385 : return -1;
9386 : x8 = XEXP (x6, 2);
9387 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9388 : return -1;
9389 : x9 = XEXP (x2, 2);
9390 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9391 : return -1;
9392 : x10 = XEXP (x3, 0);
9393 : operands[2] = x10;
9394 : if (!register_operand (operands[2], E_QImode))
9395 : return -1;
9396 : x11 = XEXP (x6, 0);
9397 : operands[1] = x11;
9398 : x12 = XEXP (x7, 1);
9399 : operands[3] = x12;
9400 : if (!const_int_operand (operands[3], E_QImode))
9401 : return -1;
9402 : x13 = XEXP (x7, 0);
9403 : if (!rtx_equal_p (x13, operands[2]))
9404 : return -1;
9405 : switch (GET_MODE (operands[0]))
9406 : {
9407 : case E_SImode:
9408 : if (pattern881 (x2,
9409 : E_SImode) != 0
9410 : || !
9411 : #line 22408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9412 : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
9413 : return -1;
9414 : *pnum_clobbers = 1;
9415 : return 1624; /* *bmi2_bzhi_si3 */
9416 :
9417 : case E_DImode:
9418 : if (pattern881 (x2,
9419 : E_DImode) != 0
9420 : || !(
9421 : #line 22408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9422 : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
9423 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9424 : (TARGET_64BIT)))
9425 : return -1;
9426 : *pnum_clobbers = 1;
9427 : return 1625; /* *bmi2_bzhi_di3 */
9428 :
9429 : default:
9430 : return -1;
9431 : }
9432 :
9433 : case LTU:
9434 : case UNLT:
9435 : operands[1] = x3;
9436 : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
9437 : return -1;
9438 : x10 = XEXP (x3, 0);
9439 : if (GET_CODE (x10) != REG
9440 : || REGNO (x10) != 17
9441 : || XWINT (x4, 0) != 0L)
9442 : return -1;
9443 : x6 = XEXP (x2, 1);
9444 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
9445 : return -1;
9446 : x9 = XEXP (x2, 2);
9447 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9448 : return -1;
9449 : switch (pattern24 (x2))
9450 : {
9451 : case 0:
9452 : *pnum_clobbers = 1;
9453 : return 1829; /* *x86_movsicc_0_m1 */
9454 :
9455 : case 1:
9456 : if (!
9457 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9458 : (TARGET_64BIT))
9459 : return -1;
9460 : *pnum_clobbers = 1;
9461 : return 1830; /* *x86_movdicc_0_m1 */
9462 :
9463 : default:
9464 : return -1;
9465 : }
9466 :
9467 : default:
9468 : return -1;
9469 : }
9470 : }
9471 :
9472 : int
9473 : recog_92 (rtx x1 ATTRIBUTE_UNUSED,
9474 : rtx_insn *insn ATTRIBUTE_UNUSED,
9475 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9476 : {
9477 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9478 : rtx x2, x3, x4, x5;
9479 : int res ATTRIBUTE_UNUSED;
9480 : x2 = XEXP (x1, 0);
9481 : operands[0] = x2;
9482 : x3 = XEXP (x1, 1);
9483 : x4 = XEXP (x3, 0);
9484 : switch (GET_CODE (x4))
9485 : {
9486 : case REG:
9487 : case SUBREG:
9488 : case MEM:
9489 : operands[1] = x4;
9490 : x5 = XEXP (x3, 1);
9491 : operands[2] = x5;
9492 : switch (GET_MODE (operands[0]))
9493 : {
9494 : case E_SImode:
9495 : if (pattern630 (x3,
9496 : E_SImode) != 0)
9497 : return -1;
9498 : if (
9499 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9500 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
9501 : && TARGET_APX_NF))
9502 : return 620; /* *mulsi3_1_nf */
9503 : if (pnum_clobbers == NULL
9504 : || !
9505 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9506 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
9507 : && true))
9508 : return -1;
9509 : *pnum_clobbers = 1;
9510 : return 621; /* *mulsi3_1 */
9511 :
9512 : case E_DImode:
9513 : if (pattern630 (x3,
9514 : E_DImode) != 0)
9515 : return -1;
9516 : if ((
9517 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9518 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
9519 : && TARGET_APX_NF) &&
9520 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9521 : (TARGET_64BIT)))
9522 : return 622; /* *muldi3_1_nf */
9523 : if (pnum_clobbers == NULL
9524 : || !(
9525 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9526 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
9527 : && true) &&
9528 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9529 : (TARGET_64BIT)))
9530 : return -1;
9531 : *pnum_clobbers = 1;
9532 : return 623; /* *muldi3_1 */
9533 :
9534 : default:
9535 : return -1;
9536 : }
9537 :
9538 : case ZERO_EXTEND:
9539 : if (pnum_clobbers == NULL
9540 : || pattern120 (x3,
9541 : ZERO_EXTEND) != 0
9542 : || !(
9543 : #line 11337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9544 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
9545 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9546 : (!TARGET_64BIT)))
9547 : return -1;
9548 : *pnum_clobbers = 1;
9549 : return 645; /* *umulsidi3_1 */
9550 :
9551 : case SIGN_EXTEND:
9552 : if (pattern120 (x3,
9553 : SIGN_EXTEND) != 0)
9554 : return -1;
9555 : if ((
9556 : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9557 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
9558 : && TARGET_APX_NF) &&
9559 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9560 : (!TARGET_64BIT)))
9561 : return 647; /* *mulsidi3_1_nf */
9562 : if (pnum_clobbers == NULL
9563 : || !(
9564 : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9565 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
9566 : && true) &&
9567 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9568 : (!TARGET_64BIT)))
9569 : return -1;
9570 : *pnum_clobbers = 1;
9571 : return 648; /* *mulsidi3_1 */
9572 :
9573 : default:
9574 : return -1;
9575 : }
9576 : }
9577 :
9578 : int
9579 : recog_96 (rtx x1 ATTRIBUTE_UNUSED,
9580 : rtx_insn *insn ATTRIBUTE_UNUSED,
9581 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9582 : {
9583 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9584 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9585 : int res ATTRIBUTE_UNUSED;
9586 : x2 = XEXP (x1, 0);
9587 : operands[0] = x2;
9588 : x3 = XEXP (x1, 1);
9589 : x4 = XEXP (x3, 0);
9590 : switch (GET_CODE (x4))
9591 : {
9592 : case XOR:
9593 : if (pnum_clobbers == NULL)
9594 : return -1;
9595 : x5 = XEXP (x4, 0);
9596 : operands[1] = x5;
9597 : x6 = XEXP (x4, 1);
9598 : operands[2] = x6;
9599 : switch (GET_MODE (operands[0]))
9600 : {
9601 : case E_SImode:
9602 : if (!nonimmediate_operand (operands[0], E_SImode)
9603 : || pattern21 (x3,
9604 : E_SImode) != 0
9605 : || !
9606 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9607 : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
9608 : return -1;
9609 : *pnum_clobbers = 1;
9610 : return 864; /* *notxorsi_1 */
9611 :
9612 : case E_DImode:
9613 : if (!nonimmediate_operand (operands[0], E_DImode)
9614 : || pattern21 (x3,
9615 : E_DImode) != 0
9616 : || !(
9617 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9618 : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
9619 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9620 : (TARGET_64BIT)))
9621 : return -1;
9622 : *pnum_clobbers = 1;
9623 : return 865; /* *notxordi_1 */
9624 :
9625 : default:
9626 : return -1;
9627 : }
9628 :
9629 : case REG:
9630 : case SUBREG:
9631 : case MEM:
9632 : switch (pattern121 (x3))
9633 : {
9634 : case 0:
9635 : if ((
9636 : #line 15321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9637 : (ix86_unary_operator_ok (NOT, DImode, operands, TARGET_APX_NDD)) &&
9638 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9639 : (!TARGET_64BIT)))
9640 : return 1062; /* *one_cmpldi2_doubleword */
9641 : if (!(
9642 : #line 15334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9643 : (ix86_unary_operator_ok (NOT, DImode, operands, TARGET_APX_NDD)) &&
9644 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9645 : (TARGET_64BIT)))
9646 : return -1;
9647 : return 1066; /* *one_cmpldi2_1 */
9648 :
9649 : case 1:
9650 : if (!
9651 : #line 15334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9652 : (ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
9653 : return -1;
9654 : return 1065; /* *one_cmplsi2_1 */
9655 :
9656 : default:
9657 : return -1;
9658 : }
9659 :
9660 : case UNSPEC:
9661 : if (XVECLEN (x4, 0) != 3)
9662 : return -1;
9663 : x7 = XVECEXP (x4, 0, 0);
9664 : operands[1] = x7;
9665 : x8 = XVECEXP (x4, 0, 1);
9666 : operands[2] = x8;
9667 : x9 = XVECEXP (x4, 0, 2);
9668 : operands[3] = x9;
9669 : switch (XINT (x4, 1))
9670 : {
9671 : case 60:
9672 : switch (GET_MODE (operands[0]))
9673 : {
9674 : case E_SImode:
9675 : switch (pattern992 (x3))
9676 : {
9677 : case 0:
9678 : if (!(
9679 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9680 : (TARGET_AVX512F && GET_MODE_NUNITS (V32HFmode) >= 8
9681 : && ix86_pre_reload_split ()) &&
9682 : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9683 : (TARGET_AVX512FP16)))
9684 : return -1;
9685 : return 3458; /* *avx512bw_cmpv32hf3 */
9686 :
9687 : case 1:
9688 : if (!(
9689 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9690 : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
9691 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9692 : (TARGET_AVX512VL)))
9693 : return -1;
9694 : return 3534; /* *avx512vl_cmpv32qi3 */
9695 :
9696 : case 2:
9697 : if (!
9698 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9699 : (TARGET_AVX512BW && ix86_pre_reload_split ()))
9700 : return -1;
9701 : return 3536; /* *avx512bw_cmpv32hi3 */
9702 :
9703 : default:
9704 : return -1;
9705 : }
9706 :
9707 : case E_DImode:
9708 : if (pattern993 (x3) != 0
9709 : || !
9710 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9711 : (TARGET_AVX512BW && ix86_pre_reload_split ()))
9712 : return -1;
9713 : return 3530; /* *avx512bw_cmpv64qi3 */
9714 :
9715 : default:
9716 : return -1;
9717 : }
9718 :
9719 : case 158:
9720 : if (!const_0_to_7_operand (operands[3], E_SImode))
9721 : return -1;
9722 : switch (GET_MODE (operands[0]))
9723 : {
9724 : case E_DImode:
9725 : if (pattern1103 (x3,
9726 : E_V64QImode,
9727 : E_DImode) != 0
9728 : || !
9729 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9730 : (TARGET_AVX512BW && ix86_pre_reload_split ()))
9731 : return -1;
9732 : return 3531; /* *avx512bw_cmpv64qi3 */
9733 :
9734 : case E_SImode:
9735 : switch (pattern1104 (x3))
9736 : {
9737 : case 0:
9738 : if (!(
9739 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9740 : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
9741 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9742 : (TARGET_AVX512VL)))
9743 : return -1;
9744 : return 3535; /* *avx512vl_cmpv32qi3 */
9745 :
9746 : case 1:
9747 : if (!
9748 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9749 : (TARGET_AVX512BW && ix86_pre_reload_split ()))
9750 : return -1;
9751 : return 3537; /* *avx512bw_cmpv32hi3 */
9752 :
9753 : default:
9754 : return -1;
9755 : }
9756 :
9757 : default:
9758 : return -1;
9759 : }
9760 :
9761 : default:
9762 : return -1;
9763 : }
9764 :
9765 : default:
9766 : return -1;
9767 : }
9768 : }
9769 :
9770 : int
9771 : recog_101 (rtx x1 ATTRIBUTE_UNUSED,
9772 : rtx_insn *insn ATTRIBUTE_UNUSED,
9773 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9774 : {
9775 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9776 : rtx x2, x3;
9777 : int res ATTRIBUTE_UNUSED;
9778 : if (register_operand (operands[2], E_SImode))
9779 : {
9780 : x2 = XEXP (x1, 0);
9781 : operands[0] = x2;
9782 : if (register_operand (operands[0], E_SImode))
9783 : {
9784 : x3 = XEXP (x1, 1);
9785 : if (GET_MODE (x3) == E_SImode
9786 : && nonimmediate_operand (operands[1], E_SImode)
9787 : &&
9788 : #line 17649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9789 : (TARGET_BMI2))
9790 : return 1203; /* *bmi2_lshrsi3_1 */
9791 : }
9792 : }
9793 : x2 = XEXP (x1, 0);
9794 : operands[0] = x2;
9795 : switch (GET_MODE (operands[0]))
9796 : {
9797 : case E_DImode:
9798 : if (!register_operand (operands[0], E_DImode))
9799 : return -1;
9800 : x3 = XEXP (x1, 1);
9801 : if (GET_MODE (x3) != E_DImode)
9802 : return -1;
9803 : if (pnum_clobbers != NULL
9804 : && register_operand (operands[1], E_DImode)
9805 : && nonmemory_operand (operands[2], E_QImode)
9806 : &&
9807 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9808 : (!TARGET_64BIT))
9809 : {
9810 : *pnum_clobbers = 1;
9811 : return 1162; /* lshrdi3_doubleword */
9812 : }
9813 : if (!nonimmediate_operand (operands[1], E_DImode)
9814 : || !register_operand (operands[2], E_DImode)
9815 : || !(
9816 : #line 17649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9817 : (TARGET_BMI2) &&
9818 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9819 : (TARGET_64BIT)))
9820 : return -1;
9821 : return 1205; /* *bmi2_lshrdi3_1 */
9822 :
9823 : case E_SImode:
9824 : x3 = XEXP (x1, 1);
9825 : if (pattern635 (x3,
9826 : E_SImode) != 0)
9827 : return -1;
9828 : if (
9829 : #line 17721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9830 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
9831 : && TARGET_APX_NF))
9832 : return 1212; /* *lshrsi3_1_nf */
9833 : if (pnum_clobbers == NULL
9834 : || !
9835 : #line 17721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9836 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
9837 : && true))
9838 : return -1;
9839 : *pnum_clobbers = 1;
9840 : return 1213; /* *lshrsi3_1 */
9841 :
9842 : default:
9843 : return -1;
9844 : }
9845 : }
9846 :
9847 : int
9848 : recog_105 (rtx x1 ATTRIBUTE_UNUSED,
9849 : rtx_insn *insn ATTRIBUTE_UNUSED,
9850 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9851 : {
9852 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9853 : rtx x2, x3, x4;
9854 : int res ATTRIBUTE_UNUSED;
9855 : x2 = XEXP (x1, 1);
9856 : if (maybe_ne (SUBREG_BYTE (x2), 0))
9857 : return -1;
9858 : x3 = XEXP (x1, 0);
9859 : operands[0] = x3;
9860 : x4 = XEXP (x2, 0);
9861 : switch (GET_CODE (x4))
9862 : {
9863 : case LSHIFTRT:
9864 : switch (pattern295 (x2))
9865 : {
9866 : case 0:
9867 : if ((
9868 : #line 17072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9869 : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9870 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9871 : (!TARGET_64BIT)))
9872 : return 1166; /* lshrdi3_doubleword_lowpart_nf */
9873 : if (pnum_clobbers == NULL
9874 : || !(
9875 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9876 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9877 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9878 : (!TARGET_64BIT)))
9879 : return -1;
9880 : *pnum_clobbers = 1;
9881 : return 1170; /* lshrdi3_doubleword_lowpart */
9882 :
9883 : case 1:
9884 : if ((
9885 : #line 17072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9886 : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9887 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9888 : (TARGET_64BIT)))
9889 : return 1168; /* lshrti3_doubleword_lowpart_nf */
9890 : if (pnum_clobbers == NULL
9891 : || !(
9892 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9893 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9894 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9895 : (TARGET_64BIT)))
9896 : return -1;
9897 : *pnum_clobbers = 1;
9898 : return 1172; /* lshrti3_doubleword_lowpart */
9899 :
9900 : default:
9901 : return -1;
9902 : }
9903 :
9904 : case ASHIFTRT:
9905 : switch (pattern295 (x2))
9906 : {
9907 : case 0:
9908 : if ((
9909 : #line 17072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9910 : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9911 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9912 : (!TARGET_64BIT)))
9913 : return 1167; /* ashrdi3_doubleword_lowpart_nf */
9914 : if (pnum_clobbers == NULL
9915 : || !(
9916 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9917 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9918 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9919 : (!TARGET_64BIT)))
9920 : return -1;
9921 : *pnum_clobbers = 1;
9922 : return 1171; /* ashrdi3_doubleword_lowpart */
9923 :
9924 : case 1:
9925 : if ((
9926 : #line 17072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9927 : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9928 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9929 : (TARGET_64BIT)))
9930 : return 1169; /* ashrti3_doubleword_lowpart_nf */
9931 : if (pnum_clobbers == NULL
9932 : || !(
9933 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9934 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9935 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9936 : (TARGET_64BIT)))
9937 : return -1;
9938 : *pnum_clobbers = 1;
9939 : return 1173; /* ashrti3_doubleword_lowpart */
9940 :
9941 : default:
9942 : return -1;
9943 : }
9944 :
9945 : case SS_TRUNCATE:
9946 : switch (pattern298 (x2))
9947 : {
9948 : case 0:
9949 : if (!
9950 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9951 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9952 : return -1;
9953 : return 7353; /* *avx512vl_ss_truncatev4siv4qi2_store_2 */
9954 :
9955 : case 1:
9956 : if (!
9957 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9958 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9959 : return -1;
9960 : return 7356; /* *avx512vl_ss_truncatev4div4qi2_store_2 */
9961 :
9962 : case 2:
9963 : if (!
9964 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9965 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9966 : return -1;
9967 : return 7450; /* *avx512vl_ss_truncatev2div2hi2_store_2 */
9968 :
9969 : case 3:
9970 : if (!(
9971 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9972 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
9973 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9974 : (TARGET_AVX512BW)))
9975 : return -1;
9976 : return 7383; /* *avx512vl_ss_truncatev8hiv8qi2_store_2 */
9977 :
9978 : case 4:
9979 : if (!
9980 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9981 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9982 : return -1;
9983 : return 7386; /* *avx512vl_ss_truncatev8siv8qi2_store_2 */
9984 :
9985 : case 5:
9986 : if (!
9987 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9988 : (TARGET_AVX512F && ix86_pre_reload_split ()))
9989 : return -1;
9990 : return 7487; /* *avx512f_ss_truncatev8div16qi2_store_2 */
9991 :
9992 : case 6:
9993 : if (!
9994 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9995 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9996 : return -1;
9997 : return 7423; /* *avx512vl_ss_truncatev4siv4hi2_store_2 */
9998 :
9999 : case 7:
10000 : if (!
10001 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10002 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10003 : return -1;
10004 : return 7426; /* *avx512vl_ss_truncatev4div4hi2_store_2 */
10005 :
10006 : case 8:
10007 : if (!
10008 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10009 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10010 : return -1;
10011 : return 7469; /* *avx512vl_ss_truncatev2div2si2_store_2 */
10012 :
10013 : default:
10014 : return -1;
10015 : }
10016 :
10017 : case TRUNCATE:
10018 : switch (pattern298 (x2))
10019 : {
10020 : case 0:
10021 : if (!
10022 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10023 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10024 : return -1;
10025 : return 7354; /* *avx512vl_truncatev4siv4qi2_store_2 */
10026 :
10027 : case 1:
10028 : if (!
10029 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10030 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10031 : return -1;
10032 : return 7357; /* *avx512vl_truncatev4div4qi2_store_2 */
10033 :
10034 : case 2:
10035 : if (!
10036 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10037 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10038 : return -1;
10039 : return 7451; /* *avx512vl_truncatev2div2hi2_store_2 */
10040 :
10041 : case 3:
10042 : if (!(
10043 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10044 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
10045 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10046 : (TARGET_AVX512BW)))
10047 : return -1;
10048 : return 7384; /* *avx512vl_truncatev8hiv8qi2_store_2 */
10049 :
10050 : case 4:
10051 : if (!
10052 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10053 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10054 : return -1;
10055 : return 7387; /* *avx512vl_truncatev8siv8qi2_store_2 */
10056 :
10057 : case 5:
10058 : if (!
10059 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10060 : (TARGET_AVX512F && ix86_pre_reload_split ()))
10061 : return -1;
10062 : return 7488; /* *avx512f_truncatev8div16qi2_store_2 */
10063 :
10064 : case 6:
10065 : if (!
10066 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10067 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10068 : return -1;
10069 : return 7424; /* *avx512vl_truncatev4siv4hi2_store_2 */
10070 :
10071 : case 7:
10072 : if (!
10073 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10074 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10075 : return -1;
10076 : return 7427; /* *avx512vl_truncatev4div4hi2_store_2 */
10077 :
10078 : case 8:
10079 : if (!
10080 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10081 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10082 : return -1;
10083 : return 7470; /* *avx512vl_truncatev2div2si2_store_2 */
10084 :
10085 : default:
10086 : return -1;
10087 : }
10088 :
10089 : case US_TRUNCATE:
10090 : switch (pattern298 (x2))
10091 : {
10092 : case 0:
10093 : if (!
10094 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10095 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10096 : return -1;
10097 : return 7355; /* *avx512vl_us_truncatev4siv4qi2_store_2 */
10098 :
10099 : case 1:
10100 : if (!
10101 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10102 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10103 : return -1;
10104 : return 7358; /* *avx512vl_us_truncatev4div4qi2_store_2 */
10105 :
10106 : case 2:
10107 : if (!
10108 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10109 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10110 : return -1;
10111 : return 7452; /* *avx512vl_us_truncatev2div2hi2_store_2 */
10112 :
10113 : case 3:
10114 : if (!(
10115 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10116 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
10117 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10118 : (TARGET_AVX512BW)))
10119 : return -1;
10120 : return 7385; /* *avx512vl_us_truncatev8hiv8qi2_store_2 */
10121 :
10122 : case 4:
10123 : if (!
10124 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10125 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10126 : return -1;
10127 : return 7388; /* *avx512vl_us_truncatev8siv8qi2_store_2 */
10128 :
10129 : case 5:
10130 : if (!
10131 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10132 : (TARGET_AVX512F && ix86_pre_reload_split ()))
10133 : return -1;
10134 : return 7489; /* *avx512f_us_truncatev8div16qi2_store_2 */
10135 :
10136 : case 6:
10137 : if (!
10138 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10139 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10140 : return -1;
10141 : return 7425; /* *avx512vl_us_truncatev4siv4hi2_store_2 */
10142 :
10143 : case 7:
10144 : if (!
10145 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10146 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10147 : return -1;
10148 : return 7428; /* *avx512vl_us_truncatev4div4hi2_store_2 */
10149 :
10150 : case 8:
10151 : if (!
10152 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10153 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
10154 : return -1;
10155 : return 7471; /* *avx512vl_us_truncatev2div2si2_store_2 */
10156 :
10157 : default:
10158 : return -1;
10159 : }
10160 :
10161 : default:
10162 : return -1;
10163 : }
10164 : }
10165 :
10166 : int
10167 : recog_118 (rtx x1 ATTRIBUTE_UNUSED,
10168 : rtx_insn *insn ATTRIBUTE_UNUSED,
10169 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10170 : {
10171 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10172 : rtx x2, x3, x4;
10173 : int res ATTRIBUTE_UNUSED;
10174 : x2 = XEXP (x1, 0);
10175 : operands[0] = x2;
10176 : x3 = XEXP (x1, 1);
10177 : x4 = XEXP (x3, 0);
10178 : operands[1] = x4;
10179 : switch (pattern132 (x3))
10180 : {
10181 : case 0:
10182 : if (
10183 : #line 21857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10184 : (TARGET_APX_NF && TARGET_LZCNT))
10185 : return 1566; /* clzsi2_lzcnt_nf */
10186 : if (pnum_clobbers == NULL
10187 : || !
10188 : #line 21876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10189 : (TARGET_LZCNT))
10190 : return -1;
10191 : *pnum_clobbers = 1;
10192 : return 1568; /* clzsi2_lzcnt */
10193 :
10194 : case 1:
10195 : if ((
10196 : #line 21857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10197 : (TARGET_APX_NF && TARGET_LZCNT) &&
10198 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10199 : (TARGET_64BIT)))
10200 : return 1567; /* clzdi2_lzcnt_nf */
10201 : if (pnum_clobbers == NULL
10202 : || !(
10203 : #line 21876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10204 : (TARGET_LZCNT) &&
10205 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10206 : (TARGET_64BIT)))
10207 : return -1;
10208 : *pnum_clobbers = 1;
10209 : return 1569; /* clzdi2_lzcnt */
10210 :
10211 : default:
10212 : return -1;
10213 : }
10214 : }
10215 :
10216 : int
10217 : recog_121 (rtx x1 ATTRIBUTE_UNUSED,
10218 : rtx_insn *insn ATTRIBUTE_UNUSED,
10219 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10220 : {
10221 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10222 : rtx x2, x3, x4, x5;
10223 : int res ATTRIBUTE_UNUSED;
10224 : x2 = XEXP (x1, 0);
10225 : operands[0] = x2;
10226 : x3 = XEXP (x1, 1);
10227 : switch (XVECLEN (x3, 0))
10228 : {
10229 : case 1:
10230 : switch (XINT (x3, 1))
10231 : {
10232 : case 2:
10233 : if (pnum_clobbers == NULL)
10234 : return -1;
10235 : switch (pattern307 (x3))
10236 : {
10237 : case 0:
10238 : if (!(
10239 : #line 27761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10240 : (ix86_target_stack_probe ()) &&
10241 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10242 : (Pmode == SImode)))
10243 : return -1;
10244 : *pnum_clobbers = 1;
10245 : return 1913; /* allocate_stack_worker_probe_si */
10246 :
10247 : case 1:
10248 : if (!(
10249 : #line 27761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10250 : (ix86_target_stack_probe ()) &&
10251 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10252 : (Pmode == DImode)))
10253 : return -1;
10254 : *pnum_clobbers = 1;
10255 : return 1914; /* allocate_stack_worker_probe_di */
10256 :
10257 : default:
10258 : return -1;
10259 : }
10260 :
10261 : case 11:
10262 : if (GET_MODE (x3) != E_DImode
10263 : || !register_operand (operands[0], E_DImode))
10264 : return -1;
10265 : x4 = XVECEXP (x3, 0, 0);
10266 : operands[1] = x4;
10267 : if (!register_operand (operands[1], E_SImode)
10268 : || !
10269 : #line 29784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10270 : (!TARGET_64BIT))
10271 : return -1;
10272 : return 1949; /* rdpmc */
10273 :
10274 : case 9:
10275 : if (GET_MODE (x3) != E_DImode)
10276 : return -1;
10277 : x4 = XVECEXP (x3, 0, 0);
10278 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
10279 : || !register_operand (operands[0], E_DImode)
10280 : || !
10281 : #line 29803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10282 : (!TARGET_64BIT))
10283 : return -1;
10284 : return 1951; /* rdtsc */
10285 :
10286 : case 36:
10287 : if (GET_MODE (x3) != E_DImode
10288 : || !register_operand (operands[0], E_DImode))
10289 : return -1;
10290 : x4 = XVECEXP (x3, 0, 0);
10291 : operands[1] = x4;
10292 : if (!register_operand (operands[1], E_SImode)
10293 : || !
10294 : #line 30027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10295 : (!TARGET_64BIT && TARGET_XSAVE))
10296 : return -1;
10297 : return 1979; /* xgetbv */
10298 :
10299 : case 13:
10300 : x4 = XVECEXP (x3, 0, 0);
10301 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10302 : return -1;
10303 : switch (pattern24 (x3))
10304 : {
10305 : case 0:
10306 : if (!(
10307 : #line 30121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10308 : (TARGET_LWP) &&
10309 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10310 : (Pmode == SImode)))
10311 : return -1;
10312 : return 1987; /* lwp_slwpcbsi */
10313 :
10314 : case 1:
10315 : if (!(
10316 : #line 30121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10317 : (TARGET_LWP) &&
10318 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10319 : (Pmode == DImode)))
10320 : return -1;
10321 : return 1988; /* lwp_slwpcbdi */
10322 :
10323 : default:
10324 : return -1;
10325 : }
10326 :
10327 : case 16:
10328 : x4 = XVECEXP (x3, 0, 0);
10329 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10330 : return -1;
10331 : switch (pattern24 (x3))
10332 : {
10333 : case 0:
10334 : if (!
10335 : #line 30169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10336 : (TARGET_64BIT && TARGET_FSGSBASE))
10337 : return -1;
10338 : return 1993; /* rdfsbasesi */
10339 :
10340 : case 1:
10341 : if (!(
10342 : #line 30169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10343 : (TARGET_64BIT && TARGET_FSGSBASE) &&
10344 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10345 : (TARGET_64BIT)))
10346 : return -1;
10347 : return 1995; /* rdfsbasedi */
10348 :
10349 : default:
10350 : return -1;
10351 : }
10352 :
10353 : case 17:
10354 : x4 = XVECEXP (x3, 0, 0);
10355 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10356 : return -1;
10357 : switch (pattern24 (x3))
10358 : {
10359 : case 0:
10360 : if (!
10361 : #line 30169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10362 : (TARGET_64BIT && TARGET_FSGSBASE))
10363 : return -1;
10364 : return 1994; /* rdgsbasesi */
10365 :
10366 : case 1:
10367 : if (!(
10368 : #line 30169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10369 : (TARGET_64BIT && TARGET_FSGSBASE) &&
10370 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10371 : (TARGET_64BIT)))
10372 : return -1;
10373 : return 1996; /* rdgsbasedi */
10374 :
10375 : default:
10376 : return -1;
10377 : }
10378 :
10379 : case 59:
10380 : switch (pattern307 (x3))
10381 : {
10382 : case 0:
10383 : if (!
10384 : #line 30237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10385 : (TARGET_SHSTK || (flag_cf_protection & CF_RETURN)))
10386 : return -1;
10387 : return 2010; /* rdsspsi */
10388 :
10389 : case 1:
10390 : if (!(
10391 : #line 30237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10392 : (TARGET_SHSTK || (flag_cf_protection & CF_RETURN)) &&
10393 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10394 : (TARGET_64BIT)))
10395 : return -1;
10396 : return 2011; /* rdsspdi */
10397 :
10398 : default:
10399 : return -1;
10400 : }
10401 :
10402 : case 57:
10403 : x4 = XVECEXP (x3, 0, 0);
10404 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10405 : return -1;
10406 : switch (pattern24 (x3))
10407 : {
10408 : case 0:
10409 : if (!
10410 : #line 30477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10411 : (!TARGET_64BIT && TARGET_RDPID))
10412 : return -1;
10413 : return 2036; /* rdpid */
10414 :
10415 : case 1:
10416 : if (!
10417 : #line 30484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10418 : (TARGET_64BIT && TARGET_RDPID))
10419 : return -1;
10420 : return 2037; /* rdpid_rex64 */
10421 :
10422 : default:
10423 : return -1;
10424 : }
10425 :
10426 : case 85:
10427 : if (GET_MODE (x3) != E_DImode
10428 : || !register_operand (operands[0], E_DImode))
10429 : return -1;
10430 : x4 = XVECEXP (x3, 0, 0);
10431 : operands[1] = x4;
10432 : if (!x86_64_szext_nonmemory_operand (operands[1], E_DImode)
10433 : || !
10434 : #line 30760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10435 : (TARGET_USER_MSR && TARGET_64BIT))
10436 : return -1;
10437 : return 2065; /* urdmsr */
10438 :
10439 : case 89:
10440 : x4 = XVECEXP (x3, 0, 0);
10441 : operands[1] = x4;
10442 : switch (GET_MODE (operands[0]))
10443 : {
10444 : case E_SImode:
10445 : if (!register_operand (operands[0], E_SImode)
10446 : || GET_MODE (x3) != E_SImode
10447 : || !memory_operand (operands[1], E_SImode)
10448 : || !
10449 : #line 30798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10450 : (TARGET_MOVRS && TARGET_64BIT))
10451 : return -1;
10452 : return 2071; /* movrssi */
10453 :
10454 : case E_DImode:
10455 : if (!register_operand (operands[0], E_DImode)
10456 : || GET_MODE (x3) != E_DImode
10457 : || !memory_operand (operands[1], E_DImode)
10458 : || !
10459 : #line 30798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10460 : (TARGET_MOVRS && TARGET_64BIT))
10461 : return -1;
10462 : return 2072; /* movrsdi */
10463 :
10464 : default:
10465 : return -1;
10466 : }
10467 :
10468 : case 93:
10469 : if (GET_MODE (x3) != E_SImode)
10470 : return -1;
10471 : x4 = XVECEXP (x3, 0, 0);
10472 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
10473 : || !memory_operand (operands[0], E_SImode)
10474 : || !
10475 : #line 22850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10476 : (TARGET_SSE))
10477 : return -1;
10478 : return 8627; /* sse_stmxcsr */
10479 :
10480 : default:
10481 : return -1;
10482 : }
10483 :
10484 : case 2:
10485 : switch (XINT (x3, 1))
10486 : {
10487 : case 3:
10488 : if (pnum_clobbers == NULL)
10489 : return -1;
10490 : x4 = XVECEXP (x3, 0, 0);
10491 : operands[1] = x4;
10492 : x5 = XVECEXP (x3, 0, 1);
10493 : operands[2] = x5;
10494 : switch (GET_MODE (operands[0]))
10495 : {
10496 : case E_SImode:
10497 : if (pattern890 (x3,
10498 : E_SImode) != 0
10499 : || !
10500 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10501 : (Pmode == SImode))
10502 : return -1;
10503 : *pnum_clobbers = 1;
10504 : return 1919; /* probe_stack_range_si */
10505 :
10506 : case E_DImode:
10507 : if (pattern890 (x3,
10508 : E_DImode) != 0
10509 : || !
10510 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10511 : (Pmode == DImode))
10512 : return -1;
10513 : *pnum_clobbers = 1;
10514 : return 1920; /* probe_stack_range_di */
10515 :
10516 : default:
10517 : return -1;
10518 : }
10519 :
10520 : case 113:
10521 : x5 = XVECEXP (x3, 0, 1);
10522 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10523 : return -1;
10524 : x4 = XVECEXP (x3, 0, 0);
10525 : switch (GET_CODE (x4))
10526 : {
10527 : case AND:
10528 : switch (pattern637 (x3))
10529 : {
10530 : case 0:
10531 : if (!
10532 : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10533 : (TARGET_RAOINT))
10534 : return -1;
10535 : return 11092; /* rao_aandsi */
10536 :
10537 : case 1:
10538 : if (!(
10539 : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10540 : (TARGET_RAOINT) &&
10541 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10542 : (TARGET_64BIT)))
10543 : return -1;
10544 : return 11096; /* rao_aanddi */
10545 :
10546 : default:
10547 : return -1;
10548 : }
10549 :
10550 : case IOR:
10551 : switch (pattern637 (x3))
10552 : {
10553 : case 0:
10554 : if (!
10555 : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10556 : (TARGET_RAOINT))
10557 : return -1;
10558 : return 11093; /* rao_aorsi */
10559 :
10560 : case 1:
10561 : if (!(
10562 : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10563 : (TARGET_RAOINT) &&
10564 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10565 : (TARGET_64BIT)))
10566 : return -1;
10567 : return 11097; /* rao_aordi */
10568 :
10569 : default:
10570 : return -1;
10571 : }
10572 :
10573 : case XOR:
10574 : switch (pattern637 (x3))
10575 : {
10576 : case 0:
10577 : if (!
10578 : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10579 : (TARGET_RAOINT))
10580 : return -1;
10581 : return 11094; /* rao_axorsi */
10582 :
10583 : case 1:
10584 : if (!(
10585 : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10586 : (TARGET_RAOINT) &&
10587 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10588 : (TARGET_64BIT)))
10589 : return -1;
10590 : return 11098; /* rao_axordi */
10591 :
10592 : default:
10593 : return -1;
10594 : }
10595 :
10596 : case PLUS:
10597 : switch (pattern637 (x3))
10598 : {
10599 : case 0:
10600 : if (!
10601 : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10602 : (TARGET_RAOINT))
10603 : return -1;
10604 : return 11095; /* rao_aaddsi */
10605 :
10606 : case 1:
10607 : if (!(
10608 : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10609 : (TARGET_RAOINT) &&
10610 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10611 : (TARGET_64BIT)))
10612 : return -1;
10613 : return 11099; /* rao_aadddi */
10614 :
10615 : default:
10616 : return -1;
10617 : }
10618 :
10619 : default:
10620 : return -1;
10621 : }
10622 :
10623 : case 111:
10624 : if (pnum_clobbers == NULL)
10625 : return -1;
10626 : x5 = XVECEXP (x3, 0, 1);
10627 : operands[2] = x5;
10628 : if (!const_int_operand (operands[2], E_SImode))
10629 : return -1;
10630 : x4 = XVECEXP (x3, 0, 0);
10631 : switch (GET_CODE (x4))
10632 : {
10633 : case PLUS:
10634 : switch (pattern891 (x3))
10635 : {
10636 : case 0:
10637 : *pnum_clobbers = 1;
10638 : return 11102; /* atomic_addsi */
10639 :
10640 : case 1:
10641 : if (!
10642 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10643 : (TARGET_64BIT))
10644 : return -1;
10645 : *pnum_clobbers = 1;
10646 : return 11103; /* atomic_adddi */
10647 :
10648 : default:
10649 : return -1;
10650 : }
10651 :
10652 : case MINUS:
10653 : switch (pattern891 (x3))
10654 : {
10655 : case 0:
10656 : *pnum_clobbers = 1;
10657 : return 11106; /* atomic_subsi */
10658 :
10659 : case 1:
10660 : if (!
10661 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10662 : (TARGET_64BIT))
10663 : return -1;
10664 : *pnum_clobbers = 1;
10665 : return 11107; /* atomic_subdi */
10666 :
10667 : default:
10668 : return -1;
10669 : }
10670 :
10671 : case AND:
10672 : switch (pattern891 (x3))
10673 : {
10674 : case 0:
10675 : *pnum_clobbers = 1;
10676 : return 11114; /* atomic_andsi */
10677 :
10678 : case 1:
10679 : if (!
10680 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10681 : (TARGET_64BIT))
10682 : return -1;
10683 : *pnum_clobbers = 1;
10684 : return 11117; /* atomic_anddi */
10685 :
10686 : default:
10687 : return -1;
10688 : }
10689 :
10690 : case IOR:
10691 : switch (pattern891 (x3))
10692 : {
10693 : case 0:
10694 : *pnum_clobbers = 1;
10695 : return 11115; /* atomic_orsi */
10696 :
10697 : case 1:
10698 : if (!
10699 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10700 : (TARGET_64BIT))
10701 : return -1;
10702 : *pnum_clobbers = 1;
10703 : return 11118; /* atomic_ordi */
10704 :
10705 : default:
10706 : return -1;
10707 : }
10708 :
10709 : case XOR:
10710 : switch (pattern891 (x3))
10711 : {
10712 : case 0:
10713 : *pnum_clobbers = 1;
10714 : return 11116; /* atomic_xorsi */
10715 :
10716 : case 1:
10717 : if (!
10718 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10719 : (TARGET_64BIT))
10720 : return -1;
10721 : *pnum_clobbers = 1;
10722 : return 11119; /* atomic_xordi */
10723 :
10724 : default:
10725 : return -1;
10726 : }
10727 :
10728 : default:
10729 : return -1;
10730 : }
10731 :
10732 : default:
10733 : return -1;
10734 : }
10735 :
10736 : default:
10737 : return -1;
10738 : }
10739 : }
10740 :
10741 : int
10742 : recog_135 (rtx x1 ATTRIBUTE_UNUSED,
10743 : rtx_insn *insn ATTRIBUTE_UNUSED,
10744 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10745 : {
10746 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10747 : rtx x2, x3, x4, x5, x6, x7;
10748 : int res ATTRIBUTE_UNUSED;
10749 : x2 = XEXP (x1, 1);
10750 : x3 = XEXP (x2, 0);
10751 : x4 = XVECEXP (x3, 0, 0);
10752 : operands[1] = x4;
10753 : x5 = XVECEXP (x3, 0, 1);
10754 : operands[2] = x5;
10755 : if (!const_0_to_15_operand (operands[2], E_SImode))
10756 : return -1;
10757 : x6 = XEXP (x2, 1);
10758 : operands[3] = x6;
10759 : x7 = XEXP (x2, 2);
10760 : operands[4] = x7;
10761 : switch (GET_MODE (operands[0]))
10762 : {
10763 : case E_V32HFmode:
10764 : if (pattern470 (x2,
10765 : E_V32HFmode,
10766 : E_SImode) != 0
10767 : || !(
10768 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10769 : (TARGET_AVX512F) && (
10770 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10771 : (TARGET_AVX512F) &&
10772 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10773 : (TARGET_AVX512FP16))))
10774 : return -1;
10775 : return 10082; /* avx512bw_getmantv32hf_mask */
10776 :
10777 : case E_V16HFmode:
10778 : if (pattern470 (x2,
10779 : E_V16HFmode,
10780 : E_HImode) != 0
10781 : || !(
10782 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10783 : (TARGET_AVX512F) && (
10784 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10785 : (TARGET_AVX512F) &&
10786 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10787 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10788 : return -1;
10789 : return 10086; /* avx512vl_getmantv16hf_mask */
10790 :
10791 : case E_V8HFmode:
10792 : if (pattern470 (x2,
10793 : E_V8HFmode,
10794 : E_QImode) != 0
10795 : || !(
10796 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10797 : (TARGET_AVX512F) && (
10798 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10799 : (TARGET_AVX512F) &&
10800 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10801 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10802 : return -1;
10803 : return 10090; /* avx512fp16_getmantv8hf_mask */
10804 :
10805 : case E_V16SFmode:
10806 : if (pattern470 (x2,
10807 : E_V16SFmode,
10808 : E_HImode) != 0
10809 : || !
10810 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10811 : (TARGET_AVX512F))
10812 : return -1;
10813 : return 10094; /* avx512f_getmantv16sf_mask */
10814 :
10815 : case E_V8SFmode:
10816 : if (pattern470 (x2,
10817 : E_V8SFmode,
10818 : E_QImode) != 0
10819 : || !(
10820 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10821 : (TARGET_AVX512F) && (
10822 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10823 : (TARGET_AVX512F) &&
10824 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10825 : (TARGET_AVX512VL))))
10826 : return -1;
10827 : return 10098; /* avx512vl_getmantv8sf_mask */
10828 :
10829 : case E_V4SFmode:
10830 : if (pattern470 (x2,
10831 : E_V4SFmode,
10832 : E_QImode) != 0
10833 : || !(
10834 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10835 : (TARGET_AVX512F) && (
10836 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10837 : (TARGET_AVX512F) &&
10838 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10839 : (TARGET_AVX512VL))))
10840 : return -1;
10841 : return 10102; /* avx512vl_getmantv4sf_mask */
10842 :
10843 : case E_V8DFmode:
10844 : if (pattern470 (x2,
10845 : E_V8DFmode,
10846 : E_QImode) != 0
10847 : || !
10848 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10849 : (TARGET_AVX512F))
10850 : return -1;
10851 : return 10106; /* avx512f_getmantv8df_mask */
10852 :
10853 : case E_V4DFmode:
10854 : if (pattern470 (x2,
10855 : E_V4DFmode,
10856 : E_QImode) != 0
10857 : || !(
10858 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10859 : (TARGET_AVX512F) && (
10860 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10861 : (TARGET_AVX512F) &&
10862 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10863 : (TARGET_AVX512VL))))
10864 : return -1;
10865 : return 10110; /* avx512vl_getmantv4df_mask */
10866 :
10867 : case E_V2DFmode:
10868 : if (pattern470 (x2,
10869 : E_V2DFmode,
10870 : E_QImode) != 0
10871 : || !(
10872 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10873 : (TARGET_AVX512F) && (
10874 : #line 30583 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10875 : (TARGET_AVX512F) &&
10876 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10877 : (TARGET_AVX512VL))))
10878 : return -1;
10879 : return 10114; /* avx512vl_getmantv2df_mask */
10880 :
10881 : default:
10882 : return -1;
10883 : }
10884 : }
10885 :
10886 : int
10887 : recog_140 (rtx x1 ATTRIBUTE_UNUSED,
10888 : rtx_insn *insn ATTRIBUTE_UNUSED,
10889 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10890 : {
10891 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10892 : rtx x2;
10893 : int res ATTRIBUTE_UNUSED;
10894 : x2 = XEXP (x1, 1);
10895 : switch (pattern485 (x2))
10896 : {
10897 : case 0:
10898 : if (!
10899 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10900 : (TARGET_AVX512VBMI2))
10901 : return -1;
10902 : return 10302; /* vpshrdv_v32hi_mask */
10903 :
10904 : case 1:
10905 : if (!
10906 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10907 : (TARGET_AVX512VBMI2))
10908 : return -1;
10909 : return 10303; /* vpshrdv_v16si_mask */
10910 :
10911 : case 2:
10912 : if (!
10913 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10914 : (TARGET_AVX512VBMI2))
10915 : return -1;
10916 : return 10304; /* vpshrdv_v8di_mask */
10917 :
10918 : case 3:
10919 : if (!(
10920 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10921 : (TARGET_AVX512VBMI2) &&
10922 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10923 : (TARGET_AVX512VL)))
10924 : return -1;
10925 : return 10305; /* vpshrdv_v16hi_mask */
10926 :
10927 : case 4:
10928 : if (!(
10929 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10930 : (TARGET_AVX512VBMI2) &&
10931 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10932 : (TARGET_AVX512VL)))
10933 : return -1;
10934 : return 10306; /* vpshrdv_v8si_mask */
10935 :
10936 : case 5:
10937 : if (!(
10938 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10939 : (TARGET_AVX512VBMI2) &&
10940 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10941 : (TARGET_AVX512VL)))
10942 : return -1;
10943 : return 10307; /* vpshrdv_v4di_mask */
10944 :
10945 : case 6:
10946 : if (!(
10947 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10948 : (TARGET_AVX512VBMI2) &&
10949 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10950 : (TARGET_AVX512VL)))
10951 : return -1;
10952 : return 10308; /* vpshrdv_v8hi_mask */
10953 :
10954 : case 7:
10955 : if (!(
10956 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10957 : (TARGET_AVX512VBMI2) &&
10958 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10959 : (TARGET_AVX512VL)))
10960 : return -1;
10961 : return 10309; /* vpshrdv_v4si_mask */
10962 :
10963 : case 8:
10964 : if (!(
10965 : #line 31134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10966 : (TARGET_AVX512VBMI2) &&
10967 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10968 : (TARGET_AVX512VL)))
10969 : return -1;
10970 : return 10310; /* vpshrdv_v2di_mask */
10971 :
10972 : case 9:
10973 : if (!
10974 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10975 : (TARGET_AVX512VBMI2))
10976 : return -1;
10977 : return 10311; /* vpshrdv_v32hi_maskz_1 */
10978 :
10979 : case 10:
10980 : if (!
10981 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10982 : (TARGET_AVX512VBMI2))
10983 : return -1;
10984 : return 10312; /* vpshrdv_v16si_maskz_1 */
10985 :
10986 : case 11:
10987 : if (!
10988 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10989 : (TARGET_AVX512VBMI2))
10990 : return -1;
10991 : return 10313; /* vpshrdv_v8di_maskz_1 */
10992 :
10993 : case 12:
10994 : if (!(
10995 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10996 : (TARGET_AVX512VBMI2) &&
10997 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10998 : (TARGET_AVX512VL)))
10999 : return -1;
11000 : return 10314; /* vpshrdv_v16hi_maskz_1 */
11001 :
11002 : case 13:
11003 : if (!(
11004 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11005 : (TARGET_AVX512VBMI2) &&
11006 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11007 : (TARGET_AVX512VL)))
11008 : return -1;
11009 : return 10315; /* vpshrdv_v8si_maskz_1 */
11010 :
11011 : case 14:
11012 : if (!(
11013 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11014 : (TARGET_AVX512VBMI2) &&
11015 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11016 : (TARGET_AVX512VL)))
11017 : return -1;
11018 : return 10316; /* vpshrdv_v4di_maskz_1 */
11019 :
11020 : case 15:
11021 : if (!(
11022 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11023 : (TARGET_AVX512VBMI2) &&
11024 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11025 : (TARGET_AVX512VL)))
11026 : return -1;
11027 : return 10317; /* vpshrdv_v8hi_maskz_1 */
11028 :
11029 : case 16:
11030 : if (!(
11031 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11032 : (TARGET_AVX512VBMI2) &&
11033 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11034 : (TARGET_AVX512VL)))
11035 : return -1;
11036 : return 10318; /* vpshrdv_v4si_maskz_1 */
11037 :
11038 : case 17:
11039 : if (!(
11040 : #line 31164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11041 : (TARGET_AVX512VBMI2) &&
11042 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11043 : (TARGET_AVX512VL)))
11044 : return -1;
11045 : return 10319; /* vpshrdv_v2di_maskz_1 */
11046 :
11047 : default:
11048 : return -1;
11049 : }
11050 : }
11051 :
11052 : int
11053 : recog_147 (rtx x1 ATTRIBUTE_UNUSED,
11054 : rtx_insn *insn ATTRIBUTE_UNUSED,
11055 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11056 : {
11057 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11058 : rtx x2, x3, x4, x5, x6, x7, x8;
11059 : int res ATTRIBUTE_UNUSED;
11060 : x2 = XEXP (x1, 1);
11061 : x3 = XEXP (x2, 0);
11062 : switch (XINT (x3, 1))
11063 : {
11064 : case 193:
11065 : x4 = XEXP (x2, 2);
11066 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11067 : return -1;
11068 : x5 = XVECEXP (x3, 0, 0);
11069 : operands[1] = x5;
11070 : x6 = XVECEXP (x3, 0, 1);
11071 : operands[2] = x6;
11072 : x7 = XVECEXP (x3, 0, 2);
11073 : operands[3] = x7;
11074 : if (!const_0_to_255_operand (operands[3], E_SImode))
11075 : return -1;
11076 : switch (pattern460 (x2))
11077 : {
11078 : case 0:
11079 : if (!(
11080 : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11081 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
11082 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11083 : (TARGET_AVX512FP16)))
11084 : return -1;
11085 : return 3266; /* reducesv8hf */
11086 :
11087 : case 1:
11088 : if (!
11089 : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11090 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))))
11091 : return -1;
11092 : return 3270; /* reducesv4sf */
11093 :
11094 : case 2:
11095 : if (!(
11096 : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11097 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
11098 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11099 : (TARGET_SSE2)))
11100 : return -1;
11101 : return 3274; /* reducesv2df */
11102 :
11103 : default:
11104 : return -1;
11105 : }
11106 :
11107 : case 60:
11108 : x4 = XEXP (x2, 2);
11109 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11110 : return -1;
11111 : x5 = XVECEXP (x3, 0, 0);
11112 : operands[1] = x5;
11113 : x6 = XVECEXP (x3, 0, 1);
11114 : operands[2] = x6;
11115 : x7 = XVECEXP (x3, 0, 2);
11116 : operands[3] = x7;
11117 : if (!cmpps_imm_operand (operands[3], E_SImode))
11118 : return -1;
11119 : switch (pattern1121 (x2))
11120 : {
11121 : case 0:
11122 : if (!
11123 : #line 4540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11124 : (TARGET_SSE))
11125 : return -1;
11126 : return 3310; /* avx_vmcmpv4sf3 */
11127 :
11128 : case 1:
11129 : if (!(
11130 : #line 4540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11131 : (TARGET_SSE) &&
11132 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11133 : (TARGET_SSE2)))
11134 : return -1;
11135 : return 3311; /* avx_vmcmpv2df3 */
11136 :
11137 : default:
11138 : return -1;
11139 : }
11140 :
11141 : case 134:
11142 : return recog_137 (x1, insn, pnum_clobbers);
11143 :
11144 : case 218:
11145 : switch (pattern474 (x2))
11146 : {
11147 : case 0:
11148 : if (!
11149 : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11150 : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && 1))
11151 : return -1;
11152 : return 4364; /* fma_fmaddc_v32hf_maskz_1 */
11153 :
11154 : case 1:
11155 : if (!(
11156 : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11157 : (TARGET_AVX512FP16 && (32 == 64 || TARGET_AVX512VL) && 1) &&
11158 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11159 : (TARGET_AVX512VL)))
11160 : return -1;
11161 : return 4371; /* fma_fmaddc_v16hf_maskz_1 */
11162 :
11163 : case 2:
11164 : if (!(
11165 : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11166 : (TARGET_AVX512FP16 && (16 == 64 || TARGET_AVX512VL) && 1) &&
11167 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11168 : (TARGET_AVX512VL)))
11169 : return -1;
11170 : return 4375; /* fma_fmaddc_v8hf_maskz_1 */
11171 :
11172 : case 3:
11173 : if (!
11174 : #line 7645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11175 : (TARGET_AVX512FP16 && 1))
11176 : return -1;
11177 : return 4402; /* avx512bw_fmaddc_v32hf_mask */
11178 :
11179 : case 4:
11180 : if (!(
11181 : #line 7645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11182 : (TARGET_AVX512FP16 && 1) &&
11183 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11184 : (TARGET_AVX512VL)))
11185 : return -1;
11186 : return 4406; /* avx512vl_fmaddc_v16hf_mask */
11187 :
11188 : case 5:
11189 : if (!(
11190 : #line 7645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11191 : (TARGET_AVX512FP16 && 1) &&
11192 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11193 : (TARGET_AVX512VL)))
11194 : return -1;
11195 : return 4408; /* avx512fp16_fmaddc_v8hf_mask */
11196 :
11197 : case 6:
11198 : if (!
11199 : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11200 : (TARGET_AVX512FP16))
11201 : return -1;
11202 : return 4426; /* avx512fp16_fma_fmaddcsh_v8hf */
11203 :
11204 : default:
11205 : return -1;
11206 : }
11207 :
11208 : case 220:
11209 : switch (pattern474 (x2))
11210 : {
11211 : case 0:
11212 : if (!
11213 : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11214 : (TARGET_AVX512FP16 && (64 == 64 || TARGET_AVX512VL) && 1))
11215 : return -1;
11216 : return 4368; /* fma_fcmaddc_v32hf_maskz_1 */
11217 :
11218 : case 1:
11219 : if (!(
11220 : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11221 : (TARGET_AVX512FP16 && (32 == 64 || TARGET_AVX512VL) && 1) &&
11222 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11223 : (TARGET_AVX512VL)))
11224 : return -1;
11225 : return 4373; /* fma_fcmaddc_v16hf_maskz_1 */
11226 :
11227 : case 2:
11228 : if (!(
11229 : #line 7507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11230 : (TARGET_AVX512FP16 && (16 == 64 || TARGET_AVX512VL) && 1) &&
11231 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11232 : (TARGET_AVX512VL)))
11233 : return -1;
11234 : return 4377; /* fma_fcmaddc_v8hf_maskz_1 */
11235 :
11236 : case 3:
11237 : if (!
11238 : #line 7645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11239 : (TARGET_AVX512FP16 && 1))
11240 : return -1;
11241 : return 4404; /* avx512bw_fcmaddc_v32hf_mask */
11242 :
11243 : case 4:
11244 : if (!(
11245 : #line 7645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11246 : (TARGET_AVX512FP16 && 1) &&
11247 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11248 : (TARGET_AVX512VL)))
11249 : return -1;
11250 : return 4407; /* avx512vl_fcmaddc_v16hf_mask */
11251 :
11252 : case 5:
11253 : if (!(
11254 : #line 7645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11255 : (TARGET_AVX512FP16 && 1) &&
11256 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11257 : (TARGET_AVX512VL)))
11258 : return -1;
11259 : return 4409; /* avx512fp16_fcmaddc_v8hf_mask */
11260 :
11261 : case 6:
11262 : if (!
11263 : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11264 : (TARGET_AVX512FP16))
11265 : return -1;
11266 : return 4430; /* avx512fp16_fma_fcmaddcsh_v8hf */
11267 :
11268 : default:
11269 : return -1;
11270 : }
11271 :
11272 : case 168:
11273 : return recog_144 (x1, insn, pnum_clobbers);
11274 :
11275 : case 122:
11276 : x5 = XVECEXP (x3, 0, 0);
11277 : operands[1] = x5;
11278 : x6 = XVECEXP (x3, 0, 1);
11279 : operands[2] = x6;
11280 : x7 = XVECEXP (x3, 0, 2);
11281 : operands[3] = x7;
11282 : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
11283 : return -1;
11284 : x8 = XEXP (x2, 1);
11285 : operands[4] = x8;
11286 : x4 = XEXP (x2, 2);
11287 : operands[5] = x4;
11288 : switch (GET_MODE (operands[0]))
11289 : {
11290 : case E_V64QImode:
11291 : if (pattern480 (x2,
11292 : E_V64QImode,
11293 : E_DImode) != 0
11294 : || !(
11295 : #line 23578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11296 : (TARGET_AVX512BW && (64 == 64 || TARGET_AVX512VL)) &&
11297 : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11298 : (TARGET_AVX512BW)))
11299 : return -1;
11300 : return 8685; /* avx512bw_palignrv64qi_mask */
11301 :
11302 : case E_V32QImode:
11303 : if (pattern480 (x2,
11304 : E_V32QImode,
11305 : E_SImode) != 0
11306 : || !(
11307 : #line 23578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11308 : (TARGET_AVX512BW && (32 == 64 || TARGET_AVX512VL)) &&
11309 : #line 626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11310 : (TARGET_AVX2)))
11311 : return -1;
11312 : return 8686; /* avx2_palignrv32qi_mask */
11313 :
11314 : case E_V16QImode:
11315 : if (pattern480 (x2,
11316 : E_V16QImode,
11317 : E_HImode) != 0
11318 : || !
11319 : #line 23578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11320 : (TARGET_AVX512BW && (16 == 64 || TARGET_AVX512VL)))
11321 : return -1;
11322 : return 8687; /* ssse3_palignrv16qi_mask */
11323 :
11324 : default:
11325 : return -1;
11326 : }
11327 :
11328 : case 129:
11329 : switch (pattern476 (x2,
11330 : E_SImode))
11331 : {
11332 : case 0:
11333 : if (!(
11334 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11335 : (TARGET_AVX512F) &&
11336 : #line 24165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11337 : (TARGET_AVX10_2)))
11338 : return -1;
11339 : return 8768; /* avx10_2_mpsadbw_mask */
11340 :
11341 : case 1:
11342 : if (!(
11343 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11344 : (TARGET_AVX512F) && (
11345 : #line 24177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11346 : (TARGET_AVX10_2) &&
11347 : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11348 : (TARGET_AVX))))
11349 : return -1;
11350 : return 8770; /* avx2_mpsadbw_mask */
11351 :
11352 : case 2:
11353 : if (!(
11354 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11355 : (TARGET_AVX512F) &&
11356 : #line 24177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11357 : (TARGET_AVX10_2)))
11358 : return -1;
11359 : return 8772; /* sse4_1_mpsadbw_mask */
11360 :
11361 : default:
11362 : return -1;
11363 : }
11364 :
11365 : case 156:
11366 : return recog_136 (x1, insn, pnum_clobbers);
11367 :
11368 : case 195:
11369 : return recog_141 (x1, insn, pnum_clobbers);
11370 :
11371 : case 167:
11372 : x4 = XEXP (x2, 2);
11373 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11374 : return -1;
11375 : x5 = XVECEXP (x3, 0, 0);
11376 : operands[1] = x5;
11377 : x6 = XVECEXP (x3, 0, 1);
11378 : operands[2] = x6;
11379 : x7 = XVECEXP (x3, 0, 2);
11380 : operands[3] = x7;
11381 : if (!const_0_to_15_operand (operands[3], E_SImode))
11382 : return -1;
11383 : switch (pattern460 (x2))
11384 : {
11385 : case 0:
11386 : if (!(
11387 : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11388 : (TARGET_AVX512F) &&
11389 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11390 : (TARGET_AVX512FP16)))
11391 : return -1;
11392 : return 10116; /* avx512f_vgetmantv8hf */
11393 :
11394 : case 1:
11395 : if (!
11396 : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11397 : (TARGET_AVX512F))
11398 : return -1;
11399 : return 10120; /* avx512f_vgetmantv4sf */
11400 :
11401 : case 2:
11402 : if (!(
11403 : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11404 : (TARGET_AVX512F) &&
11405 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11406 : (TARGET_SSE2)))
11407 : return -1;
11408 : return 10124; /* avx512f_vgetmantv2df */
11409 :
11410 : default:
11411 : return -1;
11412 : }
11413 :
11414 : case 187:
11415 : x5 = XVECEXP (x3, 0, 0);
11416 : operands[1] = x5;
11417 : x6 = XVECEXP (x3, 0, 1);
11418 : operands[2] = x6;
11419 : x7 = XVECEXP (x3, 0, 2);
11420 : operands[3] = x7;
11421 : if (!const_0_to_255_operand (operands[3], E_SImode))
11422 : return -1;
11423 : x8 = XEXP (x2, 1);
11424 : operands[4] = x8;
11425 : x4 = XEXP (x2, 2);
11426 : operands[5] = x4;
11427 : switch (GET_MODE (operands[0]))
11428 : {
11429 : case E_V8HImode:
11430 : if (pattern1284 (x2,
11431 : E_QImode,
11432 : E_V8HImode,
11433 : E_V16QImode) != 0
11434 : || !(
11435 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11436 : (TARGET_AVX512F) && (
11437 : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11438 : (TARGET_AVX512BW) &&
11439 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11440 : (TARGET_AVX512VL))))
11441 : return -1;
11442 : return 10129; /* avx512bw_dbpsadbwv8hi_mask */
11443 :
11444 : case E_V16HImode:
11445 : if (pattern1284 (x2,
11446 : E_HImode,
11447 : E_V16HImode,
11448 : E_V32QImode) != 0
11449 : || !(
11450 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11451 : (TARGET_AVX512F) && (
11452 : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11453 : (TARGET_AVX512BW) &&
11454 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11455 : (TARGET_AVX512VL))))
11456 : return -1;
11457 : return 10131; /* avx512bw_dbpsadbwv16hi_mask */
11458 :
11459 : case E_V32HImode:
11460 : if (pattern1284 (x2,
11461 : E_SImode,
11462 : E_V32HImode,
11463 : E_V64QImode) != 0
11464 : || !(
11465 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11466 : (TARGET_AVX512F) &&
11467 : #line 30625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11468 : (TARGET_AVX512BW)))
11469 : return -1;
11470 : return 10133; /* avx512bw_dbpsadbwv32hi_mask */
11471 :
11472 : default:
11473 : return -1;
11474 : }
11475 :
11476 : case 196:
11477 : switch (pattern479 (x2))
11478 : {
11479 : case 0:
11480 : if (!
11481 : #line 30943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11482 : (TARGET_AVX512IFMA))
11483 : return -1;
11484 : return 10189; /* vpmadd52luqv8di_maskz_1 */
11485 :
11486 : case 1:
11487 : if (!(
11488 : #line 30943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11489 : (TARGET_AVX512IFMA) &&
11490 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11491 : (TARGET_AVX512VL)))
11492 : return -1;
11493 : return 10191; /* vpmadd52luqv4di_maskz_1 */
11494 :
11495 : case 2:
11496 : if (!(
11497 : #line 30943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11498 : (TARGET_AVX512IFMA) &&
11499 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11500 : (TARGET_AVX512VL)))
11501 : return -1;
11502 : return 10193; /* vpmadd52luqv2di_maskz_1 */
11503 :
11504 : case 3:
11505 : if (!
11506 : #line 30959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11507 : (TARGET_AVX512IFMA))
11508 : return -1;
11509 : return 10195; /* vpmadd52luqv8di_mask */
11510 :
11511 : case 4:
11512 : if (!(
11513 : #line 30959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11514 : (TARGET_AVX512IFMA) &&
11515 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11516 : (TARGET_AVX512VL)))
11517 : return -1;
11518 : return 10197; /* vpmadd52luqv4di_mask */
11519 :
11520 : case 5:
11521 : if (!(
11522 : #line 30959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11523 : (TARGET_AVX512IFMA) &&
11524 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11525 : (TARGET_AVX512VL)))
11526 : return -1;
11527 : return 10199; /* vpmadd52luqv2di_mask */
11528 :
11529 : default:
11530 : return -1;
11531 : }
11532 :
11533 : case 197:
11534 : switch (pattern479 (x2))
11535 : {
11536 : case 0:
11537 : if (!
11538 : #line 30943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11539 : (TARGET_AVX512IFMA))
11540 : return -1;
11541 : return 10190; /* vpmadd52huqv8di_maskz_1 */
11542 :
11543 : case 1:
11544 : if (!(
11545 : #line 30943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11546 : (TARGET_AVX512IFMA) &&
11547 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11548 : (TARGET_AVX512VL)))
11549 : return -1;
11550 : return 10192; /* vpmadd52huqv4di_maskz_1 */
11551 :
11552 : case 2:
11553 : if (!(
11554 : #line 30943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11555 : (TARGET_AVX512IFMA) &&
11556 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11557 : (TARGET_AVX512VL)))
11558 : return -1;
11559 : return 10194; /* vpmadd52huqv2di_maskz_1 */
11560 :
11561 : case 3:
11562 : if (!
11563 : #line 30959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11564 : (TARGET_AVX512IFMA))
11565 : return -1;
11566 : return 10196; /* vpmadd52huqv8di_mask */
11567 :
11568 : case 4:
11569 : if (!(
11570 : #line 30959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11571 : (TARGET_AVX512IFMA) &&
11572 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11573 : (TARGET_AVX512VL)))
11574 : return -1;
11575 : return 10198; /* vpmadd52huqv4di_mask */
11576 :
11577 : case 5:
11578 : if (!(
11579 : #line 30959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11580 : (TARGET_AVX512IFMA) &&
11581 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11582 : (TARGET_AVX512VL)))
11583 : return -1;
11584 : return 10200; /* vpmadd52huqv2di_mask */
11585 :
11586 : default:
11587 : return -1;
11588 : }
11589 :
11590 : case 199:
11591 : switch (pattern476 (x2,
11592 : E_VOIDmode))
11593 : {
11594 : case 0:
11595 : if (!(
11596 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11597 : (TARGET_AVX512F) && (
11598 : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11599 : (TARGET_GFNI) &&
11600 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11601 : (TARGET_AVX512F))))
11602 : return -1;
11603 : return 10240; /* vgf2p8affineinvqb_v64qi_mask */
11604 :
11605 : case 1:
11606 : if (!(
11607 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11608 : (TARGET_AVX512F) && (
11609 : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11610 : (TARGET_GFNI) &&
11611 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11612 : (TARGET_AVX))))
11613 : return -1;
11614 : return 10242; /* vgf2p8affineinvqb_v32qi_mask */
11615 :
11616 : case 2:
11617 : if (!(
11618 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11619 : (TARGET_AVX512F) &&
11620 : #line 31047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11621 : (TARGET_GFNI)))
11622 : return -1;
11623 : return 10244; /* vgf2p8affineinvqb_v16qi_mask */
11624 :
11625 : default:
11626 : return -1;
11627 : }
11628 :
11629 : case 200:
11630 : switch (pattern476 (x2,
11631 : E_VOIDmode))
11632 : {
11633 : case 0:
11634 : if (!(
11635 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11636 : (TARGET_AVX512F) && (
11637 : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11638 : (TARGET_GFNI) &&
11639 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11640 : (TARGET_AVX512F))))
11641 : return -1;
11642 : return 10246; /* vgf2p8affineqb_v64qi_mask */
11643 :
11644 : case 1:
11645 : if (!(
11646 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11647 : (TARGET_AVX512F) && (
11648 : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11649 : (TARGET_GFNI) &&
11650 : #line 629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11651 : (TARGET_AVX))))
11652 : return -1;
11653 : return 10248; /* vgf2p8affineqb_v32qi_mask */
11654 :
11655 : case 2:
11656 : if (!(
11657 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11658 : (TARGET_AVX512F) &&
11659 : #line 31064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11660 : (TARGET_GFNI)))
11661 : return -1;
11662 : return 10250; /* vgf2p8affineqb_v16qi_mask */
11663 :
11664 : default:
11665 : return -1;
11666 : }
11667 :
11668 : case 203:
11669 : return recog_145 (x1, insn, pnum_clobbers);
11670 :
11671 : case 202:
11672 : return recog_146 (x1, insn, pnum_clobbers);
11673 :
11674 : case 204:
11675 : return recog_140 (x1, insn, pnum_clobbers);
11676 :
11677 : case 205:
11678 : return recog_139 (x1, insn, pnum_clobbers);
11679 :
11680 : case 206:
11681 : switch (pattern486 (x2))
11682 : {
11683 : case 0:
11684 : if (!
11685 : #line 31310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11686 : (TARGET_AVX512VNNI))
11687 : return -1;
11688 : return 10350; /* vpdpbusd_v16si_mask */
11689 :
11690 : case 1:
11691 : if (!(
11692 : #line 31310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11693 : (TARGET_AVX512VNNI) &&
11694 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11695 : (TARGET_AVX512VL)))
11696 : return -1;
11697 : return 10351; /* vpdpbusd_v8si_mask */
11698 :
11699 : case 2:
11700 : if (!(
11701 : #line 31310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11702 : (TARGET_AVX512VNNI) &&
11703 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11704 : (TARGET_AVX512VL)))
11705 : return -1;
11706 : return 10352; /* vpdpbusd_v4si_mask */
11707 :
11708 : case 3:
11709 : if (!
11710 : #line 31339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11711 : (TARGET_AVX512VNNI))
11712 : return -1;
11713 : return 10353; /* vpdpbusd_v16si_maskz_1 */
11714 :
11715 : case 4:
11716 : if (!(
11717 : #line 31339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11718 : (TARGET_AVX512VNNI) &&
11719 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11720 : (TARGET_AVX512VL)))
11721 : return -1;
11722 : return 10354; /* vpdpbusd_v8si_maskz_1 */
11723 :
11724 : case 5:
11725 : if (!(
11726 : #line 31339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11727 : (TARGET_AVX512VNNI) &&
11728 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11729 : (TARGET_AVX512VL)))
11730 : return -1;
11731 : return 10355; /* vpdpbusd_v4si_maskz_1 */
11732 :
11733 : default:
11734 : return -1;
11735 : }
11736 :
11737 : case 207:
11738 : switch (pattern486 (x2))
11739 : {
11740 : case 0:
11741 : if (!
11742 : #line 31379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11743 : (TARGET_AVX512VNNI))
11744 : return -1;
11745 : return 10359; /* vpdpbusds_v16si_mask */
11746 :
11747 : case 1:
11748 : if (!(
11749 : #line 31379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11750 : (TARGET_AVX512VNNI) &&
11751 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11752 : (TARGET_AVX512VL)))
11753 : return -1;
11754 : return 10360; /* vpdpbusds_v8si_mask */
11755 :
11756 : case 2:
11757 : if (!(
11758 : #line 31379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11759 : (TARGET_AVX512VNNI) &&
11760 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11761 : (TARGET_AVX512VL)))
11762 : return -1;
11763 : return 10361; /* vpdpbusds_v4si_mask */
11764 :
11765 : case 3:
11766 : if (!
11767 : #line 31408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11768 : (TARGET_AVX512VNNI))
11769 : return -1;
11770 : return 10362; /* vpdpbusds_v16si_maskz_1 */
11771 :
11772 : case 4:
11773 : if (!(
11774 : #line 31408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11775 : (TARGET_AVX512VNNI) &&
11776 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11777 : (TARGET_AVX512VL)))
11778 : return -1;
11779 : return 10363; /* vpdpbusds_v8si_maskz_1 */
11780 :
11781 : case 5:
11782 : if (!(
11783 : #line 31408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11784 : (TARGET_AVX512VNNI) &&
11785 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11786 : (TARGET_AVX512VL)))
11787 : return -1;
11788 : return 10364; /* vpdpbusds_v4si_maskz_1 */
11789 :
11790 : default:
11791 : return -1;
11792 : }
11793 :
11794 : case 208:
11795 : switch (pattern486 (x2))
11796 : {
11797 : case 0:
11798 : if (!
11799 : #line 31448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11800 : (TARGET_AVX512VNNI))
11801 : return -1;
11802 : return 10368; /* vpdpwssd_v16si_mask */
11803 :
11804 : case 1:
11805 : if (!(
11806 : #line 31448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11807 : (TARGET_AVX512VNNI) &&
11808 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11809 : (TARGET_AVX512VL)))
11810 : return -1;
11811 : return 10369; /* vpdpwssd_v8si_mask */
11812 :
11813 : case 2:
11814 : if (!(
11815 : #line 31448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11816 : (TARGET_AVX512VNNI) &&
11817 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11818 : (TARGET_AVX512VL)))
11819 : return -1;
11820 : return 10370; /* vpdpwssd_v4si_mask */
11821 :
11822 : case 3:
11823 : if (!
11824 : #line 31477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11825 : (TARGET_AVX512VNNI))
11826 : return -1;
11827 : return 10371; /* vpdpwssd_v16si_maskz_1 */
11828 :
11829 : case 4:
11830 : if (!(
11831 : #line 31477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11832 : (TARGET_AVX512VNNI) &&
11833 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11834 : (TARGET_AVX512VL)))
11835 : return -1;
11836 : return 10372; /* vpdpwssd_v8si_maskz_1 */
11837 :
11838 : case 5:
11839 : if (!(
11840 : #line 31477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11841 : (TARGET_AVX512VNNI) &&
11842 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11843 : (TARGET_AVX512VL)))
11844 : return -1;
11845 : return 10373; /* vpdpwssd_v4si_maskz_1 */
11846 :
11847 : default:
11848 : return -1;
11849 : }
11850 :
11851 : case 209:
11852 : switch (pattern486 (x2))
11853 : {
11854 : case 0:
11855 : if (!
11856 : #line 31517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11857 : (TARGET_AVX512VNNI))
11858 : return -1;
11859 : return 10377; /* vpdpwssds_v16si_mask */
11860 :
11861 : case 1:
11862 : if (!(
11863 : #line 31517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11864 : (TARGET_AVX512VNNI) &&
11865 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11866 : (TARGET_AVX512VL)))
11867 : return -1;
11868 : return 10378; /* vpdpwssds_v8si_mask */
11869 :
11870 : case 2:
11871 : if (!(
11872 : #line 31517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11873 : (TARGET_AVX512VNNI) &&
11874 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11875 : (TARGET_AVX512VL)))
11876 : return -1;
11877 : return 10379; /* vpdpwssds_v4si_mask */
11878 :
11879 : case 3:
11880 : if (!
11881 : #line 31546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11882 : (TARGET_AVX512VNNI))
11883 : return -1;
11884 : return 10380; /* vpdpwssds_v16si_maskz_1 */
11885 :
11886 : case 4:
11887 : if (!(
11888 : #line 31546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11889 : (TARGET_AVX512VNNI) &&
11890 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11891 : (TARGET_AVX512VL)))
11892 : return -1;
11893 : return 10381; /* vpdpwssds_v8si_maskz_1 */
11894 :
11895 : case 5:
11896 : if (!(
11897 : #line 31546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11898 : (TARGET_AVX512VNNI) &&
11899 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11900 : (TARGET_AVX512VL)))
11901 : return -1;
11902 : return 10382; /* vpdpwssds_v4si_maskz_1 */
11903 :
11904 : default:
11905 : return -1;
11906 : }
11907 :
11908 : case 217:
11909 : return recog_142 (x1, insn, pnum_clobbers);
11910 :
11911 : case 228:
11912 : switch (pattern488 (x2))
11913 : {
11914 : case 0:
11915 : if (!
11916 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11917 : (TARGET_AVX10_2))
11918 : return -1;
11919 : return 10463; /* vpdpbssd_v16si_mask */
11920 :
11921 : case 1:
11922 : if (!
11923 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11924 : (TARGET_AVX10_2))
11925 : return -1;
11926 : return 10469; /* vpdpbssd_v8si_mask */
11927 :
11928 : case 2:
11929 : if (!
11930 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11931 : (TARGET_AVX10_2))
11932 : return -1;
11933 : return 10475; /* vpdpbssd_v4si_mask */
11934 :
11935 : case 3:
11936 : if (!
11937 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11938 : (TARGET_AVX10_2))
11939 : return -1;
11940 : return 10481; /* *vpdpbssd_v16si_maskz */
11941 :
11942 : case 4:
11943 : if (!
11944 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11945 : (TARGET_AVX10_2))
11946 : return -1;
11947 : return 10487; /* *vpdpbssd_v8si_maskz */
11948 :
11949 : case 5:
11950 : if (!
11951 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11952 : (TARGET_AVX10_2))
11953 : return -1;
11954 : return 10493; /* *vpdpbssd_v4si_maskz */
11955 :
11956 : default:
11957 : return -1;
11958 : }
11959 :
11960 : case 229:
11961 : switch (pattern488 (x2))
11962 : {
11963 : case 0:
11964 : if (!
11965 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11966 : (TARGET_AVX10_2))
11967 : return -1;
11968 : return 10464; /* vpdpbssds_v16si_mask */
11969 :
11970 : case 1:
11971 : if (!
11972 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11973 : (TARGET_AVX10_2))
11974 : return -1;
11975 : return 10470; /* vpdpbssds_v8si_mask */
11976 :
11977 : case 2:
11978 : if (!
11979 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11980 : (TARGET_AVX10_2))
11981 : return -1;
11982 : return 10476; /* vpdpbssds_v4si_mask */
11983 :
11984 : case 3:
11985 : if (!
11986 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11987 : (TARGET_AVX10_2))
11988 : return -1;
11989 : return 10482; /* *vpdpbssds_v16si_maskz */
11990 :
11991 : case 4:
11992 : if (!
11993 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11994 : (TARGET_AVX10_2))
11995 : return -1;
11996 : return 10488; /* *vpdpbssds_v8si_maskz */
11997 :
11998 : case 5:
11999 : if (!
12000 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12001 : (TARGET_AVX10_2))
12002 : return -1;
12003 : return 10494; /* *vpdpbssds_v4si_maskz */
12004 :
12005 : default:
12006 : return -1;
12007 : }
12008 :
12009 : case 230:
12010 : switch (pattern488 (x2))
12011 : {
12012 : case 0:
12013 : if (!
12014 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12015 : (TARGET_AVX10_2))
12016 : return -1;
12017 : return 10465; /* vpdpbsud_v16si_mask */
12018 :
12019 : case 1:
12020 : if (!
12021 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12022 : (TARGET_AVX10_2))
12023 : return -1;
12024 : return 10471; /* vpdpbsud_v8si_mask */
12025 :
12026 : case 2:
12027 : if (!
12028 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12029 : (TARGET_AVX10_2))
12030 : return -1;
12031 : return 10477; /* vpdpbsud_v4si_mask */
12032 :
12033 : case 3:
12034 : if (!
12035 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12036 : (TARGET_AVX10_2))
12037 : return -1;
12038 : return 10483; /* *vpdpbsud_v16si_maskz */
12039 :
12040 : case 4:
12041 : if (!
12042 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12043 : (TARGET_AVX10_2))
12044 : return -1;
12045 : return 10489; /* *vpdpbsud_v8si_maskz */
12046 :
12047 : case 5:
12048 : if (!
12049 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12050 : (TARGET_AVX10_2))
12051 : return -1;
12052 : return 10495; /* *vpdpbsud_v4si_maskz */
12053 :
12054 : default:
12055 : return -1;
12056 : }
12057 :
12058 : case 231:
12059 : switch (pattern488 (x2))
12060 : {
12061 : case 0:
12062 : if (!
12063 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12064 : (TARGET_AVX10_2))
12065 : return -1;
12066 : return 10466; /* vpdpbsuds_v16si_mask */
12067 :
12068 : case 1:
12069 : if (!
12070 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12071 : (TARGET_AVX10_2))
12072 : return -1;
12073 : return 10472; /* vpdpbsuds_v8si_mask */
12074 :
12075 : case 2:
12076 : if (!
12077 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12078 : (TARGET_AVX10_2))
12079 : return -1;
12080 : return 10478; /* vpdpbsuds_v4si_mask */
12081 :
12082 : case 3:
12083 : if (!
12084 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12085 : (TARGET_AVX10_2))
12086 : return -1;
12087 : return 10484; /* *vpdpbsuds_v16si_maskz */
12088 :
12089 : case 4:
12090 : if (!
12091 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12092 : (TARGET_AVX10_2))
12093 : return -1;
12094 : return 10490; /* *vpdpbsuds_v8si_maskz */
12095 :
12096 : case 5:
12097 : if (!
12098 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12099 : (TARGET_AVX10_2))
12100 : return -1;
12101 : return 10496; /* *vpdpbsuds_v4si_maskz */
12102 :
12103 : default:
12104 : return -1;
12105 : }
12106 :
12107 : case 232:
12108 : switch (pattern488 (x2))
12109 : {
12110 : case 0:
12111 : if (!
12112 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12113 : (TARGET_AVX10_2))
12114 : return -1;
12115 : return 10467; /* vpdpbuud_v16si_mask */
12116 :
12117 : case 1:
12118 : if (!
12119 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12120 : (TARGET_AVX10_2))
12121 : return -1;
12122 : return 10473; /* vpdpbuud_v8si_mask */
12123 :
12124 : case 2:
12125 : if (!
12126 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12127 : (TARGET_AVX10_2))
12128 : return -1;
12129 : return 10479; /* vpdpbuud_v4si_mask */
12130 :
12131 : case 3:
12132 : if (!
12133 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12134 : (TARGET_AVX10_2))
12135 : return -1;
12136 : return 10485; /* *vpdpbuud_v16si_maskz */
12137 :
12138 : case 4:
12139 : if (!
12140 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12141 : (TARGET_AVX10_2))
12142 : return -1;
12143 : return 10491; /* *vpdpbuud_v8si_maskz */
12144 :
12145 : case 5:
12146 : if (!
12147 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12148 : (TARGET_AVX10_2))
12149 : return -1;
12150 : return 10497; /* *vpdpbuud_v4si_maskz */
12151 :
12152 : default:
12153 : return -1;
12154 : }
12155 :
12156 : case 233:
12157 : switch (pattern488 (x2))
12158 : {
12159 : case 0:
12160 : if (!
12161 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12162 : (TARGET_AVX10_2))
12163 : return -1;
12164 : return 10468; /* vpdpbuuds_v16si_mask */
12165 :
12166 : case 1:
12167 : if (!
12168 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12169 : (TARGET_AVX10_2))
12170 : return -1;
12171 : return 10474; /* vpdpbuuds_v8si_mask */
12172 :
12173 : case 2:
12174 : if (!
12175 : #line 32304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12176 : (TARGET_AVX10_2))
12177 : return -1;
12178 : return 10480; /* vpdpbuuds_v4si_mask */
12179 :
12180 : case 3:
12181 : if (!
12182 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12183 : (TARGET_AVX10_2))
12184 : return -1;
12185 : return 10486; /* *vpdpbuuds_v16si_maskz */
12186 :
12187 : case 4:
12188 : if (!
12189 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12190 : (TARGET_AVX10_2))
12191 : return -1;
12192 : return 10492; /* *vpdpbuuds_v8si_maskz */
12193 :
12194 : case 5:
12195 : if (!
12196 : #line 32331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12197 : (TARGET_AVX10_2))
12198 : return -1;
12199 : return 10498; /* *vpdpbuuds_v4si_maskz */
12200 :
12201 : default:
12202 : return -1;
12203 : }
12204 :
12205 : case 234:
12206 : switch (pattern488 (x2))
12207 : {
12208 : case 0:
12209 : if (!
12210 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12211 : (TARGET_AVX10_2))
12212 : return -1;
12213 : return 10615; /* vpdpwusd_v16si_mask */
12214 :
12215 : case 1:
12216 : if (!
12217 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12218 : (TARGET_AVX10_2))
12219 : return -1;
12220 : return 10621; /* vpdpwusd_v8si_mask */
12221 :
12222 : case 2:
12223 : if (!
12224 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12225 : (TARGET_AVX10_2))
12226 : return -1;
12227 : return 10627; /* vpdpwusd_v4si_mask */
12228 :
12229 : case 3:
12230 : if (!
12231 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12232 : (TARGET_AVX10_2))
12233 : return -1;
12234 : return 10633; /* *vpdpwusd_v16si_maskz */
12235 :
12236 : case 4:
12237 : if (!
12238 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12239 : (TARGET_AVX10_2))
12240 : return -1;
12241 : return 10639; /* *vpdpwusd_v8si_maskz */
12242 :
12243 : case 5:
12244 : if (!
12245 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12246 : (TARGET_AVX10_2))
12247 : return -1;
12248 : return 10645; /* *vpdpwusd_v4si_maskz */
12249 :
12250 : default:
12251 : return -1;
12252 : }
12253 :
12254 : case 235:
12255 : switch (pattern488 (x2))
12256 : {
12257 : case 0:
12258 : if (!
12259 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12260 : (TARGET_AVX10_2))
12261 : return -1;
12262 : return 10616; /* vpdpwusds_v16si_mask */
12263 :
12264 : case 1:
12265 : if (!
12266 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12267 : (TARGET_AVX10_2))
12268 : return -1;
12269 : return 10622; /* vpdpwusds_v8si_mask */
12270 :
12271 : case 2:
12272 : if (!
12273 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12274 : (TARGET_AVX10_2))
12275 : return -1;
12276 : return 10628; /* vpdpwusds_v4si_mask */
12277 :
12278 : case 3:
12279 : if (!
12280 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12281 : (TARGET_AVX10_2))
12282 : return -1;
12283 : return 10634; /* *vpdpwusds_v16si_maskz */
12284 :
12285 : case 4:
12286 : if (!
12287 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12288 : (TARGET_AVX10_2))
12289 : return -1;
12290 : return 10640; /* *vpdpwusds_v8si_maskz */
12291 :
12292 : case 5:
12293 : if (!
12294 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12295 : (TARGET_AVX10_2))
12296 : return -1;
12297 : return 10646; /* *vpdpwusds_v4si_maskz */
12298 :
12299 : default:
12300 : return -1;
12301 : }
12302 :
12303 : case 236:
12304 : switch (pattern488 (x2))
12305 : {
12306 : case 0:
12307 : if (!
12308 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12309 : (TARGET_AVX10_2))
12310 : return -1;
12311 : return 10617; /* vpdpwsud_v16si_mask */
12312 :
12313 : case 1:
12314 : if (!
12315 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12316 : (TARGET_AVX10_2))
12317 : return -1;
12318 : return 10623; /* vpdpwsud_v8si_mask */
12319 :
12320 : case 2:
12321 : if (!
12322 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12323 : (TARGET_AVX10_2))
12324 : return -1;
12325 : return 10629; /* vpdpwsud_v4si_mask */
12326 :
12327 : case 3:
12328 : if (!
12329 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12330 : (TARGET_AVX10_2))
12331 : return -1;
12332 : return 10635; /* *vpdpwsud_v16si_maskz */
12333 :
12334 : case 4:
12335 : if (!
12336 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12337 : (TARGET_AVX10_2))
12338 : return -1;
12339 : return 10641; /* *vpdpwsud_v8si_maskz */
12340 :
12341 : case 5:
12342 : if (!
12343 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12344 : (TARGET_AVX10_2))
12345 : return -1;
12346 : return 10647; /* *vpdpwsud_v4si_maskz */
12347 :
12348 : default:
12349 : return -1;
12350 : }
12351 :
12352 : case 237:
12353 : switch (pattern488 (x2))
12354 : {
12355 : case 0:
12356 : if (!
12357 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12358 : (TARGET_AVX10_2))
12359 : return -1;
12360 : return 10618; /* vpdpwsuds_v16si_mask */
12361 :
12362 : case 1:
12363 : if (!
12364 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12365 : (TARGET_AVX10_2))
12366 : return -1;
12367 : return 10624; /* vpdpwsuds_v8si_mask */
12368 :
12369 : case 2:
12370 : if (!
12371 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12372 : (TARGET_AVX10_2))
12373 : return -1;
12374 : return 10630; /* vpdpwsuds_v4si_mask */
12375 :
12376 : case 3:
12377 : if (!
12378 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12379 : (TARGET_AVX10_2))
12380 : return -1;
12381 : return 10636; /* *vpdpwsuds_v16si_maskz */
12382 :
12383 : case 4:
12384 : if (!
12385 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12386 : (TARGET_AVX10_2))
12387 : return -1;
12388 : return 10642; /* *vpdpwsuds_v8si_maskz */
12389 :
12390 : case 5:
12391 : if (!
12392 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12393 : (TARGET_AVX10_2))
12394 : return -1;
12395 : return 10648; /* *vpdpwsuds_v4si_maskz */
12396 :
12397 : default:
12398 : return -1;
12399 : }
12400 :
12401 : case 238:
12402 : switch (pattern488 (x2))
12403 : {
12404 : case 0:
12405 : if (!
12406 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12407 : (TARGET_AVX10_2))
12408 : return -1;
12409 : return 10619; /* vpdpwuud_v16si_mask */
12410 :
12411 : case 1:
12412 : if (!
12413 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12414 : (TARGET_AVX10_2))
12415 : return -1;
12416 : return 10625; /* vpdpwuud_v8si_mask */
12417 :
12418 : case 2:
12419 : if (!
12420 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12421 : (TARGET_AVX10_2))
12422 : return -1;
12423 : return 10631; /* vpdpwuud_v4si_mask */
12424 :
12425 : case 3:
12426 : if (!
12427 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12428 : (TARGET_AVX10_2))
12429 : return -1;
12430 : return 10637; /* *vpdpwuud_v16si_maskz */
12431 :
12432 : case 4:
12433 : if (!
12434 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12435 : (TARGET_AVX10_2))
12436 : return -1;
12437 : return 10643; /* *vpdpwuud_v8si_maskz */
12438 :
12439 : case 5:
12440 : if (!
12441 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12442 : (TARGET_AVX10_2))
12443 : return -1;
12444 : return 10649; /* *vpdpwuud_v4si_maskz */
12445 :
12446 : default:
12447 : return -1;
12448 : }
12449 :
12450 : case 239:
12451 : switch (pattern488 (x2))
12452 : {
12453 : case 0:
12454 : if (!
12455 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12456 : (TARGET_AVX10_2))
12457 : return -1;
12458 : return 10620; /* vpdpwuuds_v16si_mask */
12459 :
12460 : case 1:
12461 : if (!
12462 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12463 : (TARGET_AVX10_2))
12464 : return -1;
12465 : return 10626; /* vpdpwuuds_v8si_mask */
12466 :
12467 : case 2:
12468 : if (!
12469 : #line 32713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12470 : (TARGET_AVX10_2))
12471 : return -1;
12472 : return 10632; /* vpdpwuuds_v4si_mask */
12473 :
12474 : case 3:
12475 : if (!
12476 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12477 : (TARGET_AVX10_2))
12478 : return -1;
12479 : return 10638; /* *vpdpwuuds_v16si_maskz */
12480 :
12481 : case 4:
12482 : if (!
12483 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12484 : (TARGET_AVX10_2))
12485 : return -1;
12486 : return 10644; /* *vpdpwuuds_v8si_maskz */
12487 :
12488 : case 5:
12489 : if (!
12490 : #line 32740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12491 : (TARGET_AVX10_2))
12492 : return -1;
12493 : return 10650; /* *vpdpwuuds_v4si_maskz */
12494 :
12495 : default:
12496 : return -1;
12497 : }
12498 :
12499 : case 245:
12500 : return recog_143 (x1, insn, pnum_clobbers);
12501 :
12502 : case 278:
12503 : x5 = XVECEXP (x3, 0, 0);
12504 : operands[1] = x5;
12505 : x6 = XVECEXP (x3, 0, 1);
12506 : operands[2] = x6;
12507 : x7 = XVECEXP (x3, 0, 2);
12508 : operands[3] = x7;
12509 : if (!const_0_to_255_operand (operands[3], E_SImode))
12510 : return -1;
12511 : x8 = XEXP (x2, 1);
12512 : operands[4] = x8;
12513 : x4 = XEXP (x2, 2);
12514 : operands[5] = x4;
12515 : switch (GET_MODE (operands[0]))
12516 : {
12517 : case E_V32BFmode:
12518 : if (pattern1285 (x2,
12519 : E_SImode,
12520 : E_V32BFmode) != 0
12521 : || !(
12522 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12523 : (TARGET_AVX512F) &&
12524 : #line 33341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12525 : (TARGET_AVX10_2)))
12526 : return -1;
12527 : return 10973; /* avx10_2_minmaxbf16_v32bf_mask */
12528 :
12529 : case E_V16BFmode:
12530 : if (pattern1285 (x2,
12531 : E_HImode,
12532 : E_V16BFmode) != 0
12533 : || !(
12534 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12535 : (TARGET_AVX512F) &&
12536 : #line 33341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12537 : (TARGET_AVX10_2)))
12538 : return -1;
12539 : return 10975; /* avx10_2_minmaxbf16_v16bf_mask */
12540 :
12541 : case E_V8BFmode:
12542 : if (pattern1285 (x2,
12543 : E_QImode,
12544 : E_V8BFmode) != 0
12545 : || !(
12546 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12547 : (TARGET_AVX512F) &&
12548 : #line 33341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12549 : (TARGET_AVX10_2)))
12550 : return -1;
12551 : return 10977; /* avx10_2_minmaxbf16_v8bf_mask */
12552 :
12553 : default:
12554 : return -1;
12555 : }
12556 :
12557 : case 279:
12558 : return recog_138 (x1, insn, pnum_clobbers);
12559 :
12560 : default:
12561 : return -1;
12562 : }
12563 : }
12564 :
12565 : int
12566 : recog_172 (rtx x1 ATTRIBUTE_UNUSED,
12567 : rtx_insn *insn ATTRIBUTE_UNUSED,
12568 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12569 : {
12570 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12571 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12572 : int res ATTRIBUTE_UNUSED;
12573 : x2 = XEXP (x1, 1);
12574 : x3 = XEXP (x2, 0);
12575 : x4 = XEXP (x3, 1);
12576 : x5 = XVECEXP (x4, 0, 1);
12577 : operands[3] = x5;
12578 : x6 = XVECEXP (x4, 0, 2);
12579 : operands[4] = x6;
12580 : x7 = XVECEXP (x4, 0, 3);
12581 : operands[5] = x7;
12582 : x8 = XEXP (x2, 1);
12583 : operands[6] = x8;
12584 : x9 = XEXP (x2, 2);
12585 : operands[7] = x9;
12586 : if (!register_operand (operands[7], E_QImode))
12587 : return -1;
12588 : switch (GET_MODE (operands[0]))
12589 : {
12590 : case E_V4SFmode:
12591 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
12592 : || GET_MODE (x2) != E_V4SFmode
12593 : || GET_MODE (x3) != E_V4SFmode
12594 : || pattern1689 (
12595 : E_V16SFmode) != 0
12596 : || !nonimm_or_0_operand (operands[6], E_V4SFmode)
12597 : || !
12598 : #line 12825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12599 : (TARGET_AVX512F
12600 : && INTVAL (operands[2]) % 4 == 0
12601 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12602 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12603 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12604 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[6]))))
12605 : return -1;
12606 : return 5354; /* avx512f_vextractf32x4_1_mask */
12607 :
12608 : case E_V4SImode:
12609 : if (GET_MODE (x2) != E_V4SImode
12610 : || GET_MODE (x3) != E_V4SImode
12611 : || !nonimm_or_0_operand (operands[6], E_V4SImode))
12612 : return -1;
12613 : if (nonimmediate_operand (operands[0], E_V4SImode)
12614 : && pattern1689 (
12615 : E_V16SImode) == 0
12616 : &&
12617 : #line 12825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12618 : (TARGET_AVX512F
12619 : && INTVAL (operands[2]) % 4 == 0
12620 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12621 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12622 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12623 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[6]))))
12624 : return 5355; /* avx512f_vextracti32x4_1_mask */
12625 : if (!register_operand (operands[0], E_V4SImode)
12626 : || !vector_operand (operands[1], E_V4SImode)
12627 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
12628 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
12629 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
12630 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
12631 : || !(
12632 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12633 : (TARGET_AVX512F) &&
12634 : #line 21030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12635 : (TARGET_SSE2 && TARGET_AVX512VL)))
12636 : return -1;
12637 : return 8487; /* sse2_pshufd_1_mask */
12638 :
12639 : default:
12640 : return -1;
12641 : }
12642 : }
12643 :
12644 : int
12645 : recog_175 (rtx x1 ATTRIBUTE_UNUSED,
12646 : rtx_insn *insn ATTRIBUTE_UNUSED,
12647 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12648 : {
12649 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12650 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12651 : rtx x10, x11, x12;
12652 : int res ATTRIBUTE_UNUSED;
12653 : x2 = XEXP (x1, 1);
12654 : x3 = XEXP (x2, 0);
12655 : x4 = XEXP (x3, 1);
12656 : x5 = XVECEXP (x4, 0, 1);
12657 : operands[3] = x5;
12658 : x6 = XVECEXP (x4, 0, 2);
12659 : operands[4] = x6;
12660 : x7 = XVECEXP (x4, 0, 3);
12661 : operands[5] = x7;
12662 : x8 = XVECEXP (x4, 0, 5);
12663 : operands[7] = x8;
12664 : x9 = XVECEXP (x4, 0, 6);
12665 : operands[8] = x9;
12666 : x10 = XVECEXP (x4, 0, 7);
12667 : operands[9] = x10;
12668 : x11 = XEXP (x2, 1);
12669 : operands[10] = x11;
12670 : x12 = XEXP (x2, 2);
12671 : operands[11] = x12;
12672 : if (!register_operand (operands[11], E_QImode))
12673 : return -1;
12674 : switch (GET_MODE (operands[0]))
12675 : {
12676 : case E_V8DFmode:
12677 : if (pattern1753 (x2,
12678 : E_V8DFmode) != 0
12679 : || !(
12680 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12681 : (TARGET_AVX512F) &&
12682 : #line 20611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12683 : (TARGET_AVX512F
12684 : && (INTVAL (operands[2]) & 1) == 0
12685 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12686 : && (INTVAL (operands[4]) & 1) == 0
12687 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12688 : && (INTVAL (operands[6]) & 1) == 0
12689 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12690 : && (INTVAL (operands[8]) & 1) == 0
12691 : && INTVAL (operands[8]) == INTVAL (operands[9]) - 1)))
12692 : return -1;
12693 : return 8467; /* *avx512f_shuf_f64x2_1_mask_1 */
12694 :
12695 : case E_V8DImode:
12696 : if (pattern1753 (x2,
12697 : E_V8DImode) != 0
12698 : || !(
12699 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12700 : (TARGET_AVX512F) &&
12701 : #line 20611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12702 : (TARGET_AVX512F
12703 : && (INTVAL (operands[2]) & 1) == 0
12704 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12705 : && (INTVAL (operands[4]) & 1) == 0
12706 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1
12707 : && (INTVAL (operands[6]) & 1) == 0
12708 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12709 : && (INTVAL (operands[8]) & 1) == 0
12710 : && INTVAL (operands[8]) == INTVAL (operands[9]) - 1)))
12711 : return -1;
12712 : return 8469; /* *avx512f_shuf_i64x2_1_mask_1 */
12713 :
12714 : case E_V8SImode:
12715 : if (pattern762 (x2,
12716 : E_V8SImode) != 0
12717 : || pattern1837 () != 0
12718 : || !nonimm_or_0_operand (operands[10], E_V8SImode)
12719 : || !(
12720 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12721 : (TARGET_AVX512F) &&
12722 : #line 20968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12723 : (TARGET_AVX2
12724 : && TARGET_AVX512VL
12725 : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
12726 : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
12727 : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
12728 : && INTVAL (operands[5]) + 4 == INTVAL (operands[9]))))
12729 : return -1;
12730 : return 8485; /* avx2_pshufd_1_mask */
12731 :
12732 : default:
12733 : return -1;
12734 : }
12735 : }
12736 :
12737 : int
12738 : recog_183 (rtx x1 ATTRIBUTE_UNUSED,
12739 : rtx_insn *insn ATTRIBUTE_UNUSED,
12740 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12741 : {
12742 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12743 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12744 : rtx x10, x11, x12;
12745 : int res ATTRIBUTE_UNUSED;
12746 : x2 = XEXP (x1, 1);
12747 : x3 = XEXP (x2, 0);
12748 : x4 = XEXP (x3, 0);
12749 : switch (GET_CODE (x4))
12750 : {
12751 : case PLUS:
12752 : switch (pattern312 (x2))
12753 : {
12754 : case 0:
12755 : if (!(
12756 : #line 2707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12757 : (TARGET_SSE) &&
12758 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12759 : (TARGET_AVX512FP16)))
12760 : return -1;
12761 : return 2818; /* *avx512fp16_vmaddv8hf3 */
12762 :
12763 : case 1:
12764 : if (!
12765 : #line 2707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12766 : (TARGET_SSE))
12767 : return -1;
12768 : return 2820; /* *sse_vmaddv4sf3 */
12769 :
12770 : case 2:
12771 : if (!(
12772 : #line 2707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12773 : (TARGET_SSE) &&
12774 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12775 : (TARGET_SSE2)))
12776 : return -1;
12777 : return 2822; /* *sse2_vmaddv2df3 */
12778 :
12779 : default:
12780 : return -1;
12781 : }
12782 :
12783 : case MINUS:
12784 : switch (pattern312 (x2))
12785 : {
12786 : case 0:
12787 : if (!(
12788 : #line 2707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12789 : (TARGET_SSE) &&
12790 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12791 : (TARGET_AVX512FP16)))
12792 : return -1;
12793 : return 2819; /* *avx512fp16_vmsubv8hf3 */
12794 :
12795 : case 1:
12796 : if (!
12797 : #line 2707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12798 : (TARGET_SSE))
12799 : return -1;
12800 : return 2821; /* *sse_vmsubv4sf3 */
12801 :
12802 : case 2:
12803 : if (!(
12804 : #line 2707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12805 : (TARGET_SSE) &&
12806 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12807 : (TARGET_SSE2)))
12808 : return -1;
12809 : return 2823; /* *sse2_vmsubv2df3 */
12810 :
12811 : default:
12812 : return -1;
12813 : }
12814 :
12815 : case MULT:
12816 : switch (pattern312 (x2))
12817 : {
12818 : case 0:
12819 : if (!(
12820 : #line 2797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12821 : (TARGET_SSE) &&
12822 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12823 : (TARGET_AVX512FP16)))
12824 : return -1;
12825 : return 2884; /* *avx512fp16_vmmulv8hf3 */
12826 :
12827 : case 1:
12828 : if (!
12829 : #line 2797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12830 : (TARGET_SSE))
12831 : return -1;
12832 : return 2886; /* *sse_vmmulv4sf3 */
12833 :
12834 : case 2:
12835 : if (!(
12836 : #line 2797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12837 : (TARGET_SSE) &&
12838 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12839 : (TARGET_SSE2)))
12840 : return -1;
12841 : return 2888; /* *sse2_vmmulv2df3 */
12842 :
12843 : default:
12844 : return -1;
12845 : }
12846 :
12847 : case DIV:
12848 : switch (pattern312 (x2))
12849 : {
12850 : case 0:
12851 : if (!(
12852 : #line 2797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12853 : (TARGET_SSE) &&
12854 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12855 : (TARGET_AVX512FP16)))
12856 : return -1;
12857 : return 2885; /* *avx512fp16_vmdivv8hf3 */
12858 :
12859 : case 1:
12860 : if (!
12861 : #line 2797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12862 : (TARGET_SSE))
12863 : return -1;
12864 : return 2887; /* *sse_vmdivv4sf3 */
12865 :
12866 : case 2:
12867 : if (!(
12868 : #line 2797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12869 : (TARGET_SSE) &&
12870 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12871 : (TARGET_SSE2)))
12872 : return -1;
12873 : return 2889; /* *sse2_vmdivv2df3 */
12874 :
12875 : default:
12876 : return -1;
12877 : }
12878 :
12879 : case UNSPEC:
12880 : x5 = XEXP (x2, 2);
12881 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12882 : return -1;
12883 : switch (XVECLEN (x4, 0))
12884 : {
12885 : case 1:
12886 : x6 = XVECEXP (x4, 0, 0);
12887 : operands[1] = x6;
12888 : x7 = XEXP (x2, 1);
12889 : operands[2] = x7;
12890 : switch (XINT (x4, 1))
12891 : {
12892 : case 55:
12893 : switch (GET_MODE (operands[0]))
12894 : {
12895 : case E_V4SFmode:
12896 : if (pattern1127 (x2,
12897 : E_V4SFmode,
12898 : E_SFmode) != 0
12899 : || !
12900 : #line 2972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12901 : (TARGET_SSE))
12902 : return -1;
12903 : return 2941; /* *sse_vmrcpv4sf2 */
12904 :
12905 : case E_V8HFmode:
12906 : if (pattern1127 (x2,
12907 : E_V8HFmode,
12908 : E_HFmode) != 0
12909 : || !
12910 : #line 3016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12911 : (TARGET_AVX512FP16))
12912 : return -1;
12913 : return 2950; /* *avx512fp16_vmrcpv8hf2 */
12914 :
12915 : default:
12916 : return -1;
12917 : }
12918 :
12919 : case 56:
12920 : switch (GET_MODE (operands[0]))
12921 : {
12922 : case E_V4SFmode:
12923 : if (pattern1127 (x2,
12924 : E_V4SFmode,
12925 : E_SFmode) != 0
12926 : || !
12927 : #line 3243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12928 : (TARGET_SSE))
12929 : return -1;
12930 : return 3040; /* *sse_vmrsqrtv4sf2 */
12931 :
12932 : case E_V8HFmode:
12933 : if (pattern1127 (x2,
12934 : E_V8HFmode,
12935 : E_HFmode) != 0
12936 : || !
12937 : #line 3274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12938 : (TARGET_AVX512FP16))
12939 : return -1;
12940 : return 3043; /* *avx512fp16_vmrsqrtv8hf2 */
12941 :
12942 : default:
12943 : return -1;
12944 : }
12945 :
12946 : default:
12947 : return -1;
12948 : }
12949 :
12950 : case 2:
12951 : switch (XINT (x4, 1))
12952 : {
12953 : case 64:
12954 : switch (pattern777 (x2))
12955 : {
12956 : case 0:
12957 : if (!(
12958 : #line 3489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12959 : (TARGET_SSE) &&
12960 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12961 : (TARGET_AVX512FP16)))
12962 : return -1;
12963 : return 3162; /* *ieee_maxv8hf3 */
12964 :
12965 : case 1:
12966 : if (!
12967 : #line 3489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12968 : (TARGET_SSE))
12969 : return -1;
12970 : return 3164; /* *ieee_maxv4sf3 */
12971 :
12972 : case 2:
12973 : if (!(
12974 : #line 3489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12975 : (TARGET_SSE) &&
12976 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12977 : (TARGET_SSE2)))
12978 : return -1;
12979 : return 3166; /* *ieee_maxv2df3 */
12980 :
12981 : default:
12982 : return -1;
12983 : }
12984 :
12985 : case 63:
12986 : switch (pattern777 (x2))
12987 : {
12988 : case 0:
12989 : if (!(
12990 : #line 3489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12991 : (TARGET_SSE) &&
12992 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12993 : (TARGET_AVX512FP16)))
12994 : return -1;
12995 : return 3163; /* *ieee_minv8hf3 */
12996 :
12997 : case 1:
12998 : if (!
12999 : #line 3489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13000 : (TARGET_SSE))
13001 : return -1;
13002 : return 3165; /* *ieee_minv4sf3 */
13003 :
13004 : case 2:
13005 : if (!(
13006 : #line 3489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13007 : (TARGET_SSE) &&
13008 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13009 : (TARGET_SSE2)))
13010 : return -1;
13011 : return 3167; /* *ieee_minv2df3 */
13012 :
13013 : default:
13014 : return -1;
13015 : }
13016 :
13017 : case 95:
13018 : x6 = XVECEXP (x4, 0, 0);
13019 : operands[2] = x6;
13020 : x8 = XVECEXP (x4, 0, 1);
13021 : operands[3] = x8;
13022 : x7 = XEXP (x2, 1);
13023 : operands[1] = x7;
13024 : switch (GET_MODE (operands[0]))
13025 : {
13026 : case E_V8HFmode:
13027 : if (pattern1225 (x2,
13028 : E_V8HFmode,
13029 : E_HFmode) != 0)
13030 : return -1;
13031 : if (vector_operand (operands[2], E_HFmode)
13032 : && const_0_to_255_operand (operands[3], E_SImode)
13033 : && (
13034 : #line 14580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13035 : (TARGET_AVX512F) &&
13036 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13037 : (TARGET_AVX512FP16)))
13038 : return 7220; /* *avx512f_rndscalev8hf */
13039 : if (!nonimmediate_operand (operands[2], E_HFmode)
13040 : || !const_0_to_15_operand (operands[3], E_SImode)
13041 : || !(
13042 : #line 26226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13043 : (TARGET_SSE4_1) &&
13044 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13045 : (TARGET_AVX512FP16)))
13046 : return -1;
13047 : return 9029; /* *sse4_1_roundsh */
13048 :
13049 : case E_V4SFmode:
13050 : if (pattern1225 (x2,
13051 : E_V4SFmode,
13052 : E_SFmode) != 0)
13053 : return -1;
13054 : if (vector_operand (operands[2], E_SFmode)
13055 : && const_0_to_255_operand (operands[3], E_SImode)
13056 : &&
13057 : #line 14580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13058 : (TARGET_AVX512F))
13059 : return 7222; /* *avx512f_rndscalev4sf */
13060 : if (!nonimmediate_operand (operands[2], E_SFmode)
13061 : || !const_0_to_15_operand (operands[3], E_SImode)
13062 : || !
13063 : #line 26226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13064 : (TARGET_SSE4_1))
13065 : return -1;
13066 : return 9030; /* *sse4_1_roundss */
13067 :
13068 : case E_V2DFmode:
13069 : if (pattern1225 (x2,
13070 : E_V2DFmode,
13071 : E_DFmode) != 0)
13072 : return -1;
13073 : if (vector_operand (operands[2], E_DFmode)
13074 : && const_0_to_255_operand (operands[3], E_SImode)
13075 : && (
13076 : #line 14580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13077 : (TARGET_AVX512F) &&
13078 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13079 : (TARGET_SSE2)))
13080 : return 7224; /* *avx512f_rndscalev2df */
13081 : if (!nonimmediate_operand (operands[2], E_DFmode)
13082 : || !const_0_to_15_operand (operands[3], E_SImode)
13083 : || !(
13084 : #line 26226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13085 : (TARGET_SSE4_1) &&
13086 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13087 : (TARGET_SSE2)))
13088 : return -1;
13089 : return 9031; /* *sse4_1_roundsd */
13090 :
13091 : default:
13092 : return -1;
13093 : }
13094 :
13095 : default:
13096 : return -1;
13097 : }
13098 :
13099 : default:
13100 : return -1;
13101 : }
13102 :
13103 : case SQRT:
13104 : x5 = XEXP (x2, 2);
13105 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13106 : return -1;
13107 : x9 = XEXP (x4, 0);
13108 : operands[1] = x9;
13109 : x7 = XEXP (x2, 1);
13110 : operands[2] = x7;
13111 : switch (GET_MODE (operands[0]))
13112 : {
13113 : case E_V8HFmode:
13114 : if (pattern894 (x2,
13115 : E_V8HFmode,
13116 : E_HFmode) != 0
13117 : || !(
13118 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13119 : (TARGET_SSE) &&
13120 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13121 : (TARGET_AVX512FP16)))
13122 : return -1;
13123 : return 3003; /* *avx512fp16_vmsqrtv8hf2 */
13124 :
13125 : case E_V4SFmode:
13126 : if (pattern894 (x2,
13127 : E_V4SFmode,
13128 : E_SFmode) != 0
13129 : || !
13130 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13131 : (TARGET_SSE))
13132 : return -1;
13133 : return 3007; /* *sse_vmsqrtv4sf2 */
13134 :
13135 : case E_V2DFmode:
13136 : if (pattern894 (x2,
13137 : E_V2DFmode,
13138 : E_DFmode) != 0
13139 : || !(
13140 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13141 : (TARGET_SSE) &&
13142 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13143 : (TARGET_SSE2)))
13144 : return -1;
13145 : return 3011; /* *sse2_vmsqrtv2df2 */
13146 :
13147 : default:
13148 : return -1;
13149 : }
13150 :
13151 : case FLOAT:
13152 : x5 = XEXP (x2, 2);
13153 : if (GET_CODE (x5) != CONST_INT)
13154 : return -1;
13155 : x9 = XEXP (x4, 0);
13156 : operands[2] = x9;
13157 : x7 = XEXP (x2, 1);
13158 : operands[1] = x7;
13159 : switch (XWINT (x5, 0))
13160 : {
13161 : case 1L:
13162 : switch (GET_MODE (operands[0]))
13163 : {
13164 : case E_V8HFmode:
13165 : switch (pattern895 (x2,
13166 : E_V8HFmode,
13167 : E_HFmode))
13168 : {
13169 : case 0:
13170 : if (!
13171 : #line 8185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13172 : (TARGET_AVX512FP16))
13173 : return -1;
13174 : return 4596; /* avx512fp16_vcvtsi2sh */
13175 :
13176 : case 1:
13177 : if (!(
13178 : #line 8185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13179 : (TARGET_AVX512FP16) &&
13180 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13181 : (TARGET_64BIT)))
13182 : return -1;
13183 : return 4600; /* avx512fp16_vcvtsi2shq */
13184 :
13185 : default:
13186 : return -1;
13187 : }
13188 :
13189 : case E_V4SFmode:
13190 : switch (pattern895 (x2,
13191 : E_V4SFmode,
13192 : E_SFmode))
13193 : {
13194 : case 0:
13195 : if (!
13196 : #line 8851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13197 : (TARGET_SSE))
13198 : return -1;
13199 : return 4829; /* sse_cvtsi2ss */
13200 :
13201 : case 1:
13202 : if (!(
13203 : #line 8851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13204 : (TARGET_SSE) &&
13205 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13206 : (TARGET_64BIT)))
13207 : return -1;
13208 : return 4831; /* sse_cvtsi2ssq */
13209 :
13210 : default:
13211 : return -1;
13212 : }
13213 :
13214 : case E_V2DFmode:
13215 : switch (pattern895 (x2,
13216 : E_V2DFmode,
13217 : E_DFmode))
13218 : {
13219 : case 0:
13220 : if (!
13221 : #line 9312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13222 : (TARGET_SSE2))
13223 : return -1;
13224 : return 4941; /* sse2_cvtsi2sd */
13225 :
13226 : case 1:
13227 : if (!
13228 : #line 9334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13229 : (TARGET_SSE2 && TARGET_64BIT))
13230 : return -1;
13231 : return 4942; /* sse2_cvtsi2sdq */
13232 :
13233 : default:
13234 : return -1;
13235 : }
13236 :
13237 : default:
13238 : return -1;
13239 : }
13240 :
13241 : case 3L:
13242 : if (pnum_clobbers == NULL
13243 : || pattern778 (x2,
13244 : E_V2SFmode,
13245 : E_V4SFmode) != 0
13246 : || !register_mmxmem_operand (operands[2], E_V2SImode)
13247 : || !register_operand (operands[1], E_V4SFmode)
13248 : || !
13249 : #line 8696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13250 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE))
13251 : return -1;
13252 : *pnum_clobbers = 1;
13253 : return 4825; /* sse_cvtpi2ps */
13254 :
13255 : default:
13256 : return -1;
13257 : }
13258 :
13259 : case UNSIGNED_FLOAT:
13260 : x5 = XEXP (x2, 2);
13261 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13262 : return -1;
13263 : x9 = XEXP (x4, 0);
13264 : operands[2] = x9;
13265 : x7 = XEXP (x2, 1);
13266 : operands[1] = x7;
13267 : switch (GET_MODE (operands[0]))
13268 : {
13269 : case E_V8HFmode:
13270 : switch (pattern895 (x2,
13271 : E_V8HFmode,
13272 : E_HFmode))
13273 : {
13274 : case 0:
13275 : if (!
13276 : #line 8185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13277 : (TARGET_AVX512FP16))
13278 : return -1;
13279 : return 4598; /* avx512fp16_vcvtusi2sh */
13280 :
13281 : case 1:
13282 : if (!(
13283 : #line 8185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13284 : (TARGET_AVX512FP16) &&
13285 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13286 : (TARGET_64BIT)))
13287 : return -1;
13288 : return 4602; /* avx512fp16_vcvtusi2shq */
13289 :
13290 : default:
13291 : return -1;
13292 : }
13293 :
13294 : case E_V4SFmode:
13295 : switch (pattern895 (x2,
13296 : E_V4SFmode,
13297 : E_SFmode))
13298 : {
13299 : case 0:
13300 : if (!
13301 : #line 8947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13302 : (TARGET_AVX512F && 1))
13303 : return -1;
13304 : return 4847; /* cvtusi2ss32 */
13305 :
13306 : case 1:
13307 : if (!
13308 : #line 8961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13309 : (TARGET_AVX512F && TARGET_64BIT))
13310 : return -1;
13311 : return 4850; /* cvtusi2ss64 */
13312 :
13313 : default:
13314 : return -1;
13315 : }
13316 :
13317 : case E_V2DFmode:
13318 : switch (pattern895 (x2,
13319 : E_V2DFmode,
13320 : E_DFmode))
13321 : {
13322 : case 0:
13323 : if (!(
13324 : #line 8947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13325 : (TARGET_AVX512F && 1) &&
13326 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13327 : (TARGET_SSE2)))
13328 : return -1;
13329 : return 4849; /* cvtusi2sd32 */
13330 :
13331 : case 1:
13332 : if (!(
13333 : #line 8961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13334 : (TARGET_AVX512F && TARGET_64BIT) &&
13335 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13336 : (TARGET_SSE2)))
13337 : return -1;
13338 : return 4852; /* cvtusi2sd64 */
13339 :
13340 : default:
13341 : return -1;
13342 : }
13343 :
13344 : default:
13345 : return -1;
13346 : }
13347 :
13348 : case FLOAT_EXTEND:
13349 : x5 = XEXP (x2, 2);
13350 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13351 : return -1;
13352 : x9 = XEXP (x4, 0);
13353 : switch (GET_CODE (x9))
13354 : {
13355 : case VEC_SELECT:
13356 : if (GET_MODE (x9) != E_HFmode)
13357 : return -1;
13358 : x10 = XEXP (x9, 1);
13359 : if (GET_CODE (x10) != PARALLEL
13360 : || XVECLEN (x10, 0) != 1)
13361 : return -1;
13362 : x11 = XVECEXP (x10, 0, 0);
13363 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
13364 : return -1;
13365 : x12 = XEXP (x9, 0);
13366 : operands[1] = x12;
13367 : if (!register_operand (operands[1], E_V8HFmode))
13368 : return -1;
13369 : x7 = XEXP (x2, 1);
13370 : operands[2] = x7;
13371 : switch (GET_MODE (operands[0]))
13372 : {
13373 : case E_V2DFmode:
13374 : if (pattern1473 (x2,
13375 : E_V2DFmode,
13376 : E_DFmode) != 0
13377 : || !
13378 : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13379 : (TARGET_AVX512FP16))
13380 : return -1;
13381 : return 4801; /* avx512fp16_vcvtsh2sd */
13382 :
13383 : case E_V4SFmode:
13384 : if (pattern1473 (x2,
13385 : E_V4SFmode,
13386 : E_SFmode) != 0
13387 : || !
13388 : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13389 : (TARGET_AVX512FP16))
13390 : return -1;
13391 : return 4805; /* avx512fp16_vcvtsh2ss */
13392 :
13393 : default:
13394 : return -1;
13395 : }
13396 :
13397 : case REG:
13398 : case SUBREG:
13399 : case MEM:
13400 : switch (GET_MODE (operands[0]))
13401 : {
13402 : case E_V2DFmode:
13403 : if (pattern778 (x2,
13404 : E_DFmode,
13405 : E_V2DFmode) != 0)
13406 : return -1;
13407 : x7 = XEXP (x2, 1);
13408 : if (!register_operand (x7, E_V2DFmode))
13409 : return -1;
13410 : switch (GET_MODE (x9))
13411 : {
13412 : case E_HFmode:
13413 : operands[1] = x9;
13414 : if (!memory_operand (operands[1], E_HFmode))
13415 : return -1;
13416 : operands[2] = x7;
13417 : if (!
13418 : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13419 : (TARGET_AVX512FP16))
13420 : return -1;
13421 : return 4809; /* avx512fp16_vcvtsh2sd_mem */
13422 :
13423 : case E_SFmode:
13424 : operands[2] = x9;
13425 : if (!nonimmediate_operand (operands[2], E_SFmode))
13426 : return -1;
13427 : operands[1] = x7;
13428 : if (!
13429 : #line 10398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13430 : (TARGET_SSE2))
13431 : return -1;
13432 : return 5190; /* *sse2_vd_cvtss2sd */
13433 :
13434 : default:
13435 : return -1;
13436 : }
13437 :
13438 : case E_V4SFmode:
13439 : if (pattern778 (x2,
13440 : E_SFmode,
13441 : E_V4SFmode) != 0)
13442 : return -1;
13443 : operands[1] = x9;
13444 : if (!memory_operand (operands[1], E_HFmode))
13445 : return -1;
13446 : x7 = XEXP (x2, 1);
13447 : operands[2] = x7;
13448 : if (!register_operand (operands[2], E_V4SFmode)
13449 : || !
13450 : #line 8646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13451 : (TARGET_AVX512FP16))
13452 : return -1;
13453 : return 4811; /* avx512fp16_vcvtsh2ss_mem */
13454 :
13455 : default:
13456 : return -1;
13457 : }
13458 :
13459 : default:
13460 : return -1;
13461 : }
13462 :
13463 : case FLOAT_TRUNCATE:
13464 : x5 = XEXP (x2, 2);
13465 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13466 : return -1;
13467 : x9 = XEXP (x4, 0);
13468 : switch (GET_CODE (x9))
13469 : {
13470 : case VEC_SELECT:
13471 : x10 = XEXP (x9, 1);
13472 : if (GET_CODE (x10) != PARALLEL
13473 : || XVECLEN (x10, 0) != 1)
13474 : return -1;
13475 : x11 = XVECEXP (x10, 0, 0);
13476 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
13477 : || pattern778 (x2,
13478 : E_HFmode,
13479 : E_V8HFmode) != 0)
13480 : return -1;
13481 : x12 = XEXP (x9, 0);
13482 : operands[1] = x12;
13483 : x7 = XEXP (x2, 1);
13484 : operands[2] = x7;
13485 : if (!register_operand (operands[2], E_V8HFmode))
13486 : return -1;
13487 : switch (GET_MODE (x9))
13488 : {
13489 : case E_DFmode:
13490 : if (!register_operand (operands[1], E_V2DFmode)
13491 : || !
13492 : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13493 : (TARGET_AVX512FP16))
13494 : return -1;
13495 : return 4813; /* avx512fp16_vcvtsd2sh */
13496 :
13497 : case E_SFmode:
13498 : if (!register_operand (operands[1], E_V4SFmode)
13499 : || !
13500 : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13501 : (TARGET_AVX512FP16))
13502 : return -1;
13503 : return 4817; /* avx512fp16_vcvtss2sh */
13504 :
13505 : default:
13506 : return -1;
13507 : }
13508 :
13509 : case REG:
13510 : case SUBREG:
13511 : case MEM:
13512 : switch (GET_MODE (operands[0]))
13513 : {
13514 : case E_V8HFmode:
13515 : if (!register_operand (operands[0], E_V8HFmode)
13516 : || GET_MODE (x2) != E_V8HFmode
13517 : || GET_MODE (x3) != E_V8HFmode
13518 : || GET_MODE (x4) != E_HFmode)
13519 : return -1;
13520 : operands[1] = x9;
13521 : x7 = XEXP (x2, 1);
13522 : operands[2] = x7;
13523 : if (!register_operand (operands[2], E_V8HFmode))
13524 : return -1;
13525 : switch (GET_MODE (operands[1]))
13526 : {
13527 : case E_SFmode:
13528 : if (!memory_operand (operands[1], E_SFmode)
13529 : || !
13530 : #line 8676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13531 : (TARGET_AVX512FP16))
13532 : return -1;
13533 : return 4821; /* avx512fp16_vcvtss2sh_mem */
13534 :
13535 : case E_DFmode:
13536 : if (!memory_operand (operands[1], E_DFmode)
13537 : || !
13538 : #line 8676 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13539 : (TARGET_AVX512FP16))
13540 : return -1;
13541 : return 4823; /* avx512fp16_vcvtsd2sh_mem */
13542 :
13543 : default:
13544 : return -1;
13545 : }
13546 :
13547 : case E_V4SFmode:
13548 : if (!register_operand (operands[0], E_V4SFmode)
13549 : || GET_MODE (x2) != E_V4SFmode
13550 : || GET_MODE (x3) != E_V4SFmode)
13551 : return -1;
13552 : operands[2] = x9;
13553 : x7 = XEXP (x2, 1);
13554 : operands[1] = x7;
13555 : if (!register_operand (operands[1], E_V4SFmode))
13556 : return -1;
13557 : switch (GET_MODE (x4))
13558 : {
13559 : case E_V2SFmode:
13560 : if (!nonimmediate_operand (operands[2], E_V2DFmode)
13561 : || !
13562 : #line 10333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13563 : (TARGET_SSE2))
13564 : return -1;
13565 : return 5181; /* sse2_cvtsd2ss */
13566 :
13567 : case E_SFmode:
13568 : if (!nonimmediate_operand (operands[2], E_DFmode)
13569 : || !
13570 : #line 10354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13571 : (TARGET_SSE2))
13572 : return -1;
13573 : return 5185; /* *sse2_vd_cvtsd2ss */
13574 :
13575 : default:
13576 : return -1;
13577 : }
13578 :
13579 : default:
13580 : return -1;
13581 : }
13582 :
13583 : default:
13584 : return -1;
13585 : }
13586 :
13587 : case CONST_INT:
13588 : case CONST_WIDE_INT:
13589 : case CONST_POLY_INT:
13590 : case CONST_FIXED:
13591 : case CONST_DOUBLE:
13592 : case CONST_VECTOR:
13593 : case CONST:
13594 : case REG:
13595 : case SUBREG:
13596 : case MEM:
13597 : case LABEL_REF:
13598 : case SYMBOL_REF:
13599 : case HIGH:
13600 : return recog_152 (x1, insn, pnum_clobbers);
13601 :
13602 : case VEC_SELECT:
13603 : return recog_153 (x1, insn, pnum_clobbers);
13604 :
13605 : case ZERO_EXTEND:
13606 : switch (pattern315 (x2))
13607 : {
13608 : case 0:
13609 : if (!(
13610 : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13611 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
13612 : #line 795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13613 : (TARGET_AVX512F)))
13614 : return -1;
13615 : return 5325; /* *vec_setv16si_0_zero_extendhi */
13616 :
13617 : case 1:
13618 : if (!
13619 : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13620 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
13621 : return -1;
13622 : return 5326; /* *vec_setv8si_0_zero_extendhi */
13623 :
13624 : case 2:
13625 : if (!
13626 : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13627 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
13628 : return -1;
13629 : return 5327; /* *vec_setv4si_0_zero_extendhi */
13630 :
13631 : case 3:
13632 : if (!(
13633 : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13634 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
13635 : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13636 : (TARGET_AVX512F)))
13637 : return -1;
13638 : return 5328; /* *vec_setv8di_0_zero_extendhi */
13639 :
13640 : case 4:
13641 : if (!(
13642 : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13643 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
13644 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13645 : (TARGET_AVX512F)))
13646 : return -1;
13647 : return 5340; /* *vec_setv8di_0_zero_extendsi */
13648 :
13649 : case 5:
13650 : if (!
13651 : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13652 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
13653 : return -1;
13654 : return 5329; /* *vec_setv4di_0_zero_extendhi */
13655 :
13656 : case 6:
13657 : if (!(
13658 : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13659 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
13660 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13661 : (TARGET_AVX)))
13662 : return -1;
13663 : return 5341; /* *vec_setv4di_0_zero_extendsi */
13664 :
13665 : case 7:
13666 : if (!
13667 : #line 12406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13668 : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
13669 : return -1;
13670 : return 5330; /* *vec_setv2di_0_zero_extendhi */
13671 :
13672 : case 8:
13673 : if (!
13674 : #line 12520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13675 : (TARGET_SSE2 && ix86_pre_reload_split ()))
13676 : return -1;
13677 : return 5342; /* *vec_setv2di_0_zero_extendsi */
13678 :
13679 : default:
13680 : return -1;
13681 : }
13682 :
13683 : default:
13684 : return -1;
13685 : }
13686 : }
13687 :
13688 : int
13689 : recog_203 (rtx x1 ATTRIBUTE_UNUSED,
13690 : rtx_insn *insn ATTRIBUTE_UNUSED,
13691 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13692 : {
13693 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13694 : rtx x2;
13695 : int res ATTRIBUTE_UNUSED;
13696 : x2 = XEXP (x1, 1);
13697 : switch (pattern140 (x2))
13698 : {
13699 : case 0:
13700 : switch (pattern901 (x2))
13701 : {
13702 : case 0:
13703 : if (!(
13704 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13705 : (TARGET_AVX512F) && (
13706 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13707 : (TARGET_AVX512FP16) &&
13708 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13709 : (TARGET_AVX512VL))))
13710 : return -1;
13711 : return 4524; /* avx512fp16_vcvtuw2ph_v8hi_mask */
13712 :
13713 : case 1:
13714 : if (!(
13715 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13716 : (TARGET_AVX512F) && (
13717 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13718 : (TARGET_AVX512FP16) &&
13719 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13720 : (TARGET_AVX512VL))))
13721 : return -1;
13722 : return 4548; /* avx512fp16_vcvtudq2ph_v8si_mask */
13723 :
13724 : case 2:
13725 : if (!(
13726 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13727 : (TARGET_AVX512F) &&
13728 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13729 : (TARGET_AVX512FP16)))
13730 : return -1;
13731 : return 4564; /* avx512fp16_vcvtuqq2ph_v8di_mask */
13732 :
13733 : default:
13734 : return -1;
13735 : }
13736 :
13737 : case 1:
13738 : switch (pattern902 (x2))
13739 : {
13740 : case 0:
13741 : if (!(
13742 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13743 : (TARGET_AVX512F) && (
13744 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13745 : (TARGET_AVX512FP16) &&
13746 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13747 : (TARGET_AVX512VL))))
13748 : return -1;
13749 : return 4532; /* avx512fp16_vcvtuw2ph_v16hi_mask */
13750 :
13751 : case 1:
13752 : if (!(
13753 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13754 : (TARGET_AVX512F) &&
13755 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13756 : (TARGET_AVX512FP16)))
13757 : return -1;
13758 : return 4556; /* avx512fp16_vcvtudq2ph_v16si_mask */
13759 :
13760 : default:
13761 : return -1;
13762 : }
13763 :
13764 : case 2:
13765 : if (pattern141 (x2,
13766 : E_V32HFmode,
13767 : E_SImode,
13768 : E_V32HImode) != 0
13769 : || !(
13770 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13771 : (TARGET_AVX512F) &&
13772 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13773 : (TARGET_AVX512FP16)))
13774 : return -1;
13775 : return 4540; /* avx512fp16_vcvtuw2ph_v32hi_mask */
13776 :
13777 : case 3:
13778 : if (pattern155 (x2,
13779 : E_V16SFmode,
13780 : E_V16SImode,
13781 : E_HImode) != 0
13782 : || !
13783 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13784 : (TARGET_AVX512F))
13785 : return -1;
13786 : return 4864; /* floatunsv16siv16sf2_mask */
13787 :
13788 : case 4:
13789 : switch (pattern903 (x2,
13790 : E_V8SFmode))
13791 : {
13792 : case 0:
13793 : if (!(
13794 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13795 : (TARGET_AVX512F) && (
13796 : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13797 : (TARGET_AVX512F) &&
13798 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13799 : (TARGET_AVX512VL))))
13800 : return -1;
13801 : return 4868; /* floatunsv8siv8sf2_mask */
13802 :
13803 : case 1:
13804 : if (!(
13805 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13806 : (TARGET_AVX512F) &&
13807 : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13808 : (TARGET_AVX512DQ && 1)))
13809 : return -1;
13810 : return 5016; /* floatunsv8div8sf2_mask */
13811 :
13812 : default:
13813 : return -1;
13814 : }
13815 :
13816 : case 5:
13817 : switch (pattern904 (x2,
13818 : E_V4SFmode))
13819 : {
13820 : case 0:
13821 : if (!(
13822 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13823 : (TARGET_AVX512F) && (
13824 : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13825 : (TARGET_AVX512F) &&
13826 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13827 : (TARGET_AVX512VL))))
13828 : return -1;
13829 : return 4872; /* floatunsv4siv4sf2_mask */
13830 :
13831 : case 1:
13832 : if (!(
13833 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13834 : (TARGET_AVX512F) && (
13835 : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13836 : (TARGET_AVX512DQ && 1) &&
13837 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13838 : (TARGET_AVX512VL))))
13839 : return -1;
13840 : return 5021; /* floatunsv4div4sf2_mask */
13841 :
13842 : default:
13843 : return -1;
13844 : }
13845 :
13846 : case 6:
13847 : if (pattern142 (x2,
13848 : E_V8DFmode,
13849 : E_QImode) != 0)
13850 : return -1;
13851 : switch (GET_MODE (operands[1]))
13852 : {
13853 : case E_V8DImode:
13854 : if (!nonimmediate_operand (operands[1], E_V8DImode)
13855 : || !(
13856 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13857 : (TARGET_AVX512F) &&
13858 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13859 : (TARGET_AVX512DQ)))
13860 : return -1;
13861 : return 4992; /* floatunsv8div8df2_mask */
13862 :
13863 : case E_V8SImode:
13864 : if (!nonimmediate_operand (operands[1], E_V8SImode)
13865 : || !
13866 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13867 : (TARGET_AVX512F))
13868 : return -1;
13869 : return 5029; /* floatunsv8siv8df2_mask */
13870 :
13871 : default:
13872 : return -1;
13873 : }
13874 :
13875 : case 7:
13876 : if (pattern142 (x2,
13877 : E_V4DFmode,
13878 : E_QImode) != 0)
13879 : return -1;
13880 : switch (GET_MODE (operands[1]))
13881 : {
13882 : case E_V4DImode:
13883 : if (!nonimmediate_operand (operands[1], E_V4DImode)
13884 : || !(
13885 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13886 : (TARGET_AVX512F) && (
13887 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13888 : (TARGET_AVX512DQ) &&
13889 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13890 : (TARGET_AVX512VL))))
13891 : return -1;
13892 : return 5000; /* floatunsv4div4df2_mask */
13893 :
13894 : case E_V4SImode:
13895 : if (!nonimmediate_operand (operands[1], E_V4SImode)
13896 : || !(
13897 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13898 : (TARGET_AVX512F) && (
13899 : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13900 : (TARGET_AVX512F) &&
13901 : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13902 : (TARGET_AVX512VL))))
13903 : return -1;
13904 : return 5031; /* floatunsv4siv4df2_mask */
13905 :
13906 : default:
13907 : return -1;
13908 : }
13909 :
13910 : case 8:
13911 : if (pattern155 (x2,
13912 : E_V2DFmode,
13913 : E_V2DImode,
13914 : E_QImode) != 0
13915 : || !(
13916 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13917 : (TARGET_AVX512F) && (
13918 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13919 : (TARGET_AVX512DQ) &&
13920 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13921 : (TARGET_AVX512VL))))
13922 : return -1;
13923 : return 5008; /* floatunsv2div2df2_mask */
13924 :
13925 : case 9:
13926 : if (!(
13927 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13928 : (TARGET_AVX512F) &&
13929 : #line 9680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13930 : (TARGET_AVX512VL)))
13931 : return -1;
13932 : return 5033; /* floatunsv2siv2df2_mask */
13933 :
13934 : default:
13935 : return -1;
13936 : }
13937 : }
13938 :
13939 : int
13940 : recog_210 (rtx x1 ATTRIBUTE_UNUSED,
13941 : rtx_insn *insn ATTRIBUTE_UNUSED,
13942 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13943 : {
13944 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13945 : rtx x2;
13946 : int res ATTRIBUTE_UNUSED;
13947 : x2 = XEXP (x1, 1);
13948 : switch (pattern326 (x2))
13949 : {
13950 : case 0:
13951 : if (!register_operand (operands[0], E_V32HImode)
13952 : || GET_MODE (x2) != E_V32HImode
13953 : || !vector_operand (operands[1], E_V32HFmode)
13954 : || !
13955 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13956 : (TARGET_AVX512FP16))
13957 : return -1;
13958 : return 4450; /* avx512fp16_vcvtph2w_v32hi */
13959 :
13960 : case 1:
13961 : switch (pattern653 (x2,
13962 : E_V16SImode))
13963 : {
13964 : case 0:
13965 : if (!
13966 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13967 : (TARGET_AVX512FP16))
13968 : return -1;
13969 : return 4458; /* avx512fp16_vcvtph2dq_v16si */
13970 :
13971 : case 1:
13972 : if (!
13973 : #line 9029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13974 : (TARGET_AVX512F))
13975 : return -1;
13976 : return 4878; /* avx512f_fix_notruncv16sfv16si */
13977 :
13978 : default:
13979 : return -1;
13980 : }
13981 :
13982 : case 2:
13983 : switch (pattern652 (x2,
13984 : E_V8DImode))
13985 : {
13986 : case 0:
13987 : if (!
13988 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13989 : (TARGET_AVX512FP16))
13990 : return -1;
13991 : return 4466; /* avx512fp16_vcvtph2qq_v8di */
13992 :
13993 : case 1:
13994 : if (!
13995 : #line 9050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13996 : (TARGET_AVX512DQ && 1))
13997 : return -1;
13998 : return 4894; /* *avx512dq_cvtps2qqv8di */
13999 :
14000 : case 2:
14001 : if (!
14002 : #line 10040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14003 : (TARGET_AVX512DQ && 1))
14004 : return -1;
14005 : return 5120; /* fix_notruncv8dfv8di2 */
14006 :
14007 : default:
14008 : return -1;
14009 : }
14010 :
14011 : case 3:
14012 : if (!register_operand (operands[0], E_V16HImode)
14013 : || GET_MODE (x2) != E_V16HImode
14014 : || !vector_operand (operands[1], E_V16HFmode)
14015 : || !(
14016 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14017 : (TARGET_AVX512FP16) &&
14018 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14019 : (TARGET_AVX512VL)))
14020 : return -1;
14021 : return 4474; /* avx512fp16_vcvtph2w_v16hi */
14022 :
14023 : case 4:
14024 : if (!register_operand (operands[0], E_V8SImode)
14025 : || GET_MODE (x2) != E_V8SImode)
14026 : return -1;
14027 : switch (GET_MODE (operands[1]))
14028 : {
14029 : case E_V8HFmode:
14030 : if (!vector_operand (operands[1], E_V8HFmode)
14031 : || !(
14032 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14033 : (TARGET_AVX512FP16) &&
14034 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14035 : (TARGET_AVX512VL)))
14036 : return -1;
14037 : return 4482; /* avx512fp16_vcvtph2dq_v8si */
14038 :
14039 : case E_V8SFmode:
14040 : if (!vector_operand (operands[1], E_V8SFmode)
14041 : || !(
14042 : #line 9013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14043 : (TARGET_SSE2 && 1) &&
14044 : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14045 : (TARGET_AVX)))
14046 : return -1;
14047 : return 4874; /* avx_fix_notruncv8sfv8si */
14048 :
14049 : case E_V8DFmode:
14050 : if (!vector_operand (operands[1], E_V8DFmode)
14051 : || !
14052 : #line 9731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14053 : (TARGET_AVX512F))
14054 : return -1;
14055 : return 5038; /* avx512f_cvtpd2dq512 */
14056 :
14057 : default:
14058 : return -1;
14059 : }
14060 :
14061 : case 5:
14062 : if (!register_operand (operands[0], E_V4DImode)
14063 : || GET_MODE (x2) != E_V4DImode)
14064 : return -1;
14065 : switch (GET_MODE (operands[1]))
14066 : {
14067 : case E_V8HFmode:
14068 : if (!vector_operand (operands[1], E_V8HFmode)
14069 : || !(
14070 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14071 : (TARGET_AVX512FP16) &&
14072 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14073 : (TARGET_AVX512VL)))
14074 : return -1;
14075 : return 4490; /* avx512fp16_vcvtph2qq_v4di */
14076 :
14077 : case E_V4SFmode:
14078 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
14079 : || !(
14080 : #line 9050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14081 : (TARGET_AVX512DQ && 1) &&
14082 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14083 : (TARGET_AVX512VL)))
14084 : return -1;
14085 : return 4898; /* *avx512dq_cvtps2qqv4di */
14086 :
14087 : case E_V4DFmode:
14088 : if (!vector_operand (operands[1], E_V4DFmode)
14089 : || !(
14090 : #line 10040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14091 : (TARGET_AVX512DQ && 1) &&
14092 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14093 : (TARGET_AVX512VL)))
14094 : return -1;
14095 : return 5124; /* fix_notruncv4dfv4di2 */
14096 :
14097 : default:
14098 : return -1;
14099 : }
14100 :
14101 : case 6:
14102 : if (!register_operand (operands[0], E_V8HImode)
14103 : || GET_MODE (x2) != E_V8HImode
14104 : || !vector_operand (operands[1], E_V8HFmode)
14105 : || !(
14106 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14107 : (TARGET_AVX512FP16) &&
14108 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14109 : (TARGET_AVX512VL)))
14110 : return -1;
14111 : return 4498; /* avx512fp16_vcvtph2w_v8hi */
14112 :
14113 : case 7:
14114 : if (!register_operand (operands[0], E_V4SImode)
14115 : || GET_MODE (x2) != E_V4SImode)
14116 : return -1;
14117 : switch (GET_MODE (operands[1]))
14118 : {
14119 : case E_V8HFmode:
14120 : if (!vector_operand (operands[1], E_V8HFmode)
14121 : || !(
14122 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14123 : (TARGET_AVX512FP16) &&
14124 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14125 : (TARGET_AVX512VL)))
14126 : return -1;
14127 : return 4506; /* avx512fp16_vcvtph2dq_v4si */
14128 :
14129 : case E_V4SFmode:
14130 : if (!vector_operand (operands[1], E_V4SFmode)
14131 : || !
14132 : #line 9013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14133 : (TARGET_SSE2 && 1))
14134 : return -1;
14135 : return 4876; /* sse2_fix_notruncv4sfv4si */
14136 :
14137 : case E_V4DFmode:
14138 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
14139 : || !
14140 : #line 9741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14141 : (TARGET_AVX && 1))
14142 : return -1;
14143 : return 5042; /* avx_cvtpd2dq256 */
14144 :
14145 : default:
14146 : return -1;
14147 : }
14148 :
14149 : case 8:
14150 : if (!register_operand (operands[0], E_V2DImode)
14151 : || GET_MODE (x2) != E_V2DImode)
14152 : return -1;
14153 : switch (GET_MODE (operands[1]))
14154 : {
14155 : case E_V8HFmode:
14156 : if (!vector_operand (operands[1], E_V8HFmode)
14157 : || !(
14158 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14159 : (TARGET_AVX512FP16) &&
14160 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14161 : (TARGET_AVX512VL)))
14162 : return -1;
14163 : return 4514; /* avx512fp16_vcvtph2qq_v2di */
14164 :
14165 : case E_V2DFmode:
14166 : if (!vector_operand (operands[1], E_V2DFmode)
14167 : || !(
14168 : #line 10040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14169 : (TARGET_AVX512DQ && 1) &&
14170 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14171 : (TARGET_AVX512VL)))
14172 : return -1;
14173 : return 5126; /* fix_notruncv2dfv2di2 */
14174 :
14175 : default:
14176 : return -1;
14177 : }
14178 :
14179 : case 9:
14180 : if (!
14181 : #line 9063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14182 : (TARGET_AVX512DQ && TARGET_AVX512VL))
14183 : return -1;
14184 : return 4900; /* *avx512dq_cvtps2qqv2di */
14185 :
14186 : default:
14187 : return -1;
14188 : }
14189 : }
14190 :
14191 : int
14192 : recog_220 (rtx x1 ATTRIBUTE_UNUSED,
14193 : rtx_insn *insn ATTRIBUTE_UNUSED,
14194 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14195 : {
14196 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14197 : rtx x2;
14198 : int res ATTRIBUTE_UNUSED;
14199 : x2 = XEXP (x1, 1);
14200 : switch (pattern324 (x2))
14201 : {
14202 : case 0:
14203 : if (!
14204 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14205 : (TARGET_AVX512F))
14206 : return -1;
14207 : return 2518; /* *avx512f_loadv16si */
14208 :
14209 : case 1:
14210 : if (!(
14211 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14212 : (TARGET_AVX512F) &&
14213 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14214 : (TARGET_AVX512VL)))
14215 : return -1;
14216 : return 2519; /* *avx512vl_loadv8si */
14217 :
14218 : case 2:
14219 : if (!(
14220 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14221 : (TARGET_AVX512F) &&
14222 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14223 : (TARGET_AVX512VL)))
14224 : return -1;
14225 : return 2520; /* *avx512vl_loadv4si */
14226 :
14227 : case 3:
14228 : if (!
14229 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14230 : (TARGET_AVX512F))
14231 : return -1;
14232 : return 2521; /* *avx512f_loadv8di */
14233 :
14234 : case 4:
14235 : if (!(
14236 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14237 : (TARGET_AVX512F) &&
14238 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14239 : (TARGET_AVX512VL)))
14240 : return -1;
14241 : return 2522; /* *avx512vl_loadv4di */
14242 :
14243 : case 5:
14244 : if (!(
14245 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14246 : (TARGET_AVX512F) &&
14247 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14248 : (TARGET_AVX512VL)))
14249 : return -1;
14250 : return 2523; /* *avx512vl_loadv2di */
14251 :
14252 : case 6:
14253 : if (!
14254 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14255 : (TARGET_AVX512F))
14256 : return -1;
14257 : return 2524; /* *avx512f_loadv16sf */
14258 :
14259 : case 7:
14260 : if (!(
14261 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14262 : (TARGET_AVX512F) &&
14263 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14264 : (TARGET_AVX512VL)))
14265 : return -1;
14266 : return 2525; /* *avx512vl_loadv8sf */
14267 :
14268 : case 8:
14269 : if (!(
14270 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14271 : (TARGET_AVX512F) &&
14272 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14273 : (TARGET_AVX512VL)))
14274 : return -1;
14275 : return 2526; /* *avx512vl_loadv4sf */
14276 :
14277 : case 9:
14278 : if (!
14279 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14280 : (TARGET_AVX512F))
14281 : return -1;
14282 : return 2527; /* *avx512f_loadv8df */
14283 :
14284 : case 10:
14285 : if (!(
14286 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14287 : (TARGET_AVX512F) &&
14288 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14289 : (TARGET_AVX512VL)))
14290 : return -1;
14291 : return 2528; /* *avx512vl_loadv4df */
14292 :
14293 : case 11:
14294 : if (!(
14295 : #line 1621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14296 : (TARGET_AVX512F) &&
14297 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14298 : (TARGET_AVX512VL)))
14299 : return -1;
14300 : return 2529; /* *avx512vl_loadv2df */
14301 :
14302 : case 12:
14303 : if (!
14304 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14305 : (TARGET_AVX512BW))
14306 : return -1;
14307 : return 2548; /* *avx512bw_loadv64qi */
14308 :
14309 : case 13:
14310 : if (!(
14311 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14312 : (TARGET_AVX512BW) &&
14313 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14314 : (TARGET_AVX512VL)))
14315 : return -1;
14316 : return 2549; /* *avx512vl_loadv16qi */
14317 :
14318 : case 14:
14319 : if (!(
14320 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14321 : (TARGET_AVX512BW) &&
14322 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14323 : (TARGET_AVX512VL)))
14324 : return -1;
14325 : return 2550; /* *avx512vl_loadv32qi */
14326 :
14327 : case 15:
14328 : if (!
14329 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14330 : (TARGET_AVX512BW))
14331 : return -1;
14332 : return 2551; /* *avx512bw_loadv32hi */
14333 :
14334 : case 16:
14335 : if (!(
14336 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14337 : (TARGET_AVX512BW) &&
14338 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14339 : (TARGET_AVX512VL)))
14340 : return -1;
14341 : return 2552; /* *avx512vl_loadv16hi */
14342 :
14343 : case 17:
14344 : if (!(
14345 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14346 : (TARGET_AVX512BW) &&
14347 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14348 : (TARGET_AVX512VL)))
14349 : return -1;
14350 : return 2553; /* *avx512vl_loadv8hi */
14351 :
14352 : case 18:
14353 : if (!
14354 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14355 : (TARGET_AVX512BW))
14356 : return -1;
14357 : return 2554; /* *avx512bw_loadv32hf */
14358 :
14359 : case 19:
14360 : if (!(
14361 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14362 : (TARGET_AVX512BW) &&
14363 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14364 : (TARGET_AVX512VL)))
14365 : return -1;
14366 : return 2555; /* *avx512vl_loadv16hf */
14367 :
14368 : case 20:
14369 : if (!(
14370 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14371 : (TARGET_AVX512BW) &&
14372 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14373 : (TARGET_AVX512VL)))
14374 : return -1;
14375 : return 2556; /* *avx512fp16_loadv8hf */
14376 :
14377 : case 21:
14378 : if (!
14379 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14380 : (TARGET_AVX512BW))
14381 : return -1;
14382 : return 2557; /* *avx512bw_loadv32bf */
14383 :
14384 : case 22:
14385 : if (!(
14386 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14387 : (TARGET_AVX512BW) &&
14388 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14389 : (TARGET_AVX512VL)))
14390 : return -1;
14391 : return 2558; /* *avx512vl_loadv16bf */
14392 :
14393 : case 23:
14394 : if (!(
14395 : #line 1703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14396 : (TARGET_AVX512BW) &&
14397 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14398 : (TARGET_AVX512VL)))
14399 : return -1;
14400 : return 2559; /* *avx512vl_loadv8bf */
14401 :
14402 : default:
14403 : return -1;
14404 : }
14405 : }
14406 :
14407 : int
14408 : recog_231 (rtx x1 ATTRIBUTE_UNUSED,
14409 : rtx_insn *insn ATTRIBUTE_UNUSED,
14410 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14411 : {
14412 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14413 : rtx x2, x3, x4, x5;
14414 : int res ATTRIBUTE_UNUSED;
14415 : x2 = XEXP (x1, 1);
14416 : x3 = XVECEXP (x2, 0, 0);
14417 : x4 = XVECEXP (x3, 0, 0);
14418 : operands[1] = x4;
14419 : x5 = XVECEXP (x2, 0, 1);
14420 : operands[2] = x5;
14421 : switch (XINT (x3, 1))
14422 : {
14423 : case 157:
14424 : if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
14425 : return -1;
14426 : switch (GET_MODE (operands[0]))
14427 : {
14428 : case E_V32HImode:
14429 : if (pattern1025 (x2,
14430 : E_V32HFmode,
14431 : E_V32HImode) != 0
14432 : || !(
14433 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14434 : (TARGET_AVX512F) &&
14435 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14436 : (TARGET_AVX512FP16)))
14437 : return -1;
14438 : return 4447; /* avx512fp16_vcvtph2uw_v32hi_round */
14439 :
14440 : case E_V16SImode:
14441 : if (!register_operand (operands[0], E_V16SImode)
14442 : || GET_MODE (x2) != E_V16SImode
14443 : || GET_MODE (x3) != E_V16SImode)
14444 : return -1;
14445 : switch (GET_MODE (operands[1]))
14446 : {
14447 : case E_V16HFmode:
14448 : if (!register_operand (operands[1], E_V16HFmode)
14449 : || !(
14450 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14451 : (TARGET_AVX512F) &&
14452 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14453 : (TARGET_AVX512FP16)))
14454 : return -1;
14455 : return 4455; /* avx512fp16_vcvtph2udq_v16si_round */
14456 :
14457 : case E_V16SFmode:
14458 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
14459 : || !
14460 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14461 : (TARGET_AVX512F))
14462 : return -1;
14463 : return 4883; /* *avx512f_fixuns_notruncv16sfv16si_round */
14464 :
14465 : default:
14466 : return -1;
14467 : }
14468 :
14469 : case E_V8DImode:
14470 : switch (pattern1231 (x2,
14471 : E_V8DImode))
14472 : {
14473 : case 0:
14474 : if (!(
14475 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14476 : (TARGET_AVX512F) &&
14477 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14478 : (TARGET_AVX512FP16)))
14479 : return -1;
14480 : return 4463; /* avx512fp16_vcvtph2uqq_v8di_round */
14481 :
14482 : case 1:
14483 : if (!(
14484 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14485 : (TARGET_AVX512F) &&
14486 : #line 9073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14487 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14488 : || V8DImode == V8DFmode
14489 : || V8DImode == V8DImode
14490 : || V8DImode == V16SImode
14491 : || V8DImode == V32HFmode))))
14492 : return -1;
14493 : return 4903; /* *avx512dq_cvtps2uqqv8di_round */
14494 :
14495 : case 2:
14496 : if (!(
14497 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14498 : (TARGET_AVX512F) &&
14499 : #line 10051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14500 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14501 : || V8DFmode == V8DFmode
14502 : || V8DFmode == V8DImode
14503 : || V8DFmode == V16SImode
14504 : || V8DFmode == V32HFmode))))
14505 : return -1;
14506 : return 5129; /* fixuns_notruncv8dfv8di2_round */
14507 :
14508 : default:
14509 : return -1;
14510 : }
14511 :
14512 : case E_V16HImode:
14513 : if (pattern1025 (x2,
14514 : E_V16HFmode,
14515 : E_V16HImode) != 0
14516 : || !(
14517 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14518 : (TARGET_AVX512F) && (
14519 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14520 : (TARGET_AVX512FP16) &&
14521 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14522 : (TARGET_AVX512VL))))
14523 : return -1;
14524 : return 4471; /* avx512fp16_vcvtph2uw_v16hi_round */
14525 :
14526 : case E_V8SImode:
14527 : switch (pattern1231 (x2,
14528 : E_V8SImode))
14529 : {
14530 : case 0:
14531 : if (!(
14532 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14533 : (TARGET_AVX512F) && (
14534 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14535 : (TARGET_AVX512FP16) &&
14536 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14537 : (TARGET_AVX512VL))))
14538 : return -1;
14539 : return 4479; /* avx512fp16_vcvtph2udq_v8si_round */
14540 :
14541 : case 1:
14542 : if (!(
14543 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14544 : (TARGET_AVX512F) && (
14545 : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14546 : (TARGET_AVX512F) &&
14547 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14548 : (TARGET_AVX512VL))))
14549 : return -1;
14550 : return 4887; /* *avx512vl_fixuns_notruncv8sfv8si_round */
14551 :
14552 : case 2:
14553 : if (!
14554 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14555 : (TARGET_AVX512F))
14556 : return -1;
14557 : return 5049; /* fixuns_notruncv8dfv8si2_round */
14558 :
14559 : default:
14560 : return -1;
14561 : }
14562 :
14563 : case E_V4DImode:
14564 : if (pattern1025 (x2,
14565 : E_V8HFmode,
14566 : E_V4DImode) != 0
14567 : || !(
14568 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14569 : (TARGET_AVX512F) && (
14570 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14571 : (TARGET_AVX512FP16) &&
14572 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14573 : (TARGET_AVX512VL))))
14574 : return -1;
14575 : return 4487; /* avx512fp16_vcvtph2uqq_v4di_round */
14576 :
14577 : case E_V8HImode:
14578 : if (pattern1025 (x2,
14579 : E_V8HFmode,
14580 : E_V8HImode) != 0
14581 : || !(
14582 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14583 : (TARGET_AVX512F) && (
14584 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14585 : (TARGET_AVX512FP16) &&
14586 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14587 : (TARGET_AVX512VL))))
14588 : return -1;
14589 : return 4495; /* avx512fp16_vcvtph2uw_v8hi_round */
14590 :
14591 : case E_V4SImode:
14592 : if (!register_operand (operands[0], E_V4SImode)
14593 : || GET_MODE (x2) != E_V4SImode
14594 : || GET_MODE (x3) != E_V4SImode)
14595 : return -1;
14596 : switch (GET_MODE (operands[1]))
14597 : {
14598 : case E_V8HFmode:
14599 : if (!register_operand (operands[1], E_V8HFmode)
14600 : || !(
14601 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14602 : (TARGET_AVX512F) && (
14603 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14604 : (TARGET_AVX512FP16) &&
14605 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14606 : (TARGET_AVX512VL))))
14607 : return -1;
14608 : return 4503; /* avx512fp16_vcvtph2udq_v4si_round */
14609 :
14610 : case E_V4SFmode:
14611 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
14612 : || !(
14613 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14614 : (TARGET_AVX512F) && (
14615 : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14616 : (TARGET_AVX512F) &&
14617 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14618 : (TARGET_AVX512VL))))
14619 : return -1;
14620 : return 4891; /* *avx512vl_fixuns_notruncv4sfv4si_round */
14621 :
14622 : case E_V4DFmode:
14623 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
14624 : || !(
14625 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14626 : (TARGET_AVX512F) && (
14627 : #line 9832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14628 : (TARGET_AVX512F) &&
14629 : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14630 : (TARGET_AVX512VL))))
14631 : return -1;
14632 : return 5053; /* fixuns_notruncv4dfv4si2_round */
14633 :
14634 : default:
14635 : return -1;
14636 : }
14637 :
14638 : case E_V2DImode:
14639 : if (pattern1025 (x2,
14640 : E_V8HFmode,
14641 : E_V2DImode) != 0
14642 : || !(
14643 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14644 : (TARGET_AVX512F) && (
14645 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14646 : (TARGET_AVX512FP16) &&
14647 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14648 : (TARGET_AVX512VL))))
14649 : return -1;
14650 : return 4511; /* avx512fp16_vcvtph2uqq_v2di_round */
14651 :
14652 : default:
14653 : return -1;
14654 : }
14655 :
14656 : case 47:
14657 : if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
14658 : return -1;
14659 : switch (GET_MODE (operands[0]))
14660 : {
14661 : case E_V32HImode:
14662 : if (pattern1025 (x2,
14663 : E_V32HFmode,
14664 : E_V32HImode) != 0
14665 : || !(
14666 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14667 : (TARGET_AVX512F) &&
14668 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14669 : (TARGET_AVX512FP16)))
14670 : return -1;
14671 : return 4451; /* avx512fp16_vcvtph2w_v32hi_round */
14672 :
14673 : case E_V16SImode:
14674 : switch (pattern1027 (x2))
14675 : {
14676 : case 0:
14677 : if (!(
14678 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14679 : (TARGET_AVX512F) &&
14680 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14681 : (TARGET_AVX512FP16)))
14682 : return -1;
14683 : return 4459; /* avx512fp16_vcvtph2dq_v16si_round */
14684 :
14685 : case 1:
14686 : if (!
14687 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14688 : (TARGET_AVX512F))
14689 : return -1;
14690 : return 4879; /* avx512f_fix_notruncv16sfv16si_round */
14691 :
14692 : default:
14693 : return -1;
14694 : }
14695 :
14696 : case E_V8DImode:
14697 : if (!register_operand (operands[0], E_V8DImode)
14698 : || GET_MODE (x2) != E_V8DImode
14699 : || GET_MODE (x3) != E_V8DImode)
14700 : return -1;
14701 : switch (GET_MODE (operands[1]))
14702 : {
14703 : case E_V8HFmode:
14704 : if (!register_operand (operands[1], E_V8HFmode)
14705 : || !(
14706 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14707 : (TARGET_AVX512F) &&
14708 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14709 : (TARGET_AVX512FP16)))
14710 : return -1;
14711 : return 4467; /* avx512fp16_vcvtph2qq_v8di_round */
14712 :
14713 : case E_V8SFmode:
14714 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
14715 : || !(
14716 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14717 : (TARGET_AVX512F) &&
14718 : #line 9050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14719 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14720 : || V8DImode == V8DFmode
14721 : || V8DImode == V8DImode
14722 : || V8DImode == V16SImode
14723 : || V8DImode == V32HFmode))))
14724 : return -1;
14725 : return 4895; /* *avx512dq_cvtps2qqv8di_round */
14726 :
14727 : case E_V8DFmode:
14728 : if (!register_operand (operands[1], E_V8DFmode)
14729 : || !(
14730 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14731 : (TARGET_AVX512F) &&
14732 : #line 10040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14733 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14734 : || V8DFmode == V8DFmode
14735 : || V8DFmode == V8DImode
14736 : || V8DFmode == V16SImode
14737 : || V8DFmode == V32HFmode))))
14738 : return -1;
14739 : return 5121; /* fix_notruncv8dfv8di2_round */
14740 :
14741 : default:
14742 : return -1;
14743 : }
14744 :
14745 : case E_V16HImode:
14746 : if (pattern1025 (x2,
14747 : E_V16HFmode,
14748 : E_V16HImode) != 0
14749 : || !(
14750 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14751 : (TARGET_AVX512F) && (
14752 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14753 : (TARGET_AVX512FP16) &&
14754 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14755 : (TARGET_AVX512VL))))
14756 : return -1;
14757 : return 4475; /* avx512fp16_vcvtph2w_v16hi_round */
14758 :
14759 : case E_V8SImode:
14760 : switch (pattern1026 (x2))
14761 : {
14762 : case 0:
14763 : if (!(
14764 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14765 : (TARGET_AVX512F) && (
14766 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14767 : (TARGET_AVX512FP16) &&
14768 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14769 : (TARGET_AVX512VL))))
14770 : return -1;
14771 : return 4483; /* avx512fp16_vcvtph2dq_v8si_round */
14772 :
14773 : case 1:
14774 : if (!
14775 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14776 : (TARGET_AVX512F))
14777 : return -1;
14778 : return 5039; /* avx512f_cvtpd2dq512_round */
14779 :
14780 : default:
14781 : return -1;
14782 : }
14783 :
14784 : case E_V4DImode:
14785 : if (pattern1025 (x2,
14786 : E_V8HFmode,
14787 : E_V4DImode) != 0
14788 : || !(
14789 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14790 : (TARGET_AVX512F) && (
14791 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14792 : (TARGET_AVX512FP16) &&
14793 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14794 : (TARGET_AVX512VL))))
14795 : return -1;
14796 : return 4491; /* avx512fp16_vcvtph2qq_v4di_round */
14797 :
14798 : case E_V8HImode:
14799 : if (pattern1025 (x2,
14800 : E_V8HFmode,
14801 : E_V8HImode) != 0
14802 : || !(
14803 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14804 : (TARGET_AVX512F) && (
14805 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14806 : (TARGET_AVX512FP16) &&
14807 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14808 : (TARGET_AVX512VL))))
14809 : return -1;
14810 : return 4499; /* avx512fp16_vcvtph2w_v8hi_round */
14811 :
14812 : case E_V4SImode:
14813 : if (pattern1025 (x2,
14814 : E_V8HFmode,
14815 : E_V4SImode) != 0
14816 : || !(
14817 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14818 : (TARGET_AVX512F) && (
14819 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14820 : (TARGET_AVX512FP16) &&
14821 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14822 : (TARGET_AVX512VL))))
14823 : return -1;
14824 : return 4507; /* avx512fp16_vcvtph2dq_v4si_round */
14825 :
14826 : case E_V2DImode:
14827 : if (pattern1025 (x2,
14828 : E_V8HFmode,
14829 : E_V2DImode) != 0
14830 : || !(
14831 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14832 : (TARGET_AVX512F) && (
14833 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14834 : (TARGET_AVX512FP16) &&
14835 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14836 : (TARGET_AVX512VL))))
14837 : return -1;
14838 : return 4515; /* avx512fp16_vcvtph2qq_v2di_round */
14839 :
14840 : default:
14841 : return -1;
14842 : }
14843 :
14844 : case 173:
14845 : switch (pattern1028 (x2))
14846 : {
14847 : case 0:
14848 : if (!(
14849 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14850 : (TARGET_AVX512F) && (
14851 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14852 : (TARGET_AVX512FP16) &&
14853 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14854 : (TARGET_AVX512VL))))
14855 : return -1;
14856 : return 4605; /* unspec_avx512fp16_fix_truncv8hi2_round */
14857 :
14858 : case 1:
14859 : if (!(
14860 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14861 : (TARGET_AVX512F) && (
14862 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14863 : (TARGET_AVX512FP16) &&
14864 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14865 : (TARGET_AVX512VL))))
14866 : return -1;
14867 : return 4613; /* unspec_avx512fp16_fix_truncv16hi2_round */
14868 :
14869 : case 2:
14870 : if (!(
14871 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14872 : (TARGET_AVX512F) &&
14873 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14874 : (TARGET_AVX512FP16)))
14875 : return -1;
14876 : return 4621; /* unspec_avx512fp16_fix_truncv32hi2_round */
14877 :
14878 : case 3:
14879 : if (!(
14880 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14881 : (TARGET_AVX512F) && (
14882 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14883 : (TARGET_AVX512FP16) &&
14884 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14885 : (TARGET_AVX512VL))))
14886 : return -1;
14887 : return 4629; /* unspec_avx512fp16_fix_truncv8si2_round */
14888 :
14889 : case 4:
14890 : if (!
14891 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14892 : (TARGET_AVX512F))
14893 : return -1;
14894 : return 5060; /* unspec_fix_truncv8dfv8si2_round */
14895 :
14896 : case 5:
14897 : if (!(
14898 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14899 : (TARGET_AVX512F) &&
14900 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14901 : (TARGET_AVX512FP16)))
14902 : return -1;
14903 : return 4637; /* unspec_avx512fp16_fix_truncv16si2_round */
14904 :
14905 : case 6:
14906 : if (!
14907 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14908 : (TARGET_AVX512F))
14909 : return -1;
14910 : return 4911; /* unspec_fix_truncv16sfv16si2_round */
14911 :
14912 : case 7:
14913 : if (!(
14914 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14915 : (TARGET_AVX512F) &&
14916 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14917 : (TARGET_AVX512FP16)))
14918 : return -1;
14919 : return 4645; /* unspec_avx512fp16_fix_truncv8di2_round */
14920 :
14921 : case 8:
14922 : if (!(
14923 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14924 : (TARGET_AVX512F) &&
14925 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14926 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14927 : || V8DFmode == V8DFmode
14928 : || V8DFmode == V8DImode
14929 : || V8DFmode == V16SImode
14930 : || V8DFmode == V32HFmode))))
14931 : return -1;
14932 : return 5089; /* unspec_fix_truncv8dfv8di2_round */
14933 :
14934 : case 9:
14935 : if (!(
14936 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14937 : (TARGET_AVX512F) &&
14938 : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14939 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14940 : || V8DImode == V8DFmode
14941 : || V8DImode == V8DImode
14942 : || V8DImode == V16SImode
14943 : || V8DImode == V32HFmode))))
14944 : return -1;
14945 : return 5137; /* unspec_fix_truncv8sfv8di2_round */
14946 :
14947 : default:
14948 : return -1;
14949 : }
14950 :
14951 : case 174:
14952 : switch (pattern1028 (x2))
14953 : {
14954 : case 0:
14955 : if (!(
14956 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14957 : (TARGET_AVX512F) && (
14958 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14959 : (TARGET_AVX512FP16) &&
14960 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14961 : (TARGET_AVX512VL))))
14962 : return -1;
14963 : return 4609; /* unspec_avx512fp16_fixuns_truncv8hi2_round */
14964 :
14965 : case 1:
14966 : if (!(
14967 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14968 : (TARGET_AVX512F) && (
14969 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14970 : (TARGET_AVX512FP16) &&
14971 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14972 : (TARGET_AVX512VL))))
14973 : return -1;
14974 : return 4617; /* unspec_avx512fp16_fixuns_truncv16hi2_round */
14975 :
14976 : case 2:
14977 : if (!(
14978 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14979 : (TARGET_AVX512F) &&
14980 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14981 : (TARGET_AVX512FP16)))
14982 : return -1;
14983 : return 4625; /* unspec_avx512fp16_fixuns_truncv32hi2_round */
14984 :
14985 : case 3:
14986 : if (!(
14987 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14988 : (TARGET_AVX512F) && (
14989 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14990 : (TARGET_AVX512FP16) &&
14991 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14992 : (TARGET_AVX512VL))))
14993 : return -1;
14994 : return 4633; /* unspec_avx512fp16_fixuns_truncv8si2_round */
14995 :
14996 : case 4:
14997 : if (!
14998 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14999 : (TARGET_AVX512F))
15000 : return -1;
15001 : return 5064; /* unspec_fixuns_truncv8dfv8si2_round */
15002 :
15003 : case 5:
15004 : if (!(
15005 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15006 : (TARGET_AVX512F) &&
15007 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15008 : (TARGET_AVX512FP16)))
15009 : return -1;
15010 : return 4641; /* unspec_avx512fp16_fixuns_truncv16si2_round */
15011 :
15012 : case 6:
15013 : if (!
15014 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15015 : (TARGET_AVX512F))
15016 : return -1;
15017 : return 4915; /* unspec_fixuns_truncv16sfv16si2_round */
15018 :
15019 : case 7:
15020 : if (!(
15021 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15022 : (TARGET_AVX512F) &&
15023 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15024 : (TARGET_AVX512FP16)))
15025 : return -1;
15026 : return 4649; /* unspec_avx512fp16_fixuns_truncv8di2_round */
15027 :
15028 : case 8:
15029 : if (!(
15030 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15031 : (TARGET_AVX512F) &&
15032 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15033 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
15034 : || V8DFmode == V8DFmode
15035 : || V8DFmode == V8DImode
15036 : || V8DFmode == V16SImode
15037 : || V8DFmode == V32HFmode))))
15038 : return -1;
15039 : return 5093; /* unspec_fixuns_truncv8dfv8di2_round */
15040 :
15041 : case 9:
15042 : if (!(
15043 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15044 : (TARGET_AVX512F) &&
15045 : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15046 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15047 : || V8DImode == V8DFmode
15048 : || V8DImode == V8DImode
15049 : || V8DImode == V16SImode
15050 : || V8DImode == V32HFmode))))
15051 : return -1;
15052 : return 5141; /* unspec_fixuns_truncv8sfv8di2_round */
15053 :
15054 : default:
15055 : return -1;
15056 : }
15057 :
15058 : case 166:
15059 : if (!const48_operand (operands[2], E_SImode))
15060 : return -1;
15061 : switch (GET_MODE (operands[0]))
15062 : {
15063 : case E_V32HFmode:
15064 : if (pattern1232 (x2,
15065 : E_V32HFmode) != 0
15066 : || !(
15067 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15068 : (TARGET_AVX512F) && (
15069 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15070 : (TARGET_AVX512F) &&
15071 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15072 : (TARGET_AVX512FP16))))
15073 : return -1;
15074 : return 7057; /* avx512bw_getexpv32hf_round */
15075 :
15076 : case E_V16HFmode:
15077 : if (pattern1232 (x2,
15078 : E_V16HFmode) != 0
15079 : || !(
15080 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15081 : (TARGET_AVX512F) && (
15082 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15083 : (TARGET_AVX512F) &&
15084 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15085 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
15086 : return -1;
15087 : return 7061; /* avx512vl_getexpv16hf_round */
15088 :
15089 : case E_V8HFmode:
15090 : if (pattern1232 (x2,
15091 : E_V8HFmode) != 0
15092 : || !(
15093 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15094 : (TARGET_AVX512F) && (
15095 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15096 : (TARGET_AVX512F) &&
15097 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15098 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
15099 : return -1;
15100 : return 7065; /* avx512fp16_getexpv8hf_round */
15101 :
15102 : case E_V16SFmode:
15103 : if (pattern1232 (x2,
15104 : E_V16SFmode) != 0
15105 : || !
15106 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15107 : (TARGET_AVX512F))
15108 : return -1;
15109 : return 7069; /* avx512f_getexpv16sf_round */
15110 :
15111 : case E_V8SFmode:
15112 : if (pattern1232 (x2,
15113 : E_V8SFmode) != 0
15114 : || !(
15115 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15116 : (TARGET_AVX512F) && (
15117 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15118 : (TARGET_AVX512F) &&
15119 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15120 : (TARGET_AVX512VL))))
15121 : return -1;
15122 : return 7073; /* avx512vl_getexpv8sf_round */
15123 :
15124 : case E_V4SFmode:
15125 : if (pattern1232 (x2,
15126 : E_V4SFmode) != 0
15127 : || !(
15128 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15129 : (TARGET_AVX512F) && (
15130 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15131 : (TARGET_AVX512F) &&
15132 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15133 : (TARGET_AVX512VL))))
15134 : return -1;
15135 : return 7077; /* avx512vl_getexpv4sf_round */
15136 :
15137 : case E_V8DFmode:
15138 : if (pattern1232 (x2,
15139 : E_V8DFmode) != 0
15140 : || !
15141 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15142 : (TARGET_AVX512F))
15143 : return -1;
15144 : return 7081; /* avx512f_getexpv8df_round */
15145 :
15146 : case E_V4DFmode:
15147 : if (pattern1232 (x2,
15148 : E_V4DFmode) != 0
15149 : || !(
15150 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15151 : (TARGET_AVX512F) && (
15152 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15153 : (TARGET_AVX512F) &&
15154 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15155 : (TARGET_AVX512VL))))
15156 : return -1;
15157 : return 7085; /* avx512vl_getexpv4df_round */
15158 :
15159 : case E_V2DFmode:
15160 : if (pattern1232 (x2,
15161 : E_V2DFmode) != 0
15162 : || !(
15163 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15164 : (TARGET_AVX512F) && (
15165 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15166 : (TARGET_AVX512F) &&
15167 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15168 : (TARGET_AVX512VL))))
15169 : return -1;
15170 : return 7089; /* avx512vl_getexpv2df_round */
15171 :
15172 : default:
15173 : return -1;
15174 : }
15175 :
15176 : case 150:
15177 : if (pattern1029 (x2,
15178 : E_V16HImode,
15179 : E_V16SFmode) != 0
15180 : || !
15181 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15182 : (TARGET_AVX512F))
15183 : return -1;
15184 : return 9728; /* *avx512f_vcvtph2ps512_round */
15185 :
15186 : case 266:
15187 : if (pattern1030 (x2,
15188 : E_V32HFmode,
15189 : E_V32HImode) != 0
15190 : || !(
15191 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15192 : (TARGET_AVX512F) &&
15193 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15194 : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
15195 : || V32HFmode == V8DFmode
15196 : || V32HFmode == V8DImode
15197 : || V32HFmode == V16SImode
15198 : || V32HFmode == V32HFmode))))
15199 : return -1;
15200 : return 10829; /* avx10_2_cvtph2ibsv32hf_round */
15201 :
15202 : case 267:
15203 : if (pattern1030 (x2,
15204 : E_V32HFmode,
15205 : E_V32HImode) != 0
15206 : || !(
15207 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15208 : (TARGET_AVX512F) &&
15209 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15210 : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
15211 : || V32HFmode == V8DFmode
15212 : || V32HFmode == V8DImode
15213 : || V32HFmode == V16SImode
15214 : || V32HFmode == V32HFmode))))
15215 : return -1;
15216 : return 10833; /* avx10_2_cvtph2iubsv32hf_round */
15217 :
15218 : case 272:
15219 : if (pattern1029 (x2,
15220 : E_V32HFmode,
15221 : E_V32HImode) != 0
15222 : || !(
15223 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15224 : (TARGET_AVX512F) &&
15225 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15226 : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
15227 : || V32HFmode == V8DFmode
15228 : || V32HFmode == V8DImode
15229 : || V32HFmode == V16SImode
15230 : || V32HFmode == V32HFmode))))
15231 : return -1;
15232 : return 10845; /* avx10_2_cvttph2ibsv32hf_round */
15233 :
15234 : case 273:
15235 : if (pattern1029 (x2,
15236 : E_V32HFmode,
15237 : E_V32HImode) != 0
15238 : || !(
15239 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15240 : (TARGET_AVX512F) &&
15241 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15242 : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
15243 : || V32HFmode == V8DFmode
15244 : || V32HFmode == V8DImode
15245 : || V32HFmode == V16SImode
15246 : || V32HFmode == V32HFmode))))
15247 : return -1;
15248 : return 10849; /* avx10_2_cvttph2iubsv32hf_round */
15249 :
15250 : case 268:
15251 : if (pattern1030 (x2,
15252 : E_V16SFmode,
15253 : E_V16SImode) != 0
15254 : || !(
15255 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15256 : (TARGET_AVX512F) &&
15257 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15258 : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
15259 : || V16SFmode == V8DFmode
15260 : || V16SFmode == V8DImode
15261 : || V16SFmode == V16SImode
15262 : || V16SFmode == V32HFmode))))
15263 : return -1;
15264 : return 10861; /* avx10_2_cvtps2ibsv16sf_round */
15265 :
15266 : case 269:
15267 : if (pattern1030 (x2,
15268 : E_V16SFmode,
15269 : E_V16SImode) != 0
15270 : || !(
15271 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15272 : (TARGET_AVX512F) &&
15273 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15274 : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
15275 : || V16SFmode == V8DFmode
15276 : || V16SFmode == V8DImode
15277 : || V16SFmode == V16SImode
15278 : || V16SFmode == V32HFmode))))
15279 : return -1;
15280 : return 10865; /* avx10_2_cvtps2iubsv16sf_round */
15281 :
15282 : case 274:
15283 : if (pattern1029 (x2,
15284 : E_V16SFmode,
15285 : E_V16SImode) != 0
15286 : || !(
15287 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15288 : (TARGET_AVX512F) &&
15289 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15290 : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
15291 : || V16SFmode == V8DFmode
15292 : || V16SFmode == V8DImode
15293 : || V16SFmode == V16SImode
15294 : || V16SFmode == V32HFmode))))
15295 : return -1;
15296 : return 10877; /* avx10_2_cvttps2ibsv16sf_round */
15297 :
15298 : case 275:
15299 : if (pattern1029 (x2,
15300 : E_V16SFmode,
15301 : E_V16SImode) != 0
15302 : || !(
15303 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15304 : (TARGET_AVX512F) &&
15305 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15306 : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
15307 : || V16SFmode == V8DFmode
15308 : || V16SFmode == V8DImode
15309 : || V16SFmode == V16SImode
15310 : || V16SFmode == V32HFmode))))
15311 : return -1;
15312 : return 10881; /* avx10_2_cvttps2iubsv16sf_round */
15313 :
15314 : case 276:
15315 : switch (pattern1031 (x2))
15316 : {
15317 : case 0:
15318 : if (!(
15319 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15320 : (TARGET_AVX512F) && (
15321 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15322 : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
15323 : || V16SFmode == V8DFmode
15324 : || V16SFmode == V8DImode
15325 : || V16SFmode == V16SImode
15326 : || V16SFmode == V32HFmode)) &&
15327 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15328 : (TARGET_AVX512F))))
15329 : return -1;
15330 : return 10893; /* avx10_2_vcvttps2dqsv16sf_round */
15331 :
15332 : case 1:
15333 : if (!(
15334 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15335 : (TARGET_AVX512F) && (
15336 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15337 : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
15338 : || V8DFmode == V8DFmode
15339 : || V8DFmode == V8DImode
15340 : || V8DFmode == V16SImode
15341 : || V8DFmode == V32HFmode)) &&
15342 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15343 : (TARGET_AVX512F))))
15344 : return -1;
15345 : return 10909; /* avx10_2_vcvttpd2dqsv8df_round */
15346 :
15347 : case 2:
15348 : if (!(
15349 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15350 : (TARGET_AVX512F) && (
15351 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15352 : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
15353 : || V8DFmode == V8DFmode
15354 : || V8DFmode == V8DImode
15355 : || V8DFmode == V16SImode
15356 : || V8DFmode == V32HFmode)) &&
15357 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15358 : (TARGET_AVX512F))))
15359 : return -1;
15360 : return 10925; /* avx10_2_vcvttpd2qqsv8df_round */
15361 :
15362 : case 3:
15363 : if (!(
15364 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15365 : (TARGET_AVX512F) && (
15366 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15367 : (TARGET_AVX10_2 && (V8DImode == V16SFmode
15368 : || V8DImode == V8DFmode
15369 : || V8DImode == V8DImode
15370 : || V8DImode == V16SImode
15371 : || V8DImode == V32HFmode)) &&
15372 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15373 : (TARGET_AVX512F))))
15374 : return -1;
15375 : return 10941; /* avx10_2_vcvttps2qqsv8di_round */
15376 :
15377 : default:
15378 : return -1;
15379 : }
15380 :
15381 : case 277:
15382 : switch (pattern1031 (x2))
15383 : {
15384 : case 0:
15385 : if (!(
15386 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15387 : (TARGET_AVX512F) && (
15388 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15389 : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
15390 : || V16SFmode == V8DFmode
15391 : || V16SFmode == V8DImode
15392 : || V16SFmode == V16SImode
15393 : || V16SFmode == V32HFmode)) &&
15394 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15395 : (TARGET_AVX512F))))
15396 : return -1;
15397 : return 10897; /* avx10_2_vcvttps2udqsv16sf_round */
15398 :
15399 : case 1:
15400 : if (!(
15401 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15402 : (TARGET_AVX512F) && (
15403 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15404 : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
15405 : || V8DFmode == V8DFmode
15406 : || V8DFmode == V8DImode
15407 : || V8DFmode == V16SImode
15408 : || V8DFmode == V32HFmode)) &&
15409 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15410 : (TARGET_AVX512F))))
15411 : return -1;
15412 : return 10913; /* avx10_2_vcvttpd2udqsv8df_round */
15413 :
15414 : case 2:
15415 : if (!(
15416 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15417 : (TARGET_AVX512F) && (
15418 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15419 : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
15420 : || V8DFmode == V8DFmode
15421 : || V8DFmode == V8DImode
15422 : || V8DFmode == V16SImode
15423 : || V8DFmode == V32HFmode)) &&
15424 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15425 : (TARGET_AVX512F))))
15426 : return -1;
15427 : return 10929; /* avx10_2_vcvttpd2uqqsv8df_round */
15428 :
15429 : case 3:
15430 : if (!(
15431 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15432 : (TARGET_AVX512F) && (
15433 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15434 : (TARGET_AVX10_2 && (V8DImode == V16SFmode
15435 : || V8DImode == V8DFmode
15436 : || V8DImode == V8DImode
15437 : || V8DImode == V16SImode
15438 : || V8DImode == V32HFmode)) &&
15439 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15440 : (TARGET_AVX512F))))
15441 : return -1;
15442 : return 10945; /* avx10_2_vcvttps2uqqsv8di_round */
15443 :
15444 : default:
15445 : return -1;
15446 : }
15447 :
15448 : default:
15449 : return -1;
15450 : }
15451 : }
15452 :
15453 : int
15454 : recog_243 (rtx x1 ATTRIBUTE_UNUSED,
15455 : rtx_insn *insn ATTRIBUTE_UNUSED,
15456 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15457 : {
15458 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15459 : rtx x2, x3, x4, x5;
15460 : int res ATTRIBUTE_UNUSED;
15461 : x2 = XEXP (x1, 0);
15462 : operands[0] = x2;
15463 : x3 = XEXP (x1, 1);
15464 : x4 = XVECEXP (x3, 0, 0);
15465 : operands[1] = x4;
15466 : x5 = XVECEXP (x3, 0, 1);
15467 : operands[2] = x5;
15468 : switch (GET_MODE (operands[0]))
15469 : {
15470 : case E_V32HFmode:
15471 : if (pattern64 (x3,
15472 : E_V32HFmode) != 0
15473 : || !(
15474 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : (TARGET_AVX512F) &&
15476 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15477 : (TARGET_AVX512FP16)))
15478 : return -1;
15479 : return 5442; /* avx512bw_scalefv32hf */
15480 :
15481 : case E_V16HFmode:
15482 : if (pattern64 (x3,
15483 : E_V16HFmode) != 0
15484 : || !(
15485 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15486 : (TARGET_AVX512F) &&
15487 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15488 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15489 : return -1;
15490 : return 5446; /* avx512vl_scalefv16hf */
15491 :
15492 : case E_V8HFmode:
15493 : if (pattern64 (x3,
15494 : E_V8HFmode) != 0
15495 : || !(
15496 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15497 : (TARGET_AVX512F) &&
15498 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15499 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15500 : return -1;
15501 : return 5450; /* avx512fp16_scalefv8hf */
15502 :
15503 : case E_V16SFmode:
15504 : if (pattern64 (x3,
15505 : E_V16SFmode) != 0
15506 : || !
15507 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15508 : (TARGET_AVX512F))
15509 : return -1;
15510 : return 5454; /* avx512f_scalefv16sf */
15511 :
15512 : case E_V8SFmode:
15513 : if (pattern64 (x3,
15514 : E_V8SFmode) != 0
15515 : || !(
15516 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15517 : (TARGET_AVX512F) &&
15518 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15519 : (TARGET_AVX512VL)))
15520 : return -1;
15521 : return 5458; /* avx512vl_scalefv8sf */
15522 :
15523 : case E_V4SFmode:
15524 : if (pattern64 (x3,
15525 : E_V4SFmode) != 0
15526 : || !(
15527 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15528 : (TARGET_AVX512F) &&
15529 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15530 : (TARGET_AVX512VL)))
15531 : return -1;
15532 : return 5462; /* avx512vl_scalefv4sf */
15533 :
15534 : case E_V8DFmode:
15535 : if (pattern64 (x3,
15536 : E_V8DFmode) != 0
15537 : || !
15538 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15539 : (TARGET_AVX512F))
15540 : return -1;
15541 : return 5466; /* avx512f_scalefv8df */
15542 :
15543 : case E_V4DFmode:
15544 : if (pattern64 (x3,
15545 : E_V4DFmode) != 0
15546 : || !(
15547 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15548 : (TARGET_AVX512F) &&
15549 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15550 : (TARGET_AVX512VL)))
15551 : return -1;
15552 : return 5470; /* avx512vl_scalefv4df */
15553 :
15554 : case E_V2DFmode:
15555 : if (pattern64 (x3,
15556 : E_V2DFmode) != 0
15557 : || !(
15558 : #line 13948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15559 : (TARGET_AVX512F) &&
15560 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15561 : (TARGET_AVX512VL)))
15562 : return -1;
15563 : return 5474; /* avx512vl_scalefv2df */
15564 :
15565 : default:
15566 : return -1;
15567 : }
15568 : }
15569 :
15570 : int
15571 : recog_248 (rtx x1 ATTRIBUTE_UNUSED,
15572 : rtx_insn *insn ATTRIBUTE_UNUSED,
15573 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15574 : {
15575 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15576 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15577 : rtx x10;
15578 : int res ATTRIBUTE_UNUSED;
15579 : if (pnum_clobbers == NULL)
15580 : return -1;
15581 : x2 = XEXP (x1, 1);
15582 : x3 = XVECEXP (x2, 0, 2);
15583 : if (GET_CODE (x3) != MEM)
15584 : return -1;
15585 : x4 = XEXP (x3, 0);
15586 : if (GET_CODE (x4) != UNSPEC
15587 : || XVECLEN (x4, 0) != 3
15588 : || XINT (x4, 1) != 155)
15589 : return -1;
15590 : x5 = XEXP (x1, 0);
15591 : operands[0] = x5;
15592 : x6 = XVECEXP (x4, 0, 2);
15593 : if (!const1248_operand (x6, E_SImode))
15594 : return -1;
15595 : x7 = XVECEXP (x2, 0, 0);
15596 : switch (GET_CODE (x7))
15597 : {
15598 : case REG:
15599 : case SUBREG:
15600 : operands[1] = x7;
15601 : x8 = XVECEXP (x2, 0, 1);
15602 : operands[7] = x8;
15603 : operands[6] = x3;
15604 : x9 = XVECEXP (x4, 0, 0);
15605 : operands[4] = x9;
15606 : x10 = XVECEXP (x4, 0, 1);
15607 : operands[3] = x10;
15608 : operands[5] = x6;
15609 : switch (GET_MODE (operands[0]))
15610 : {
15611 : case E_V16SImode:
15612 : if (!register_operand (operands[0], E_V16SImode)
15613 : || GET_MODE (x2) != E_V16SImode
15614 : || !vsib_mem_operator (operands[6], E_SImode))
15615 : return -1;
15616 : switch (GET_MODE (operands[1]))
15617 : {
15618 : case E_V16SImode:
15619 : if (!register_operand (operands[1], E_V16SImode)
15620 : || !register_operand (operands[7], E_HImode))
15621 : return -1;
15622 : switch (pattern1810 (x4,
15623 : E_V16SImode))
15624 : {
15625 : case 0:
15626 : if (!(
15627 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15628 : (TARGET_AVX512F) &&
15629 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15630 : (Pmode == SImode)))
15631 : return -1;
15632 : *pnum_clobbers = 1;
15633 : return 9816; /* *avx512f_gathersiv16si */
15634 :
15635 : case 1:
15636 : if (!(
15637 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15638 : (TARGET_AVX512F) &&
15639 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15640 : (Pmode == DImode)))
15641 : return -1;
15642 : *pnum_clobbers = 1;
15643 : return 9828; /* *avx512f_gathersiv16si */
15644 :
15645 : default:
15646 : return -1;
15647 : }
15648 :
15649 : case E_V8SImode:
15650 : if (!register_operand (operands[1], E_V8SImode)
15651 : || !register_operand (operands[7], E_QImode))
15652 : return -1;
15653 : switch (pattern1810 (x4,
15654 : E_V8DImode))
15655 : {
15656 : case 0:
15657 : if (!(
15658 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15659 : (TARGET_AVX512F) &&
15660 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15661 : (Pmode == SImode)))
15662 : return -1;
15663 : *pnum_clobbers = 1;
15664 : return 9864; /* *avx512f_gatherdiv16si */
15665 :
15666 : case 1:
15667 : if (!(
15668 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15669 : (TARGET_AVX512F) &&
15670 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15671 : (Pmode == DImode)))
15672 : return -1;
15673 : *pnum_clobbers = 1;
15674 : return 9876; /* *avx512f_gatherdiv16si */
15675 :
15676 : default:
15677 : return -1;
15678 : }
15679 :
15680 : default:
15681 : return -1;
15682 : }
15683 :
15684 : case E_V16SFmode:
15685 : if (!register_operand (operands[0], E_V16SFmode)
15686 : || GET_MODE (x2) != E_V16SFmode
15687 : || !vsib_mem_operator (operands[6], E_SFmode))
15688 : return -1;
15689 : switch (GET_MODE (operands[1]))
15690 : {
15691 : case E_V16SFmode:
15692 : if (!register_operand (operands[1], E_V16SFmode)
15693 : || !register_operand (operands[7], E_HImode))
15694 : return -1;
15695 : switch (pattern1810 (x4,
15696 : E_V16SImode))
15697 : {
15698 : case 0:
15699 : if (!(
15700 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15701 : (TARGET_AVX512F) &&
15702 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15703 : (Pmode == SImode)))
15704 : return -1;
15705 : *pnum_clobbers = 1;
15706 : return 9817; /* *avx512f_gathersiv16sf */
15707 :
15708 : case 1:
15709 : if (!(
15710 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15711 : (TARGET_AVX512F) &&
15712 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15713 : (Pmode == DImode)))
15714 : return -1;
15715 : *pnum_clobbers = 1;
15716 : return 9829; /* *avx512f_gathersiv16sf */
15717 :
15718 : default:
15719 : return -1;
15720 : }
15721 :
15722 : case E_V8SFmode:
15723 : if (!register_operand (operands[1], E_V8SFmode)
15724 : || !register_operand (operands[7], E_QImode))
15725 : return -1;
15726 : switch (pattern1810 (x4,
15727 : E_V8DImode))
15728 : {
15729 : case 0:
15730 : if (!(
15731 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15732 : (TARGET_AVX512F) &&
15733 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15734 : (Pmode == SImode)))
15735 : return -1;
15736 : *pnum_clobbers = 1;
15737 : return 9865; /* *avx512f_gatherdiv16sf */
15738 :
15739 : case 1:
15740 : if (!(
15741 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15742 : (TARGET_AVX512F) &&
15743 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15744 : (Pmode == DImode)))
15745 : return -1;
15746 : *pnum_clobbers = 1;
15747 : return 9877; /* *avx512f_gatherdiv16sf */
15748 :
15749 : default:
15750 : return -1;
15751 : }
15752 :
15753 : default:
15754 : return -1;
15755 : }
15756 :
15757 : case E_V8DImode:
15758 : switch (pattern1671 (x2,
15759 : E_DImode,
15760 : E_V8DImode))
15761 : {
15762 : case 0:
15763 : if (!(
15764 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15765 : (TARGET_AVX512F) &&
15766 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15767 : (Pmode == SImode)))
15768 : return -1;
15769 : *pnum_clobbers = 1;
15770 : return 9818; /* *avx512f_gathersiv8di */
15771 :
15772 : case 1:
15773 : if (!(
15774 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15775 : (TARGET_AVX512F) &&
15776 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15777 : (Pmode == SImode)))
15778 : return -1;
15779 : *pnum_clobbers = 1;
15780 : return 9866; /* *avx512f_gatherdiv8di */
15781 :
15782 : case 2:
15783 : if (!(
15784 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15785 : (TARGET_AVX512F) &&
15786 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15787 : (Pmode == DImode)))
15788 : return -1;
15789 : *pnum_clobbers = 1;
15790 : return 9830; /* *avx512f_gathersiv8di */
15791 :
15792 : case 3:
15793 : if (!(
15794 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15795 : (TARGET_AVX512F) &&
15796 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15797 : (Pmode == DImode)))
15798 : return -1;
15799 : *pnum_clobbers = 1;
15800 : return 9878; /* *avx512f_gatherdiv8di */
15801 :
15802 : default:
15803 : return -1;
15804 : }
15805 :
15806 : case E_V8DFmode:
15807 : switch (pattern1671 (x2,
15808 : E_DFmode,
15809 : E_V8DFmode))
15810 : {
15811 : case 0:
15812 : if (!(
15813 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15814 : (TARGET_AVX512F) &&
15815 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15816 : (Pmode == SImode)))
15817 : return -1;
15818 : *pnum_clobbers = 1;
15819 : return 9819; /* *avx512f_gathersiv8df */
15820 :
15821 : case 1:
15822 : if (!(
15823 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15824 : (TARGET_AVX512F) &&
15825 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15826 : (Pmode == SImode)))
15827 : return -1;
15828 : *pnum_clobbers = 1;
15829 : return 9867; /* *avx512f_gatherdiv8df */
15830 :
15831 : case 2:
15832 : if (!(
15833 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15834 : (TARGET_AVX512F) &&
15835 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15836 : (Pmode == DImode)))
15837 : return -1;
15838 : *pnum_clobbers = 1;
15839 : return 9831; /* *avx512f_gathersiv8df */
15840 :
15841 : case 3:
15842 : if (!(
15843 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15844 : (TARGET_AVX512F) &&
15845 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15846 : (Pmode == DImode)))
15847 : return -1;
15848 : *pnum_clobbers = 1;
15849 : return 9879; /* *avx512f_gatherdiv8df */
15850 :
15851 : default:
15852 : return -1;
15853 : }
15854 :
15855 : case E_V8SImode:
15856 : if (pattern1672 (x2,
15857 : E_SImode,
15858 : E_V8SImode) != 0)
15859 : return -1;
15860 : switch (GET_MODE (operands[1]))
15861 : {
15862 : case E_V8SImode:
15863 : if (!register_operand (operands[1], E_V8SImode))
15864 : return -1;
15865 : switch (pattern1810 (x4,
15866 : E_V8SImode))
15867 : {
15868 : case 0:
15869 : if (!(
15870 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15871 : (TARGET_AVX512F) && ((
15872 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15873 : (TARGET_AVX512VL) &&
15874 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15875 : (Pmode == SImode)) &&
15876 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15877 : (Pmode == SImode))))
15878 : return -1;
15879 : *pnum_clobbers = 1;
15880 : return 9820; /* *avx512f_gathersiv8si */
15881 :
15882 : case 1:
15883 : if (!(
15884 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15885 : (TARGET_AVX512F) && ((
15886 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15887 : (TARGET_AVX512VL) &&
15888 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15889 : (Pmode == DImode)) &&
15890 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15891 : (Pmode == DImode))))
15892 : return -1;
15893 : *pnum_clobbers = 1;
15894 : return 9832; /* *avx512f_gathersiv8si */
15895 :
15896 : default:
15897 : return -1;
15898 : }
15899 :
15900 : case E_V4SImode:
15901 : if (!register_operand (operands[1], E_V4SImode))
15902 : return -1;
15903 : switch (pattern1810 (x4,
15904 : E_V4DImode))
15905 : {
15906 : case 0:
15907 : if (!(
15908 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15909 : (TARGET_AVX512F) && ((
15910 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15911 : (TARGET_AVX512VL) &&
15912 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15913 : (Pmode == SImode)) &&
15914 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15915 : (Pmode == SImode))))
15916 : return -1;
15917 : *pnum_clobbers = 1;
15918 : return 9868; /* *avx512f_gatherdiv8si */
15919 :
15920 : case 1:
15921 : if (!(
15922 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15923 : (TARGET_AVX512F) && ((
15924 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15925 : (TARGET_AVX512VL) &&
15926 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15927 : (Pmode == DImode)) &&
15928 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15929 : (Pmode == DImode))))
15930 : return -1;
15931 : *pnum_clobbers = 1;
15932 : return 9880; /* *avx512f_gatherdiv8si */
15933 :
15934 : default:
15935 : return -1;
15936 : }
15937 :
15938 : default:
15939 : return -1;
15940 : }
15941 :
15942 : case E_V8SFmode:
15943 : if (pattern1672 (x2,
15944 : E_SFmode,
15945 : E_V8SFmode) != 0)
15946 : return -1;
15947 : switch (GET_MODE (operands[1]))
15948 : {
15949 : case E_V8SFmode:
15950 : if (!register_operand (operands[1], E_V8SFmode))
15951 : return -1;
15952 : switch (pattern1810 (x4,
15953 : E_V8SImode))
15954 : {
15955 : case 0:
15956 : if (!(
15957 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15958 : (TARGET_AVX512F) && ((
15959 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15960 : (TARGET_AVX512VL) &&
15961 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15962 : (Pmode == SImode)) &&
15963 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15964 : (Pmode == SImode))))
15965 : return -1;
15966 : *pnum_clobbers = 1;
15967 : return 9821; /* *avx512f_gathersiv8sf */
15968 :
15969 : case 1:
15970 : if (!(
15971 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15972 : (TARGET_AVX512F) && ((
15973 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15974 : (TARGET_AVX512VL) &&
15975 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15976 : (Pmode == DImode)) &&
15977 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15978 : (Pmode == DImode))))
15979 : return -1;
15980 : *pnum_clobbers = 1;
15981 : return 9833; /* *avx512f_gathersiv8sf */
15982 :
15983 : default:
15984 : return -1;
15985 : }
15986 :
15987 : case E_V4SFmode:
15988 : if (!register_operand (operands[1], E_V4SFmode))
15989 : return -1;
15990 : switch (pattern1810 (x4,
15991 : E_V4DImode))
15992 : {
15993 : case 0:
15994 : if (!(
15995 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15996 : (TARGET_AVX512F) && ((
15997 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15998 : (TARGET_AVX512VL) &&
15999 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16000 : (Pmode == SImode)) &&
16001 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16002 : (Pmode == SImode))))
16003 : return -1;
16004 : *pnum_clobbers = 1;
16005 : return 9869; /* *avx512f_gatherdiv8sf */
16006 :
16007 : case 1:
16008 : if (!(
16009 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16010 : (TARGET_AVX512F) && ((
16011 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16012 : (TARGET_AVX512VL) &&
16013 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16014 : (Pmode == DImode)) &&
16015 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16016 : (Pmode == DImode))))
16017 : return -1;
16018 : *pnum_clobbers = 1;
16019 : return 9881; /* *avx512f_gatherdiv8sf */
16020 :
16021 : default:
16022 : return -1;
16023 : }
16024 :
16025 : default:
16026 : return -1;
16027 : }
16028 :
16029 : case E_V4DImode:
16030 : switch (pattern1674 (x2,
16031 : E_DImode,
16032 : E_V4DImode))
16033 : {
16034 : case 0:
16035 : if (!(
16036 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16037 : (TARGET_AVX512F) && ((
16038 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16039 : (TARGET_AVX512VL) &&
16040 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16041 : (Pmode == SImode)) &&
16042 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16043 : (Pmode == SImode))))
16044 : return -1;
16045 : *pnum_clobbers = 1;
16046 : return 9822; /* *avx512f_gathersiv4di */
16047 :
16048 : case 1:
16049 : if (!(
16050 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16051 : (TARGET_AVX512F) && ((
16052 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16053 : (TARGET_AVX512VL) &&
16054 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16055 : (Pmode == SImode)) &&
16056 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16057 : (Pmode == SImode))))
16058 : return -1;
16059 : *pnum_clobbers = 1;
16060 : return 9870; /* *avx512f_gatherdiv4di */
16061 :
16062 : case 2:
16063 : if (!(
16064 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16065 : (TARGET_AVX512F) && ((
16066 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16067 : (TARGET_AVX512VL) &&
16068 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16069 : (Pmode == DImode)) &&
16070 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16071 : (Pmode == DImode))))
16072 : return -1;
16073 : *pnum_clobbers = 1;
16074 : return 9834; /* *avx512f_gathersiv4di */
16075 :
16076 : case 3:
16077 : if (!(
16078 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16079 : (TARGET_AVX512F) && ((
16080 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16081 : (TARGET_AVX512VL) &&
16082 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16083 : (Pmode == DImode)) &&
16084 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16085 : (Pmode == DImode))))
16086 : return -1;
16087 : *pnum_clobbers = 1;
16088 : return 9882; /* *avx512f_gatherdiv4di */
16089 :
16090 : default:
16091 : return -1;
16092 : }
16093 :
16094 : case E_V4DFmode:
16095 : switch (pattern1674 (x2,
16096 : E_DFmode,
16097 : E_V4DFmode))
16098 : {
16099 : case 0:
16100 : if (!(
16101 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16102 : (TARGET_AVX512F) && ((
16103 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16104 : (TARGET_AVX512VL) &&
16105 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16106 : (Pmode == SImode)) &&
16107 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16108 : (Pmode == SImode))))
16109 : return -1;
16110 : *pnum_clobbers = 1;
16111 : return 9823; /* *avx512f_gathersiv4df */
16112 :
16113 : case 1:
16114 : if (!(
16115 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16116 : (TARGET_AVX512F) && ((
16117 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16118 : (TARGET_AVX512VL) &&
16119 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16120 : (Pmode == SImode)) &&
16121 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16122 : (Pmode == SImode))))
16123 : return -1;
16124 : *pnum_clobbers = 1;
16125 : return 9871; /* *avx512f_gatherdiv4df */
16126 :
16127 : case 2:
16128 : if (!(
16129 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16130 : (TARGET_AVX512F) && ((
16131 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16132 : (TARGET_AVX512VL) &&
16133 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16134 : (Pmode == DImode)) &&
16135 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16136 : (Pmode == DImode))))
16137 : return -1;
16138 : *pnum_clobbers = 1;
16139 : return 9835; /* *avx512f_gathersiv4df */
16140 :
16141 : case 3:
16142 : if (!(
16143 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16144 : (TARGET_AVX512F) && ((
16145 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16146 : (TARGET_AVX512VL) &&
16147 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16148 : (Pmode == DImode)) &&
16149 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16150 : (Pmode == DImode))))
16151 : return -1;
16152 : *pnum_clobbers = 1;
16153 : return 9883; /* *avx512f_gatherdiv4df */
16154 :
16155 : default:
16156 : return -1;
16157 : }
16158 :
16159 : case E_V4SImode:
16160 : switch (pattern1676 (x2,
16161 : E_SImode,
16162 : E_V4SImode))
16163 : {
16164 : case 0:
16165 : if (!(
16166 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16167 : (TARGET_AVX512F) && ((
16168 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16169 : (TARGET_AVX512VL) &&
16170 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16171 : (Pmode == SImode)) &&
16172 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16173 : (Pmode == SImode))))
16174 : return -1;
16175 : *pnum_clobbers = 1;
16176 : return 9824; /* *avx512f_gathersiv4si */
16177 :
16178 : case 1:
16179 : if (!(
16180 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16181 : (TARGET_AVX512F) && ((
16182 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16183 : (TARGET_AVX512VL) &&
16184 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16185 : (Pmode == SImode)) &&
16186 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16187 : (Pmode == SImode))))
16188 : return -1;
16189 : *pnum_clobbers = 1;
16190 : return 9872; /* *avx512f_gatherdiv4si */
16191 :
16192 : case 2:
16193 : if (!(
16194 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16195 : (TARGET_AVX512F) && ((
16196 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16197 : (TARGET_AVX512VL) &&
16198 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16199 : (Pmode == DImode)) &&
16200 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16201 : (Pmode == DImode))))
16202 : return -1;
16203 : *pnum_clobbers = 1;
16204 : return 9836; /* *avx512f_gathersiv4si */
16205 :
16206 : case 3:
16207 : if (!(
16208 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16209 : (TARGET_AVX512F) && ((
16210 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16211 : (TARGET_AVX512VL) &&
16212 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16213 : (Pmode == DImode)) &&
16214 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16215 : (Pmode == DImode))))
16216 : return -1;
16217 : *pnum_clobbers = 1;
16218 : return 9884; /* *avx512f_gatherdiv4si */
16219 :
16220 : default:
16221 : return -1;
16222 : }
16223 :
16224 : case E_V4SFmode:
16225 : switch (pattern1676 (x2,
16226 : E_SFmode,
16227 : E_V4SFmode))
16228 : {
16229 : case 0:
16230 : if (!(
16231 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16232 : (TARGET_AVX512F) && ((
16233 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16234 : (TARGET_AVX512VL) &&
16235 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16236 : (Pmode == SImode)) &&
16237 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16238 : (Pmode == SImode))))
16239 : return -1;
16240 : *pnum_clobbers = 1;
16241 : return 9825; /* *avx512f_gathersiv4sf */
16242 :
16243 : case 1:
16244 : if (!(
16245 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16246 : (TARGET_AVX512F) && ((
16247 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16248 : (TARGET_AVX512VL) &&
16249 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16250 : (Pmode == SImode)) &&
16251 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16252 : (Pmode == SImode))))
16253 : return -1;
16254 : *pnum_clobbers = 1;
16255 : return 9873; /* *avx512f_gatherdiv4sf */
16256 :
16257 : case 2:
16258 : if (!(
16259 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16260 : (TARGET_AVX512F) && ((
16261 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16262 : (TARGET_AVX512VL) &&
16263 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16264 : (Pmode == DImode)) &&
16265 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16266 : (Pmode == DImode))))
16267 : return -1;
16268 : *pnum_clobbers = 1;
16269 : return 9837; /* *avx512f_gathersiv4sf */
16270 :
16271 : case 3:
16272 : if (!(
16273 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16274 : (TARGET_AVX512F) && ((
16275 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16276 : (TARGET_AVX512VL) &&
16277 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16278 : (Pmode == DImode)) &&
16279 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16280 : (Pmode == DImode))))
16281 : return -1;
16282 : *pnum_clobbers = 1;
16283 : return 9885; /* *avx512f_gatherdiv4sf */
16284 :
16285 : default:
16286 : return -1;
16287 : }
16288 :
16289 : case E_V2DImode:
16290 : switch (pattern1676 (x2,
16291 : E_DImode,
16292 : E_V2DImode))
16293 : {
16294 : case 0:
16295 : if (!(
16296 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16297 : (TARGET_AVX512F) && ((
16298 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16299 : (TARGET_AVX512VL) &&
16300 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16301 : (Pmode == SImode)) &&
16302 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16303 : (Pmode == SImode))))
16304 : return -1;
16305 : *pnum_clobbers = 1;
16306 : return 9826; /* *avx512f_gathersiv2di */
16307 :
16308 : case 1:
16309 : if (!(
16310 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16311 : (TARGET_AVX512F) && ((
16312 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16313 : (TARGET_AVX512VL) &&
16314 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16315 : (Pmode == SImode)) &&
16316 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16317 : (Pmode == SImode))))
16318 : return -1;
16319 : *pnum_clobbers = 1;
16320 : return 9874; /* *avx512f_gatherdiv2di */
16321 :
16322 : case 2:
16323 : if (!(
16324 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16325 : (TARGET_AVX512F) && ((
16326 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16327 : (TARGET_AVX512VL) &&
16328 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16329 : (Pmode == DImode)) &&
16330 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16331 : (Pmode == DImode))))
16332 : return -1;
16333 : *pnum_clobbers = 1;
16334 : return 9838; /* *avx512f_gathersiv2di */
16335 :
16336 : case 3:
16337 : if (!(
16338 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16339 : (TARGET_AVX512F) && ((
16340 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16341 : (TARGET_AVX512VL) &&
16342 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16343 : (Pmode == DImode)) &&
16344 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16345 : (Pmode == DImode))))
16346 : return -1;
16347 : *pnum_clobbers = 1;
16348 : return 9886; /* *avx512f_gatherdiv2di */
16349 :
16350 : default:
16351 : return -1;
16352 : }
16353 :
16354 : case E_V2DFmode:
16355 : switch (pattern1676 (x2,
16356 : E_DFmode,
16357 : E_V2DFmode))
16358 : {
16359 : case 0:
16360 : if (!(
16361 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16362 : (TARGET_AVX512F) && ((
16363 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16364 : (TARGET_AVX512VL) &&
16365 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16366 : (Pmode == SImode)) &&
16367 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16368 : (Pmode == SImode))))
16369 : return -1;
16370 : *pnum_clobbers = 1;
16371 : return 9827; /* *avx512f_gathersiv2df */
16372 :
16373 : case 1:
16374 : if (!(
16375 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16376 : (TARGET_AVX512F) && ((
16377 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16378 : (TARGET_AVX512VL) &&
16379 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16380 : (Pmode == SImode)) &&
16381 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16382 : (Pmode == SImode))))
16383 : return -1;
16384 : *pnum_clobbers = 1;
16385 : return 9875; /* *avx512f_gatherdiv2df */
16386 :
16387 : case 2:
16388 : if (!(
16389 : #line 30168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16390 : (TARGET_AVX512F) && ((
16391 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16392 : (TARGET_AVX512VL) &&
16393 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16394 : (Pmode == DImode)) &&
16395 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16396 : (Pmode == DImode))))
16397 : return -1;
16398 : *pnum_clobbers = 1;
16399 : return 9839; /* *avx512f_gathersiv2df */
16400 :
16401 : case 3:
16402 : if (!(
16403 : #line 30230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16404 : (TARGET_AVX512F) && ((
16405 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16406 : (TARGET_AVX512VL) &&
16407 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16408 : (Pmode == DImode)) &&
16409 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16410 : (Pmode == DImode))))
16411 : return -1;
16412 : *pnum_clobbers = 1;
16413 : return 9887; /* *avx512f_gatherdiv2df */
16414 :
16415 : default:
16416 : return -1;
16417 : }
16418 :
16419 : default:
16420 : return -1;
16421 : }
16422 :
16423 : case PC:
16424 : x8 = XVECEXP (x2, 0, 1);
16425 : operands[6] = x8;
16426 : operands[5] = x3;
16427 : x9 = XVECEXP (x4, 0, 0);
16428 : operands[3] = x9;
16429 : x10 = XVECEXP (x4, 0, 1);
16430 : operands[2] = x10;
16431 : operands[4] = x6;
16432 : switch (GET_MODE (operands[0]))
16433 : {
16434 : case E_V16SImode:
16435 : switch (pattern1622 (x2,
16436 : E_SImode,
16437 : E_V16SImode))
16438 : {
16439 : case 0:
16440 : if (!(
16441 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16442 : (TARGET_AVX512F) &&
16443 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16444 : (Pmode == SImode)))
16445 : return -1;
16446 : *pnum_clobbers = 1;
16447 : return 9840; /* *avx512f_gathersiv16si_2 */
16448 :
16449 : case 1:
16450 : if (!(
16451 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16452 : (TARGET_AVX512F) &&
16453 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16454 : (Pmode == DImode)))
16455 : return -1;
16456 : *pnum_clobbers = 1;
16457 : return 9852; /* *avx512f_gathersiv16si_2 */
16458 :
16459 : case 2:
16460 : if (!(
16461 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16462 : (TARGET_AVX512F) &&
16463 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16464 : (Pmode == SImode)))
16465 : return -1;
16466 : *pnum_clobbers = 1;
16467 : return 9888; /* *avx512f_gatherdiv16si_2 */
16468 :
16469 : case 3:
16470 : if (!(
16471 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16472 : (TARGET_AVX512F) &&
16473 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16474 : (Pmode == DImode)))
16475 : return -1;
16476 : *pnum_clobbers = 1;
16477 : return 9900; /* *avx512f_gatherdiv16si_2 */
16478 :
16479 : default:
16480 : return -1;
16481 : }
16482 :
16483 : case E_V16SFmode:
16484 : switch (pattern1622 (x2,
16485 : E_SFmode,
16486 : E_V16SFmode))
16487 : {
16488 : case 0:
16489 : if (!(
16490 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16491 : (TARGET_AVX512F) &&
16492 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16493 : (Pmode == SImode)))
16494 : return -1;
16495 : *pnum_clobbers = 1;
16496 : return 9841; /* *avx512f_gathersiv16sf_2 */
16497 :
16498 : case 1:
16499 : if (!(
16500 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16501 : (TARGET_AVX512F) &&
16502 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16503 : (Pmode == DImode)))
16504 : return -1;
16505 : *pnum_clobbers = 1;
16506 : return 9853; /* *avx512f_gathersiv16sf_2 */
16507 :
16508 : case 2:
16509 : if (!(
16510 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16511 : (TARGET_AVX512F) &&
16512 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16513 : (Pmode == SImode)))
16514 : return -1;
16515 : *pnum_clobbers = 1;
16516 : return 9889; /* *avx512f_gatherdiv16sf_2 */
16517 :
16518 : case 3:
16519 : if (!(
16520 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16521 : (TARGET_AVX512F) &&
16522 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16523 : (Pmode == DImode)))
16524 : return -1;
16525 : *pnum_clobbers = 1;
16526 : return 9901; /* *avx512f_gatherdiv16sf_2 */
16527 :
16528 : default:
16529 : return -1;
16530 : }
16531 :
16532 : case E_V8DImode:
16533 : switch (pattern1624 (x2,
16534 : E_DImode,
16535 : E_V8DImode))
16536 : {
16537 : case 0:
16538 : if (!(
16539 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16540 : (TARGET_AVX512F) &&
16541 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16542 : (Pmode == SImode)))
16543 : return -1;
16544 : *pnum_clobbers = 1;
16545 : return 9842; /* *avx512f_gathersiv8di_2 */
16546 :
16547 : case 1:
16548 : if (!(
16549 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16550 : (TARGET_AVX512F) &&
16551 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16552 : (Pmode == SImode)))
16553 : return -1;
16554 : *pnum_clobbers = 1;
16555 : return 9890; /* *avx512f_gatherdiv8di_2 */
16556 :
16557 : case 2:
16558 : if (!(
16559 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16560 : (TARGET_AVX512F) &&
16561 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16562 : (Pmode == DImode)))
16563 : return -1;
16564 : *pnum_clobbers = 1;
16565 : return 9854; /* *avx512f_gathersiv8di_2 */
16566 :
16567 : case 3:
16568 : if (!(
16569 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16570 : (TARGET_AVX512F) &&
16571 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16572 : (Pmode == DImode)))
16573 : return -1;
16574 : *pnum_clobbers = 1;
16575 : return 9902; /* *avx512f_gatherdiv8di_2 */
16576 :
16577 : default:
16578 : return -1;
16579 : }
16580 :
16581 : case E_V8DFmode:
16582 : switch (pattern1624 (x2,
16583 : E_DFmode,
16584 : E_V8DFmode))
16585 : {
16586 : case 0:
16587 : if (!(
16588 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16589 : (TARGET_AVX512F) &&
16590 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16591 : (Pmode == SImode)))
16592 : return -1;
16593 : *pnum_clobbers = 1;
16594 : return 9843; /* *avx512f_gathersiv8df_2 */
16595 :
16596 : case 1:
16597 : if (!(
16598 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16599 : (TARGET_AVX512F) &&
16600 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16601 : (Pmode == SImode)))
16602 : return -1;
16603 : *pnum_clobbers = 1;
16604 : return 9891; /* *avx512f_gatherdiv8df_2 */
16605 :
16606 : case 2:
16607 : if (!(
16608 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16609 : (TARGET_AVX512F) &&
16610 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16611 : (Pmode == DImode)))
16612 : return -1;
16613 : *pnum_clobbers = 1;
16614 : return 9855; /* *avx512f_gathersiv8df_2 */
16615 :
16616 : case 3:
16617 : if (!(
16618 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16619 : (TARGET_AVX512F) &&
16620 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16621 : (Pmode == DImode)))
16622 : return -1;
16623 : *pnum_clobbers = 1;
16624 : return 9903; /* *avx512f_gatherdiv8df_2 */
16625 :
16626 : default:
16627 : return -1;
16628 : }
16629 :
16630 : case E_V8SImode:
16631 : switch (pattern1626 (x2,
16632 : E_SImode,
16633 : E_V8SImode))
16634 : {
16635 : case 0:
16636 : if (!(
16637 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16638 : (TARGET_AVX512F) && ((
16639 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16640 : (TARGET_AVX512VL) &&
16641 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16642 : (Pmode == SImode)) &&
16643 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16644 : (Pmode == SImode))))
16645 : return -1;
16646 : *pnum_clobbers = 1;
16647 : return 9844; /* *avx512f_gathersiv8si_2 */
16648 :
16649 : case 1:
16650 : if (!(
16651 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16652 : (TARGET_AVX512F) && ((
16653 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16654 : (TARGET_AVX512VL) &&
16655 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16656 : (Pmode == SImode)) &&
16657 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16658 : (Pmode == SImode))))
16659 : return -1;
16660 : *pnum_clobbers = 1;
16661 : return 9892; /* *avx512f_gatherdiv8si_2 */
16662 :
16663 : case 2:
16664 : if (!(
16665 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16666 : (TARGET_AVX512F) && ((
16667 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16668 : (TARGET_AVX512VL) &&
16669 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16670 : (Pmode == DImode)) &&
16671 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16672 : (Pmode == DImode))))
16673 : return -1;
16674 : *pnum_clobbers = 1;
16675 : return 9856; /* *avx512f_gathersiv8si_2 */
16676 :
16677 : case 3:
16678 : if (!(
16679 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16680 : (TARGET_AVX512F) && ((
16681 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16682 : (TARGET_AVX512VL) &&
16683 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16684 : (Pmode == DImode)) &&
16685 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16686 : (Pmode == DImode))))
16687 : return -1;
16688 : *pnum_clobbers = 1;
16689 : return 9904; /* *avx512f_gatherdiv8si_2 */
16690 :
16691 : default:
16692 : return -1;
16693 : }
16694 :
16695 : case E_V8SFmode:
16696 : switch (pattern1626 (x2,
16697 : E_SFmode,
16698 : E_V8SFmode))
16699 : {
16700 : case 0:
16701 : if (!(
16702 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16703 : (TARGET_AVX512F) && ((
16704 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16705 : (TARGET_AVX512VL) &&
16706 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16707 : (Pmode == SImode)) &&
16708 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16709 : (Pmode == SImode))))
16710 : return -1;
16711 : *pnum_clobbers = 1;
16712 : return 9845; /* *avx512f_gathersiv8sf_2 */
16713 :
16714 : case 1:
16715 : if (!(
16716 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16717 : (TARGET_AVX512F) && ((
16718 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16719 : (TARGET_AVX512VL) &&
16720 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16721 : (Pmode == SImode)) &&
16722 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16723 : (Pmode == SImode))))
16724 : return -1;
16725 : *pnum_clobbers = 1;
16726 : return 9893; /* *avx512f_gatherdiv8sf_2 */
16727 :
16728 : case 2:
16729 : if (!(
16730 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16731 : (TARGET_AVX512F) && ((
16732 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16733 : (TARGET_AVX512VL) &&
16734 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16735 : (Pmode == DImode)) &&
16736 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16737 : (Pmode == DImode))))
16738 : return -1;
16739 : *pnum_clobbers = 1;
16740 : return 9857; /* *avx512f_gathersiv8sf_2 */
16741 :
16742 : case 3:
16743 : if (!(
16744 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16745 : (TARGET_AVX512F) && ((
16746 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16747 : (TARGET_AVX512VL) &&
16748 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16749 : (Pmode == DImode)) &&
16750 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16751 : (Pmode == DImode))))
16752 : return -1;
16753 : *pnum_clobbers = 1;
16754 : return 9905; /* *avx512f_gatherdiv8sf_2 */
16755 :
16756 : default:
16757 : return -1;
16758 : }
16759 :
16760 : case E_V4DImode:
16761 : switch (pattern1628 (x2,
16762 : E_DImode,
16763 : E_V4DImode))
16764 : {
16765 : case 0:
16766 : if (!(
16767 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16768 : (TARGET_AVX512F) && ((
16769 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16770 : (TARGET_AVX512VL) &&
16771 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16772 : (Pmode == SImode)) &&
16773 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16774 : (Pmode == SImode))))
16775 : return -1;
16776 : *pnum_clobbers = 1;
16777 : return 9846; /* *avx512f_gathersiv4di_2 */
16778 :
16779 : case 1:
16780 : if (!(
16781 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16782 : (TARGET_AVX512F) && ((
16783 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16784 : (TARGET_AVX512VL) &&
16785 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16786 : (Pmode == SImode)) &&
16787 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16788 : (Pmode == SImode))))
16789 : return -1;
16790 : *pnum_clobbers = 1;
16791 : return 9894; /* *avx512f_gatherdiv4di_2 */
16792 :
16793 : case 2:
16794 : if (!(
16795 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16796 : (TARGET_AVX512F) && ((
16797 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16798 : (TARGET_AVX512VL) &&
16799 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16800 : (Pmode == DImode)) &&
16801 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16802 : (Pmode == DImode))))
16803 : return -1;
16804 : *pnum_clobbers = 1;
16805 : return 9858; /* *avx512f_gathersiv4di_2 */
16806 :
16807 : case 3:
16808 : if (!(
16809 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16810 : (TARGET_AVX512F) && ((
16811 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16812 : (TARGET_AVX512VL) &&
16813 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16814 : (Pmode == DImode)) &&
16815 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16816 : (Pmode == DImode))))
16817 : return -1;
16818 : *pnum_clobbers = 1;
16819 : return 9906; /* *avx512f_gatherdiv4di_2 */
16820 :
16821 : default:
16822 : return -1;
16823 : }
16824 :
16825 : case E_V4DFmode:
16826 : switch (pattern1628 (x2,
16827 : E_DFmode,
16828 : E_V4DFmode))
16829 : {
16830 : case 0:
16831 : if (!(
16832 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16833 : (TARGET_AVX512F) && ((
16834 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16835 : (TARGET_AVX512VL) &&
16836 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16837 : (Pmode == SImode)) &&
16838 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16839 : (Pmode == SImode))))
16840 : return -1;
16841 : *pnum_clobbers = 1;
16842 : return 9847; /* *avx512f_gathersiv4df_2 */
16843 :
16844 : case 1:
16845 : if (!(
16846 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16847 : (TARGET_AVX512F) && ((
16848 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16849 : (TARGET_AVX512VL) &&
16850 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16851 : (Pmode == SImode)) &&
16852 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16853 : (Pmode == SImode))))
16854 : return -1;
16855 : *pnum_clobbers = 1;
16856 : return 9895; /* *avx512f_gatherdiv4df_2 */
16857 :
16858 : case 2:
16859 : if (!(
16860 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16861 : (TARGET_AVX512F) && ((
16862 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16863 : (TARGET_AVX512VL) &&
16864 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16865 : (Pmode == DImode)) &&
16866 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16867 : (Pmode == DImode))))
16868 : return -1;
16869 : *pnum_clobbers = 1;
16870 : return 9859; /* *avx512f_gathersiv4df_2 */
16871 :
16872 : case 3:
16873 : if (!(
16874 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16875 : (TARGET_AVX512F) && ((
16876 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16877 : (TARGET_AVX512VL) &&
16878 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16879 : (Pmode == DImode)) &&
16880 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16881 : (Pmode == DImode))))
16882 : return -1;
16883 : *pnum_clobbers = 1;
16884 : return 9907; /* *avx512f_gatherdiv4df_2 */
16885 :
16886 : default:
16887 : return -1;
16888 : }
16889 :
16890 : case E_V4SImode:
16891 : switch (pattern1630 (x2,
16892 : E_SImode,
16893 : E_V4SImode))
16894 : {
16895 : case 0:
16896 : if (!(
16897 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16898 : (TARGET_AVX512F) && ((
16899 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16900 : (TARGET_AVX512VL) &&
16901 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16902 : (Pmode == SImode)) &&
16903 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16904 : (Pmode == SImode))))
16905 : return -1;
16906 : *pnum_clobbers = 1;
16907 : return 9848; /* *avx512f_gathersiv4si_2 */
16908 :
16909 : case 1:
16910 : if (!(
16911 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16912 : (TARGET_AVX512F) && ((
16913 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16914 : (TARGET_AVX512VL) &&
16915 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16916 : (Pmode == SImode)) &&
16917 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16918 : (Pmode == SImode))))
16919 : return -1;
16920 : *pnum_clobbers = 1;
16921 : return 9896; /* *avx512f_gatherdiv4si_2 */
16922 :
16923 : case 2:
16924 : if (!(
16925 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16926 : (TARGET_AVX512F) && ((
16927 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16928 : (TARGET_AVX512VL) &&
16929 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16930 : (Pmode == DImode)) &&
16931 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16932 : (Pmode == DImode))))
16933 : return -1;
16934 : *pnum_clobbers = 1;
16935 : return 9860; /* *avx512f_gathersiv4si_2 */
16936 :
16937 : case 3:
16938 : if (!(
16939 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16940 : (TARGET_AVX512F) && ((
16941 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16942 : (TARGET_AVX512VL) &&
16943 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16944 : (Pmode == DImode)) &&
16945 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16946 : (Pmode == DImode))))
16947 : return -1;
16948 : *pnum_clobbers = 1;
16949 : return 9908; /* *avx512f_gatherdiv4si_2 */
16950 :
16951 : default:
16952 : return -1;
16953 : }
16954 :
16955 : case E_V4SFmode:
16956 : switch (pattern1630 (x2,
16957 : E_SFmode,
16958 : E_V4SFmode))
16959 : {
16960 : case 0:
16961 : if (!(
16962 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16963 : (TARGET_AVX512F) && ((
16964 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16965 : (TARGET_AVX512VL) &&
16966 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16967 : (Pmode == SImode)) &&
16968 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16969 : (Pmode == SImode))))
16970 : return -1;
16971 : *pnum_clobbers = 1;
16972 : return 9849; /* *avx512f_gathersiv4sf_2 */
16973 :
16974 : case 1:
16975 : if (!(
16976 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16977 : (TARGET_AVX512F) && ((
16978 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16979 : (TARGET_AVX512VL) &&
16980 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16981 : (Pmode == SImode)) &&
16982 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16983 : (Pmode == SImode))))
16984 : return -1;
16985 : *pnum_clobbers = 1;
16986 : return 9897; /* *avx512f_gatherdiv4sf_2 */
16987 :
16988 : case 2:
16989 : if (!(
16990 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16991 : (TARGET_AVX512F) && ((
16992 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16993 : (TARGET_AVX512VL) &&
16994 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16995 : (Pmode == DImode)) &&
16996 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16997 : (Pmode == DImode))))
16998 : return -1;
16999 : *pnum_clobbers = 1;
17000 : return 9861; /* *avx512f_gathersiv4sf_2 */
17001 :
17002 : case 3:
17003 : if (!(
17004 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17005 : (TARGET_AVX512F) && ((
17006 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17007 : (TARGET_AVX512VL) &&
17008 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17009 : (Pmode == DImode)) &&
17010 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17011 : (Pmode == DImode))))
17012 : return -1;
17013 : *pnum_clobbers = 1;
17014 : return 9909; /* *avx512f_gatherdiv4sf_2 */
17015 :
17016 : default:
17017 : return -1;
17018 : }
17019 :
17020 : case E_V2DImode:
17021 : switch (pattern1630 (x2,
17022 : E_DImode,
17023 : E_V2DImode))
17024 : {
17025 : case 0:
17026 : if (!(
17027 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17028 : (TARGET_AVX512F) && ((
17029 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17030 : (TARGET_AVX512VL) &&
17031 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17032 : (Pmode == SImode)) &&
17033 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17034 : (Pmode == SImode))))
17035 : return -1;
17036 : *pnum_clobbers = 1;
17037 : return 9850; /* *avx512f_gathersiv2di_2 */
17038 :
17039 : case 1:
17040 : if (!(
17041 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17042 : (TARGET_AVX512F) && ((
17043 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17044 : (TARGET_AVX512VL) &&
17045 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17046 : (Pmode == SImode)) &&
17047 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17048 : (Pmode == SImode))))
17049 : return -1;
17050 : *pnum_clobbers = 1;
17051 : return 9898; /* *avx512f_gatherdiv2di_2 */
17052 :
17053 : case 2:
17054 : if (!(
17055 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17056 : (TARGET_AVX512F) && ((
17057 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17058 : (TARGET_AVX512VL) &&
17059 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17060 : (Pmode == DImode)) &&
17061 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17062 : (Pmode == DImode))))
17063 : return -1;
17064 : *pnum_clobbers = 1;
17065 : return 9862; /* *avx512f_gathersiv2di_2 */
17066 :
17067 : case 3:
17068 : if (!(
17069 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17070 : (TARGET_AVX512F) && ((
17071 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17072 : (TARGET_AVX512VL) &&
17073 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17074 : (Pmode == DImode)) &&
17075 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17076 : (Pmode == DImode))))
17077 : return -1;
17078 : *pnum_clobbers = 1;
17079 : return 9910; /* *avx512f_gatherdiv2di_2 */
17080 :
17081 : default:
17082 : return -1;
17083 : }
17084 :
17085 : case E_V2DFmode:
17086 : switch (pattern1630 (x2,
17087 : E_DFmode,
17088 : E_V2DFmode))
17089 : {
17090 : case 0:
17091 : if (!(
17092 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17093 : (TARGET_AVX512F) && ((
17094 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17095 : (TARGET_AVX512VL) &&
17096 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17097 : (Pmode == SImode)) &&
17098 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17099 : (Pmode == SImode))))
17100 : return -1;
17101 : *pnum_clobbers = 1;
17102 : return 9851; /* *avx512f_gathersiv2df_2 */
17103 :
17104 : case 1:
17105 : if (!(
17106 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17107 : (TARGET_AVX512F) && ((
17108 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17109 : (TARGET_AVX512VL) &&
17110 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17111 : (Pmode == SImode)) &&
17112 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17113 : (Pmode == SImode))))
17114 : return -1;
17115 : *pnum_clobbers = 1;
17116 : return 9899; /* *avx512f_gatherdiv2df_2 */
17117 :
17118 : case 2:
17119 : if (!(
17120 : #line 30189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17121 : (TARGET_AVX512F) && ((
17122 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17123 : (TARGET_AVX512VL) &&
17124 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17125 : (Pmode == DImode)) &&
17126 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17127 : (Pmode == DImode))))
17128 : return -1;
17129 : *pnum_clobbers = 1;
17130 : return 9863; /* *avx512f_gathersiv2df_2 */
17131 :
17132 : case 3:
17133 : if (!(
17134 : #line 30251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17135 : (TARGET_AVX512F) && ((
17136 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17137 : (TARGET_AVX512VL) &&
17138 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17139 : (Pmode == DImode)) &&
17140 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17141 : (Pmode == DImode))))
17142 : return -1;
17143 : *pnum_clobbers = 1;
17144 : return 9911; /* *avx512f_gatherdiv2df_2 */
17145 :
17146 : default:
17147 : return -1;
17148 : }
17149 :
17150 : default:
17151 : return -1;
17152 : }
17153 :
17154 : default:
17155 : return -1;
17156 : }
17157 : }
17158 :
17159 : int
17160 : recog_295 (rtx x1 ATTRIBUTE_UNUSED,
17161 : rtx_insn *insn ATTRIBUTE_UNUSED,
17162 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17163 : {
17164 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17165 : rtx x2, x3, x4, x5, x6, x7;
17166 : int res ATTRIBUTE_UNUSED;
17167 : x2 = XEXP (x1, 1);
17168 : x3 = XEXP (x2, 1);
17169 : x4 = XVECEXP (x3, 0, 4);
17170 : if (GET_CODE (x4) != CONST_INT)
17171 : return -1;
17172 : operands[6] = x4;
17173 : res = recog_294 (x1, insn, pnum_clobbers);
17174 : if (res >= 0)
17175 : return res;
17176 : if (XWINT (x4, 0) != 4L)
17177 : return -1;
17178 : x5 = XVECEXP (x3, 0, 5);
17179 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
17180 : return -1;
17181 : x6 = XVECEXP (x3, 0, 6);
17182 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
17183 : return -1;
17184 : x7 = XVECEXP (x3, 0, 7);
17185 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
17186 : || !register_operand (operands[0], E_V8HImode)
17187 : || GET_MODE (x2) != E_V8HImode
17188 : || !vector_operand (operands[1], E_V8HImode)
17189 : || pattern754 (x3) != 0
17190 : || !
17191 : #line 21186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17192 : (TARGET_SSE2 && 1 && 1))
17193 : return -1;
17194 : return 8492; /* sse2_pshuflw_1 */
17195 : }
17196 :
17197 : int
17198 : recog_296 (rtx x1 ATTRIBUTE_UNUSED,
17199 : rtx_insn *insn ATTRIBUTE_UNUSED,
17200 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17201 : {
17202 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17203 : rtx x2, x3, x4, x5, x6, x7;
17204 : int res ATTRIBUTE_UNUSED;
17205 : x2 = XEXP (x1, 1);
17206 : x3 = XEXP (x2, 1);
17207 : x4 = XVECEXP (x3, 0, 0);
17208 : if (GET_CODE (x4) != CONST_INT)
17209 : return -1;
17210 : x5 = XVECEXP (x3, 0, 1);
17211 : if (GET_CODE (x5) == CONST_INT)
17212 : {
17213 : res = recog_293 (x1, insn, pnum_clobbers);
17214 : if (res >= 0)
17215 : return res;
17216 : }
17217 : operands[2] = x4;
17218 : res = recog_295 (x1, insn, pnum_clobbers);
17219 : if (res >= 0)
17220 : return res;
17221 : if (XWINT (x4, 0) != 0L
17222 : || x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
17223 : return -1;
17224 : x6 = XVECEXP (x3, 0, 2);
17225 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
17226 : return -1;
17227 : x7 = XVECEXP (x3, 0, 3);
17228 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
17229 : || !register_operand (operands[0], E_V8HImode)
17230 : || GET_MODE (x2) != E_V8HImode
17231 : || !vector_operand (operands[1], E_V8HImode)
17232 : || pattern1496 (x3) != 0
17233 : || !
17234 : #line 21343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17235 : (TARGET_SSE2 && 1 && 1))
17236 : return -1;
17237 : return 8498; /* sse2_pshufhw_1 */
17238 : }
17239 :
17240 : int
17241 : recog_301 (rtx x1 ATTRIBUTE_UNUSED,
17242 : rtx_insn *insn ATTRIBUTE_UNUSED,
17243 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17244 : {
17245 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17246 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
17247 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
17248 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
17249 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
17250 : rtx x34, x35;
17251 : int res ATTRIBUTE_UNUSED;
17252 : x2 = XEXP (x1, 1);
17253 : x3 = XEXP (x2, 1);
17254 : if (pattern683 (x3) != 0
17255 : || !nonimmediate_operand (operands[0], E_V32QImode)
17256 : || GET_MODE (x2) != E_V32QImode)
17257 : return -1;
17258 : x4 = XVECEXP (x3, 0, 0);
17259 : switch (XWINT (x4, 0))
17260 : {
17261 : case 0L:
17262 : if (pattern1792 (x3) != 0)
17263 : return -1;
17264 : x5 = XVECEXP (x3, 0, 16);
17265 : if (XWINT (x5, 0) != 16L)
17266 : return -1;
17267 : x6 = XVECEXP (x3, 0, 17);
17268 : if (XWINT (x6, 0) != 17L)
17269 : return -1;
17270 : x7 = XVECEXP (x3, 0, 18);
17271 : if (XWINT (x7, 0) != 18L)
17272 : return -1;
17273 : x8 = XVECEXP (x3, 0, 19);
17274 : if (XWINT (x8, 0) != 19L)
17275 : return -1;
17276 : x9 = XVECEXP (x3, 0, 20);
17277 : if (XWINT (x9, 0) != 20L)
17278 : return -1;
17279 : x10 = XVECEXP (x3, 0, 21);
17280 : if (XWINT (x10, 0) != 21L)
17281 : return -1;
17282 : x11 = XVECEXP (x3, 0, 22);
17283 : if (XWINT (x11, 0) != 22L)
17284 : return -1;
17285 : x12 = XVECEXP (x3, 0, 23);
17286 : if (XWINT (x12, 0) != 23L
17287 : || pattern1916 (x3) != 0)
17288 : return -1;
17289 : x13 = XVECEXP (x3, 0, 28);
17290 : if (XWINT (x13, 0) != 28L)
17291 : return -1;
17292 : x14 = XVECEXP (x3, 0, 29);
17293 : if (XWINT (x14, 0) != 29L)
17294 : return -1;
17295 : x15 = XVECEXP (x3, 0, 30);
17296 : if (XWINT (x15, 0) != 30L)
17297 : return -1;
17298 : x16 = XVECEXP (x3, 0, 31);
17299 : if (XWINT (x16, 0) != 31L
17300 : || !nonimmediate_operand (operands[1], E_V64QImode)
17301 : || !
17302 : #line 13452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17303 : (TARGET_AVX512F
17304 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17305 : return -1;
17306 : return 5402; /* vec_extract_lo_v64qi */
17307 :
17308 : case 32L:
17309 : x17 = XVECEXP (x3, 0, 1);
17310 : if (XWINT (x17, 0) != 33L)
17311 : return -1;
17312 : x18 = XVECEXP (x3, 0, 2);
17313 : if (XWINT (x18, 0) != 34L)
17314 : return -1;
17315 : x19 = XVECEXP (x3, 0, 3);
17316 : if (XWINT (x19, 0) != 35L)
17317 : return -1;
17318 : x20 = XVECEXP (x3, 0, 4);
17319 : if (XWINT (x20, 0) != 36L)
17320 : return -1;
17321 : x21 = XVECEXP (x3, 0, 5);
17322 : if (XWINT (x21, 0) != 37L)
17323 : return -1;
17324 : x22 = XVECEXP (x3, 0, 6);
17325 : if (XWINT (x22, 0) != 38L)
17326 : return -1;
17327 : x23 = XVECEXP (x3, 0, 7);
17328 : if (XWINT (x23, 0) != 39L)
17329 : return -1;
17330 : x24 = XVECEXP (x3, 0, 8);
17331 : if (XWINT (x24, 0) != 40L)
17332 : return -1;
17333 : x25 = XVECEXP (x3, 0, 9);
17334 : if (XWINT (x25, 0) != 41L)
17335 : return -1;
17336 : x26 = XVECEXP (x3, 0, 10);
17337 : if (XWINT (x26, 0) != 42L)
17338 : return -1;
17339 : x27 = XVECEXP (x3, 0, 11);
17340 : if (XWINT (x27, 0) != 43L)
17341 : return -1;
17342 : x28 = XVECEXP (x3, 0, 12);
17343 : if (XWINT (x28, 0) != 44L)
17344 : return -1;
17345 : x29 = XVECEXP (x3, 0, 13);
17346 : if (XWINT (x29, 0) != 45L)
17347 : return -1;
17348 : x30 = XVECEXP (x3, 0, 14);
17349 : if (XWINT (x30, 0) != 46L)
17350 : return -1;
17351 : x31 = XVECEXP (x3, 0, 15);
17352 : if (XWINT (x31, 0) != 47L)
17353 : return -1;
17354 : x5 = XVECEXP (x3, 0, 16);
17355 : if (XWINT (x5, 0) != 48L)
17356 : return -1;
17357 : x6 = XVECEXP (x3, 0, 17);
17358 : if (XWINT (x6, 0) != 49L)
17359 : return -1;
17360 : x7 = XVECEXP (x3, 0, 18);
17361 : if (XWINT (x7, 0) != 50L)
17362 : return -1;
17363 : x8 = XVECEXP (x3, 0, 19);
17364 : if (XWINT (x8, 0) != 51L)
17365 : return -1;
17366 : x9 = XVECEXP (x3, 0, 20);
17367 : if (XWINT (x9, 0) != 52L)
17368 : return -1;
17369 : x10 = XVECEXP (x3, 0, 21);
17370 : if (XWINT (x10, 0) != 53L)
17371 : return -1;
17372 : x11 = XVECEXP (x3, 0, 22);
17373 : if (XWINT (x11, 0) != 54L)
17374 : return -1;
17375 : x12 = XVECEXP (x3, 0, 23);
17376 : if (XWINT (x12, 0) != 55L)
17377 : return -1;
17378 : x32 = XVECEXP (x3, 0, 24);
17379 : if (XWINT (x32, 0) != 56L)
17380 : return -1;
17381 : x33 = XVECEXP (x3, 0, 25);
17382 : if (XWINT (x33, 0) != 57L)
17383 : return -1;
17384 : x34 = XVECEXP (x3, 0, 26);
17385 : if (XWINT (x34, 0) != 58L)
17386 : return -1;
17387 : x35 = XVECEXP (x3, 0, 27);
17388 : if (XWINT (x35, 0) != 59L)
17389 : return -1;
17390 : x13 = XVECEXP (x3, 0, 28);
17391 : if (XWINT (x13, 0) != 60L)
17392 : return -1;
17393 : x14 = XVECEXP (x3, 0, 29);
17394 : if (XWINT (x14, 0) != 61L)
17395 : return -1;
17396 : x15 = XVECEXP (x3, 0, 30);
17397 : if (XWINT (x15, 0) != 62L)
17398 : return -1;
17399 : x16 = XVECEXP (x3, 0, 31);
17400 : if (XWINT (x16, 0) != 63L
17401 : || !register_operand (operands[1], E_V64QImode)
17402 : || !
17403 : #line 13501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17404 : (TARGET_AVX512F))
17405 : return -1;
17406 : return 5403; /* vec_extract_hi_v64qi */
17407 :
17408 : default:
17409 : return -1;
17410 : }
17411 : }
17412 :
17413 : int
17414 : recog_311 (rtx x1 ATTRIBUTE_UNUSED,
17415 : rtx_insn *insn ATTRIBUTE_UNUSED,
17416 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17417 : {
17418 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17419 : rtx x2, x3, x4;
17420 : int res ATTRIBUTE_UNUSED;
17421 : x2 = XEXP (x1, 1);
17422 : x3 = XEXP (x2, 0);
17423 : x4 = XEXP (x3, 0);
17424 : switch (GET_CODE (x4))
17425 : {
17426 : case REG:
17427 : case SUBREG:
17428 : case MEM:
17429 : case NOT:
17430 : switch (pattern535 (x2))
17431 : {
17432 : case 0:
17433 : if (!(
17434 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17435 : ((64 == 64 || TARGET_AVX512VL
17436 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17437 : && ix86_pre_reload_split ()
17438 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17439 : STRIP_UNARY (operands[4]))
17440 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17441 : STRIP_UNARY (operands[4]))
17442 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17443 : STRIP_UNARY (operands[3]))
17444 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17445 : STRIP_UNARY (operands[3])))) &&
17446 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17447 : (TARGET_AVX512F)))
17448 : return -1;
17449 : return 5558; /* *avx512bw_vpternlogv64qi_1 */
17450 :
17451 : case 1:
17452 : if (!(
17453 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17454 : ((32 == 64 || TARGET_AVX512VL
17455 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17456 : && ix86_pre_reload_split ()
17457 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17458 : STRIP_UNARY (operands[4]))
17459 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17460 : STRIP_UNARY (operands[4]))
17461 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17462 : STRIP_UNARY (operands[3]))
17463 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17464 : STRIP_UNARY (operands[3])))) &&
17465 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17466 : (TARGET_AVX)))
17467 : return -1;
17468 : return 5585; /* *avx512vl_vpternlogv32qi_1 */
17469 :
17470 : case 2:
17471 : if (!
17472 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17473 : ((16 == 64 || TARGET_AVX512VL
17474 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17475 : && ix86_pre_reload_split ()
17476 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17477 : STRIP_UNARY (operands[4]))
17478 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17479 : STRIP_UNARY (operands[4]))
17480 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17481 : STRIP_UNARY (operands[3]))
17482 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17483 : STRIP_UNARY (operands[3])))))
17484 : return -1;
17485 : return 5612; /* *avx512vl_vpternlogv16qi_1 */
17486 :
17487 : case 3:
17488 : if (!(
17489 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17490 : ((64 == 64 || TARGET_AVX512VL
17491 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17492 : && ix86_pre_reload_split ()
17493 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17494 : STRIP_UNARY (operands[4]))
17495 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17496 : STRIP_UNARY (operands[4]))
17497 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17498 : STRIP_UNARY (operands[3]))
17499 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17500 : STRIP_UNARY (operands[3])))) &&
17501 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17502 : (TARGET_AVX512F)))
17503 : return -1;
17504 : return 5639; /* *avx512bw_vpternlogv32hi_1 */
17505 :
17506 : case 4:
17507 : if (!(
17508 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17509 : ((32 == 64 || TARGET_AVX512VL
17510 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17511 : && ix86_pre_reload_split ()
17512 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17513 : STRIP_UNARY (operands[4]))
17514 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17515 : STRIP_UNARY (operands[4]))
17516 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17517 : STRIP_UNARY (operands[3]))
17518 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17519 : STRIP_UNARY (operands[3])))) &&
17520 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17521 : (TARGET_AVX)))
17522 : return -1;
17523 : return 5666; /* *avx512vl_vpternlogv16hi_1 */
17524 :
17525 : case 5:
17526 : if (!
17527 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17528 : ((16 == 64 || TARGET_AVX512VL
17529 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17530 : && ix86_pre_reload_split ()
17531 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17532 : STRIP_UNARY (operands[4]))
17533 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17534 : STRIP_UNARY (operands[4]))
17535 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17536 : STRIP_UNARY (operands[3]))
17537 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17538 : STRIP_UNARY (operands[3])))))
17539 : return -1;
17540 : return 5693; /* *avx512vl_vpternlogv8hi_1 */
17541 :
17542 : case 6:
17543 : if (!(
17544 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17545 : ((64 == 64 || TARGET_AVX512VL
17546 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17547 : && ix86_pre_reload_split ()
17548 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17549 : STRIP_UNARY (operands[4]))
17550 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17551 : STRIP_UNARY (operands[4]))
17552 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17553 : STRIP_UNARY (operands[3]))
17554 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17555 : STRIP_UNARY (operands[3])))) &&
17556 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17557 : (TARGET_AVX512F)))
17558 : return -1;
17559 : return 5720; /* *avx512f_vpternlogv16si_1 */
17560 :
17561 : case 7:
17562 : if (!(
17563 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17564 : ((32 == 64 || TARGET_AVX512VL
17565 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17566 : && ix86_pre_reload_split ()
17567 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17568 : STRIP_UNARY (operands[4]))
17569 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17570 : STRIP_UNARY (operands[4]))
17571 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17572 : STRIP_UNARY (operands[3]))
17573 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17574 : STRIP_UNARY (operands[3])))) &&
17575 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17576 : (TARGET_AVX)))
17577 : return -1;
17578 : return 5747; /* *avx512vl_vpternlogv8si_1 */
17579 :
17580 : case 8:
17581 : if (!
17582 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17583 : ((16 == 64 || TARGET_AVX512VL
17584 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17585 : && ix86_pre_reload_split ()
17586 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17587 : STRIP_UNARY (operands[4]))
17588 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17589 : STRIP_UNARY (operands[4]))
17590 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17591 : STRIP_UNARY (operands[3]))
17592 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17593 : STRIP_UNARY (operands[3])))))
17594 : return -1;
17595 : return 5774; /* *avx512vl_vpternlogv4si_1 */
17596 :
17597 : case 9:
17598 : if (!(
17599 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17600 : ((64 == 64 || TARGET_AVX512VL
17601 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17602 : && ix86_pre_reload_split ()
17603 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17604 : STRIP_UNARY (operands[4]))
17605 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17606 : STRIP_UNARY (operands[4]))
17607 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17608 : STRIP_UNARY (operands[3]))
17609 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17610 : STRIP_UNARY (operands[3])))) &&
17611 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17612 : (TARGET_AVX512F)))
17613 : return -1;
17614 : return 5801; /* *avx512f_vpternlogv8di_1 */
17615 :
17616 : case 10:
17617 : if (!(
17618 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17619 : ((32 == 64 || TARGET_AVX512VL
17620 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17621 : && ix86_pre_reload_split ()
17622 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17623 : STRIP_UNARY (operands[4]))
17624 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17625 : STRIP_UNARY (operands[4]))
17626 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17627 : STRIP_UNARY (operands[3]))
17628 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17629 : STRIP_UNARY (operands[3])))) &&
17630 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17631 : (TARGET_AVX)))
17632 : return -1;
17633 : return 5828; /* *avx512vl_vpternlogv4di_1 */
17634 :
17635 : case 11:
17636 : if (!
17637 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17638 : ((16 == 64 || TARGET_AVX512VL
17639 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17640 : && ix86_pre_reload_split ()
17641 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17642 : STRIP_UNARY (operands[4]))
17643 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17644 : STRIP_UNARY (operands[4]))
17645 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17646 : STRIP_UNARY (operands[3]))
17647 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17648 : STRIP_UNARY (operands[3])))))
17649 : return -1;
17650 : return 5855; /* *avx512vl_vpternlogv2di_1 */
17651 :
17652 : case 12:
17653 : if (!(
17654 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17655 : ((64 == 64 || TARGET_AVX512VL
17656 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17657 : && ix86_pre_reload_split ()
17658 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17659 : STRIP_UNARY (operands[4]))
17660 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17661 : STRIP_UNARY (operands[4]))
17662 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17663 : STRIP_UNARY (operands[3]))
17664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17665 : STRIP_UNARY (operands[3])))) &&
17666 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17667 : (TARGET_AVX512F)))
17668 : return -1;
17669 : return 5561; /* *avx512bw_vpternlogv64qi_1 */
17670 :
17671 : case 13:
17672 : if (!(
17673 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17674 : ((32 == 64 || TARGET_AVX512VL
17675 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17676 : && ix86_pre_reload_split ()
17677 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17678 : STRIP_UNARY (operands[4]))
17679 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17680 : STRIP_UNARY (operands[4]))
17681 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17682 : STRIP_UNARY (operands[3]))
17683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17684 : STRIP_UNARY (operands[3])))) &&
17685 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17686 : (TARGET_AVX)))
17687 : return -1;
17688 : return 5588; /* *avx512vl_vpternlogv32qi_1 */
17689 :
17690 : case 14:
17691 : if (!
17692 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17693 : ((16 == 64 || TARGET_AVX512VL
17694 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17695 : && ix86_pre_reload_split ()
17696 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17697 : STRIP_UNARY (operands[4]))
17698 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17699 : STRIP_UNARY (operands[4]))
17700 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17701 : STRIP_UNARY (operands[3]))
17702 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17703 : STRIP_UNARY (operands[3])))))
17704 : return -1;
17705 : return 5615; /* *avx512vl_vpternlogv16qi_1 */
17706 :
17707 : case 15:
17708 : if (!(
17709 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17710 : ((64 == 64 || TARGET_AVX512VL
17711 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17712 : && ix86_pre_reload_split ()
17713 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17714 : STRIP_UNARY (operands[4]))
17715 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17716 : STRIP_UNARY (operands[4]))
17717 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17718 : STRIP_UNARY (operands[3]))
17719 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17720 : STRIP_UNARY (operands[3])))) &&
17721 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17722 : (TARGET_AVX512F)))
17723 : return -1;
17724 : return 5642; /* *avx512bw_vpternlogv32hi_1 */
17725 :
17726 : case 16:
17727 : if (!(
17728 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17729 : ((32 == 64 || TARGET_AVX512VL
17730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17731 : && ix86_pre_reload_split ()
17732 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17733 : STRIP_UNARY (operands[4]))
17734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17735 : STRIP_UNARY (operands[4]))
17736 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17737 : STRIP_UNARY (operands[3]))
17738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17739 : STRIP_UNARY (operands[3])))) &&
17740 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17741 : (TARGET_AVX)))
17742 : return -1;
17743 : return 5669; /* *avx512vl_vpternlogv16hi_1 */
17744 :
17745 : case 17:
17746 : if (!
17747 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17748 : ((16 == 64 || TARGET_AVX512VL
17749 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17750 : && ix86_pre_reload_split ()
17751 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17752 : STRIP_UNARY (operands[4]))
17753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17754 : STRIP_UNARY (operands[4]))
17755 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17756 : STRIP_UNARY (operands[3]))
17757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17758 : STRIP_UNARY (operands[3])))))
17759 : return -1;
17760 : return 5696; /* *avx512vl_vpternlogv8hi_1 */
17761 :
17762 : case 18:
17763 : if (!(
17764 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17765 : ((64 == 64 || TARGET_AVX512VL
17766 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17767 : && ix86_pre_reload_split ()
17768 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17769 : STRIP_UNARY (operands[4]))
17770 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17771 : STRIP_UNARY (operands[4]))
17772 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17773 : STRIP_UNARY (operands[3]))
17774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17775 : STRIP_UNARY (operands[3])))) &&
17776 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17777 : (TARGET_AVX512F)))
17778 : return -1;
17779 : return 5723; /* *avx512f_vpternlogv16si_1 */
17780 :
17781 : case 19:
17782 : if (!(
17783 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17784 : ((32 == 64 || TARGET_AVX512VL
17785 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17786 : && ix86_pre_reload_split ()
17787 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17788 : STRIP_UNARY (operands[4]))
17789 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17790 : STRIP_UNARY (operands[4]))
17791 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17792 : STRIP_UNARY (operands[3]))
17793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17794 : STRIP_UNARY (operands[3])))) &&
17795 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17796 : (TARGET_AVX)))
17797 : return -1;
17798 : return 5750; /* *avx512vl_vpternlogv8si_1 */
17799 :
17800 : case 20:
17801 : if (!
17802 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17803 : ((16 == 64 || TARGET_AVX512VL
17804 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17805 : && ix86_pre_reload_split ()
17806 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17807 : STRIP_UNARY (operands[4]))
17808 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17809 : STRIP_UNARY (operands[4]))
17810 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17811 : STRIP_UNARY (operands[3]))
17812 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17813 : STRIP_UNARY (operands[3])))))
17814 : return -1;
17815 : return 5777; /* *avx512vl_vpternlogv4si_1 */
17816 :
17817 : case 21:
17818 : if (!(
17819 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17820 : ((64 == 64 || TARGET_AVX512VL
17821 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17822 : && ix86_pre_reload_split ()
17823 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17824 : STRIP_UNARY (operands[4]))
17825 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17826 : STRIP_UNARY (operands[4]))
17827 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17828 : STRIP_UNARY (operands[3]))
17829 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17830 : STRIP_UNARY (operands[3])))) &&
17831 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17832 : (TARGET_AVX512F)))
17833 : return -1;
17834 : return 5804; /* *avx512f_vpternlogv8di_1 */
17835 :
17836 : case 22:
17837 : if (!(
17838 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17839 : ((32 == 64 || TARGET_AVX512VL
17840 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17841 : && ix86_pre_reload_split ()
17842 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17843 : STRIP_UNARY (operands[4]))
17844 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17845 : STRIP_UNARY (operands[4]))
17846 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17847 : STRIP_UNARY (operands[3]))
17848 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17849 : STRIP_UNARY (operands[3])))) &&
17850 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17851 : (TARGET_AVX)))
17852 : return -1;
17853 : return 5831; /* *avx512vl_vpternlogv4di_1 */
17854 :
17855 : case 23:
17856 : if (!
17857 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17858 : ((16 == 64 || TARGET_AVX512VL
17859 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17860 : && ix86_pre_reload_split ()
17861 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17862 : STRIP_UNARY (operands[4]))
17863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17864 : STRIP_UNARY (operands[4]))
17865 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17866 : STRIP_UNARY (operands[3]))
17867 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17868 : STRIP_UNARY (operands[3])))))
17869 : return -1;
17870 : return 5858; /* *avx512vl_vpternlogv2di_1 */
17871 :
17872 : case 24:
17873 : if (!(
17874 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17875 : ((64 == 64 || TARGET_AVX512VL
17876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17877 : && ix86_pre_reload_split ()
17878 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17879 : STRIP_UNARY (operands[4]))
17880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17881 : STRIP_UNARY (operands[4]))
17882 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17883 : STRIP_UNARY (operands[3]))
17884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17885 : STRIP_UNARY (operands[3])))) &&
17886 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17887 : (TARGET_AVX512F)))
17888 : return -1;
17889 : return 5564; /* *avx512bw_vpternlogv64qi_1 */
17890 :
17891 : case 25:
17892 : if (!(
17893 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17894 : ((32 == 64 || TARGET_AVX512VL
17895 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17896 : && ix86_pre_reload_split ()
17897 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17898 : STRIP_UNARY (operands[4]))
17899 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17900 : STRIP_UNARY (operands[4]))
17901 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17902 : STRIP_UNARY (operands[3]))
17903 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17904 : STRIP_UNARY (operands[3])))) &&
17905 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17906 : (TARGET_AVX)))
17907 : return -1;
17908 : return 5591; /* *avx512vl_vpternlogv32qi_1 */
17909 :
17910 : case 26:
17911 : if (!
17912 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17913 : ((16 == 64 || TARGET_AVX512VL
17914 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17915 : && ix86_pre_reload_split ()
17916 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17917 : STRIP_UNARY (operands[4]))
17918 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17919 : STRIP_UNARY (operands[4]))
17920 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17921 : STRIP_UNARY (operands[3]))
17922 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17923 : STRIP_UNARY (operands[3])))))
17924 : return -1;
17925 : return 5618; /* *avx512vl_vpternlogv16qi_1 */
17926 :
17927 : case 27:
17928 : if (!(
17929 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17930 : ((64 == 64 || TARGET_AVX512VL
17931 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17932 : && ix86_pre_reload_split ()
17933 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17934 : STRIP_UNARY (operands[4]))
17935 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17936 : STRIP_UNARY (operands[4]))
17937 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17938 : STRIP_UNARY (operands[3]))
17939 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17940 : STRIP_UNARY (operands[3])))) &&
17941 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17942 : (TARGET_AVX512F)))
17943 : return -1;
17944 : return 5645; /* *avx512bw_vpternlogv32hi_1 */
17945 :
17946 : case 28:
17947 : if (!(
17948 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17949 : ((32 == 64 || TARGET_AVX512VL
17950 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17951 : && ix86_pre_reload_split ()
17952 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17953 : STRIP_UNARY (operands[4]))
17954 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17955 : STRIP_UNARY (operands[4]))
17956 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17957 : STRIP_UNARY (operands[3]))
17958 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17959 : STRIP_UNARY (operands[3])))) &&
17960 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17961 : (TARGET_AVX)))
17962 : return -1;
17963 : return 5672; /* *avx512vl_vpternlogv16hi_1 */
17964 :
17965 : case 29:
17966 : if (!
17967 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17968 : ((16 == 64 || TARGET_AVX512VL
17969 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17970 : && ix86_pre_reload_split ()
17971 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17972 : STRIP_UNARY (operands[4]))
17973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17974 : STRIP_UNARY (operands[4]))
17975 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17976 : STRIP_UNARY (operands[3]))
17977 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17978 : STRIP_UNARY (operands[3])))))
17979 : return -1;
17980 : return 5699; /* *avx512vl_vpternlogv8hi_1 */
17981 :
17982 : case 30:
17983 : if (!(
17984 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17985 : ((64 == 64 || TARGET_AVX512VL
17986 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17987 : && ix86_pre_reload_split ()
17988 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17989 : STRIP_UNARY (operands[4]))
17990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17991 : STRIP_UNARY (operands[4]))
17992 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17993 : STRIP_UNARY (operands[3]))
17994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17995 : STRIP_UNARY (operands[3])))) &&
17996 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17997 : (TARGET_AVX512F)))
17998 : return -1;
17999 : return 5726; /* *avx512f_vpternlogv16si_1 */
18000 :
18001 : case 31:
18002 : if (!(
18003 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18004 : ((32 == 64 || TARGET_AVX512VL
18005 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18006 : && ix86_pre_reload_split ()
18007 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18008 : STRIP_UNARY (operands[4]))
18009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18010 : STRIP_UNARY (operands[4]))
18011 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18012 : STRIP_UNARY (operands[3]))
18013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18014 : STRIP_UNARY (operands[3])))) &&
18015 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18016 : (TARGET_AVX)))
18017 : return -1;
18018 : return 5753; /* *avx512vl_vpternlogv8si_1 */
18019 :
18020 : case 32:
18021 : if (!
18022 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18023 : ((16 == 64 || TARGET_AVX512VL
18024 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18025 : && ix86_pre_reload_split ()
18026 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18027 : STRIP_UNARY (operands[4]))
18028 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18029 : STRIP_UNARY (operands[4]))
18030 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18031 : STRIP_UNARY (operands[3]))
18032 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18033 : STRIP_UNARY (operands[3])))))
18034 : return -1;
18035 : return 5780; /* *avx512vl_vpternlogv4si_1 */
18036 :
18037 : case 33:
18038 : if (!(
18039 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18040 : ((64 == 64 || TARGET_AVX512VL
18041 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18042 : && ix86_pre_reload_split ()
18043 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18044 : STRIP_UNARY (operands[4]))
18045 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18046 : STRIP_UNARY (operands[4]))
18047 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18048 : STRIP_UNARY (operands[3]))
18049 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18050 : STRIP_UNARY (operands[3])))) &&
18051 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18052 : (TARGET_AVX512F)))
18053 : return -1;
18054 : return 5807; /* *avx512f_vpternlogv8di_1 */
18055 :
18056 : case 34:
18057 : if (!(
18058 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18059 : ((32 == 64 || TARGET_AVX512VL
18060 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18061 : && ix86_pre_reload_split ()
18062 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18063 : STRIP_UNARY (operands[4]))
18064 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18065 : STRIP_UNARY (operands[4]))
18066 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18067 : STRIP_UNARY (operands[3]))
18068 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18069 : STRIP_UNARY (operands[3])))) &&
18070 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18071 : (TARGET_AVX)))
18072 : return -1;
18073 : return 5834; /* *avx512vl_vpternlogv4di_1 */
18074 :
18075 : case 35:
18076 : if (!
18077 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18078 : ((16 == 64 || TARGET_AVX512VL
18079 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18080 : && ix86_pre_reload_split ()
18081 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18082 : STRIP_UNARY (operands[4]))
18083 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18084 : STRIP_UNARY (operands[4]))
18085 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18086 : STRIP_UNARY (operands[3]))
18087 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18088 : STRIP_UNARY (operands[3])))))
18089 : return -1;
18090 : return 5861; /* *avx512vl_vpternlogv2di_1 */
18091 :
18092 : case 36:
18093 : if (!(
18094 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18095 : ((64 == 64 || TARGET_AVX512VL
18096 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18097 : && ix86_pre_reload_split ()) &&
18098 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18099 : (TARGET_AVX512F)))
18100 : return -1;
18101 : return 6842; /* *avx512bw_vpternlogv64qi_3 */
18102 :
18103 : case 37:
18104 : if (!(
18105 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18106 : ((32 == 64 || TARGET_AVX512VL
18107 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18108 : && ix86_pre_reload_split ()) &&
18109 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18110 : (TARGET_AVX)))
18111 : return -1;
18112 : return 6851; /* *avx512vl_vpternlogv32qi_3 */
18113 :
18114 : case 38:
18115 : if (!
18116 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18117 : ((16 == 64 || TARGET_AVX512VL
18118 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18119 : && ix86_pre_reload_split ()))
18120 : return -1;
18121 : return 6860; /* *avx512vl_vpternlogv16qi_3 */
18122 :
18123 : case 39:
18124 : if (!(
18125 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18126 : ((64 == 64 || TARGET_AVX512VL
18127 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18128 : && ix86_pre_reload_split ()) &&
18129 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18130 : (TARGET_AVX512F)))
18131 : return -1;
18132 : return 6869; /* *avx512bw_vpternlogv32hi_3 */
18133 :
18134 : case 40:
18135 : if (!(
18136 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18137 : ((32 == 64 || TARGET_AVX512VL
18138 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18139 : && ix86_pre_reload_split ()) &&
18140 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18141 : (TARGET_AVX)))
18142 : return -1;
18143 : return 6878; /* *avx512vl_vpternlogv16hi_3 */
18144 :
18145 : case 41:
18146 : if (!
18147 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18148 : ((16 == 64 || TARGET_AVX512VL
18149 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18150 : && ix86_pre_reload_split ()))
18151 : return -1;
18152 : return 6887; /* *avx512vl_vpternlogv8hi_3 */
18153 :
18154 : case 42:
18155 : if (!(
18156 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18157 : ((64 == 64 || TARGET_AVX512VL
18158 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18159 : && ix86_pre_reload_split ()) &&
18160 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18161 : (TARGET_AVX512F)))
18162 : return -1;
18163 : return 6896; /* *avx512f_vpternlogv16si_3 */
18164 :
18165 : case 43:
18166 : if (!(
18167 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18168 : ((32 == 64 || TARGET_AVX512VL
18169 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18170 : && ix86_pre_reload_split ()) &&
18171 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18172 : (TARGET_AVX)))
18173 : return -1;
18174 : return 6905; /* *avx512vl_vpternlogv8si_3 */
18175 :
18176 : case 44:
18177 : if (!
18178 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18179 : ((16 == 64 || TARGET_AVX512VL
18180 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18181 : && ix86_pre_reload_split ()))
18182 : return -1;
18183 : return 6914; /* *avx512vl_vpternlogv4si_3 */
18184 :
18185 : case 45:
18186 : if (!(
18187 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18188 : ((64 == 64 || TARGET_AVX512VL
18189 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18190 : && ix86_pre_reload_split ()) &&
18191 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18192 : (TARGET_AVX512F)))
18193 : return -1;
18194 : return 6923; /* *avx512f_vpternlogv8di_3 */
18195 :
18196 : case 46:
18197 : if (!(
18198 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18199 : ((32 == 64 || TARGET_AVX512VL
18200 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18201 : && ix86_pre_reload_split ()) &&
18202 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18203 : (TARGET_AVX)))
18204 : return -1;
18205 : return 6932; /* *avx512vl_vpternlogv4di_3 */
18206 :
18207 : case 47:
18208 : if (!
18209 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18210 : ((16 == 64 || TARGET_AVX512VL
18211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18212 : && ix86_pre_reload_split ()))
18213 : return -1;
18214 : return 6941; /* *avx512vl_vpternlogv2di_3 */
18215 :
18216 : default:
18217 : return -1;
18218 : }
18219 :
18220 : case AND:
18221 : switch (pattern537 (x2))
18222 : {
18223 : case 0:
18224 : if (!(
18225 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18226 : ((64 == 64 || TARGET_AVX512VL
18227 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18228 : && ix86_pre_reload_split ()
18229 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18230 : STRIP_UNARY (operands[4]))
18231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18232 : STRIP_UNARY (operands[4]))
18233 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18234 : STRIP_UNARY (operands[3]))
18235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18236 : STRIP_UNARY (operands[3])))) &&
18237 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18238 : (TARGET_AVX512F)))
18239 : return -1;
18240 : return 6206; /* *avx512bw_vpternlogv64qi_2 */
18241 :
18242 : case 1:
18243 : if (!(
18244 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18245 : ((32 == 64 || TARGET_AVX512VL
18246 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18247 : && ix86_pre_reload_split ()
18248 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18249 : STRIP_UNARY (operands[4]))
18250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18251 : STRIP_UNARY (operands[4]))
18252 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18253 : STRIP_UNARY (operands[3]))
18254 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18255 : STRIP_UNARY (operands[3])))) &&
18256 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18257 : (TARGET_AVX)))
18258 : return -1;
18259 : return 6233; /* *avx512vl_vpternlogv32qi_2 */
18260 :
18261 : case 2:
18262 : if (!
18263 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18264 : ((16 == 64 || TARGET_AVX512VL
18265 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18266 : && ix86_pre_reload_split ()
18267 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18268 : STRIP_UNARY (operands[4]))
18269 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18270 : STRIP_UNARY (operands[4]))
18271 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18272 : STRIP_UNARY (operands[3]))
18273 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18274 : STRIP_UNARY (operands[3])))))
18275 : return -1;
18276 : return 6260; /* *avx512vl_vpternlogv16qi_2 */
18277 :
18278 : case 3:
18279 : if (!(
18280 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18281 : ((64 == 64 || TARGET_AVX512VL
18282 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18283 : && ix86_pre_reload_split ()
18284 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18285 : STRIP_UNARY (operands[4]))
18286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18287 : STRIP_UNARY (operands[4]))
18288 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18289 : STRIP_UNARY (operands[3]))
18290 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18291 : STRIP_UNARY (operands[3])))) &&
18292 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18293 : (TARGET_AVX512F)))
18294 : return -1;
18295 : return 6287; /* *avx512bw_vpternlogv32hi_2 */
18296 :
18297 : case 4:
18298 : if (!(
18299 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18300 : ((32 == 64 || TARGET_AVX512VL
18301 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18302 : && ix86_pre_reload_split ()
18303 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18304 : STRIP_UNARY (operands[4]))
18305 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18306 : STRIP_UNARY (operands[4]))
18307 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18308 : STRIP_UNARY (operands[3]))
18309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18310 : STRIP_UNARY (operands[3])))) &&
18311 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18312 : (TARGET_AVX)))
18313 : return -1;
18314 : return 6314; /* *avx512vl_vpternlogv16hi_2 */
18315 :
18316 : case 5:
18317 : if (!
18318 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18319 : ((16 == 64 || TARGET_AVX512VL
18320 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18321 : && ix86_pre_reload_split ()
18322 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18323 : STRIP_UNARY (operands[4]))
18324 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18325 : STRIP_UNARY (operands[4]))
18326 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18327 : STRIP_UNARY (operands[3]))
18328 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18329 : STRIP_UNARY (operands[3])))))
18330 : return -1;
18331 : return 6341; /* *avx512vl_vpternlogv8hi_2 */
18332 :
18333 : case 6:
18334 : if (!(
18335 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18336 : ((64 == 64 || TARGET_AVX512VL
18337 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18338 : && ix86_pre_reload_split ()
18339 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18340 : STRIP_UNARY (operands[4]))
18341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18342 : STRIP_UNARY (operands[4]))
18343 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18344 : STRIP_UNARY (operands[3]))
18345 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18346 : STRIP_UNARY (operands[3])))) &&
18347 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18348 : (TARGET_AVX512F)))
18349 : return -1;
18350 : return 6368; /* *avx512f_vpternlogv16si_2 */
18351 :
18352 : case 7:
18353 : if (!(
18354 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18355 : ((32 == 64 || TARGET_AVX512VL
18356 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18357 : && ix86_pre_reload_split ()
18358 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18359 : STRIP_UNARY (operands[4]))
18360 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18361 : STRIP_UNARY (operands[4]))
18362 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18363 : STRIP_UNARY (operands[3]))
18364 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18365 : STRIP_UNARY (operands[3])))) &&
18366 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18367 : (TARGET_AVX)))
18368 : return -1;
18369 : return 6395; /* *avx512vl_vpternlogv8si_2 */
18370 :
18371 : case 8:
18372 : if (!
18373 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18374 : ((16 == 64 || TARGET_AVX512VL
18375 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18376 : && ix86_pre_reload_split ()
18377 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18378 : STRIP_UNARY (operands[4]))
18379 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18380 : STRIP_UNARY (operands[4]))
18381 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18382 : STRIP_UNARY (operands[3]))
18383 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18384 : STRIP_UNARY (operands[3])))))
18385 : return -1;
18386 : return 6422; /* *avx512vl_vpternlogv4si_2 */
18387 :
18388 : case 9:
18389 : if (!(
18390 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18391 : ((64 == 64 || TARGET_AVX512VL
18392 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18393 : && ix86_pre_reload_split ()
18394 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18395 : STRIP_UNARY (operands[4]))
18396 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18397 : STRIP_UNARY (operands[4]))
18398 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18399 : STRIP_UNARY (operands[3]))
18400 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18401 : STRIP_UNARY (operands[3])))) &&
18402 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18403 : (TARGET_AVX512F)))
18404 : return -1;
18405 : return 6449; /* *avx512f_vpternlogv8di_2 */
18406 :
18407 : case 10:
18408 : if (!(
18409 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18410 : ((32 == 64 || TARGET_AVX512VL
18411 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18412 : && ix86_pre_reload_split ()
18413 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18414 : STRIP_UNARY (operands[4]))
18415 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18416 : STRIP_UNARY (operands[4]))
18417 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18418 : STRIP_UNARY (operands[3]))
18419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18420 : STRIP_UNARY (operands[3])))) &&
18421 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18422 : (TARGET_AVX)))
18423 : return -1;
18424 : return 6476; /* *avx512vl_vpternlogv4di_2 */
18425 :
18426 : case 11:
18427 : if (!
18428 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18429 : ((16 == 64 || TARGET_AVX512VL
18430 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18431 : && ix86_pre_reload_split ()
18432 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18433 : STRIP_UNARY (operands[4]))
18434 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18435 : STRIP_UNARY (operands[4]))
18436 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18437 : STRIP_UNARY (operands[3]))
18438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18439 : STRIP_UNARY (operands[3])))))
18440 : return -1;
18441 : return 6503; /* *avx512vl_vpternlogv2di_2 */
18442 :
18443 : default:
18444 : return -1;
18445 : }
18446 :
18447 : case IOR:
18448 : switch (pattern537 (x2))
18449 : {
18450 : case 0:
18451 : if (!(
18452 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18453 : ((64 == 64 || TARGET_AVX512VL
18454 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18455 : && ix86_pre_reload_split ()
18456 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18457 : STRIP_UNARY (operands[4]))
18458 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18459 : STRIP_UNARY (operands[4]))
18460 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18461 : STRIP_UNARY (operands[3]))
18462 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18463 : STRIP_UNARY (operands[3])))) &&
18464 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18465 : (TARGET_AVX512F)))
18466 : return -1;
18467 : return 6209; /* *avx512bw_vpternlogv64qi_2 */
18468 :
18469 : case 1:
18470 : if (!(
18471 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18472 : ((32 == 64 || TARGET_AVX512VL
18473 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18474 : && ix86_pre_reload_split ()
18475 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18476 : STRIP_UNARY (operands[4]))
18477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18478 : STRIP_UNARY (operands[4]))
18479 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18480 : STRIP_UNARY (operands[3]))
18481 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18482 : STRIP_UNARY (operands[3])))) &&
18483 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18484 : (TARGET_AVX)))
18485 : return -1;
18486 : return 6236; /* *avx512vl_vpternlogv32qi_2 */
18487 :
18488 : case 2:
18489 : if (!
18490 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18491 : ((16 == 64 || TARGET_AVX512VL
18492 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18493 : && ix86_pre_reload_split ()
18494 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18495 : STRIP_UNARY (operands[4]))
18496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18497 : STRIP_UNARY (operands[4]))
18498 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18499 : STRIP_UNARY (operands[3]))
18500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18501 : STRIP_UNARY (operands[3])))))
18502 : return -1;
18503 : return 6263; /* *avx512vl_vpternlogv16qi_2 */
18504 :
18505 : case 3:
18506 : if (!(
18507 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18508 : ((64 == 64 || TARGET_AVX512VL
18509 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18510 : && ix86_pre_reload_split ()
18511 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18512 : STRIP_UNARY (operands[4]))
18513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18514 : STRIP_UNARY (operands[4]))
18515 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18516 : STRIP_UNARY (operands[3]))
18517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18518 : STRIP_UNARY (operands[3])))) &&
18519 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18520 : (TARGET_AVX512F)))
18521 : return -1;
18522 : return 6290; /* *avx512bw_vpternlogv32hi_2 */
18523 :
18524 : case 4:
18525 : if (!(
18526 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18527 : ((32 == 64 || TARGET_AVX512VL
18528 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18529 : && ix86_pre_reload_split ()
18530 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18531 : STRIP_UNARY (operands[4]))
18532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18533 : STRIP_UNARY (operands[4]))
18534 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18535 : STRIP_UNARY (operands[3]))
18536 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18537 : STRIP_UNARY (operands[3])))) &&
18538 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18539 : (TARGET_AVX)))
18540 : return -1;
18541 : return 6317; /* *avx512vl_vpternlogv16hi_2 */
18542 :
18543 : case 5:
18544 : if (!
18545 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18546 : ((16 == 64 || TARGET_AVX512VL
18547 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18548 : && ix86_pre_reload_split ()
18549 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18550 : STRIP_UNARY (operands[4]))
18551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18552 : STRIP_UNARY (operands[4]))
18553 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18554 : STRIP_UNARY (operands[3]))
18555 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18556 : STRIP_UNARY (operands[3])))))
18557 : return -1;
18558 : return 6344; /* *avx512vl_vpternlogv8hi_2 */
18559 :
18560 : case 6:
18561 : if (!(
18562 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18563 : ((64 == 64 || TARGET_AVX512VL
18564 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18565 : && ix86_pre_reload_split ()
18566 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18567 : STRIP_UNARY (operands[4]))
18568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18569 : STRIP_UNARY (operands[4]))
18570 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18571 : STRIP_UNARY (operands[3]))
18572 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18573 : STRIP_UNARY (operands[3])))) &&
18574 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18575 : (TARGET_AVX512F)))
18576 : return -1;
18577 : return 6371; /* *avx512f_vpternlogv16si_2 */
18578 :
18579 : case 7:
18580 : if (!(
18581 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18582 : ((32 == 64 || TARGET_AVX512VL
18583 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18584 : && ix86_pre_reload_split ()
18585 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18586 : STRIP_UNARY (operands[4]))
18587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18588 : STRIP_UNARY (operands[4]))
18589 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18590 : STRIP_UNARY (operands[3]))
18591 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18592 : STRIP_UNARY (operands[3])))) &&
18593 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18594 : (TARGET_AVX)))
18595 : return -1;
18596 : return 6398; /* *avx512vl_vpternlogv8si_2 */
18597 :
18598 : case 8:
18599 : if (!
18600 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18601 : ((16 == 64 || TARGET_AVX512VL
18602 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18603 : && ix86_pre_reload_split ()
18604 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18605 : STRIP_UNARY (operands[4]))
18606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18607 : STRIP_UNARY (operands[4]))
18608 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18609 : STRIP_UNARY (operands[3]))
18610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18611 : STRIP_UNARY (operands[3])))))
18612 : return -1;
18613 : return 6425; /* *avx512vl_vpternlogv4si_2 */
18614 :
18615 : case 9:
18616 : if (!(
18617 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18618 : ((64 == 64 || TARGET_AVX512VL
18619 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18620 : && ix86_pre_reload_split ()
18621 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18622 : STRIP_UNARY (operands[4]))
18623 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18624 : STRIP_UNARY (operands[4]))
18625 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18626 : STRIP_UNARY (operands[3]))
18627 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18628 : STRIP_UNARY (operands[3])))) &&
18629 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18630 : (TARGET_AVX512F)))
18631 : return -1;
18632 : return 6452; /* *avx512f_vpternlogv8di_2 */
18633 :
18634 : case 10:
18635 : if (!(
18636 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18637 : ((32 == 64 || TARGET_AVX512VL
18638 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18639 : && ix86_pre_reload_split ()
18640 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18641 : STRIP_UNARY (operands[4]))
18642 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18643 : STRIP_UNARY (operands[4]))
18644 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18645 : STRIP_UNARY (operands[3]))
18646 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18647 : STRIP_UNARY (operands[3])))) &&
18648 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18649 : (TARGET_AVX)))
18650 : return -1;
18651 : return 6479; /* *avx512vl_vpternlogv4di_2 */
18652 :
18653 : case 11:
18654 : if (!
18655 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18656 : ((16 == 64 || TARGET_AVX512VL
18657 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18658 : && ix86_pre_reload_split ()
18659 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18660 : STRIP_UNARY (operands[4]))
18661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18662 : STRIP_UNARY (operands[4]))
18663 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18664 : STRIP_UNARY (operands[3]))
18665 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18666 : STRIP_UNARY (operands[3])))))
18667 : return -1;
18668 : return 6506; /* *avx512vl_vpternlogv2di_2 */
18669 :
18670 : default:
18671 : return -1;
18672 : }
18673 :
18674 : case XOR:
18675 : switch (pattern537 (x2))
18676 : {
18677 : case 0:
18678 : if (!(
18679 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18680 : ((64 == 64 || TARGET_AVX512VL
18681 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18682 : && ix86_pre_reload_split ()
18683 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18684 : STRIP_UNARY (operands[4]))
18685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18686 : STRIP_UNARY (operands[4]))
18687 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18688 : STRIP_UNARY (operands[3]))
18689 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18690 : STRIP_UNARY (operands[3])))) &&
18691 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18692 : (TARGET_AVX512F)))
18693 : return -1;
18694 : return 6212; /* *avx512bw_vpternlogv64qi_2 */
18695 :
18696 : case 1:
18697 : if (!(
18698 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18699 : ((32 == 64 || TARGET_AVX512VL
18700 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18701 : && ix86_pre_reload_split ()
18702 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18703 : STRIP_UNARY (operands[4]))
18704 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18705 : STRIP_UNARY (operands[4]))
18706 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18707 : STRIP_UNARY (operands[3]))
18708 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18709 : STRIP_UNARY (operands[3])))) &&
18710 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18711 : (TARGET_AVX)))
18712 : return -1;
18713 : return 6239; /* *avx512vl_vpternlogv32qi_2 */
18714 :
18715 : case 2:
18716 : if (!
18717 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18718 : ((16 == 64 || TARGET_AVX512VL
18719 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18720 : && ix86_pre_reload_split ()
18721 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18722 : STRIP_UNARY (operands[4]))
18723 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18724 : STRIP_UNARY (operands[4]))
18725 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18726 : STRIP_UNARY (operands[3]))
18727 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18728 : STRIP_UNARY (operands[3])))))
18729 : return -1;
18730 : return 6266; /* *avx512vl_vpternlogv16qi_2 */
18731 :
18732 : case 3:
18733 : if (!(
18734 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18735 : ((64 == 64 || TARGET_AVX512VL
18736 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18737 : && ix86_pre_reload_split ()
18738 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18739 : STRIP_UNARY (operands[4]))
18740 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18741 : STRIP_UNARY (operands[4]))
18742 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18743 : STRIP_UNARY (operands[3]))
18744 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18745 : STRIP_UNARY (operands[3])))) &&
18746 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18747 : (TARGET_AVX512F)))
18748 : return -1;
18749 : return 6293; /* *avx512bw_vpternlogv32hi_2 */
18750 :
18751 : case 4:
18752 : if (!(
18753 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18754 : ((32 == 64 || TARGET_AVX512VL
18755 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18756 : && ix86_pre_reload_split ()
18757 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18758 : STRIP_UNARY (operands[4]))
18759 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18760 : STRIP_UNARY (operands[4]))
18761 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18762 : STRIP_UNARY (operands[3]))
18763 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18764 : STRIP_UNARY (operands[3])))) &&
18765 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18766 : (TARGET_AVX)))
18767 : return -1;
18768 : return 6320; /* *avx512vl_vpternlogv16hi_2 */
18769 :
18770 : case 5:
18771 : if (!
18772 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18773 : ((16 == 64 || TARGET_AVX512VL
18774 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18775 : && ix86_pre_reload_split ()
18776 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18777 : STRIP_UNARY (operands[4]))
18778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18779 : STRIP_UNARY (operands[4]))
18780 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18781 : STRIP_UNARY (operands[3]))
18782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18783 : STRIP_UNARY (operands[3])))))
18784 : return -1;
18785 : return 6347; /* *avx512vl_vpternlogv8hi_2 */
18786 :
18787 : case 6:
18788 : if (!(
18789 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18790 : ((64 == 64 || TARGET_AVX512VL
18791 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18792 : && ix86_pre_reload_split ()
18793 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18794 : STRIP_UNARY (operands[4]))
18795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18796 : STRIP_UNARY (operands[4]))
18797 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18798 : STRIP_UNARY (operands[3]))
18799 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18800 : STRIP_UNARY (operands[3])))) &&
18801 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18802 : (TARGET_AVX512F)))
18803 : return -1;
18804 : return 6374; /* *avx512f_vpternlogv16si_2 */
18805 :
18806 : case 7:
18807 : if (!(
18808 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18809 : ((32 == 64 || TARGET_AVX512VL
18810 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18811 : && ix86_pre_reload_split ()
18812 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18813 : STRIP_UNARY (operands[4]))
18814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18815 : STRIP_UNARY (operands[4]))
18816 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18817 : STRIP_UNARY (operands[3]))
18818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18819 : STRIP_UNARY (operands[3])))) &&
18820 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18821 : (TARGET_AVX)))
18822 : return -1;
18823 : return 6401; /* *avx512vl_vpternlogv8si_2 */
18824 :
18825 : case 8:
18826 : if (!
18827 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18828 : ((16 == 64 || TARGET_AVX512VL
18829 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18830 : && ix86_pre_reload_split ()
18831 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18832 : STRIP_UNARY (operands[4]))
18833 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18834 : STRIP_UNARY (operands[4]))
18835 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18836 : STRIP_UNARY (operands[3]))
18837 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18838 : STRIP_UNARY (operands[3])))))
18839 : return -1;
18840 : return 6428; /* *avx512vl_vpternlogv4si_2 */
18841 :
18842 : case 9:
18843 : if (!(
18844 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18845 : ((64 == 64 || TARGET_AVX512VL
18846 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18847 : && ix86_pre_reload_split ()
18848 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18849 : STRIP_UNARY (operands[4]))
18850 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18851 : STRIP_UNARY (operands[4]))
18852 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18853 : STRIP_UNARY (operands[3]))
18854 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18855 : STRIP_UNARY (operands[3])))) &&
18856 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18857 : (TARGET_AVX512F)))
18858 : return -1;
18859 : return 6455; /* *avx512f_vpternlogv8di_2 */
18860 :
18861 : case 10:
18862 : if (!(
18863 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18864 : ((32 == 64 || TARGET_AVX512VL
18865 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18866 : && ix86_pre_reload_split ()
18867 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18868 : STRIP_UNARY (operands[4]))
18869 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18870 : STRIP_UNARY (operands[4]))
18871 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18872 : STRIP_UNARY (operands[3]))
18873 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18874 : STRIP_UNARY (operands[3])))) &&
18875 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18876 : (TARGET_AVX)))
18877 : return -1;
18878 : return 6482; /* *avx512vl_vpternlogv4di_2 */
18879 :
18880 : case 11:
18881 : if (!
18882 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18883 : ((16 == 64 || TARGET_AVX512VL
18884 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18885 : && ix86_pre_reload_split ()
18886 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18887 : STRIP_UNARY (operands[4]))
18888 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18889 : STRIP_UNARY (operands[4]))
18890 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18891 : STRIP_UNARY (operands[3]))
18892 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18893 : STRIP_UNARY (operands[3])))))
18894 : return -1;
18895 : return 6509; /* *avx512vl_vpternlogv2di_2 */
18896 :
18897 : default:
18898 : return -1;
18899 : }
18900 :
18901 : default:
18902 : return -1;
18903 : }
18904 : }
18905 :
18906 : int
18907 : recog_320 (rtx x1 ATTRIBUTE_UNUSED,
18908 : rtx_insn *insn ATTRIBUTE_UNUSED,
18909 : int *pnum_clobbers ATTRIBUTE_UNUSED)
18910 : {
18911 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18912 : rtx x2, x3, x4, x5;
18913 : int res ATTRIBUTE_UNUSED;
18914 : x2 = XEXP (x1, 1);
18915 : x3 = XEXP (x2, 0);
18916 : switch (GET_CODE (x3))
18917 : {
18918 : case REG:
18919 : case SUBREG:
18920 : case MEM:
18921 : case VEC_DUPLICATE:
18922 : operands[1] = x3;
18923 : x4 = XEXP (x2, 1);
18924 : operands[2] = x4;
18925 : switch (GET_MODE (operands[0]))
18926 : {
18927 : case E_V16BFmode:
18928 : if (pattern26 (x2,
18929 : E_V16BFmode) != 0
18930 : || !(
18931 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18932 : (TARGET_SSE && 1
18933 : && (!false || 16 != 16)
18934 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18935 : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18936 : (TARGET_AVX)))
18937 : return -1;
18938 : return 3784; /* *iorv16bf3 */
18939 :
18940 : case E_V8BFmode:
18941 : if (pattern26 (x2,
18942 : E_V8BFmode) != 0
18943 : || !(
18944 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18945 : (TARGET_SSE && 1
18946 : && (!false || 16 != 16)
18947 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18948 : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18949 : (TARGET_SSE2)))
18950 : return -1;
18951 : return 3787; /* *iorv8bf3 */
18952 :
18953 : case E_V16HFmode:
18954 : if (pattern26 (x2,
18955 : E_V16HFmode) != 0
18956 : || !(
18957 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18958 : (TARGET_SSE && 1
18959 : && (!false || 16 != 16)
18960 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18961 : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18962 : (TARGET_AVX)))
18963 : return -1;
18964 : return 3790; /* *iorv16hf3 */
18965 :
18966 : case E_V8HFmode:
18967 : if (pattern26 (x2,
18968 : E_V8HFmode) != 0
18969 : || !(
18970 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18971 : (TARGET_SSE && 1
18972 : && (!false || 16 != 16)
18973 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18974 : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18975 : (TARGET_SSE2)))
18976 : return -1;
18977 : return 3793; /* *iorv8hf3 */
18978 :
18979 : case E_V8SFmode:
18980 : if (pattern26 (x2,
18981 : E_V8SFmode) != 0
18982 : || !(
18983 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18984 : (TARGET_SSE && 1
18985 : && (!false || 32 != 16)
18986 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
18987 : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18988 : (TARGET_AVX)))
18989 : return -1;
18990 : return 3797; /* *iorv8sf3 */
18991 :
18992 : case E_V4SFmode:
18993 : if (pattern26 (x2,
18994 : E_V4SFmode) != 0
18995 : || !
18996 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18997 : (TARGET_SSE && 1
18998 : && (!false || 32 != 16)
18999 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19000 : return -1;
19001 : return 3803; /* *iorv4sf3 */
19002 :
19003 : case E_V4DFmode:
19004 : if (pattern26 (x2,
19005 : E_V4DFmode) != 0
19006 : || !(
19007 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19008 : (TARGET_SSE && 1
19009 : && (!false || 64 != 16)
19010 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19011 : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19012 : (TARGET_AVX)))
19013 : return -1;
19014 : return 3809; /* *iorv4df3 */
19015 :
19016 : case E_V2DFmode:
19017 : if (pattern26 (x2,
19018 : E_V2DFmode) != 0
19019 : || !(
19020 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19021 : (TARGET_SSE && 1
19022 : && (!false || 64 != 16)
19023 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19024 : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19025 : (TARGET_SSE2)))
19026 : return -1;
19027 : return 3815; /* *iorv2df3 */
19028 :
19029 : case E_V32BFmode:
19030 : if (pattern3 (x2,
19031 : E_V32BFmode) != 0
19032 : || !
19033 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19034 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
19035 : && (!false || 16 != 16)))
19036 : return -1;
19037 : return 3820; /* *iorv32bf3 */
19038 :
19039 : case E_V32HFmode:
19040 : if (pattern3 (x2,
19041 : E_V32HFmode) != 0
19042 : || !
19043 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19044 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
19045 : && (!false || 16 != 16)))
19046 : return -1;
19047 : return 3823; /* *iorv32hf3 */
19048 :
19049 : case E_V16SFmode:
19050 : if (pattern3 (x2,
19051 : E_V16SFmode) != 0
19052 : || !
19053 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19054 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
19055 : && (!false || 32 != 16)))
19056 : return -1;
19057 : return 3827; /* *iorv16sf3 */
19058 :
19059 : case E_V8DFmode:
19060 : if (pattern3 (x2,
19061 : E_V8DFmode) != 0
19062 : || !
19063 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19064 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
19065 : && (!false || 64 != 16)))
19066 : return -1;
19067 : return 3833; /* *iorv8df3 */
19068 :
19069 : case E_V16SImode:
19070 : if (pattern189 (x2,
19071 : E_V16SImode) != 0
19072 : || !(
19073 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19074 : (TARGET_SSE && 1
19075 : && ix86_binary_operator_ok (IOR, V16SImode, operands)) &&
19076 : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19077 : (TARGET_AVX512F)))
19078 : return -1;
19079 : return 8051; /* *iorv16si3 */
19080 :
19081 : case E_V8SImode:
19082 : if (pattern189 (x2,
19083 : E_V8SImode) != 0
19084 : || !(
19085 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19086 : (TARGET_SSE && 1
19087 : && ix86_binary_operator_ok (IOR, V8SImode, operands)) &&
19088 : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19089 : (TARGET_AVX)))
19090 : return -1;
19091 : return 8057; /* *iorv8si3 */
19092 :
19093 : case E_V4SImode:
19094 : if (pattern189 (x2,
19095 : E_V4SImode) != 0
19096 : || !
19097 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19098 : (TARGET_SSE && 1
19099 : && ix86_binary_operator_ok (IOR, V4SImode, operands)))
19100 : return -1;
19101 : return 8063; /* *iorv4si3 */
19102 :
19103 : case E_V8DImode:
19104 : if (pattern189 (x2,
19105 : E_V8DImode) != 0
19106 : || !(
19107 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19108 : (TARGET_SSE && 1
19109 : && ix86_binary_operator_ok (IOR, V8DImode, operands)) &&
19110 : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19111 : (TARGET_AVX512F)))
19112 : return -1;
19113 : return 8069; /* *iorv8di3 */
19114 :
19115 : case E_V4DImode:
19116 : if (pattern189 (x2,
19117 : E_V4DImode) != 0
19118 : || !(
19119 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19120 : (TARGET_SSE && 1
19121 : && ix86_binary_operator_ok (IOR, V4DImode, operands)) &&
19122 : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19123 : (TARGET_AVX)))
19124 : return -1;
19125 : return 8075; /* *iorv4di3 */
19126 :
19127 : case E_V2DImode:
19128 : if (pattern189 (x2,
19129 : E_V2DImode) != 0
19130 : || !
19131 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19132 : (TARGET_SSE && 1
19133 : && ix86_binary_operator_ok (IOR, V2DImode, operands)))
19134 : return -1;
19135 : return 8081; /* *iorv2di3 */
19136 :
19137 : case E_V64QImode:
19138 : if (pattern26 (x2,
19139 : E_V64QImode) != 0
19140 : || !(
19141 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19142 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19143 : #line 803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19144 : (TARGET_AVX512F)))
19145 : return -1;
19146 : return 8086; /* *iorv64qi3 */
19147 :
19148 : case E_V32QImode:
19149 : if (pattern26 (x2,
19150 : E_V32QImode) != 0
19151 : || !(
19152 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19153 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19154 : #line 803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19155 : (TARGET_AVX)))
19156 : return -1;
19157 : return 8089; /* *iorv32qi3 */
19158 :
19159 : case E_V16QImode:
19160 : if (pattern26 (x2,
19161 : E_V16QImode) != 0
19162 : || !
19163 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19164 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19165 : return -1;
19166 : return 8092; /* *iorv16qi3 */
19167 :
19168 : case E_V32HImode:
19169 : if (pattern26 (x2,
19170 : E_V32HImode) != 0
19171 : || !(
19172 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19173 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19174 : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19175 : (TARGET_AVX512F)))
19176 : return -1;
19177 : return 8095; /* *iorv32hi3 */
19178 :
19179 : case E_V16HImode:
19180 : if (pattern26 (x2,
19181 : E_V16HImode) != 0
19182 : || !(
19183 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19184 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
19185 : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19186 : (TARGET_AVX)))
19187 : return -1;
19188 : return 8098; /* *iorv16hi3 */
19189 :
19190 : case E_V8HImode:
19191 : if (pattern26 (x2,
19192 : E_V8HImode) != 0
19193 : || !
19194 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19195 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19196 : return -1;
19197 : return 8101; /* *iorv8hi3 */
19198 :
19199 : case E_V1TImode:
19200 : if (pattern680 (x2,
19201 : E_V1TImode) != 0
19202 : || !
19203 : #line 19268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19204 : (TARGET_SSE2))
19205 : return -1;
19206 : return 8104; /* iorv1ti3 */
19207 :
19208 : default:
19209 : return -1;
19210 : }
19211 :
19212 : case AND:
19213 : x5 = XEXP (x3, 0);
19214 : switch (GET_CODE (x5))
19215 : {
19216 : case REG:
19217 : case SUBREG:
19218 : case MEM:
19219 : case NOT:
19220 : switch (pattern535 (x2))
19221 : {
19222 : case 0:
19223 : if (!(
19224 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19225 : ((64 == 64 || TARGET_AVX512VL
19226 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19227 : && ix86_pre_reload_split ()
19228 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19229 : STRIP_UNARY (operands[4]))
19230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19231 : STRIP_UNARY (operands[4]))
19232 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19233 : STRIP_UNARY (operands[3]))
19234 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19235 : STRIP_UNARY (operands[3])))) &&
19236 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19237 : (TARGET_AVX512F)))
19238 : return -1;
19239 : return 5539; /* *avx512bw_vpternlogv64qi_1 */
19240 :
19241 : case 1:
19242 : if (!(
19243 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19244 : ((32 == 64 || TARGET_AVX512VL
19245 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19246 : && ix86_pre_reload_split ()
19247 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19248 : STRIP_UNARY (operands[4]))
19249 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19250 : STRIP_UNARY (operands[4]))
19251 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19252 : STRIP_UNARY (operands[3]))
19253 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19254 : STRIP_UNARY (operands[3])))) &&
19255 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19256 : (TARGET_AVX)))
19257 : return -1;
19258 : return 5566; /* *avx512vl_vpternlogv32qi_1 */
19259 :
19260 : case 2:
19261 : if (!
19262 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19263 : ((16 == 64 || TARGET_AVX512VL
19264 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19265 : && ix86_pre_reload_split ()
19266 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19267 : STRIP_UNARY (operands[4]))
19268 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19269 : STRIP_UNARY (operands[4]))
19270 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19271 : STRIP_UNARY (operands[3]))
19272 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19273 : STRIP_UNARY (operands[3])))))
19274 : return -1;
19275 : return 5593; /* *avx512vl_vpternlogv16qi_1 */
19276 :
19277 : case 3:
19278 : if (!(
19279 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19280 : ((64 == 64 || TARGET_AVX512VL
19281 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19282 : && ix86_pre_reload_split ()
19283 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19284 : STRIP_UNARY (operands[4]))
19285 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19286 : STRIP_UNARY (operands[4]))
19287 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19288 : STRIP_UNARY (operands[3]))
19289 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19290 : STRIP_UNARY (operands[3])))) &&
19291 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19292 : (TARGET_AVX512F)))
19293 : return -1;
19294 : return 5620; /* *avx512bw_vpternlogv32hi_1 */
19295 :
19296 : case 4:
19297 : if (!(
19298 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19299 : ((32 == 64 || TARGET_AVX512VL
19300 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19301 : && ix86_pre_reload_split ()
19302 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19303 : STRIP_UNARY (operands[4]))
19304 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19305 : STRIP_UNARY (operands[4]))
19306 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19307 : STRIP_UNARY (operands[3]))
19308 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19309 : STRIP_UNARY (operands[3])))) &&
19310 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19311 : (TARGET_AVX)))
19312 : return -1;
19313 : return 5647; /* *avx512vl_vpternlogv16hi_1 */
19314 :
19315 : case 5:
19316 : if (!
19317 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19318 : ((16 == 64 || TARGET_AVX512VL
19319 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19320 : && ix86_pre_reload_split ()
19321 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19322 : STRIP_UNARY (operands[4]))
19323 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19324 : STRIP_UNARY (operands[4]))
19325 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19326 : STRIP_UNARY (operands[3]))
19327 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19328 : STRIP_UNARY (operands[3])))))
19329 : return -1;
19330 : return 5674; /* *avx512vl_vpternlogv8hi_1 */
19331 :
19332 : case 6:
19333 : if (!(
19334 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19335 : ((64 == 64 || TARGET_AVX512VL
19336 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19337 : && ix86_pre_reload_split ()
19338 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19339 : STRIP_UNARY (operands[4]))
19340 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19341 : STRIP_UNARY (operands[4]))
19342 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19343 : STRIP_UNARY (operands[3]))
19344 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19345 : STRIP_UNARY (operands[3])))) &&
19346 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19347 : (TARGET_AVX512F)))
19348 : return -1;
19349 : return 5701; /* *avx512f_vpternlogv16si_1 */
19350 :
19351 : case 7:
19352 : if (!(
19353 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19354 : ((32 == 64 || TARGET_AVX512VL
19355 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19356 : && ix86_pre_reload_split ()
19357 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19358 : STRIP_UNARY (operands[4]))
19359 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19360 : STRIP_UNARY (operands[4]))
19361 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19362 : STRIP_UNARY (operands[3]))
19363 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19364 : STRIP_UNARY (operands[3])))) &&
19365 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19366 : (TARGET_AVX)))
19367 : return -1;
19368 : return 5728; /* *avx512vl_vpternlogv8si_1 */
19369 :
19370 : case 8:
19371 : if (!
19372 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19373 : ((16 == 64 || TARGET_AVX512VL
19374 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19375 : && ix86_pre_reload_split ()
19376 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19377 : STRIP_UNARY (operands[4]))
19378 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19379 : STRIP_UNARY (operands[4]))
19380 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19381 : STRIP_UNARY (operands[3]))
19382 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19383 : STRIP_UNARY (operands[3])))))
19384 : return -1;
19385 : return 5755; /* *avx512vl_vpternlogv4si_1 */
19386 :
19387 : case 9:
19388 : if (!(
19389 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19390 : ((64 == 64 || TARGET_AVX512VL
19391 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19392 : && ix86_pre_reload_split ()
19393 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19394 : STRIP_UNARY (operands[4]))
19395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19396 : STRIP_UNARY (operands[4]))
19397 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19398 : STRIP_UNARY (operands[3]))
19399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19400 : STRIP_UNARY (operands[3])))) &&
19401 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19402 : (TARGET_AVX512F)))
19403 : return -1;
19404 : return 5782; /* *avx512f_vpternlogv8di_1 */
19405 :
19406 : case 10:
19407 : if (!(
19408 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19409 : ((32 == 64 || TARGET_AVX512VL
19410 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19411 : && ix86_pre_reload_split ()
19412 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19413 : STRIP_UNARY (operands[4]))
19414 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19415 : STRIP_UNARY (operands[4]))
19416 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19417 : STRIP_UNARY (operands[3]))
19418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19419 : STRIP_UNARY (operands[3])))) &&
19420 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19421 : (TARGET_AVX)))
19422 : return -1;
19423 : return 5809; /* *avx512vl_vpternlogv4di_1 */
19424 :
19425 : case 11:
19426 : if (!
19427 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19428 : ((16 == 64 || TARGET_AVX512VL
19429 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19430 : && ix86_pre_reload_split ()
19431 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19432 : STRIP_UNARY (operands[4]))
19433 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19434 : STRIP_UNARY (operands[4]))
19435 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19436 : STRIP_UNARY (operands[3]))
19437 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19438 : STRIP_UNARY (operands[3])))))
19439 : return -1;
19440 : return 5836; /* *avx512vl_vpternlogv2di_1 */
19441 :
19442 : case 12:
19443 : if (!(
19444 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19445 : ((64 == 64 || TARGET_AVX512VL
19446 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19447 : && ix86_pre_reload_split ()
19448 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19449 : STRIP_UNARY (operands[4]))
19450 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19451 : STRIP_UNARY (operands[4]))
19452 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19453 : STRIP_UNARY (operands[3]))
19454 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19455 : STRIP_UNARY (operands[3])))) &&
19456 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19457 : (TARGET_AVX512F)))
19458 : return -1;
19459 : return 5542; /* *avx512bw_vpternlogv64qi_1 */
19460 :
19461 : case 13:
19462 : if (!(
19463 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19464 : ((32 == 64 || TARGET_AVX512VL
19465 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19466 : && ix86_pre_reload_split ()
19467 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19468 : STRIP_UNARY (operands[4]))
19469 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19470 : STRIP_UNARY (operands[4]))
19471 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19472 : STRIP_UNARY (operands[3]))
19473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19474 : STRIP_UNARY (operands[3])))) &&
19475 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19476 : (TARGET_AVX)))
19477 : return -1;
19478 : return 5569; /* *avx512vl_vpternlogv32qi_1 */
19479 :
19480 : case 14:
19481 : if (!
19482 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19483 : ((16 == 64 || TARGET_AVX512VL
19484 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19485 : && ix86_pre_reload_split ()
19486 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19487 : STRIP_UNARY (operands[4]))
19488 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19489 : STRIP_UNARY (operands[4]))
19490 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19491 : STRIP_UNARY (operands[3]))
19492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19493 : STRIP_UNARY (operands[3])))))
19494 : return -1;
19495 : return 5596; /* *avx512vl_vpternlogv16qi_1 */
19496 :
19497 : case 15:
19498 : if (!(
19499 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19500 : ((64 == 64 || TARGET_AVX512VL
19501 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19502 : && ix86_pre_reload_split ()
19503 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19504 : STRIP_UNARY (operands[4]))
19505 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19506 : STRIP_UNARY (operands[4]))
19507 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19508 : STRIP_UNARY (operands[3]))
19509 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19510 : STRIP_UNARY (operands[3])))) &&
19511 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19512 : (TARGET_AVX512F)))
19513 : return -1;
19514 : return 5623; /* *avx512bw_vpternlogv32hi_1 */
19515 :
19516 : case 16:
19517 : if (!(
19518 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19519 : ((32 == 64 || TARGET_AVX512VL
19520 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19521 : && ix86_pre_reload_split ()
19522 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19523 : STRIP_UNARY (operands[4]))
19524 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19525 : STRIP_UNARY (operands[4]))
19526 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19527 : STRIP_UNARY (operands[3]))
19528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19529 : STRIP_UNARY (operands[3])))) &&
19530 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19531 : (TARGET_AVX)))
19532 : return -1;
19533 : return 5650; /* *avx512vl_vpternlogv16hi_1 */
19534 :
19535 : case 17:
19536 : if (!
19537 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19538 : ((16 == 64 || TARGET_AVX512VL
19539 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19540 : && ix86_pre_reload_split ()
19541 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19542 : STRIP_UNARY (operands[4]))
19543 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19544 : STRIP_UNARY (operands[4]))
19545 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19546 : STRIP_UNARY (operands[3]))
19547 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19548 : STRIP_UNARY (operands[3])))))
19549 : return -1;
19550 : return 5677; /* *avx512vl_vpternlogv8hi_1 */
19551 :
19552 : case 18:
19553 : if (!(
19554 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19555 : ((64 == 64 || TARGET_AVX512VL
19556 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19557 : && ix86_pre_reload_split ()
19558 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19559 : STRIP_UNARY (operands[4]))
19560 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19561 : STRIP_UNARY (operands[4]))
19562 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19563 : STRIP_UNARY (operands[3]))
19564 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19565 : STRIP_UNARY (operands[3])))) &&
19566 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19567 : (TARGET_AVX512F)))
19568 : return -1;
19569 : return 5704; /* *avx512f_vpternlogv16si_1 */
19570 :
19571 : case 19:
19572 : if (!(
19573 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19574 : ((32 == 64 || TARGET_AVX512VL
19575 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19576 : && ix86_pre_reload_split ()
19577 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19578 : STRIP_UNARY (operands[4]))
19579 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19580 : STRIP_UNARY (operands[4]))
19581 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19582 : STRIP_UNARY (operands[3]))
19583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19584 : STRIP_UNARY (operands[3])))) &&
19585 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19586 : (TARGET_AVX)))
19587 : return -1;
19588 : return 5731; /* *avx512vl_vpternlogv8si_1 */
19589 :
19590 : case 20:
19591 : if (!
19592 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19593 : ((16 == 64 || TARGET_AVX512VL
19594 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19595 : && ix86_pre_reload_split ()
19596 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19597 : STRIP_UNARY (operands[4]))
19598 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19599 : STRIP_UNARY (operands[4]))
19600 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19601 : STRIP_UNARY (operands[3]))
19602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19603 : STRIP_UNARY (operands[3])))))
19604 : return -1;
19605 : return 5758; /* *avx512vl_vpternlogv4si_1 */
19606 :
19607 : case 21:
19608 : if (!(
19609 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19610 : ((64 == 64 || TARGET_AVX512VL
19611 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19612 : && ix86_pre_reload_split ()
19613 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19614 : STRIP_UNARY (operands[4]))
19615 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19616 : STRIP_UNARY (operands[4]))
19617 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19618 : STRIP_UNARY (operands[3]))
19619 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19620 : STRIP_UNARY (operands[3])))) &&
19621 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19622 : (TARGET_AVX512F)))
19623 : return -1;
19624 : return 5785; /* *avx512f_vpternlogv8di_1 */
19625 :
19626 : case 22:
19627 : if (!(
19628 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19629 : ((32 == 64 || TARGET_AVX512VL
19630 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19631 : && ix86_pre_reload_split ()
19632 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19633 : STRIP_UNARY (operands[4]))
19634 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19635 : STRIP_UNARY (operands[4]))
19636 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19637 : STRIP_UNARY (operands[3]))
19638 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19639 : STRIP_UNARY (operands[3])))) &&
19640 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19641 : (TARGET_AVX)))
19642 : return -1;
19643 : return 5812; /* *avx512vl_vpternlogv4di_1 */
19644 :
19645 : case 23:
19646 : if (!
19647 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19648 : ((16 == 64 || TARGET_AVX512VL
19649 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19650 : && ix86_pre_reload_split ()
19651 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19652 : STRIP_UNARY (operands[4]))
19653 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19654 : STRIP_UNARY (operands[4]))
19655 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19656 : STRIP_UNARY (operands[3]))
19657 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19658 : STRIP_UNARY (operands[3])))))
19659 : return -1;
19660 : return 5839; /* *avx512vl_vpternlogv2di_1 */
19661 :
19662 : case 24:
19663 : if (!(
19664 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19665 : ((64 == 64 || TARGET_AVX512VL
19666 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19667 : && ix86_pre_reload_split ()
19668 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19669 : STRIP_UNARY (operands[4]))
19670 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19671 : STRIP_UNARY (operands[4]))
19672 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19673 : STRIP_UNARY (operands[3]))
19674 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19675 : STRIP_UNARY (operands[3])))) &&
19676 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19677 : (TARGET_AVX512F)))
19678 : return -1;
19679 : return 5545; /* *avx512bw_vpternlogv64qi_1 */
19680 :
19681 : case 25:
19682 : if (!(
19683 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19684 : ((32 == 64 || TARGET_AVX512VL
19685 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19686 : && ix86_pre_reload_split ()
19687 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19688 : STRIP_UNARY (operands[4]))
19689 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19690 : STRIP_UNARY (operands[4]))
19691 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19692 : STRIP_UNARY (operands[3]))
19693 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19694 : STRIP_UNARY (operands[3])))) &&
19695 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19696 : (TARGET_AVX)))
19697 : return -1;
19698 : return 5572; /* *avx512vl_vpternlogv32qi_1 */
19699 :
19700 : case 26:
19701 : if (!
19702 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19703 : ((16 == 64 || TARGET_AVX512VL
19704 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19705 : && ix86_pre_reload_split ()
19706 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19707 : STRIP_UNARY (operands[4]))
19708 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19709 : STRIP_UNARY (operands[4]))
19710 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19711 : STRIP_UNARY (operands[3]))
19712 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19713 : STRIP_UNARY (operands[3])))))
19714 : return -1;
19715 : return 5599; /* *avx512vl_vpternlogv16qi_1 */
19716 :
19717 : case 27:
19718 : if (!(
19719 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19720 : ((64 == 64 || TARGET_AVX512VL
19721 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19722 : && ix86_pre_reload_split ()
19723 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19724 : STRIP_UNARY (operands[4]))
19725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19726 : STRIP_UNARY (operands[4]))
19727 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19728 : STRIP_UNARY (operands[3]))
19729 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19730 : STRIP_UNARY (operands[3])))) &&
19731 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19732 : (TARGET_AVX512F)))
19733 : return -1;
19734 : return 5626; /* *avx512bw_vpternlogv32hi_1 */
19735 :
19736 : case 28:
19737 : if (!(
19738 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19739 : ((32 == 64 || TARGET_AVX512VL
19740 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19741 : && ix86_pre_reload_split ()
19742 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19743 : STRIP_UNARY (operands[4]))
19744 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19745 : STRIP_UNARY (operands[4]))
19746 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19747 : STRIP_UNARY (operands[3]))
19748 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19749 : STRIP_UNARY (operands[3])))) &&
19750 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19751 : (TARGET_AVX)))
19752 : return -1;
19753 : return 5653; /* *avx512vl_vpternlogv16hi_1 */
19754 :
19755 : case 29:
19756 : if (!
19757 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19758 : ((16 == 64 || TARGET_AVX512VL
19759 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19760 : && ix86_pre_reload_split ()
19761 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19762 : STRIP_UNARY (operands[4]))
19763 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19764 : STRIP_UNARY (operands[4]))
19765 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19766 : STRIP_UNARY (operands[3]))
19767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19768 : STRIP_UNARY (operands[3])))))
19769 : return -1;
19770 : return 5680; /* *avx512vl_vpternlogv8hi_1 */
19771 :
19772 : case 30:
19773 : if (!(
19774 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19775 : ((64 == 64 || TARGET_AVX512VL
19776 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19777 : && ix86_pre_reload_split ()
19778 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19779 : STRIP_UNARY (operands[4]))
19780 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19781 : STRIP_UNARY (operands[4]))
19782 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19783 : STRIP_UNARY (operands[3]))
19784 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19785 : STRIP_UNARY (operands[3])))) &&
19786 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19787 : (TARGET_AVX512F)))
19788 : return -1;
19789 : return 5707; /* *avx512f_vpternlogv16si_1 */
19790 :
19791 : case 31:
19792 : if (!(
19793 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19794 : ((32 == 64 || TARGET_AVX512VL
19795 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19796 : && ix86_pre_reload_split ()
19797 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19798 : STRIP_UNARY (operands[4]))
19799 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19800 : STRIP_UNARY (operands[4]))
19801 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19802 : STRIP_UNARY (operands[3]))
19803 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19804 : STRIP_UNARY (operands[3])))) &&
19805 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19806 : (TARGET_AVX)))
19807 : return -1;
19808 : return 5734; /* *avx512vl_vpternlogv8si_1 */
19809 :
19810 : case 32:
19811 : if (!
19812 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19813 : ((16 == 64 || TARGET_AVX512VL
19814 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19815 : && ix86_pre_reload_split ()
19816 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19817 : STRIP_UNARY (operands[4]))
19818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19819 : STRIP_UNARY (operands[4]))
19820 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19821 : STRIP_UNARY (operands[3]))
19822 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19823 : STRIP_UNARY (operands[3])))))
19824 : return -1;
19825 : return 5761; /* *avx512vl_vpternlogv4si_1 */
19826 :
19827 : case 33:
19828 : if (!(
19829 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19830 : ((64 == 64 || TARGET_AVX512VL
19831 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19832 : && ix86_pre_reload_split ()
19833 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19834 : STRIP_UNARY (operands[4]))
19835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19836 : STRIP_UNARY (operands[4]))
19837 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19838 : STRIP_UNARY (operands[3]))
19839 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19840 : STRIP_UNARY (operands[3])))) &&
19841 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19842 : (TARGET_AVX512F)))
19843 : return -1;
19844 : return 5788; /* *avx512f_vpternlogv8di_1 */
19845 :
19846 : case 34:
19847 : if (!(
19848 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19849 : ((32 == 64 || TARGET_AVX512VL
19850 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19851 : && ix86_pre_reload_split ()
19852 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19853 : STRIP_UNARY (operands[4]))
19854 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19855 : STRIP_UNARY (operands[4]))
19856 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19857 : STRIP_UNARY (operands[3]))
19858 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19859 : STRIP_UNARY (operands[3])))) &&
19860 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19861 : (TARGET_AVX)))
19862 : return -1;
19863 : return 5815; /* *avx512vl_vpternlogv4di_1 */
19864 :
19865 : case 35:
19866 : if (!
19867 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19868 : ((16 == 64 || TARGET_AVX512VL
19869 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19870 : && ix86_pre_reload_split ()
19871 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19872 : STRIP_UNARY (operands[4]))
19873 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19874 : STRIP_UNARY (operands[4]))
19875 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19876 : STRIP_UNARY (operands[3]))
19877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19878 : STRIP_UNARY (operands[3])))))
19879 : return -1;
19880 : return 5842; /* *avx512vl_vpternlogv2di_1 */
19881 :
19882 : case 36:
19883 : if (!(
19884 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19885 : ((64 == 64 || TARGET_AVX512VL
19886 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19887 : && ix86_pre_reload_split ()) &&
19888 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19889 : (TARGET_AVX512F)))
19890 : return -1;
19891 : return 6835; /* *avx512bw_vpternlogv64qi_3 */
19892 :
19893 : case 37:
19894 : if (!(
19895 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19896 : ((32 == 64 || TARGET_AVX512VL
19897 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19898 : && ix86_pre_reload_split ()) &&
19899 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19900 : (TARGET_AVX)))
19901 : return -1;
19902 : return 6844; /* *avx512vl_vpternlogv32qi_3 */
19903 :
19904 : case 38:
19905 : if (!
19906 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19907 : ((16 == 64 || TARGET_AVX512VL
19908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19909 : && ix86_pre_reload_split ()))
19910 : return -1;
19911 : return 6853; /* *avx512vl_vpternlogv16qi_3 */
19912 :
19913 : case 39:
19914 : if (!(
19915 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19916 : ((64 == 64 || TARGET_AVX512VL
19917 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19918 : && ix86_pre_reload_split ()) &&
19919 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19920 : (TARGET_AVX512F)))
19921 : return -1;
19922 : return 6862; /* *avx512bw_vpternlogv32hi_3 */
19923 :
19924 : case 40:
19925 : if (!(
19926 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19927 : ((32 == 64 || TARGET_AVX512VL
19928 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19929 : && ix86_pre_reload_split ()) &&
19930 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19931 : (TARGET_AVX)))
19932 : return -1;
19933 : return 6871; /* *avx512vl_vpternlogv16hi_3 */
19934 :
19935 : case 41:
19936 : if (!
19937 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19938 : ((16 == 64 || TARGET_AVX512VL
19939 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19940 : && ix86_pre_reload_split ()))
19941 : return -1;
19942 : return 6880; /* *avx512vl_vpternlogv8hi_3 */
19943 :
19944 : case 42:
19945 : if (!(
19946 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19947 : ((64 == 64 || TARGET_AVX512VL
19948 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19949 : && ix86_pre_reload_split ()) &&
19950 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19951 : (TARGET_AVX512F)))
19952 : return -1;
19953 : return 6889; /* *avx512f_vpternlogv16si_3 */
19954 :
19955 : case 43:
19956 : if (!(
19957 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19958 : ((32 == 64 || TARGET_AVX512VL
19959 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19960 : && ix86_pre_reload_split ()) &&
19961 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19962 : (TARGET_AVX)))
19963 : return -1;
19964 : return 6898; /* *avx512vl_vpternlogv8si_3 */
19965 :
19966 : case 44:
19967 : if (!
19968 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19969 : ((16 == 64 || TARGET_AVX512VL
19970 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19971 : && ix86_pre_reload_split ()))
19972 : return -1;
19973 : return 6907; /* *avx512vl_vpternlogv4si_3 */
19974 :
19975 : case 45:
19976 : if (!(
19977 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19978 : ((64 == 64 || TARGET_AVX512VL
19979 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19980 : && ix86_pre_reload_split ()) &&
19981 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19982 : (TARGET_AVX512F)))
19983 : return -1;
19984 : return 6916; /* *avx512f_vpternlogv8di_3 */
19985 :
19986 : case 46:
19987 : if (!(
19988 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19989 : ((32 == 64 || TARGET_AVX512VL
19990 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19991 : && ix86_pre_reload_split ()) &&
19992 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19993 : (TARGET_AVX)))
19994 : return -1;
19995 : return 6925; /* *avx512vl_vpternlogv4di_3 */
19996 :
19997 : case 47:
19998 : if (!
19999 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20000 : ((16 == 64 || TARGET_AVX512VL
20001 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20002 : && ix86_pre_reload_split ()))
20003 : return -1;
20004 : return 6934; /* *avx512vl_vpternlogv2di_3 */
20005 :
20006 : default:
20007 : return -1;
20008 : }
20009 :
20010 : case AND:
20011 : switch (pattern537 (x2))
20012 : {
20013 : case 0:
20014 : if (!(
20015 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20016 : ((64 == 64 || TARGET_AVX512VL
20017 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20018 : && ix86_pre_reload_split ()
20019 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20020 : STRIP_UNARY (operands[4]))
20021 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20022 : STRIP_UNARY (operands[4]))
20023 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20024 : STRIP_UNARY (operands[3]))
20025 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20026 : STRIP_UNARY (operands[3])))) &&
20027 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20028 : (TARGET_AVX512F)))
20029 : return -1;
20030 : return 6187; /* *avx512bw_vpternlogv64qi_2 */
20031 :
20032 : case 1:
20033 : if (!(
20034 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20035 : ((32 == 64 || TARGET_AVX512VL
20036 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20037 : && ix86_pre_reload_split ()
20038 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20039 : STRIP_UNARY (operands[4]))
20040 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20041 : STRIP_UNARY (operands[4]))
20042 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20043 : STRIP_UNARY (operands[3]))
20044 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20045 : STRIP_UNARY (operands[3])))) &&
20046 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20047 : (TARGET_AVX)))
20048 : return -1;
20049 : return 6214; /* *avx512vl_vpternlogv32qi_2 */
20050 :
20051 : case 2:
20052 : if (!
20053 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20054 : ((16 == 64 || TARGET_AVX512VL
20055 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20056 : && ix86_pre_reload_split ()
20057 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20058 : STRIP_UNARY (operands[4]))
20059 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20060 : STRIP_UNARY (operands[4]))
20061 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20062 : STRIP_UNARY (operands[3]))
20063 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20064 : STRIP_UNARY (operands[3])))))
20065 : return -1;
20066 : return 6241; /* *avx512vl_vpternlogv16qi_2 */
20067 :
20068 : case 3:
20069 : if (!(
20070 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20071 : ((64 == 64 || TARGET_AVX512VL
20072 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20073 : && ix86_pre_reload_split ()
20074 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20075 : STRIP_UNARY (operands[4]))
20076 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20077 : STRIP_UNARY (operands[4]))
20078 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20079 : STRIP_UNARY (operands[3]))
20080 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20081 : STRIP_UNARY (operands[3])))) &&
20082 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20083 : (TARGET_AVX512F)))
20084 : return -1;
20085 : return 6268; /* *avx512bw_vpternlogv32hi_2 */
20086 :
20087 : case 4:
20088 : if (!(
20089 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20090 : ((32 == 64 || TARGET_AVX512VL
20091 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20092 : && ix86_pre_reload_split ()
20093 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20094 : STRIP_UNARY (operands[4]))
20095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20096 : STRIP_UNARY (operands[4]))
20097 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20098 : STRIP_UNARY (operands[3]))
20099 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20100 : STRIP_UNARY (operands[3])))) &&
20101 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20102 : (TARGET_AVX)))
20103 : return -1;
20104 : return 6295; /* *avx512vl_vpternlogv16hi_2 */
20105 :
20106 : case 5:
20107 : if (!
20108 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20109 : ((16 == 64 || TARGET_AVX512VL
20110 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20111 : && ix86_pre_reload_split ()
20112 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20113 : STRIP_UNARY (operands[4]))
20114 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20115 : STRIP_UNARY (operands[4]))
20116 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20117 : STRIP_UNARY (operands[3]))
20118 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20119 : STRIP_UNARY (operands[3])))))
20120 : return -1;
20121 : return 6322; /* *avx512vl_vpternlogv8hi_2 */
20122 :
20123 : case 6:
20124 : if (!(
20125 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20126 : ((64 == 64 || TARGET_AVX512VL
20127 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20128 : && ix86_pre_reload_split ()
20129 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20130 : STRIP_UNARY (operands[4]))
20131 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20132 : STRIP_UNARY (operands[4]))
20133 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20134 : STRIP_UNARY (operands[3]))
20135 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20136 : STRIP_UNARY (operands[3])))) &&
20137 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20138 : (TARGET_AVX512F)))
20139 : return -1;
20140 : return 6349; /* *avx512f_vpternlogv16si_2 */
20141 :
20142 : case 7:
20143 : if (!(
20144 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20145 : ((32 == 64 || TARGET_AVX512VL
20146 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20147 : && ix86_pre_reload_split ()
20148 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20149 : STRIP_UNARY (operands[4]))
20150 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20151 : STRIP_UNARY (operands[4]))
20152 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20153 : STRIP_UNARY (operands[3]))
20154 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20155 : STRIP_UNARY (operands[3])))) &&
20156 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20157 : (TARGET_AVX)))
20158 : return -1;
20159 : return 6376; /* *avx512vl_vpternlogv8si_2 */
20160 :
20161 : case 8:
20162 : if (!
20163 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20164 : ((16 == 64 || TARGET_AVX512VL
20165 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20166 : && ix86_pre_reload_split ()
20167 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20168 : STRIP_UNARY (operands[4]))
20169 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20170 : STRIP_UNARY (operands[4]))
20171 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20172 : STRIP_UNARY (operands[3]))
20173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20174 : STRIP_UNARY (operands[3])))))
20175 : return -1;
20176 : return 6403; /* *avx512vl_vpternlogv4si_2 */
20177 :
20178 : case 9:
20179 : if (!(
20180 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20181 : ((64 == 64 || TARGET_AVX512VL
20182 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20183 : && ix86_pre_reload_split ()
20184 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20185 : STRIP_UNARY (operands[4]))
20186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20187 : STRIP_UNARY (operands[4]))
20188 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20189 : STRIP_UNARY (operands[3]))
20190 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20191 : STRIP_UNARY (operands[3])))) &&
20192 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20193 : (TARGET_AVX512F)))
20194 : return -1;
20195 : return 6430; /* *avx512f_vpternlogv8di_2 */
20196 :
20197 : case 10:
20198 : if (!(
20199 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20200 : ((32 == 64 || TARGET_AVX512VL
20201 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20202 : && ix86_pre_reload_split ()
20203 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20204 : STRIP_UNARY (operands[4]))
20205 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20206 : STRIP_UNARY (operands[4]))
20207 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20208 : STRIP_UNARY (operands[3]))
20209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20210 : STRIP_UNARY (operands[3])))) &&
20211 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20212 : (TARGET_AVX)))
20213 : return -1;
20214 : return 6457; /* *avx512vl_vpternlogv4di_2 */
20215 :
20216 : case 11:
20217 : if (!
20218 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20219 : ((16 == 64 || TARGET_AVX512VL
20220 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20221 : && ix86_pre_reload_split ()
20222 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20223 : STRIP_UNARY (operands[4]))
20224 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20225 : STRIP_UNARY (operands[4]))
20226 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20227 : STRIP_UNARY (operands[3]))
20228 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20229 : STRIP_UNARY (operands[3])))))
20230 : return -1;
20231 : return 6484; /* *avx512vl_vpternlogv2di_2 */
20232 :
20233 : default:
20234 : return -1;
20235 : }
20236 :
20237 : case IOR:
20238 : switch (pattern537 (x2))
20239 : {
20240 : case 0:
20241 : if (!(
20242 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20243 : ((64 == 64 || TARGET_AVX512VL
20244 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20245 : && ix86_pre_reload_split ()
20246 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20247 : STRIP_UNARY (operands[4]))
20248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20249 : STRIP_UNARY (operands[4]))
20250 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20251 : STRIP_UNARY (operands[3]))
20252 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20253 : STRIP_UNARY (operands[3])))) &&
20254 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20255 : (TARGET_AVX512F)))
20256 : return -1;
20257 : return 6190; /* *avx512bw_vpternlogv64qi_2 */
20258 :
20259 : case 1:
20260 : if (!(
20261 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20262 : ((32 == 64 || TARGET_AVX512VL
20263 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20264 : && ix86_pre_reload_split ()
20265 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20266 : STRIP_UNARY (operands[4]))
20267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20268 : STRIP_UNARY (operands[4]))
20269 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20270 : STRIP_UNARY (operands[3]))
20271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20272 : STRIP_UNARY (operands[3])))) &&
20273 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20274 : (TARGET_AVX)))
20275 : return -1;
20276 : return 6217; /* *avx512vl_vpternlogv32qi_2 */
20277 :
20278 : case 2:
20279 : if (!
20280 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20281 : ((16 == 64 || TARGET_AVX512VL
20282 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20283 : && ix86_pre_reload_split ()
20284 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20285 : STRIP_UNARY (operands[4]))
20286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20287 : STRIP_UNARY (operands[4]))
20288 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20289 : STRIP_UNARY (operands[3]))
20290 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20291 : STRIP_UNARY (operands[3])))))
20292 : return -1;
20293 : return 6244; /* *avx512vl_vpternlogv16qi_2 */
20294 :
20295 : case 3:
20296 : if (!(
20297 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20298 : ((64 == 64 || TARGET_AVX512VL
20299 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20300 : && ix86_pre_reload_split ()
20301 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20302 : STRIP_UNARY (operands[4]))
20303 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20304 : STRIP_UNARY (operands[4]))
20305 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20306 : STRIP_UNARY (operands[3]))
20307 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20308 : STRIP_UNARY (operands[3])))) &&
20309 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20310 : (TARGET_AVX512F)))
20311 : return -1;
20312 : return 6271; /* *avx512bw_vpternlogv32hi_2 */
20313 :
20314 : case 4:
20315 : if (!(
20316 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20317 : ((32 == 64 || TARGET_AVX512VL
20318 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20319 : && ix86_pre_reload_split ()
20320 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20321 : STRIP_UNARY (operands[4]))
20322 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20323 : STRIP_UNARY (operands[4]))
20324 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20325 : STRIP_UNARY (operands[3]))
20326 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20327 : STRIP_UNARY (operands[3])))) &&
20328 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20329 : (TARGET_AVX)))
20330 : return -1;
20331 : return 6298; /* *avx512vl_vpternlogv16hi_2 */
20332 :
20333 : case 5:
20334 : if (!
20335 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20336 : ((16 == 64 || TARGET_AVX512VL
20337 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20338 : && ix86_pre_reload_split ()
20339 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20340 : STRIP_UNARY (operands[4]))
20341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20342 : STRIP_UNARY (operands[4]))
20343 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20344 : STRIP_UNARY (operands[3]))
20345 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20346 : STRIP_UNARY (operands[3])))))
20347 : return -1;
20348 : return 6325; /* *avx512vl_vpternlogv8hi_2 */
20349 :
20350 : case 6:
20351 : if (!(
20352 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20353 : ((64 == 64 || TARGET_AVX512VL
20354 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20355 : && ix86_pre_reload_split ()
20356 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20357 : STRIP_UNARY (operands[4]))
20358 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20359 : STRIP_UNARY (operands[4]))
20360 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20361 : STRIP_UNARY (operands[3]))
20362 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20363 : STRIP_UNARY (operands[3])))) &&
20364 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20365 : (TARGET_AVX512F)))
20366 : return -1;
20367 : return 6352; /* *avx512f_vpternlogv16si_2 */
20368 :
20369 : case 7:
20370 : if (!(
20371 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20372 : ((32 == 64 || TARGET_AVX512VL
20373 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20374 : && ix86_pre_reload_split ()
20375 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20376 : STRIP_UNARY (operands[4]))
20377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20378 : STRIP_UNARY (operands[4]))
20379 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20380 : STRIP_UNARY (operands[3]))
20381 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20382 : STRIP_UNARY (operands[3])))) &&
20383 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20384 : (TARGET_AVX)))
20385 : return -1;
20386 : return 6379; /* *avx512vl_vpternlogv8si_2 */
20387 :
20388 : case 8:
20389 : if (!
20390 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20391 : ((16 == 64 || TARGET_AVX512VL
20392 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20393 : && ix86_pre_reload_split ()
20394 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20395 : STRIP_UNARY (operands[4]))
20396 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20397 : STRIP_UNARY (operands[4]))
20398 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20399 : STRIP_UNARY (operands[3]))
20400 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20401 : STRIP_UNARY (operands[3])))))
20402 : return -1;
20403 : return 6406; /* *avx512vl_vpternlogv4si_2 */
20404 :
20405 : case 9:
20406 : if (!(
20407 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20408 : ((64 == 64 || TARGET_AVX512VL
20409 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20410 : && ix86_pre_reload_split ()
20411 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20412 : STRIP_UNARY (operands[4]))
20413 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20414 : STRIP_UNARY (operands[4]))
20415 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20416 : STRIP_UNARY (operands[3]))
20417 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20418 : STRIP_UNARY (operands[3])))) &&
20419 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20420 : (TARGET_AVX512F)))
20421 : return -1;
20422 : return 6433; /* *avx512f_vpternlogv8di_2 */
20423 :
20424 : case 10:
20425 : if (!(
20426 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20427 : ((32 == 64 || TARGET_AVX512VL
20428 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20429 : && ix86_pre_reload_split ()
20430 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20431 : STRIP_UNARY (operands[4]))
20432 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20433 : STRIP_UNARY (operands[4]))
20434 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20435 : STRIP_UNARY (operands[3]))
20436 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20437 : STRIP_UNARY (operands[3])))) &&
20438 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20439 : (TARGET_AVX)))
20440 : return -1;
20441 : return 6460; /* *avx512vl_vpternlogv4di_2 */
20442 :
20443 : case 11:
20444 : if (!
20445 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20446 : ((16 == 64 || TARGET_AVX512VL
20447 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20448 : && ix86_pre_reload_split ()
20449 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20450 : STRIP_UNARY (operands[4]))
20451 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20452 : STRIP_UNARY (operands[4]))
20453 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20454 : STRIP_UNARY (operands[3]))
20455 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20456 : STRIP_UNARY (operands[3])))))
20457 : return -1;
20458 : return 6487; /* *avx512vl_vpternlogv2di_2 */
20459 :
20460 : default:
20461 : return -1;
20462 : }
20463 :
20464 : case XOR:
20465 : switch (pattern537 (x2))
20466 : {
20467 : case 0:
20468 : if (!(
20469 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20470 : ((64 == 64 || TARGET_AVX512VL
20471 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20472 : && ix86_pre_reload_split ()
20473 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20474 : STRIP_UNARY (operands[4]))
20475 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20476 : STRIP_UNARY (operands[4]))
20477 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20478 : STRIP_UNARY (operands[3]))
20479 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20480 : STRIP_UNARY (operands[3])))) &&
20481 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20482 : (TARGET_AVX512F)))
20483 : return -1;
20484 : return 6193; /* *avx512bw_vpternlogv64qi_2 */
20485 :
20486 : case 1:
20487 : if (!(
20488 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20489 : ((32 == 64 || TARGET_AVX512VL
20490 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20491 : && ix86_pre_reload_split ()
20492 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20493 : STRIP_UNARY (operands[4]))
20494 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20495 : STRIP_UNARY (operands[4]))
20496 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20497 : STRIP_UNARY (operands[3]))
20498 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20499 : STRIP_UNARY (operands[3])))) &&
20500 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20501 : (TARGET_AVX)))
20502 : return -1;
20503 : return 6220; /* *avx512vl_vpternlogv32qi_2 */
20504 :
20505 : case 2:
20506 : if (!
20507 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20508 : ((16 == 64 || TARGET_AVX512VL
20509 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20510 : && ix86_pre_reload_split ()
20511 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20512 : STRIP_UNARY (operands[4]))
20513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20514 : STRIP_UNARY (operands[4]))
20515 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20516 : STRIP_UNARY (operands[3]))
20517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20518 : STRIP_UNARY (operands[3])))))
20519 : return -1;
20520 : return 6247; /* *avx512vl_vpternlogv16qi_2 */
20521 :
20522 : case 3:
20523 : if (!(
20524 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20525 : ((64 == 64 || TARGET_AVX512VL
20526 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20527 : && ix86_pre_reload_split ()
20528 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20529 : STRIP_UNARY (operands[4]))
20530 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20531 : STRIP_UNARY (operands[4]))
20532 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20533 : STRIP_UNARY (operands[3]))
20534 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20535 : STRIP_UNARY (operands[3])))) &&
20536 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20537 : (TARGET_AVX512F)))
20538 : return -1;
20539 : return 6274; /* *avx512bw_vpternlogv32hi_2 */
20540 :
20541 : case 4:
20542 : if (!(
20543 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20544 : ((32 == 64 || TARGET_AVX512VL
20545 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20546 : && ix86_pre_reload_split ()
20547 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20548 : STRIP_UNARY (operands[4]))
20549 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20550 : STRIP_UNARY (operands[4]))
20551 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20552 : STRIP_UNARY (operands[3]))
20553 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20554 : STRIP_UNARY (operands[3])))) &&
20555 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20556 : (TARGET_AVX)))
20557 : return -1;
20558 : return 6301; /* *avx512vl_vpternlogv16hi_2 */
20559 :
20560 : case 5:
20561 : if (!
20562 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20563 : ((16 == 64 || TARGET_AVX512VL
20564 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20565 : && ix86_pre_reload_split ()
20566 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20567 : STRIP_UNARY (operands[4]))
20568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20569 : STRIP_UNARY (operands[4]))
20570 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20571 : STRIP_UNARY (operands[3]))
20572 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20573 : STRIP_UNARY (operands[3])))))
20574 : return -1;
20575 : return 6328; /* *avx512vl_vpternlogv8hi_2 */
20576 :
20577 : case 6:
20578 : if (!(
20579 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20580 : ((64 == 64 || TARGET_AVX512VL
20581 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20582 : && ix86_pre_reload_split ()
20583 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20584 : STRIP_UNARY (operands[4]))
20585 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20586 : STRIP_UNARY (operands[4]))
20587 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20588 : STRIP_UNARY (operands[3]))
20589 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20590 : STRIP_UNARY (operands[3])))) &&
20591 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20592 : (TARGET_AVX512F)))
20593 : return -1;
20594 : return 6355; /* *avx512f_vpternlogv16si_2 */
20595 :
20596 : case 7:
20597 : if (!(
20598 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20599 : ((32 == 64 || TARGET_AVX512VL
20600 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20601 : && ix86_pre_reload_split ()
20602 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20603 : STRIP_UNARY (operands[4]))
20604 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20605 : STRIP_UNARY (operands[4]))
20606 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20607 : STRIP_UNARY (operands[3]))
20608 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20609 : STRIP_UNARY (operands[3])))) &&
20610 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20611 : (TARGET_AVX)))
20612 : return -1;
20613 : return 6382; /* *avx512vl_vpternlogv8si_2 */
20614 :
20615 : case 8:
20616 : if (!
20617 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20618 : ((16 == 64 || TARGET_AVX512VL
20619 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20620 : && ix86_pre_reload_split ()
20621 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20622 : STRIP_UNARY (operands[4]))
20623 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20624 : STRIP_UNARY (operands[4]))
20625 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20626 : STRIP_UNARY (operands[3]))
20627 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20628 : STRIP_UNARY (operands[3])))))
20629 : return -1;
20630 : return 6409; /* *avx512vl_vpternlogv4si_2 */
20631 :
20632 : case 9:
20633 : if (!(
20634 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20635 : ((64 == 64 || TARGET_AVX512VL
20636 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20637 : && ix86_pre_reload_split ()
20638 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20639 : STRIP_UNARY (operands[4]))
20640 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20641 : STRIP_UNARY (operands[4]))
20642 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20643 : STRIP_UNARY (operands[3]))
20644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20645 : STRIP_UNARY (operands[3])))) &&
20646 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20647 : (TARGET_AVX512F)))
20648 : return -1;
20649 : return 6436; /* *avx512f_vpternlogv8di_2 */
20650 :
20651 : case 10:
20652 : if (!(
20653 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20654 : ((32 == 64 || TARGET_AVX512VL
20655 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20656 : && ix86_pre_reload_split ()
20657 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20658 : STRIP_UNARY (operands[4]))
20659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20660 : STRIP_UNARY (operands[4]))
20661 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20662 : STRIP_UNARY (operands[3]))
20663 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20664 : STRIP_UNARY (operands[3])))) &&
20665 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20666 : (TARGET_AVX)))
20667 : return -1;
20668 : return 6463; /* *avx512vl_vpternlogv4di_2 */
20669 :
20670 : case 11:
20671 : if (!
20672 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20673 : ((16 == 64 || TARGET_AVX512VL
20674 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20675 : && ix86_pre_reload_split ()
20676 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20677 : STRIP_UNARY (operands[4]))
20678 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20679 : STRIP_UNARY (operands[4]))
20680 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20681 : STRIP_UNARY (operands[3]))
20682 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20683 : STRIP_UNARY (operands[3])))))
20684 : return -1;
20685 : return 6490; /* *avx512vl_vpternlogv2di_2 */
20686 :
20687 : default:
20688 : return -1;
20689 : }
20690 :
20691 : default:
20692 : return -1;
20693 : }
20694 :
20695 : case IOR:
20696 : return recog_310 (x1, insn, pnum_clobbers);
20697 :
20698 : case XOR:
20699 : return recog_309 (x1, insn, pnum_clobbers);
20700 :
20701 : case NOT:
20702 : x5 = XEXP (x3, 0);
20703 : operands[1] = x5;
20704 : switch (pattern539 (x2))
20705 : {
20706 : case 0:
20707 : switch (GET_MODE (operands[0]))
20708 : {
20709 : case E_V16SImode:
20710 : if (pattern933 (x2,
20711 : E_V16SImode) != 0
20712 : || !(
20713 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20714 : ((64 == 64 || TARGET_AVX512VL
20715 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20716 : && (register_operand (operands[1], V16SImode)
20717 : || register_operand (operands[2], V16SImode))) &&
20718 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20719 : (TARGET_AVX512F)))
20720 : return -1;
20721 : return 8106; /* *iornotv16si3 */
20722 :
20723 : case E_V8DImode:
20724 : if (pattern933 (x2,
20725 : E_V8DImode) != 0
20726 : || !(
20727 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20728 : ((64 == 64 || TARGET_AVX512VL
20729 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20730 : && (register_operand (operands[1], V8DImode)
20731 : || register_operand (operands[2], V8DImode))) &&
20732 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20733 : (TARGET_AVX512F)))
20734 : return -1;
20735 : return 8107; /* *iornotv8di3 */
20736 :
20737 : case E_V64QImode:
20738 : if (pattern933 (x2,
20739 : E_V64QImode) != 0
20740 : || !(
20741 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20742 : ((64 == 64 || TARGET_AVX512VL
20743 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20744 : && (register_operand (operands[1], V64QImode)
20745 : || register_operand (operands[2], V64QImode))) &&
20746 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20747 : (TARGET_AVX512BW)))
20748 : return -1;
20749 : return 8108; /* *iornotv64qi3 */
20750 :
20751 : case E_V32QImode:
20752 : if (pattern933 (x2,
20753 : E_V32QImode) != 0
20754 : || !(
20755 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20756 : ((32 == 64 || TARGET_AVX512VL
20757 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20758 : && (register_operand (operands[1], V32QImode)
20759 : || register_operand (operands[2], V32QImode))) &&
20760 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20761 : (TARGET_AVX)))
20762 : return -1;
20763 : return 8109; /* *iornotv32qi3 */
20764 :
20765 : case E_V16QImode:
20766 : if (pattern933 (x2,
20767 : E_V16QImode) != 0
20768 : || !
20769 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20770 : ((16 == 64 || TARGET_AVX512VL
20771 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20772 : && (register_operand (operands[1], V16QImode)
20773 : || register_operand (operands[2], V16QImode))))
20774 : return -1;
20775 : return 8110; /* *iornotv16qi3 */
20776 :
20777 : case E_V32HImode:
20778 : if (pattern933 (x2,
20779 : E_V32HImode) != 0
20780 : || !(
20781 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20782 : ((64 == 64 || TARGET_AVX512VL
20783 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20784 : && (register_operand (operands[1], V32HImode)
20785 : || register_operand (operands[2], V32HImode))) &&
20786 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20787 : (TARGET_AVX512BW)))
20788 : return -1;
20789 : return 8111; /* *iornotv32hi3 */
20790 :
20791 : case E_V16HImode:
20792 : if (pattern933 (x2,
20793 : E_V16HImode) != 0
20794 : || !(
20795 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20796 : ((32 == 64 || TARGET_AVX512VL
20797 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20798 : && (register_operand (operands[1], V16HImode)
20799 : || register_operand (operands[2], V16HImode))) &&
20800 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20801 : (TARGET_AVX)))
20802 : return -1;
20803 : return 8112; /* *iornotv16hi3 */
20804 :
20805 : case E_V8HImode:
20806 : if (pattern933 (x2,
20807 : E_V8HImode) != 0
20808 : || !
20809 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20810 : ((16 == 64 || TARGET_AVX512VL
20811 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20812 : && (register_operand (operands[1], V8HImode)
20813 : || register_operand (operands[2], V8HImode))))
20814 : return -1;
20815 : return 8113; /* *iornotv8hi3 */
20816 :
20817 : case E_V8SImode:
20818 : if (pattern933 (x2,
20819 : E_V8SImode) != 0
20820 : || !(
20821 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20822 : ((32 == 64 || TARGET_AVX512VL
20823 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20824 : && (register_operand (operands[1], V8SImode)
20825 : || register_operand (operands[2], V8SImode))) &&
20826 : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20827 : (TARGET_AVX)))
20828 : return -1;
20829 : return 8114; /* *iornotv8si3 */
20830 :
20831 : case E_V4SImode:
20832 : if (pattern933 (x2,
20833 : E_V4SImode) != 0
20834 : || !
20835 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20836 : ((16 == 64 || TARGET_AVX512VL
20837 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20838 : && (register_operand (operands[1], V4SImode)
20839 : || register_operand (operands[2], V4SImode))))
20840 : return -1;
20841 : return 8115; /* *iornotv4si3 */
20842 :
20843 : case E_V4DImode:
20844 : if (pattern933 (x2,
20845 : E_V4DImode) != 0
20846 : || !(
20847 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20848 : ((32 == 64 || TARGET_AVX512VL
20849 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20850 : && (register_operand (operands[1], V4DImode)
20851 : || register_operand (operands[2], V4DImode))) &&
20852 : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20853 : (TARGET_AVX)))
20854 : return -1;
20855 : return 8116; /* *iornotv4di3 */
20856 :
20857 : case E_V2DImode:
20858 : if (pattern933 (x2,
20859 : E_V2DImode) != 0
20860 : || !
20861 : #line 19295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20862 : ((16 == 64 || TARGET_AVX512VL
20863 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20864 : && (register_operand (operands[1], V2DImode)
20865 : || register_operand (operands[2], V2DImode))))
20866 : return -1;
20867 : return 8117; /* *iornotv2di3 */
20868 :
20869 : default:
20870 : return -1;
20871 : }
20872 :
20873 : case 1:
20874 : if (!(
20875 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20876 : ((64 == 64 || TARGET_AVX512VL
20877 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20878 : && (register_operand (operands[1], V16SImode)
20879 : || register_operand (operands[2], V16SImode))) &&
20880 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20881 : (TARGET_AVX512F)))
20882 : return -1;
20883 : return 8131; /* *nandv16si3 */
20884 :
20885 : case 2:
20886 : if (!(
20887 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20888 : ((64 == 64 || TARGET_AVX512VL
20889 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20890 : && (register_operand (operands[1], V8DImode)
20891 : || register_operand (operands[2], V8DImode))) &&
20892 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20893 : (TARGET_AVX512F)))
20894 : return -1;
20895 : return 8133; /* *nandv8di3 */
20896 :
20897 : case 3:
20898 : if (!(
20899 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20900 : ((64 == 64 || TARGET_AVX512VL
20901 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20902 : && (register_operand (operands[1], V64QImode)
20903 : || register_operand (operands[2], V64QImode))) &&
20904 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20905 : (TARGET_AVX512BW)))
20906 : return -1;
20907 : return 8135; /* *nandv64qi3 */
20908 :
20909 : case 4:
20910 : if (!(
20911 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20912 : ((32 == 64 || TARGET_AVX512VL
20913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20914 : && (register_operand (operands[1], V32QImode)
20915 : || register_operand (operands[2], V32QImode))) &&
20916 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20917 : (TARGET_AVX)))
20918 : return -1;
20919 : return 8137; /* *nandv32qi3 */
20920 :
20921 : case 5:
20922 : if (!
20923 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20924 : ((16 == 64 || TARGET_AVX512VL
20925 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20926 : && (register_operand (operands[1], V16QImode)
20927 : || register_operand (operands[2], V16QImode))))
20928 : return -1;
20929 : return 8139; /* *nandv16qi3 */
20930 :
20931 : case 6:
20932 : if (!(
20933 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20934 : ((64 == 64 || TARGET_AVX512VL
20935 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20936 : && (register_operand (operands[1], V32HImode)
20937 : || register_operand (operands[2], V32HImode))) &&
20938 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20939 : (TARGET_AVX512BW)))
20940 : return -1;
20941 : return 8141; /* *nandv32hi3 */
20942 :
20943 : case 7:
20944 : if (!(
20945 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20946 : ((32 == 64 || TARGET_AVX512VL
20947 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20948 : && (register_operand (operands[1], V16HImode)
20949 : || register_operand (operands[2], V16HImode))) &&
20950 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20951 : (TARGET_AVX)))
20952 : return -1;
20953 : return 8143; /* *nandv16hi3 */
20954 :
20955 : case 8:
20956 : if (!
20957 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20958 : ((16 == 64 || TARGET_AVX512VL
20959 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20960 : && (register_operand (operands[1], V8HImode)
20961 : || register_operand (operands[2], V8HImode))))
20962 : return -1;
20963 : return 8145; /* *nandv8hi3 */
20964 :
20965 : case 9:
20966 : if (!(
20967 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20968 : ((32 == 64 || TARGET_AVX512VL
20969 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20970 : && (register_operand (operands[1], V8SImode)
20971 : || register_operand (operands[2], V8SImode))) &&
20972 : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20973 : (TARGET_AVX)))
20974 : return -1;
20975 : return 8147; /* *nandv8si3 */
20976 :
20977 : case 10:
20978 : if (!
20979 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20980 : ((16 == 64 || TARGET_AVX512VL
20981 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20982 : && (register_operand (operands[1], V4SImode)
20983 : || register_operand (operands[2], V4SImode))))
20984 : return -1;
20985 : return 8149; /* *nandv4si3 */
20986 :
20987 : case 11:
20988 : if (!(
20989 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20990 : ((32 == 64 || TARGET_AVX512VL
20991 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20992 : && (register_operand (operands[1], V4DImode)
20993 : || register_operand (operands[2], V4DImode))) &&
20994 : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20995 : (TARGET_AVX)))
20996 : return -1;
20997 : return 8151; /* *nandv4di3 */
20998 :
20999 : case 12:
21000 : if (!
21001 : #line 19359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21002 : ((16 == 64 || TARGET_AVX512VL
21003 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21004 : && (register_operand (operands[1], V2DImode)
21005 : || register_operand (operands[2], V2DImode))))
21006 : return -1;
21007 : return 8153; /* *nandv2di3 */
21008 :
21009 : default:
21010 : return -1;
21011 : }
21012 :
21013 : default:
21014 : return -1;
21015 : }
21016 : }
21017 :
21018 : int
21019 : recog_342 (rtx x1 ATTRIBUTE_UNUSED,
21020 : rtx_insn *insn ATTRIBUTE_UNUSED,
21021 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21022 : {
21023 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21024 : rtx x2, x3, x4;
21025 : int res ATTRIBUTE_UNUSED;
21026 : x2 = XEXP (x1, 0);
21027 : operands[0] = x2;
21028 : x3 = XEXP (x1, 1);
21029 : x4 = XEXP (x3, 0);
21030 : operands[1] = x4;
21031 : switch (GET_MODE (operands[0]))
21032 : {
21033 : case E_V32HFmode:
21034 : if (!register_operand (operands[0], E_V32HFmode)
21035 : || GET_MODE (x3) != E_V32HFmode
21036 : || !vector_operand (operands[1], E_V32HFmode)
21037 : || !(
21038 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21039 : (TARGET_SSE && 1 && 1) &&
21040 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21041 : (TARGET_AVX512FP16)))
21042 : return -1;
21043 : return 2967; /* avx512fp16_sqrtv32hf2 */
21044 :
21045 : case E_V16HFmode:
21046 : if (!register_operand (operands[0], E_V16HFmode)
21047 : || GET_MODE (x3) != E_V16HFmode
21048 : || !vector_operand (operands[1], E_V16HFmode)
21049 : || !(
21050 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21051 : (TARGET_SSE && 1 && 1) &&
21052 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21053 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21054 : return -1;
21055 : return 2971; /* avx512fp16_sqrtv16hf2 */
21056 :
21057 : case E_V8HFmode:
21058 : if (!register_operand (operands[0], E_V8HFmode)
21059 : || GET_MODE (x3) != E_V8HFmode
21060 : || !vector_operand (operands[1], E_V8HFmode)
21061 : || !(
21062 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21063 : (TARGET_SSE && 1 && 1) &&
21064 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21065 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21066 : return -1;
21067 : return 2973; /* avx512fp16_sqrtv8hf2 */
21068 :
21069 : case E_V16SFmode:
21070 : if (!register_operand (operands[0], E_V16SFmode)
21071 : || GET_MODE (x3) != E_V16SFmode
21072 : || !vector_operand (operands[1], E_V16SFmode)
21073 : || !(
21074 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21075 : (TARGET_SSE && 1 && 1) &&
21076 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21077 : (TARGET_AVX512F)))
21078 : return -1;
21079 : return 2975; /* avx512f_sqrtv16sf2 */
21080 :
21081 : case E_V8SFmode:
21082 : if (!register_operand (operands[0], E_V8SFmode)
21083 : || GET_MODE (x3) != E_V8SFmode
21084 : || !vector_operand (operands[1], E_V8SFmode)
21085 : || !(
21086 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21087 : (TARGET_SSE && 1 && 1) &&
21088 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21089 : (TARGET_AVX)))
21090 : return -1;
21091 : return 2979; /* avx_sqrtv8sf2 */
21092 :
21093 : case E_V4SFmode:
21094 : if (!register_operand (operands[0], E_V4SFmode)
21095 : || GET_MODE (x3) != E_V4SFmode
21096 : || !vector_operand (operands[1], E_V4SFmode)
21097 : || !
21098 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21099 : (TARGET_SSE && 1 && 1))
21100 : return -1;
21101 : return 2981; /* sse_sqrtv4sf2 */
21102 :
21103 : case E_V8DFmode:
21104 : if (!register_operand (operands[0], E_V8DFmode)
21105 : || GET_MODE (x3) != E_V8DFmode
21106 : || !vector_operand (operands[1], E_V8DFmode)
21107 : || !(
21108 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21109 : (TARGET_SSE && 1 && 1) &&
21110 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21111 : (TARGET_AVX512F)))
21112 : return -1;
21113 : return 2983; /* avx512f_sqrtv8df2 */
21114 :
21115 : case E_V4DFmode:
21116 : if (!register_operand (operands[0], E_V4DFmode)
21117 : || GET_MODE (x3) != E_V4DFmode
21118 : || !vector_operand (operands[1], E_V4DFmode)
21119 : || !(
21120 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21121 : (TARGET_SSE && 1 && 1) &&
21122 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21123 : (TARGET_AVX)))
21124 : return -1;
21125 : return 2987; /* avx_sqrtv4df2 */
21126 :
21127 : case E_V2DFmode:
21128 : if (!register_operand (operands[0], E_V2DFmode)
21129 : || GET_MODE (x3) != E_V2DFmode
21130 : || !vector_operand (operands[1], E_V2DFmode)
21131 : || !(
21132 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21133 : (TARGET_SSE && 1 && 1) &&
21134 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21135 : (TARGET_SSE2)))
21136 : return -1;
21137 : return 2989; /* sse2_sqrtv2df2 */
21138 :
21139 : case E_V32BFmode:
21140 : if (!register_operand (operands[0], E_V32BFmode)
21141 : || GET_MODE (x3) != E_V32BFmode
21142 : || !nonimmediate_operand (operands[1], E_V32BFmode)
21143 : || !
21144 : #line 33105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21145 : (TARGET_AVX10_2))
21146 : return -1;
21147 : return 10756; /* avx10_2_sqrtbf16_v32bf */
21148 :
21149 : case E_V16BFmode:
21150 : if (!register_operand (operands[0], E_V16BFmode)
21151 : || GET_MODE (x3) != E_V16BFmode
21152 : || !nonimmediate_operand (operands[1], E_V16BFmode)
21153 : || !
21154 : #line 33105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21155 : (TARGET_AVX10_2))
21156 : return -1;
21157 : return 10758; /* avx10_2_sqrtbf16_v16bf */
21158 :
21159 : case E_V8BFmode:
21160 : if (!register_operand (operands[0], E_V8BFmode)
21161 : || GET_MODE (x3) != E_V8BFmode
21162 : || !nonimmediate_operand (operands[1], E_V8BFmode)
21163 : || !
21164 : #line 33105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21165 : (TARGET_AVX10_2))
21166 : return -1;
21167 : return 10760; /* avx10_2_sqrtbf16_v8bf */
21168 :
21169 : default:
21170 : return -1;
21171 : }
21172 : }
21173 :
21174 : int
21175 : recog_347 (rtx x1 ATTRIBUTE_UNUSED,
21176 : rtx_insn *insn ATTRIBUTE_UNUSED,
21177 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21178 : {
21179 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21180 : rtx x2, x3, x4;
21181 : int res ATTRIBUTE_UNUSED;
21182 : switch (pattern35 (x1))
21183 : {
21184 : case 0:
21185 : if (!
21186 : #line 24466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21187 : (TARGET_AVX2 && 1 && 1))
21188 : return -1;
21189 : return 8798; /* avx2_sign_extendv16qiv16hi2 */
21190 :
21191 : case 1:
21192 : if (!
21193 : #line 24520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21194 : (TARGET_AVX512BW))
21195 : return -1;
21196 : return 8806; /* avx512bw_sign_extendv32qiv32hi2 */
21197 :
21198 : case 2:
21199 : if (!
21200 : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21201 : (TARGET_SSE4_1 && 1 && 1))
21202 : return -1;
21203 : return 8818; /* *sse4_1_sign_extendv8qiv8hi2_1 */
21204 :
21205 : case 3:
21206 : if (!
21207 : #line 24741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21208 : (TARGET_AVX512F))
21209 : return -1;
21210 : return 8830; /* *avx512f_sign_extendv16qiv16si2 */
21211 :
21212 : case 4:
21213 : if (!
21214 : #line 24940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21215 : (TARGET_AVX512F))
21216 : return -1;
21217 : return 8860; /* avx512f_sign_extendv16hiv16si2 */
21218 :
21219 : case 5:
21220 : if (!
21221 : #line 24773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21222 : (TARGET_AVX2 && 1))
21223 : return -1;
21224 : return 8838; /* *avx2_sign_extendv8qiv8si2_1 */
21225 :
21226 : case 6:
21227 : if (!
21228 : #line 24993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21229 : (TARGET_AVX2 && 1))
21230 : return -1;
21231 : return 8868; /* avx2_sign_extendv8hiv8si2 */
21232 :
21233 : case 7:
21234 : if (!
21235 : #line 24861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21236 : (TARGET_SSE4_1 && 1))
21237 : return -1;
21238 : return 8850; /* *sse4_1_sign_extendv4qiv4si2_1 */
21239 :
21240 : case 8:
21241 : if (!
21242 : #line 25063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21243 : (TARGET_SSE4_1 && 1))
21244 : return -1;
21245 : return 8880; /* *sse4_1_sign_extendv4hiv4si2_1 */
21246 :
21247 : case 9:
21248 : if (!
21249 : #line 25219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21250 : (TARGET_AVX512F))
21251 : return -1;
21252 : return 8896; /* *avx512f_sign_extendv8qiv8di2_1 */
21253 :
21254 : case 10:
21255 : if (!
21256 : #line 25445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21257 : (TARGET_AVX512F))
21258 : return -1;
21259 : return 8927; /* avx512f_sign_extendv8hiv8di2 */
21260 :
21261 : case 11:
21262 : if (!
21263 : #line 25635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21264 : (TARGET_AVX512F))
21265 : return -1;
21266 : return 8955; /* avx512f_sign_extendv8siv8di2 */
21267 :
21268 : case 12:
21269 : if (!
21270 : #line 25303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21271 : (TARGET_AVX2 && 1))
21272 : return -1;
21273 : return 8908; /* *avx2_sign_extendv4qiv4di2_1 */
21274 :
21275 : case 13:
21276 : if (!
21277 : #line 25475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21278 : (TARGET_AVX2 && 1))
21279 : return -1;
21280 : return 8935; /* *avx2_sign_extendv4hiv4di2_1 */
21281 :
21282 : case 14:
21283 : if (!
21284 : #line 25686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21285 : (TARGET_AVX2 && 1))
21286 : return -1;
21287 : return 8961; /* avx2_sign_extendv4siv4di2 */
21288 :
21289 : case 15:
21290 : if (!
21291 : #line 25394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21292 : (TARGET_SSE4_1 && 1))
21293 : return -1;
21294 : return 8920; /* *sse4_1_sign_extendv2qiv2di2_1 */
21295 :
21296 : case 16:
21297 : if (!
21298 : #line 25558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21299 : (TARGET_SSE4_1 && 1))
21300 : return -1;
21301 : return 8947; /* *sse4_1_sign_extendv2hiv2di2_1 */
21302 :
21303 : case 17:
21304 : if (!
21305 : #line 25752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21306 : (TARGET_SSE4_1 && 1))
21307 : return -1;
21308 : return 8971; /* *sse4_1_sign_extendv2siv2di2_1 */
21309 :
21310 : case 18:
21311 : x2 = XEXP (x1, 1);
21312 : x3 = XEXP (x2, 0);
21313 : x4 = XEXP (x3, 0);
21314 : operands[1] = x4;
21315 : switch (pattern545 (x2))
21316 : {
21317 : case 0:
21318 : if (
21319 : #line 24578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21320 : (TARGET_SSE4_1 && 1 && 1))
21321 : return 8814; /* sse4_1_sign_extendv8qiv8hi2 */
21322 : break;
21323 :
21324 : case 1:
21325 : if (
21326 : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21327 : (TARGET_AVX2 && 1))
21328 : return 8834; /* avx2_sign_extendv8qiv8si2 */
21329 : break;
21330 :
21331 : case 2:
21332 : if (
21333 : #line 25209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21334 : (TARGET_AVX512F))
21335 : return 8892; /* avx512f_sign_extendv8qiv8di2 */
21336 : break;
21337 :
21338 : case 3:
21339 : if (
21340 : #line 24849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21341 : (TARGET_SSE4_1 && 1))
21342 : return 8846; /* sse4_1_sign_extendv4qiv4si2 */
21343 : break;
21344 :
21345 : case 4:
21346 : if (
21347 : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21348 : (TARGET_SSE4_1 && 1))
21349 : return 8876; /* sse4_1_sign_extendv4hiv4si2 */
21350 : break;
21351 :
21352 : case 5:
21353 : if (
21354 : #line 25292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21355 : (TARGET_AVX2 && 1))
21356 : return 8904; /* avx2_sign_extendv4qiv4di2 */
21357 : break;
21358 :
21359 : case 6:
21360 : if (
21361 : #line 25464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21362 : (TARGET_AVX2 && 1))
21363 : return 8931; /* avx2_sign_extendv4hiv4di2 */
21364 : break;
21365 :
21366 : case 7:
21367 : if (
21368 : #line 25382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21369 : (TARGET_SSE4_1 && 1))
21370 : return 8916; /* sse4_1_sign_extendv2qiv2di2 */
21371 : break;
21372 :
21373 : case 8:
21374 : if (
21375 : #line 25546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21376 : (TARGET_SSE4_1 && 1))
21377 : return 8943; /* sse4_1_sign_extendv2hiv2di2 */
21378 : break;
21379 :
21380 : case 9:
21381 : if (
21382 : #line 25740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21383 : (TARGET_SSE4_1 && 1))
21384 : return 8967; /* sse4_1_sign_extendv2siv2di2 */
21385 : break;
21386 :
21387 : default:
21388 : break;
21389 : }
21390 : if (GET_CODE (x4) != SUBREG
21391 : || maybe_ne (SUBREG_BYTE (x4), 0))
21392 : return -1;
21393 : switch (pattern691 (x2))
21394 : {
21395 : case 0:
21396 : if (!
21397 : #line 24614 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21398 : (TARGET_SSE4_1
21399 : && ix86_pre_reload_split ()))
21400 : return -1;
21401 : return 8822; /* *sse4_1_sign_extendv8qiv8hi2_2 */
21402 :
21403 : case 1:
21404 : if (!
21405 : #line 24792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21406 : (TARGET_AVX2
21407 : && ix86_pre_reload_split ()))
21408 : return -1;
21409 : return 8842; /* *avx2_sign_extendv8qiv8si2_2 */
21410 :
21411 : case 2:
21412 : if (!
21413 : #line 25237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21414 : (TARGET_AVX512F && ix86_pre_reload_split ()))
21415 : return -1;
21416 : return 8900; /* *avx512f_sign_extendv8qiv8di2_2 */
21417 :
21418 : case 3:
21419 : if (!
21420 : #line 25082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21421 : (TARGET_SSE4_1
21422 : && ix86_pre_reload_split ()))
21423 : return -1;
21424 : return 8884; /* *sse4_1_sign_extendv4hiv4si2_2 */
21425 :
21426 : case 4:
21427 : if (!
21428 : #line 25492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21429 : (TARGET_AVX2
21430 : && ix86_pre_reload_split ()))
21431 : return -1;
21432 : return 8939; /* *avx2_sign_extendv4hiv4di2_2 */
21433 :
21434 : case 5:
21435 : if (!
21436 : #line 25770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21437 : (TARGET_SSE4_1
21438 : && ix86_pre_reload_split ()))
21439 : return -1;
21440 : return 8975; /* *sse4_1_sign_extendv2siv2di2_2 */
21441 :
21442 : case 6:
21443 : if (!
21444 : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21445 : (TARGET_SSE4_1 && 1
21446 : && ix86_pre_reload_split ()))
21447 : return -1;
21448 : return 8854; /* *sse4_1_sign_extendv4qiv4si2_2 */
21449 :
21450 : case 7:
21451 : if (!
21452 : #line 25324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21453 : (TARGET_AVX2
21454 : && ix86_pre_reload_split ()))
21455 : return -1;
21456 : return 8912; /* *avx2_sign_extendv4qiv4di2_2 */
21457 :
21458 : case 8:
21459 : if (!
21460 : #line 25580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21461 : (TARGET_SSE4_1
21462 : && ix86_pre_reload_split ()))
21463 : return -1;
21464 : return 8951; /* *sse4_1_sign_extendv2hiv2di2_2 */
21465 :
21466 : default:
21467 : return -1;
21468 : }
21469 :
21470 : default:
21471 : return -1;
21472 : }
21473 : }
21474 :
21475 : int
21476 : recog_354 (rtx x1 ATTRIBUTE_UNUSED,
21477 : rtx_insn *insn ATTRIBUTE_UNUSED,
21478 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21479 : {
21480 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21481 : rtx x2, x3, x4;
21482 : int res ATTRIBUTE_UNUSED;
21483 : x2 = XEXP (x1, 0);
21484 : operands[0] = x2;
21485 : x3 = XEXP (x1, 1);
21486 : x4 = XEXP (x3, 0);
21487 : operands[1] = x4;
21488 : switch (GET_MODE (operands[0]))
21489 : {
21490 : case E_V8HFmode:
21491 : if (!register_operand (operands[0], E_V8HFmode)
21492 : || GET_MODE (x3) != E_V8HFmode)
21493 : return -1;
21494 : switch (GET_MODE (operands[1]))
21495 : {
21496 : case E_V8DFmode:
21497 : if (!vector_operand (operands[1], E_V8DFmode)
21498 : || !
21499 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21500 : (TARGET_AVX512FP16))
21501 : return -1;
21502 : return 4780; /* avx512fp16_vcvtpd2ph_v8df */
21503 :
21504 : case E_V8SFmode:
21505 : if (!vector_operand (operands[1], E_V8SFmode)
21506 : || !(
21507 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21508 : (TARGET_AVX512FP16) &&
21509 : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21510 : (TARGET_AVX512VL)))
21511 : return -1;
21512 : return 4788; /* avx512fp16_vcvtps2ph_v8sf */
21513 :
21514 : default:
21515 : return -1;
21516 : }
21517 :
21518 : case E_V16HFmode:
21519 : if (!register_operand (operands[0], E_V16HFmode)
21520 : || GET_MODE (x3) != E_V16HFmode
21521 : || !vector_operand (operands[1], E_V16SFmode)
21522 : || !
21523 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21524 : (TARGET_AVX512FP16))
21525 : return -1;
21526 : return 4784; /* avx512fp16_vcvtps2ph_v16sf */
21527 :
21528 : case E_V8SFmode:
21529 : if (!register_operand (operands[0], E_V8SFmode)
21530 : || GET_MODE (x3) != E_V8SFmode
21531 : || !vector_operand (operands[1], E_V8DFmode)
21532 : || !
21533 : #line 10416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21534 : (TARGET_AVX512F))
21535 : return -1;
21536 : return 5191; /* *avx512f_cvtpd2ps512 */
21537 :
21538 : case E_V4SFmode:
21539 : if (!register_operand (operands[0], E_V4SFmode)
21540 : || GET_MODE (x3) != E_V4SFmode
21541 : || !nonimmediate_operand (operands[1], E_V4DFmode)
21542 : || !
21543 : #line 10426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21544 : (TARGET_AVX && 1))
21545 : return -1;
21546 : return 5195; /* avx_cvtpd2ps256 */
21547 :
21548 : case E_V8BFmode:
21549 : if (!register_operand (operands[0], E_V8BFmode)
21550 : || GET_MODE (x3) != E_V8BFmode
21551 : || !nonimmediate_operand (operands[1], E_V8SFmode))
21552 : return -1;
21553 : if (
21554 : #line 31845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21555 : (TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)))
21556 : return 10420; /* vcvtneps2bf16_v8sf */
21557 : if (!(
21558 : #line 31883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21559 : (TARGET_AVX512BF16) &&
21560 : #line 31811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21561 : (TARGET_AVX512VL)))
21562 : return -1;
21563 : return 10423; /* avx512f_cvtneps2bf16_v8sf */
21564 :
21565 : case E_V16BFmode:
21566 : if (!register_operand (operands[0], E_V16BFmode)
21567 : || GET_MODE (x3) != E_V16BFmode
21568 : || !nonimmediate_operand (operands[1], E_V16SFmode)
21569 : || !
21570 : #line 31883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21571 : (TARGET_AVX512BF16))
21572 : return -1;
21573 : return 10421; /* avx512f_cvtneps2bf16_v16sf */
21574 :
21575 : default:
21576 : return -1;
21577 : }
21578 : }
21579 :
21580 : int
21581 : recog_357 (rtx x1 ATTRIBUTE_UNUSED,
21582 : rtx_insn *insn ATTRIBUTE_UNUSED,
21583 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21584 : {
21585 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21586 : int res ATTRIBUTE_UNUSED;
21587 : switch (pattern33 (x1))
21588 : {
21589 : case 0:
21590 : if (!
21591 : #line 17907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21592 : (TARGET_SSE2 && TARGET_64BIT
21593 : && ix86_pre_reload_split ()))
21594 : return -1;
21595 : return 7736; /* *rotrv1ti3_internal */
21596 :
21597 : case 1:
21598 : if (!
21599 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21600 : (TARGET_AVX512F))
21601 : return -1;
21602 : return 7773; /* avx512f_rorv16si */
21603 :
21604 : case 2:
21605 : if (!(
21606 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21607 : (TARGET_AVX512F) &&
21608 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21609 : (TARGET_AVX512VL)))
21610 : return -1;
21611 : return 7777; /* avx512vl_rorv8si */
21612 :
21613 : case 3:
21614 : if (const_0_to_255_operand (operands[2], E_SImode)
21615 : && (
21616 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21617 : (TARGET_AVX512F) &&
21618 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21619 : (TARGET_AVX512VL)))
21620 : return 7781; /* avx512vl_rorv4si */
21621 : if (!const_0_to_31_operand (operands[2], E_SImode)
21622 : || !
21623 : #line 27228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21624 : (TARGET_XOP))
21625 : return -1;
21626 : return 9093; /* xop_rotrv4si3 */
21627 :
21628 : case 4:
21629 : if (!
21630 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21631 : (TARGET_AVX512F))
21632 : return -1;
21633 : return 7785; /* avx512f_rorv8di */
21634 :
21635 : case 5:
21636 : if (!(
21637 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21638 : (TARGET_AVX512F) &&
21639 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21640 : (TARGET_AVX512VL)))
21641 : return -1;
21642 : return 7789; /* avx512vl_rorv4di */
21643 :
21644 : case 6:
21645 : if (const_0_to_255_operand (operands[2], E_SImode)
21646 : && (
21647 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21648 : (TARGET_AVX512F) &&
21649 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21650 : (TARGET_AVX512VL)))
21651 : return 7793; /* avx512vl_rorv2di */
21652 : if (!const_0_to_63_operand (operands[2], E_SImode)
21653 : || !
21654 : #line 27228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21655 : (TARGET_XOP))
21656 : return -1;
21657 : return 9094; /* xop_rotrv2di3 */
21658 :
21659 : case 7:
21660 : if (!
21661 : #line 27228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21662 : (TARGET_XOP))
21663 : return -1;
21664 : return 9091; /* xop_rotrv16qi3 */
21665 :
21666 : case 8:
21667 : if (!
21668 : #line 27228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21669 : (TARGET_XOP))
21670 : return -1;
21671 : return 9092; /* xop_rotrv8hi3 */
21672 :
21673 : case 9:
21674 : if (!
21675 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21676 : (TARGET_AVX512F))
21677 : return -1;
21678 : return 7749; /* avx512f_rorvv16si */
21679 :
21680 : case 10:
21681 : if (!(
21682 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21683 : (TARGET_AVX512F) &&
21684 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21685 : (TARGET_AVX512VL)))
21686 : return -1;
21687 : return 7753; /* avx512vl_rorvv8si */
21688 :
21689 : case 11:
21690 : if (!(
21691 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21692 : (TARGET_AVX512F) &&
21693 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21694 : (TARGET_AVX512VL)))
21695 : return -1;
21696 : return 7757; /* avx512vl_rorvv4si */
21697 :
21698 : case 12:
21699 : if (!
21700 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21701 : (TARGET_AVX512F))
21702 : return -1;
21703 : return 7761; /* avx512f_rorvv8di */
21704 :
21705 : case 13:
21706 : if (!(
21707 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21708 : (TARGET_AVX512F) &&
21709 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21710 : (TARGET_AVX512VL)))
21711 : return -1;
21712 : return 7765; /* avx512vl_rorvv4di */
21713 :
21714 : case 14:
21715 : if (!(
21716 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21717 : (TARGET_AVX512F) &&
21718 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21719 : (TARGET_AVX512VL)))
21720 : return -1;
21721 : return 7769; /* avx512vl_rorvv2di */
21722 :
21723 : default:
21724 : return -1;
21725 : }
21726 : }
21727 :
21728 : int
21729 : recog_368 (rtx x1 ATTRIBUTE_UNUSED,
21730 : rtx_insn *insn ATTRIBUTE_UNUSED,
21731 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21732 : {
21733 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21734 : rtx x2, x3, x4;
21735 : int res ATTRIBUTE_UNUSED;
21736 : x2 = XVECEXP (x1, 0, 0);
21737 : x3 = XEXP (x2, 0);
21738 : switch (GET_CODE (x3))
21739 : {
21740 : case REG:
21741 : case SUBREG:
21742 : case MEM:
21743 : operands[0] = x3;
21744 : switch (GET_MODE (operands[0]))
21745 : {
21746 : case E_DImode:
21747 : x4 = XEXP (x2, 1);
21748 : if (GET_MODE (x4) != E_DImode)
21749 : return -1;
21750 : if (register_operand (operands[0], E_DImode)
21751 : && register_operand (operands[1], E_DImode)
21752 : && nonmemory_operand (operands[2], E_QImode)
21753 : &&
21754 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21755 : (!TARGET_64BIT))
21756 : return 1163; /* ashrdi3_doubleword */
21757 : if (!nonimmediate_operand (operands[0], E_DImode)
21758 : || !nonimmediate_operand (operands[1], E_DImode))
21759 : return -1;
21760 : if (const_int_operand (operands[2], E_QImode)
21761 : && (
21762 : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21763 : (INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)-1
21764 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
21765 : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
21766 : && true) &&
21767 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21768 : (TARGET_64BIT)))
21769 : return 1201; /* ashrdi3_cvt */
21770 : if (!nonmemory_operand (operands[2], E_QImode)
21771 : || !(
21772 : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21773 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)
21774 : && true) &&
21775 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21776 : (TARGET_64BIT)))
21777 : return -1;
21778 : return 1210; /* *ashrdi3_1 */
21779 :
21780 : case E_TImode:
21781 : x4 = XEXP (x2, 1);
21782 : if (pattern1343 (x4,
21783 : E_TImode) != 0
21784 : || !
21785 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21786 : (TARGET_64BIT))
21787 : return -1;
21788 : return 1165; /* ashrti3_doubleword */
21789 :
21790 : case E_SImode:
21791 : x4 = XEXP (x2, 1);
21792 : if (pattern1533 (x4,
21793 : E_SImode) != 0
21794 : || !
21795 : #line 17659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21796 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
21797 : && true))
21798 : return -1;
21799 : return 1208; /* *ashrsi3_1 */
21800 :
21801 : case E_QImode:
21802 : x4 = XEXP (x2, 1);
21803 : if (pattern1533 (x4,
21804 : E_QImode) != 0
21805 : || !
21806 : #line 17868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21807 : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
21808 : && true))
21809 : return -1;
21810 : return 1241; /* *ashrqi3_1 */
21811 :
21812 : case E_HImode:
21813 : x4 = XEXP (x2, 1);
21814 : if (pattern1533 (x4,
21815 : E_HImode) != 0
21816 : || !
21817 : #line 17868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21818 : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
21819 : && true))
21820 : return -1;
21821 : return 1243; /* *ashrhi3_1 */
21822 :
21823 : case E_V2QImode:
21824 : x4 = XEXP (x2, 1);
21825 : if (pattern1343 (x4,
21826 : E_V2QImode) != 0
21827 : || !
21828 : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21829 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
21830 : return -1;
21831 : return 2273; /* ashrv2qi3 */
21832 :
21833 : default:
21834 : return -1;
21835 : }
21836 :
21837 : case STRICT_LOW_PART:
21838 : switch (pattern1344 (x2))
21839 : {
21840 : case 0:
21841 : if (!
21842 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21843 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21844 : return -1;
21845 : return 1249; /* *ashrqi3_1_slp */
21846 :
21847 : case 1:
21848 : if (!
21849 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21850 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21851 : return -1;
21852 : return 1251; /* *ashrhi3_1_slp */
21853 :
21854 : default:
21855 : return -1;
21856 : }
21857 :
21858 : default:
21859 : return -1;
21860 : }
21861 : }
21862 :
21863 : int
21864 : recog_373 (rtx x1 ATTRIBUTE_UNUSED,
21865 : rtx_insn *insn ATTRIBUTE_UNUSED,
21866 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21867 : {
21868 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21869 : rtx x2, x3, x4, x5, x6, x7, x8;
21870 : int res ATTRIBUTE_UNUSED;
21871 : x2 = XVECEXP (x1, 0, 0);
21872 : x3 = XEXP (x2, 0);
21873 : if (GET_MODE (x3) != E_CCCmode)
21874 : return -1;
21875 : x4 = XEXP (x2, 1);
21876 : if (GET_MODE (x4) != E_CCCmode)
21877 : return -1;
21878 : x5 = XVECEXP (x1, 0, 1);
21879 : switch (GET_CODE (x5))
21880 : {
21881 : case SET:
21882 : x6 = XEXP (x5, 1);
21883 : if (GET_CODE (x6) != NEG)
21884 : return -1;
21885 : x7 = XEXP (x5, 0);
21886 : operands[0] = x7;
21887 : x8 = XEXP (x6, 0);
21888 : if (!rtx_equal_p (x8, operands[1]))
21889 : return -1;
21890 : switch (GET_MODE (operands[1]))
21891 : {
21892 : case E_QImode:
21893 : if (!nonimmediate_operand (operands[1], E_QImode)
21894 : || !nonimmediate_operand (operands[0], E_QImode)
21895 : || GET_MODE (x6) != E_QImode)
21896 : return -1;
21897 : return 1012; /* *negqi_ccc_1 */
21898 :
21899 : case E_HImode:
21900 : if (!nonimmediate_operand (operands[1], E_HImode)
21901 : || !nonimmediate_operand (operands[0], E_HImode)
21902 : || GET_MODE (x6) != E_HImode)
21903 : return -1;
21904 : return 1013; /* *neghi_ccc_1 */
21905 :
21906 : case E_SImode:
21907 : if (!nonimmediate_operand (operands[1], E_SImode)
21908 : || !nonimmediate_operand (operands[0], E_SImode)
21909 : || GET_MODE (x6) != E_SImode)
21910 : return -1;
21911 : return 1014; /* *negsi_ccc_1 */
21912 :
21913 : case E_DImode:
21914 : if (!nonimmediate_operand (operands[1], E_DImode)
21915 : || !nonimmediate_operand (operands[0], E_DImode)
21916 : || GET_MODE (x6) != E_DImode
21917 : || !
21918 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21919 : (TARGET_64BIT))
21920 : return -1;
21921 : return 1015; /* *negdi_ccc_1 */
21922 :
21923 : default:
21924 : return -1;
21925 : }
21926 :
21927 : case CLOBBER:
21928 : x7 = XEXP (x5, 0);
21929 : operands[0] = x7;
21930 : switch (GET_MODE (operands[1]))
21931 : {
21932 : case E_QImode:
21933 : if (!nonimmediate_operand (operands[1], E_QImode)
21934 : || !scratch_operand (operands[0], E_QImode))
21935 : return -1;
21936 : return 1016; /* *negqi_ccc_2 */
21937 :
21938 : case E_HImode:
21939 : if (!nonimmediate_operand (operands[1], E_HImode)
21940 : || !scratch_operand (operands[0], E_HImode))
21941 : return -1;
21942 : return 1017; /* *neghi_ccc_2 */
21943 :
21944 : case E_SImode:
21945 : if (!nonimmediate_operand (operands[1], E_SImode)
21946 : || !scratch_operand (operands[0], E_SImode))
21947 : return -1;
21948 : return 1018; /* *negsi_ccc_2 */
21949 :
21950 : case E_DImode:
21951 : if (!nonimmediate_operand (operands[1], E_DImode)
21952 : || !scratch_operand (operands[0], E_DImode)
21953 : || !
21954 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21955 : (TARGET_64BIT))
21956 : return -1;
21957 : return 1019; /* *negdi_ccc_2 */
21958 :
21959 : default:
21960 : return -1;
21961 : }
21962 :
21963 : default:
21964 : return -1;
21965 : }
21966 : }
21967 :
21968 : int
21969 : recog_377 (rtx x1 ATTRIBUTE_UNUSED,
21970 : rtx_insn *insn ATTRIBUTE_UNUSED,
21971 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21972 : {
21973 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21974 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21975 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21976 : rtx x18, x19, x20, x21, x22;
21977 : int res ATTRIBUTE_UNUSED;
21978 : x2 = XVECEXP (x1, 0, 0);
21979 : x3 = XEXP (x2, 1);
21980 : switch (XVECLEN (x3, 0))
21981 : {
21982 : case 1:
21983 : return recog_376 (x1, insn, pnum_clobbers);
21984 :
21985 : case 2:
21986 : return recog_375 (x1, insn, pnum_clobbers);
21987 :
21988 : case 3:
21989 : return recog_374 (x1, insn, pnum_clobbers);
21990 :
21991 : case 4:
21992 : x4 = XVECEXP (x1, 0, 1);
21993 : if (GET_CODE (x4) != CLOBBER)
21994 : return -1;
21995 : x5 = XEXP (x2, 0);
21996 : operands[0] = x5;
21997 : switch (XINT (x3, 1))
21998 : {
21999 : case 23:
22000 : if (pattern825 (x3) != 0)
22001 : return -1;
22002 : x6 = XEXP (x4, 0);
22003 : if (GET_CODE (x6) != REG
22004 : || REGNO (x6) != 17
22005 : || GET_MODE (x6) != E_CCmode
22006 : || !register_operand (operands[0], E_SImode))
22007 : return -1;
22008 : x7 = XVECEXP (x3, 0, 0);
22009 : operands[1] = x7;
22010 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
22011 : return -1;
22012 : x8 = XVECEXP (x3, 0, 1);
22013 : operands[2] = x8;
22014 : if (!register_operand (operands[2], E_SImode))
22015 : return -1;
22016 : x9 = XVECEXP (x3, 0, 2);
22017 : operands[3] = x9;
22018 : if (!register_operand (operands[3], E_SImode)
22019 : || !
22020 : #line 23668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22021 : (!TARGET_64BIT && TARGET_GNU2_TLS))
22022 : return -1;
22023 : return 1699; /* *tls_dynamic_gnu2_call_32 */
22024 :
22025 : case 24:
22026 : if (pnum_clobbers == NULL)
22027 : return -1;
22028 : x7 = XVECEXP (x3, 0, 0);
22029 : if (GET_CODE (x7) != MEM
22030 : || GET_MODE (x7) != E_BLKmode)
22031 : return -1;
22032 : switch (pattern1161 (x1))
22033 : {
22034 : case 0:
22035 : if (!(
22036 : #line 26574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22037 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
22038 : && ix86_check_no_addr_space (insn)) &&
22039 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22040 : (Pmode == SImode)))
22041 : return -1;
22042 : *pnum_clobbers = 1;
22043 : return 1827; /* *strlenqi_1 */
22044 :
22045 : case 1:
22046 : if (!(
22047 : #line 26574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22048 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
22049 : && ix86_check_no_addr_space (insn)) &&
22050 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22051 : (Pmode == DImode)))
22052 : return -1;
22053 : *pnum_clobbers = 1;
22054 : return 1828; /* *strlenqi_1 */
22055 :
22056 : default:
22057 : return -1;
22058 : }
22059 :
22060 : case 154:
22061 : x8 = XVECEXP (x3, 0, 1);
22062 : if (GET_CODE (x8) != MEM)
22063 : return -1;
22064 : x10 = XEXP (x8, 0);
22065 : if (GET_CODE (x10) != UNSPEC
22066 : || XVECLEN (x10, 0) != 3
22067 : || XINT (x10, 1) != 155)
22068 : return -1;
22069 : x9 = XVECEXP (x3, 0, 2);
22070 : if (GET_CODE (x9) != MEM
22071 : || GET_MODE (x9) != E_BLKmode)
22072 : return -1;
22073 : x11 = XEXP (x9, 0);
22074 : if (GET_CODE (x11) != SCRATCH)
22075 : return -1;
22076 : x12 = XVECEXP (x10, 0, 2);
22077 : if (!const1248_operand (x12, E_SImode))
22078 : return -1;
22079 : x6 = XEXP (x4, 0);
22080 : operands[1] = x6;
22081 : x7 = XVECEXP (x3, 0, 0);
22082 : switch (GET_CODE (x7))
22083 : {
22084 : case REG:
22085 : case SUBREG:
22086 : operands[2] = x7;
22087 : operands[7] = x8;
22088 : x13 = XVECEXP (x10, 0, 0);
22089 : operands[3] = x13;
22090 : x14 = XVECEXP (x10, 0, 1);
22091 : operands[4] = x14;
22092 : operands[6] = x12;
22093 : x15 = XVECEXP (x3, 0, 3);
22094 : operands[5] = x15;
22095 : switch (GET_MODE (operands[0]))
22096 : {
22097 : case E_V2DImode:
22098 : switch (pattern1816 (x3,
22099 : E_V2DImode,
22100 : E_DImode))
22101 : {
22102 : case 0:
22103 : if (!(
22104 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22105 : (TARGET_AVX2) &&
22106 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22107 : (Pmode == SImode)))
22108 : return -1;
22109 : return 9744; /* *avx2_gathersiv2di */
22110 :
22111 : case 1:
22112 : if (!(
22113 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22114 : (TARGET_AVX2) &&
22115 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22116 : (Pmode == SImode)))
22117 : return -1;
22118 : return 9776; /* *avx2_gatherdiv2di */
22119 :
22120 : case 2:
22121 : if (!(
22122 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22123 : (TARGET_AVX2) &&
22124 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22125 : (Pmode == DImode)))
22126 : return -1;
22127 : return 9752; /* *avx2_gathersiv2di */
22128 :
22129 : case 3:
22130 : if (!(
22131 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22132 : (TARGET_AVX2) &&
22133 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22134 : (Pmode == DImode)))
22135 : return -1;
22136 : return 9784; /* *avx2_gatherdiv2di */
22137 :
22138 : default:
22139 : return -1;
22140 : }
22141 :
22142 : case E_V2DFmode:
22143 : switch (pattern1816 (x3,
22144 : E_V2DFmode,
22145 : E_DFmode))
22146 : {
22147 : case 0:
22148 : if (!(
22149 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22150 : (TARGET_AVX2) &&
22151 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22152 : (Pmode == SImode)))
22153 : return -1;
22154 : return 9745; /* *avx2_gathersiv2df */
22155 :
22156 : case 1:
22157 : if (!(
22158 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22159 : (TARGET_AVX2) &&
22160 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22161 : (Pmode == SImode)))
22162 : return -1;
22163 : return 9777; /* *avx2_gatherdiv2df */
22164 :
22165 : case 2:
22166 : if (!(
22167 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22168 : (TARGET_AVX2) &&
22169 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22170 : (Pmode == DImode)))
22171 : return -1;
22172 : return 9753; /* *avx2_gathersiv2df */
22173 :
22174 : case 3:
22175 : if (!(
22176 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22177 : (TARGET_AVX2) &&
22178 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22179 : (Pmode == DImode)))
22180 : return -1;
22181 : return 9785; /* *avx2_gatherdiv2df */
22182 :
22183 : default:
22184 : return -1;
22185 : }
22186 :
22187 : case E_V4DImode:
22188 : switch (pattern1818 (x3,
22189 : E_V4DImode,
22190 : E_DImode))
22191 : {
22192 : case 0:
22193 : if (!(
22194 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22195 : (TARGET_AVX2) &&
22196 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22197 : (Pmode == SImode)))
22198 : return -1;
22199 : return 9746; /* *avx2_gathersiv4di */
22200 :
22201 : case 1:
22202 : if (!(
22203 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22204 : (TARGET_AVX2) &&
22205 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22206 : (Pmode == SImode)))
22207 : return -1;
22208 : return 9778; /* *avx2_gatherdiv4di */
22209 :
22210 : case 2:
22211 : if (!(
22212 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22213 : (TARGET_AVX2) &&
22214 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22215 : (Pmode == DImode)))
22216 : return -1;
22217 : return 9754; /* *avx2_gathersiv4di */
22218 :
22219 : case 3:
22220 : if (!(
22221 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22222 : (TARGET_AVX2) &&
22223 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22224 : (Pmode == DImode)))
22225 : return -1;
22226 : return 9786; /* *avx2_gatherdiv4di */
22227 :
22228 : default:
22229 : return -1;
22230 : }
22231 :
22232 : case E_V4DFmode:
22233 : switch (pattern1818 (x3,
22234 : E_V4DFmode,
22235 : E_DFmode))
22236 : {
22237 : case 0:
22238 : if (!(
22239 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22240 : (TARGET_AVX2) &&
22241 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22242 : (Pmode == SImode)))
22243 : return -1;
22244 : return 9747; /* *avx2_gathersiv4df */
22245 :
22246 : case 1:
22247 : if (!(
22248 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22249 : (TARGET_AVX2) &&
22250 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22251 : (Pmode == SImode)))
22252 : return -1;
22253 : return 9779; /* *avx2_gatherdiv4df */
22254 :
22255 : case 2:
22256 : if (!(
22257 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22258 : (TARGET_AVX2) &&
22259 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22260 : (Pmode == DImode)))
22261 : return -1;
22262 : return 9755; /* *avx2_gathersiv4df */
22263 :
22264 : case 3:
22265 : if (!(
22266 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22267 : (TARGET_AVX2) &&
22268 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22269 : (Pmode == DImode)))
22270 : return -1;
22271 : return 9787; /* *avx2_gatherdiv4df */
22272 :
22273 : default:
22274 : return -1;
22275 : }
22276 :
22277 : case E_V4SImode:
22278 : switch (pattern1816 (x3,
22279 : E_V4SImode,
22280 : E_SImode))
22281 : {
22282 : case 0:
22283 : if (!(
22284 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22285 : (TARGET_AVX2) &&
22286 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22287 : (Pmode == SImode)))
22288 : return -1;
22289 : return 9748; /* *avx2_gathersiv4si */
22290 :
22291 : case 1:
22292 : if (!(
22293 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22294 : (TARGET_AVX2) &&
22295 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22296 : (Pmode == SImode)))
22297 : return -1;
22298 : return 9780; /* *avx2_gatherdiv4si */
22299 :
22300 : case 2:
22301 : if (!(
22302 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22303 : (TARGET_AVX2) &&
22304 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22305 : (Pmode == DImode)))
22306 : return -1;
22307 : return 9756; /* *avx2_gathersiv4si */
22308 :
22309 : case 3:
22310 : if (!(
22311 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22312 : (TARGET_AVX2) &&
22313 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22314 : (Pmode == DImode)))
22315 : return -1;
22316 : return 9788; /* *avx2_gatherdiv4si */
22317 :
22318 : default:
22319 : return -1;
22320 : }
22321 :
22322 : case E_V4SFmode:
22323 : switch (pattern1816 (x3,
22324 : E_V4SFmode,
22325 : E_SFmode))
22326 : {
22327 : case 0:
22328 : if (!(
22329 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22330 : (TARGET_AVX2) &&
22331 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22332 : (Pmode == SImode)))
22333 : return -1;
22334 : return 9749; /* *avx2_gathersiv4sf */
22335 :
22336 : case 1:
22337 : if (!(
22338 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22339 : (TARGET_AVX2) &&
22340 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22341 : (Pmode == SImode)))
22342 : return -1;
22343 : return 9781; /* *avx2_gatherdiv4sf */
22344 :
22345 : case 2:
22346 : if (!(
22347 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22348 : (TARGET_AVX2) &&
22349 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22350 : (Pmode == DImode)))
22351 : return -1;
22352 : return 9757; /* *avx2_gathersiv4sf */
22353 :
22354 : case 3:
22355 : if (!(
22356 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22357 : (TARGET_AVX2) &&
22358 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22359 : (Pmode == DImode)))
22360 : return -1;
22361 : return 9789; /* *avx2_gatherdiv4sf */
22362 :
22363 : default:
22364 : return -1;
22365 : }
22366 :
22367 : case E_V8SImode:
22368 : if (pattern1819 (x3,
22369 : E_V8SImode,
22370 : E_SImode) != 0)
22371 : return -1;
22372 : switch (GET_MODE (operands[2]))
22373 : {
22374 : case E_V8SImode:
22375 : if (!register_operand (operands[2], E_V8SImode)
22376 : || !register_operand (operands[4], E_V8SImode))
22377 : return -1;
22378 : switch (pattern1869 (x10,
22379 : E_V8SImode))
22380 : {
22381 : case 0:
22382 : if (!(
22383 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22384 : (TARGET_AVX2) &&
22385 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22386 : (Pmode == SImode)))
22387 : return -1;
22388 : return 9750; /* *avx2_gathersiv8si */
22389 :
22390 : case 1:
22391 : if (!(
22392 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22393 : (TARGET_AVX2) &&
22394 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22395 : (Pmode == DImode)))
22396 : return -1;
22397 : return 9758; /* *avx2_gathersiv8si */
22398 :
22399 : default:
22400 : return -1;
22401 : }
22402 :
22403 : case E_V4SImode:
22404 : switch (pattern1870 (x10,
22405 : E_V4SImode,
22406 : E_V4DImode))
22407 : {
22408 : case 0:
22409 : if (!(
22410 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22411 : (TARGET_AVX2) &&
22412 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22413 : (Pmode == SImode)))
22414 : return -1;
22415 : return 9782; /* *avx2_gatherdiv8si */
22416 :
22417 : case 1:
22418 : if (!(
22419 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22420 : (TARGET_AVX2) &&
22421 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22422 : (Pmode == DImode)))
22423 : return -1;
22424 : return 9790; /* *avx2_gatherdiv8si */
22425 :
22426 : default:
22427 : return -1;
22428 : }
22429 :
22430 : default:
22431 : return -1;
22432 : }
22433 :
22434 : case E_V8SFmode:
22435 : if (pattern1819 (x3,
22436 : E_V8SFmode,
22437 : E_SFmode) != 0)
22438 : return -1;
22439 : switch (GET_MODE (operands[2]))
22440 : {
22441 : case E_V8SFmode:
22442 : switch (pattern1870 (x10,
22443 : E_V8SFmode,
22444 : E_V8SImode))
22445 : {
22446 : case 0:
22447 : if (!(
22448 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22449 : (TARGET_AVX2) &&
22450 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22451 : (Pmode == SImode)))
22452 : return -1;
22453 : return 9751; /* *avx2_gathersiv8sf */
22454 :
22455 : case 1:
22456 : if (!(
22457 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22458 : (TARGET_AVX2) &&
22459 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22460 : (Pmode == DImode)))
22461 : return -1;
22462 : return 9759; /* *avx2_gathersiv8sf */
22463 :
22464 : default:
22465 : return -1;
22466 : }
22467 :
22468 : case E_V4SFmode:
22469 : switch (pattern1870 (x10,
22470 : E_V4SFmode,
22471 : E_V4DImode))
22472 : {
22473 : case 0:
22474 : if (!(
22475 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22476 : (TARGET_AVX2) &&
22477 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22478 : (Pmode == SImode)))
22479 : return -1;
22480 : return 9783; /* *avx2_gatherdiv8sf */
22481 :
22482 : case 1:
22483 : if (!(
22484 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22485 : (TARGET_AVX2) &&
22486 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22487 : (Pmode == DImode)))
22488 : return -1;
22489 : return 9791; /* *avx2_gatherdiv8sf */
22490 :
22491 : default:
22492 : return -1;
22493 : }
22494 :
22495 : default:
22496 : return -1;
22497 : }
22498 :
22499 : default:
22500 : return -1;
22501 : }
22502 :
22503 : case PC:
22504 : operands[6] = x8;
22505 : x13 = XVECEXP (x10, 0, 0);
22506 : operands[2] = x13;
22507 : x14 = XVECEXP (x10, 0, 1);
22508 : operands[3] = x14;
22509 : operands[5] = x12;
22510 : x15 = XVECEXP (x3, 0, 3);
22511 : operands[4] = x15;
22512 : switch (GET_MODE (operands[0]))
22513 : {
22514 : case E_V2DImode:
22515 : switch (pattern1798 (x3,
22516 : E_V2DImode,
22517 : E_DImode))
22518 : {
22519 : case 0:
22520 : if (!(
22521 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22522 : (TARGET_AVX2) &&
22523 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22524 : (Pmode == SImode)))
22525 : return -1;
22526 : return 9760; /* *avx2_gathersiv2di_2 */
22527 :
22528 : case 1:
22529 : if (!(
22530 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22531 : (TARGET_AVX2) &&
22532 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22533 : (Pmode == SImode)))
22534 : return -1;
22535 : return 9792; /* *avx2_gatherdiv2di_2 */
22536 :
22537 : case 2:
22538 : if (!(
22539 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22540 : (TARGET_AVX2) &&
22541 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22542 : (Pmode == DImode)))
22543 : return -1;
22544 : return 9768; /* *avx2_gathersiv2di_2 */
22545 :
22546 : case 3:
22547 : if (!(
22548 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22549 : (TARGET_AVX2) &&
22550 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22551 : (Pmode == DImode)))
22552 : return -1;
22553 : return 9800; /* *avx2_gatherdiv2di_2 */
22554 :
22555 : default:
22556 : return -1;
22557 : }
22558 :
22559 : case E_V2DFmode:
22560 : switch (pattern1798 (x3,
22561 : E_V2DFmode,
22562 : E_DFmode))
22563 : {
22564 : case 0:
22565 : if (!(
22566 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22567 : (TARGET_AVX2) &&
22568 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22569 : (Pmode == SImode)))
22570 : return -1;
22571 : return 9761; /* *avx2_gathersiv2df_2 */
22572 :
22573 : case 1:
22574 : if (!(
22575 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22576 : (TARGET_AVX2) &&
22577 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22578 : (Pmode == SImode)))
22579 : return -1;
22580 : return 9793; /* *avx2_gatherdiv2df_2 */
22581 :
22582 : case 2:
22583 : if (!(
22584 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22585 : (TARGET_AVX2) &&
22586 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22587 : (Pmode == DImode)))
22588 : return -1;
22589 : return 9769; /* *avx2_gathersiv2df_2 */
22590 :
22591 : case 3:
22592 : if (!(
22593 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22594 : (TARGET_AVX2) &&
22595 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22596 : (Pmode == DImode)))
22597 : return -1;
22598 : return 9801; /* *avx2_gatherdiv2df_2 */
22599 :
22600 : default:
22601 : return -1;
22602 : }
22603 :
22604 : case E_V4DImode:
22605 : switch (pattern1800 (x3,
22606 : E_V4DImode,
22607 : E_DImode))
22608 : {
22609 : case 0:
22610 : if (!(
22611 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22612 : (TARGET_AVX2) &&
22613 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22614 : (Pmode == SImode)))
22615 : return -1;
22616 : return 9762; /* *avx2_gathersiv4di_2 */
22617 :
22618 : case 1:
22619 : if (!(
22620 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22621 : (TARGET_AVX2) &&
22622 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22623 : (Pmode == SImode)))
22624 : return -1;
22625 : return 9794; /* *avx2_gatherdiv4di_2 */
22626 :
22627 : case 2:
22628 : if (!(
22629 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22630 : (TARGET_AVX2) &&
22631 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22632 : (Pmode == DImode)))
22633 : return -1;
22634 : return 9770; /* *avx2_gathersiv4di_2 */
22635 :
22636 : case 3:
22637 : if (!(
22638 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22639 : (TARGET_AVX2) &&
22640 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22641 : (Pmode == DImode)))
22642 : return -1;
22643 : return 9802; /* *avx2_gatherdiv4di_2 */
22644 :
22645 : default:
22646 : return -1;
22647 : }
22648 :
22649 : case E_V4DFmode:
22650 : switch (pattern1800 (x3,
22651 : E_V4DFmode,
22652 : E_DFmode))
22653 : {
22654 : case 0:
22655 : if (!(
22656 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22657 : (TARGET_AVX2) &&
22658 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22659 : (Pmode == SImode)))
22660 : return -1;
22661 : return 9763; /* *avx2_gathersiv4df_2 */
22662 :
22663 : case 1:
22664 : if (!(
22665 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22666 : (TARGET_AVX2) &&
22667 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22668 : (Pmode == SImode)))
22669 : return -1;
22670 : return 9795; /* *avx2_gatherdiv4df_2 */
22671 :
22672 : case 2:
22673 : if (!(
22674 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22675 : (TARGET_AVX2) &&
22676 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22677 : (Pmode == DImode)))
22678 : return -1;
22679 : return 9771; /* *avx2_gathersiv4df_2 */
22680 :
22681 : case 3:
22682 : if (!(
22683 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22684 : (TARGET_AVX2) &&
22685 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22686 : (Pmode == DImode)))
22687 : return -1;
22688 : return 9803; /* *avx2_gatherdiv4df_2 */
22689 :
22690 : default:
22691 : return -1;
22692 : }
22693 :
22694 : case E_V4SImode:
22695 : switch (pattern1798 (x3,
22696 : E_V4SImode,
22697 : E_SImode))
22698 : {
22699 : case 0:
22700 : if (!(
22701 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22702 : (TARGET_AVX2) &&
22703 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22704 : (Pmode == SImode)))
22705 : return -1;
22706 : return 9764; /* *avx2_gathersiv4si_2 */
22707 :
22708 : case 1:
22709 : if (!(
22710 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22711 : (TARGET_AVX2) &&
22712 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22713 : (Pmode == SImode)))
22714 : return -1;
22715 : return 9796; /* *avx2_gatherdiv4si_2 */
22716 :
22717 : case 2:
22718 : if (!(
22719 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22720 : (TARGET_AVX2) &&
22721 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22722 : (Pmode == DImode)))
22723 : return -1;
22724 : return 9772; /* *avx2_gathersiv4si_2 */
22725 :
22726 : case 3:
22727 : if (!(
22728 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22729 : (TARGET_AVX2) &&
22730 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22731 : (Pmode == DImode)))
22732 : return -1;
22733 : return 9804; /* *avx2_gatherdiv4si_2 */
22734 :
22735 : default:
22736 : return -1;
22737 : }
22738 :
22739 : case E_V4SFmode:
22740 : switch (pattern1798 (x3,
22741 : E_V4SFmode,
22742 : E_SFmode))
22743 : {
22744 : case 0:
22745 : if (!(
22746 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22747 : (TARGET_AVX2) &&
22748 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22749 : (Pmode == SImode)))
22750 : return -1;
22751 : return 9765; /* *avx2_gathersiv4sf_2 */
22752 :
22753 : case 1:
22754 : if (!(
22755 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22756 : (TARGET_AVX2) &&
22757 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22758 : (Pmode == SImode)))
22759 : return -1;
22760 : return 9797; /* *avx2_gatherdiv4sf_2 */
22761 :
22762 : case 2:
22763 : if (!(
22764 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22765 : (TARGET_AVX2) &&
22766 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22767 : (Pmode == DImode)))
22768 : return -1;
22769 : return 9773; /* *avx2_gathersiv4sf_2 */
22770 :
22771 : case 3:
22772 : if (!(
22773 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22774 : (TARGET_AVX2) &&
22775 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22776 : (Pmode == DImode)))
22777 : return -1;
22778 : return 9805; /* *avx2_gatherdiv4sf_2 */
22779 :
22780 : default:
22781 : return -1;
22782 : }
22783 :
22784 : case E_V8SImode:
22785 : switch (pattern1801 (x3,
22786 : E_V8SImode,
22787 : E_SImode))
22788 : {
22789 : case 0:
22790 : switch (pattern1864 (
22791 : E_SImode))
22792 : {
22793 : case 0:
22794 : if (!(
22795 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22796 : (TARGET_AVX2) &&
22797 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22798 : (Pmode == SImode)))
22799 : return -1;
22800 : return 9766; /* *avx2_gathersiv8si_2 */
22801 :
22802 : case 1:
22803 : if (!(
22804 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22805 : (TARGET_AVX2) &&
22806 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22807 : (Pmode == SImode)))
22808 : return -1;
22809 : return 9798; /* *avx2_gatherdiv8si_2 */
22810 :
22811 : default:
22812 : return -1;
22813 : }
22814 :
22815 : case 1:
22816 : switch (pattern1864 (
22817 : E_DImode))
22818 : {
22819 : case 0:
22820 : if (!(
22821 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22822 : (TARGET_AVX2) &&
22823 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22824 : (Pmode == DImode)))
22825 : return -1;
22826 : return 9774; /* *avx2_gathersiv8si_2 */
22827 :
22828 : case 1:
22829 : if (!(
22830 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22831 : (TARGET_AVX2) &&
22832 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22833 : (Pmode == DImode)))
22834 : return -1;
22835 : return 9806; /* *avx2_gatherdiv8si_2 */
22836 :
22837 : default:
22838 : return -1;
22839 : }
22840 :
22841 : default:
22842 : return -1;
22843 : }
22844 :
22845 : case E_V8SFmode:
22846 : switch (pattern1801 (x3,
22847 : E_V8SFmode,
22848 : E_SFmode))
22849 : {
22850 : case 0:
22851 : switch (pattern1865 (
22852 : E_SImode))
22853 : {
22854 : case 0:
22855 : if (!(
22856 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22857 : (TARGET_AVX2) &&
22858 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22859 : (Pmode == SImode)))
22860 : return -1;
22861 : return 9767; /* *avx2_gathersiv8sf_2 */
22862 :
22863 : case 1:
22864 : if (!(
22865 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22866 : (TARGET_AVX2) &&
22867 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22868 : (Pmode == SImode)))
22869 : return -1;
22870 : return 9799; /* *avx2_gatherdiv8sf_2 */
22871 :
22872 : default:
22873 : return -1;
22874 : }
22875 :
22876 : case 1:
22877 : switch (pattern1865 (
22878 : E_DImode))
22879 : {
22880 : case 0:
22881 : if (!(
22882 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22883 : (TARGET_AVX2) &&
22884 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22885 : (Pmode == DImode)))
22886 : return -1;
22887 : return 9775; /* *avx2_gathersiv8sf_2 */
22888 :
22889 : case 1:
22890 : if (!(
22891 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22892 : (TARGET_AVX2) &&
22893 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22894 : (Pmode == DImode)))
22895 : return -1;
22896 : return 9807; /* *avx2_gatherdiv8sf_2 */
22897 :
22898 : default:
22899 : return -1;
22900 : }
22901 :
22902 : default:
22903 : return -1;
22904 : }
22905 :
22906 : default:
22907 : return -1;
22908 : }
22909 :
22910 : default:
22911 : return -1;
22912 : }
22913 :
22914 : default:
22915 : return -1;
22916 : }
22917 :
22918 : case 5:
22919 : if (XINT (x3, 1) != 132
22920 : || pattern556 (x1,
22921 : 132,
22922 : 5) != 0)
22923 : return -1;
22924 : x7 = XVECEXP (x3, 0, 0);
22925 : operands[1] = x7;
22926 : if (!register_operand (operands[1], E_V16QImode))
22927 : return -1;
22928 : x8 = XVECEXP (x3, 0, 1);
22929 : operands[2] = x8;
22930 : if (!register_operand (operands[2], E_SImode))
22931 : return -1;
22932 : x9 = XVECEXP (x3, 0, 2);
22933 : operands[3] = x9;
22934 : if (!nonimmediate_operand (operands[3], E_V16QImode))
22935 : return -1;
22936 : x15 = XVECEXP (x3, 0, 3);
22937 : operands[4] = x15;
22938 : if (!register_operand (operands[4], E_SImode))
22939 : return -1;
22940 : x16 = XVECEXP (x3, 0, 4);
22941 : operands[5] = x16;
22942 : if (!const_0_to_255_operand (operands[5], E_SImode))
22943 : return -1;
22944 : x4 = XVECEXP (x1, 0, 1);
22945 : x17 = XEXP (x4, 1);
22946 : x18 = XVECEXP (x17, 0, 0);
22947 : if (!rtx_equal_p (x18, operands[1]))
22948 : return -1;
22949 : x19 = XVECEXP (x17, 0, 1);
22950 : if (!rtx_equal_p (x19, operands[2]))
22951 : return -1;
22952 : x20 = XVECEXP (x17, 0, 2);
22953 : if (!rtx_equal_p (x20, operands[3]))
22954 : return -1;
22955 : x21 = XVECEXP (x17, 0, 3);
22956 : if (!rtx_equal_p (x21, operands[4]))
22957 : return -1;
22958 : x22 = XVECEXP (x17, 0, 4);
22959 : if (!rtx_equal_p (x22, operands[5]))
22960 : return -1;
22961 : switch (pattern1796 (x3))
22962 : {
22963 : case 0:
22964 : if (!
22965 : #line 26512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22966 : (TARGET_SSE4_2))
22967 : return -1;
22968 : return 9033; /* sse4_2_pcmpestri */
22969 :
22970 : case 1:
22971 : if (!
22972 : #line 26540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22973 : (TARGET_SSE4_2))
22974 : return -1;
22975 : return 9034; /* sse4_2_pcmpestrm */
22976 :
22977 : default:
22978 : return -1;
22979 : }
22980 :
22981 : default:
22982 : return -1;
22983 : }
22984 : }
22985 :
22986 : int
22987 : recog_399 (rtx x1 ATTRIBUTE_UNUSED,
22988 : rtx_insn *insn ATTRIBUTE_UNUSED,
22989 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22990 : {
22991 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22992 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22993 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22994 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
22995 : rtx x26, x27, x28, x29, x30;
22996 : int res ATTRIBUTE_UNUSED;
22997 : x2 = XVECEXP (x1, 0, 0);
22998 : x3 = XEXP (x2, 1);
22999 : x4 = XEXP (x3, 0);
23000 : switch (GET_CODE (x4))
23001 : {
23002 : case PLUS:
23003 : return recog_394 (x1, insn, pnum_clobbers);
23004 :
23005 : case NEG:
23006 : x5 = XEXP (x2, 0);
23007 : if (GET_CODE (x5) != REG
23008 : || REGNO (x5) != 17)
23009 : return -1;
23010 : x6 = XEXP (x3, 1);
23011 : switch (GET_CODE (x6))
23012 : {
23013 : case REG:
23014 : case SUBREG:
23015 : case MEM:
23016 : operands[1] = x6;
23017 : x7 = XEXP (x4, 0);
23018 : operands[2] = x7;
23019 : x8 = XVECEXP (x1, 0, 1);
23020 : switch (GET_CODE (x8))
23021 : {
23022 : case CLOBBER:
23023 : x9 = XEXP (x8, 0);
23024 : operands[0] = x9;
23025 : switch (GET_MODE (x4))
23026 : {
23027 : case E_QImode:
23028 : if (!general_operand (operands[2], E_QImode)
23029 : || !nonimmediate_operand (operands[1], E_QImode)
23030 : || !scratch_operand (operands[0], E_QImode)
23031 : || !
23032 : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23033 : (ix86_match_ccmode (insn, CCZmode)
23034 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23035 : return -1;
23036 : return 318; /* *addqi_3 */
23037 :
23038 : case E_HImode:
23039 : if (!general_operand (operands[2], E_HImode)
23040 : || !nonimmediate_operand (operands[1], E_HImode)
23041 : || !scratch_operand (operands[0], E_HImode)
23042 : || !
23043 : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23044 : (ix86_match_ccmode (insn, CCZmode)
23045 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23046 : return -1;
23047 : return 319; /* *addhi_3 */
23048 :
23049 : case E_SImode:
23050 : if (!x86_64_general_operand (operands[2], E_SImode)
23051 : || !nonimmediate_operand (operands[1], E_SImode)
23052 : || !scratch_operand (operands[0], E_SImode)
23053 : || !
23054 : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23055 : (ix86_match_ccmode (insn, CCZmode)
23056 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23057 : return -1;
23058 : return 320; /* *addsi_3 */
23059 :
23060 : case E_DImode:
23061 : if (!x86_64_general_operand (operands[2], E_DImode)
23062 : || !nonimmediate_operand (operands[1], E_DImode)
23063 : || !scratch_operand (operands[0], E_DImode)
23064 : || !(
23065 : #line 7270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23066 : (ix86_match_ccmode (insn, CCZmode)
23067 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23068 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23069 : (TARGET_64BIT)))
23070 : return -1;
23071 : return 321; /* *adddi_3 */
23072 :
23073 : default:
23074 : return -1;
23075 : }
23076 :
23077 : case SET:
23078 : x10 = XEXP (x8, 1);
23079 : if (GET_CODE (x10) != ZERO_EXTEND
23080 : || pattern1247 (x1,
23081 : PLUS) != 0
23082 : || !x86_64_general_operand (operands[2], E_SImode)
23083 : || !nonimmediate_operand (operands[1], E_SImode))
23084 : return -1;
23085 : x9 = XEXP (x8, 0);
23086 : operands[0] = x9;
23087 : if (!register_operand (operands[0], E_DImode))
23088 : return -1;
23089 : x11 = XEXP (x10, 0);
23090 : x12 = XEXP (x11, 0);
23091 : if (!rtx_equal_p (x12, operands[1]))
23092 : return -1;
23093 : x13 = XEXP (x11, 1);
23094 : if (!rtx_equal_p (x13, operands[2])
23095 : || !
23096 : #line 7319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23097 : (TARGET_64BIT && ix86_match_ccmode (insn, CCZmode)
23098 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
23099 : return -1;
23100 : return 322; /* *addsi_3_zext */
23101 :
23102 : default:
23103 : return -1;
23104 : }
23105 :
23106 : case CONST_INT:
23107 : if (XWINT (x6, 0) != 0L)
23108 : return -1;
23109 : x8 = XVECEXP (x1, 0, 1);
23110 : if (GET_CODE (x8) != SET)
23111 : return -1;
23112 : x7 = XEXP (x4, 0);
23113 : operands[1] = x7;
23114 : x9 = XEXP (x8, 0);
23115 : operands[0] = x9;
23116 : x10 = XEXP (x8, 1);
23117 : switch (GET_CODE (x10))
23118 : {
23119 : case NEG:
23120 : switch (pattern1249 (x1))
23121 : {
23122 : case 0:
23123 : if (!
23124 : #line 14753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23125 : (ix86_match_ccmode (insn, CCGOCmode)
23126 : && ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)))
23127 : return -1;
23128 : return 1007; /* *negqi_2 */
23129 :
23130 : case 1:
23131 : if (!
23132 : #line 14753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23133 : (ix86_match_ccmode (insn, CCGOCmode)
23134 : && ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)))
23135 : return -1;
23136 : return 1008; /* *neghi_2 */
23137 :
23138 : case 2:
23139 : if (!
23140 : #line 14753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23141 : (ix86_match_ccmode (insn, CCGOCmode)
23142 : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
23143 : return -1;
23144 : return 1009; /* *negsi_2 */
23145 :
23146 : case 3:
23147 : if (!(
23148 : #line 14753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23149 : (ix86_match_ccmode (insn, CCGOCmode)
23150 : && ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)) &&
23151 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23152 : (TARGET_64BIT)))
23153 : return -1;
23154 : return 1010; /* *negdi_2 */
23155 :
23156 : default:
23157 : return -1;
23158 : }
23159 :
23160 : case ZERO_EXTEND:
23161 : if (pattern1250 (x1,
23162 : NEG) != 0
23163 : || !
23164 : #line 14770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23165 : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
23166 : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
23167 : return -1;
23168 : return 1011; /* *negsi_2_zext */
23169 :
23170 : default:
23171 : return -1;
23172 : }
23173 :
23174 : default:
23175 : return -1;
23176 : }
23177 :
23178 : case REG:
23179 : case SUBREG:
23180 : case MEM:
23181 : operands[1] = x4;
23182 : x5 = XEXP (x2, 0);
23183 : if (GET_CODE (x5) != REG
23184 : || REGNO (x5) != 17)
23185 : return -1;
23186 : x6 = XEXP (x3, 1);
23187 : operands[2] = x6;
23188 : res = recog_390 (x1, insn, pnum_clobbers);
23189 : if (res >= 0)
23190 : return res;
23191 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23192 : return -1;
23193 : x8 = XVECEXP (x1, 0, 1);
23194 : if (GET_CODE (x8) != SET)
23195 : return -1;
23196 : x9 = XEXP (x8, 0);
23197 : operands[0] = x9;
23198 : x10 = XEXP (x8, 1);
23199 : switch (GET_CODE (x10))
23200 : {
23201 : case CTZ:
23202 : x11 = XEXP (x10, 0);
23203 : if (!rtx_equal_p (x11, operands[1]))
23204 : return -1;
23205 : switch (GET_MODE (x5))
23206 : {
23207 : case E_CCCmode:
23208 : if (GET_MODE (x3) != E_CCCmode)
23209 : return -1;
23210 : switch (pattern1501 (x10))
23211 : {
23212 : case 0:
23213 : if (!
23214 : #line 21365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23215 : (TARGET_BMI))
23216 : return -1;
23217 : return 1540; /* *tzcntsi_1 */
23218 :
23219 : case 1:
23220 : if (!(
23221 : #line 21365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23222 : (TARGET_BMI) &&
23223 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23224 : (TARGET_64BIT)))
23225 : return -1;
23226 : return 1541; /* *tzcntdi_1 */
23227 :
23228 : default:
23229 : return -1;
23230 : }
23231 :
23232 : case E_CCZmode:
23233 : if (GET_MODE (x3) != E_CCZmode)
23234 : return -1;
23235 : switch (pattern1501 (x10))
23236 : {
23237 : case 0:
23238 : return 1544; /* *bsfsi_1 */
23239 :
23240 : case 1:
23241 : if (!
23242 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23243 : (TARGET_64BIT))
23244 : return -1;
23245 : return 1545; /* *bsfdi_1 */
23246 :
23247 : default:
23248 : return -1;
23249 : }
23250 :
23251 : default:
23252 : return -1;
23253 : }
23254 :
23255 : case MINUS:
23256 : x11 = XEXP (x10, 0);
23257 : if (GET_CODE (x11) != CONST_INT)
23258 : return -1;
23259 : x14 = XEXP (x10, 1);
23260 : if (GET_CODE (x14) != CLZ
23261 : || GET_MODE (x5) != E_CCZmode
23262 : || GET_MODE (x3) != E_CCZmode)
23263 : return -1;
23264 : x15 = XEXP (x14, 0);
23265 : if (!rtx_equal_p (x15, operands[1]))
23266 : return -1;
23267 : switch (XWINT (x11, 0))
23268 : {
23269 : case 63L:
23270 : if (pattern1639 (x10,
23271 : E_DImode) != 0
23272 : || !
23273 : #line 21594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23274 : (TARGET_64BIT))
23275 : return -1;
23276 : return 1556; /* bsr_rex64 */
23277 :
23278 : case 31L:
23279 : if (pattern1639 (x10,
23280 : E_SImode) != 0)
23281 : return -1;
23282 : return 1559; /* bsr */
23283 :
23284 : default:
23285 : return -1;
23286 : }
23287 :
23288 : default:
23289 : return -1;
23290 : }
23291 :
23292 : case MINUS:
23293 : return recog_395 (x1, insn, pnum_clobbers);
23294 :
23295 : case ZERO_EXTEND:
23296 : return recog_396 (x1, insn, pnum_clobbers);
23297 :
23298 : case AND:
23299 : return recog_398 (x1, insn, pnum_clobbers);
23300 :
23301 : case IOR:
23302 : return recog_397 (x1, insn, pnum_clobbers);
23303 :
23304 : case XOR:
23305 : switch (pattern368 (x1,
23306 : XOR))
23307 : {
23308 : case 0:
23309 : if (general_operand (operands[2], E_QImode))
23310 : {
23311 : switch (pattern951 (x1,
23312 : XOR))
23313 : {
23314 : case 0:
23315 : if (
23316 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23317 : (ix86_match_ccmode (insn, CCNOmode)))
23318 : return 812; /* *xorqi_exthi_1_cc */
23319 : break;
23320 :
23321 : case 1:
23322 : if (
23323 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23324 : (ix86_match_ccmode (insn, CCNOmode)))
23325 : return 815; /* *xorqi_extsi_1_cc */
23326 : break;
23327 :
23328 : case 2:
23329 : if ((
23330 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23331 : (ix86_match_ccmode (insn, CCNOmode)) &&
23332 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23333 : (TARGET_64BIT)))
23334 : return 818; /* *xorqi_extdi_1_cc */
23335 : break;
23336 :
23337 : default:
23338 : break;
23339 : }
23340 : }
23341 : x5 = XEXP (x2, 0);
23342 : if (GET_CODE (x5) != REG
23343 : || REGNO (x5) != 17)
23344 : return -1;
23345 : x7 = XEXP (x4, 0);
23346 : operands[1] = x7;
23347 : x8 = XVECEXP (x1, 0, 1);
23348 : switch (GET_CODE (x8))
23349 : {
23350 : case SET:
23351 : x9 = XEXP (x8, 0);
23352 : operands[0] = x9;
23353 : x10 = XEXP (x8, 1);
23354 : switch (GET_CODE (x10))
23355 : {
23356 : case XOR:
23357 : switch (pattern1440 (x1))
23358 : {
23359 : case 0:
23360 : if (!
23361 : #line 14201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23362 : (ix86_match_ccmode (insn, CCNOmode)
23363 : && ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
23364 : return -1;
23365 : return 901; /* *xorqi_2 */
23366 :
23367 : case 1:
23368 : if (!
23369 : #line 14201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23370 : (ix86_match_ccmode (insn, CCNOmode)
23371 : && ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
23372 : return -1;
23373 : return 903; /* *xorhi_2 */
23374 :
23375 : case 2:
23376 : if (!
23377 : #line 14201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23378 : (ix86_match_ccmode (insn, CCNOmode)
23379 : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23380 : return -1;
23381 : return 905; /* *xorsi_2 */
23382 :
23383 : case 3:
23384 : if (!(
23385 : #line 14201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23386 : (ix86_match_ccmode (insn, CCNOmode)
23387 : && ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
23388 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23389 : (TARGET_64BIT)))
23390 : return -1;
23391 : return 907; /* *xordi_2 */
23392 :
23393 : case 4:
23394 : if (!
23395 : #line 14239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23396 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
23397 : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23398 : return -1;
23399 : return 911; /* *xorsi_2_zext_imm */
23400 :
23401 : default:
23402 : return -1;
23403 : }
23404 :
23405 : case ZERO_EXTEND:
23406 : if (pattern1436 (x1,
23407 : XOR) != 0
23408 : || !
23409 : #line 14221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23410 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
23411 : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23412 : return -1;
23413 : return 909; /* *xorsi_2_zext */
23414 :
23415 : default:
23416 : return -1;
23417 : }
23418 :
23419 : case CLOBBER:
23420 : x9 = XEXP (x8, 0);
23421 : operands[0] = x9;
23422 : switch (pattern1329 (x4))
23423 : {
23424 : case 0:
23425 : if (!
23426 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23427 : (ix86_match_ccmode (insn, CCNOmode)
23428 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23429 : return -1;
23430 : return 917; /* *xorqi_3 */
23431 :
23432 : case 1:
23433 : if (!
23434 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23435 : (ix86_match_ccmode (insn, CCNOmode)
23436 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23437 : return -1;
23438 : return 919; /* *xorhi_3 */
23439 :
23440 : case 2:
23441 : if (!
23442 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23443 : (ix86_match_ccmode (insn, CCNOmode)
23444 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23445 : return -1;
23446 : return 921; /* *xorsi_3 */
23447 :
23448 : case 3:
23449 : if (!(
23450 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23451 : (ix86_match_ccmode (insn, CCNOmode)
23452 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23453 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23454 : (TARGET_64BIT)))
23455 : return -1;
23456 : return 923; /* *xordi_3 */
23457 :
23458 : default:
23459 : return -1;
23460 : }
23461 :
23462 : default:
23463 : return -1;
23464 : }
23465 :
23466 : case 1:
23467 : return 11139; /* atomic_xor_fetch_cmp_0qi_1 */
23468 :
23469 : case 2:
23470 : return 11142; /* atomic_xor_fetch_cmp_0hi_1 */
23471 :
23472 : case 3:
23473 : return 11145; /* atomic_xor_fetch_cmp_0si_1 */
23474 :
23475 : case 4:
23476 : if (!
23477 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23478 : (TARGET_64BIT))
23479 : return -1;
23480 : return 11148; /* atomic_xor_fetch_cmp_0di_1 */
23481 :
23482 : default:
23483 : return -1;
23484 : }
23485 :
23486 : case NOT:
23487 : x6 = XEXP (x3, 1);
23488 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23489 : return -1;
23490 : x5 = XEXP (x2, 0);
23491 : if (GET_CODE (x5) != REG
23492 : || REGNO (x5) != 17)
23493 : return -1;
23494 : x8 = XVECEXP (x1, 0, 1);
23495 : if (GET_CODE (x8) != SET)
23496 : return -1;
23497 : x7 = XEXP (x4, 0);
23498 : operands[1] = x7;
23499 : x9 = XEXP (x8, 0);
23500 : operands[0] = x9;
23501 : x10 = XEXP (x8, 1);
23502 : switch (GET_CODE (x10))
23503 : {
23504 : case NOT:
23505 : switch (pattern1249 (x1))
23506 : {
23507 : case 0:
23508 : if (!
23509 : #line 15423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23510 : (ix86_match_ccmode (insn, CCNOmode)
23511 : && ix86_unary_operator_ok (NOT, QImode, operands, TARGET_APX_NDD)))
23512 : return -1;
23513 : return 1076; /* *one_cmplqi2_2 */
23514 :
23515 : case 1:
23516 : if (!
23517 : #line 15423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23518 : (ix86_match_ccmode (insn, CCNOmode)
23519 : && ix86_unary_operator_ok (NOT, HImode, operands, TARGET_APX_NDD)))
23520 : return -1;
23521 : return 1077; /* *one_cmplhi2_2 */
23522 :
23523 : case 2:
23524 : if (!
23525 : #line 15423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23526 : (ix86_match_ccmode (insn, CCNOmode)
23527 : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
23528 : return -1;
23529 : return 1078; /* *one_cmplsi2_2 */
23530 :
23531 : case 3:
23532 : if (!(
23533 : #line 15423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23534 : (ix86_match_ccmode (insn, CCNOmode)
23535 : && ix86_unary_operator_ok (NOT, DImode, operands, TARGET_APX_NDD)) &&
23536 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23537 : (TARGET_64BIT)))
23538 : return -1;
23539 : return 1079; /* *one_cmpldi2_2 */
23540 :
23541 : default:
23542 : return -1;
23543 : }
23544 :
23545 : case ZERO_EXTEND:
23546 : if (pattern1250 (x1,
23547 : NOT) != 0
23548 : || !
23549 : #line 15450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23550 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
23551 : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
23552 : return -1;
23553 : return 1080; /* *one_cmplsi2_2_zext */
23554 :
23555 : default:
23556 : return -1;
23557 : }
23558 :
23559 : case ASHIFT:
23560 : switch (pattern369 (x1))
23561 : {
23562 : case 0:
23563 : x8 = XVECEXP (x1, 0, 1);
23564 : x10 = XEXP (x8, 1);
23565 : switch (GET_CODE (x10))
23566 : {
23567 : case ASHIFT:
23568 : switch (pattern1331 (x1))
23569 : {
23570 : case 0:
23571 : if (!
23572 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23573 : ((optimize_function_for_size_p (cfun)
23574 : || !TARGET_PARTIAL_FLAG_REG_STALL
23575 : || (operands[2] == const1_rtx
23576 : && (TARGET_SHIFT1
23577 : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
23578 : && ix86_match_ccmode (insn, CCGOCmode)
23579 : && ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)))
23580 : return -1;
23581 : return 1142; /* *ashlqi3_cmp */
23582 :
23583 : case 1:
23584 : if (!
23585 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23586 : ((optimize_function_for_size_p (cfun)
23587 : || !TARGET_PARTIAL_FLAG_REG_STALL
23588 : || (operands[2] == const1_rtx
23589 : && (TARGET_SHIFT1
23590 : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
23591 : && ix86_match_ccmode (insn, CCGOCmode)
23592 : && ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)))
23593 : return -1;
23594 : return 1143; /* *ashlhi3_cmp */
23595 :
23596 : case 2:
23597 : if (!
23598 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23599 : ((optimize_function_for_size_p (cfun)
23600 : || !TARGET_PARTIAL_FLAG_REG_STALL
23601 : || (operands[2] == const1_rtx
23602 : && (TARGET_SHIFT1
23603 : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
23604 : && ix86_match_ccmode (insn, CCGOCmode)
23605 : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
23606 : return -1;
23607 : return 1144; /* *ashlsi3_cmp */
23608 :
23609 : case 3:
23610 : if (!(
23611 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23612 : ((optimize_function_for_size_p (cfun)
23613 : || !TARGET_PARTIAL_FLAG_REG_STALL
23614 : || (operands[2] == const1_rtx
23615 : && (TARGET_SHIFT1
23616 : || (TARGET_DOUBLE_WITH_ADD && REG_P (operands[0])))))
23617 : && ix86_match_ccmode (insn, CCGOCmode)
23618 : && ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)) &&
23619 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23620 : (TARGET_64BIT)))
23621 : return -1;
23622 : return 1145; /* *ashldi3_cmp */
23623 :
23624 : default:
23625 : return -1;
23626 : }
23627 :
23628 : case ZERO_EXTEND:
23629 : if (pattern1332 (x1,
23630 : ASHIFT) != 0
23631 : || !
23632 : #line 16733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23633 : (TARGET_64BIT
23634 : && (optimize_function_for_size_p (cfun)
23635 : || !TARGET_PARTIAL_FLAG_REG_STALL
23636 : || (operands[2] == const1_rtx
23637 : && (TARGET_SHIFT1
23638 : || TARGET_DOUBLE_WITH_ADD)))
23639 : && ix86_match_ccmode (insn, CCGOCmode)
23640 : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
23641 : return -1;
23642 : return 1146; /* *ashlsi3_cmp_zext */
23643 :
23644 : default:
23645 : return -1;
23646 : }
23647 :
23648 : case 1:
23649 : if (!
23650 : #line 16786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23651 : ((optimize_function_for_size_p (cfun)
23652 : || !TARGET_PARTIAL_FLAG_REG_STALL
23653 : || (operands[2] == const1_rtx
23654 : && (TARGET_SHIFT1
23655 : || TARGET_DOUBLE_WITH_ADD)))
23656 : && ix86_match_ccmode (insn, CCGOCmode)))
23657 : return -1;
23658 : return 1147; /* *ashlqi3_cconly */
23659 :
23660 : case 2:
23661 : if (!
23662 : #line 16786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23663 : ((optimize_function_for_size_p (cfun)
23664 : || !TARGET_PARTIAL_FLAG_REG_STALL
23665 : || (operands[2] == const1_rtx
23666 : && (TARGET_SHIFT1
23667 : || TARGET_DOUBLE_WITH_ADD)))
23668 : && ix86_match_ccmode (insn, CCGOCmode)))
23669 : return -1;
23670 : return 1148; /* *ashlhi3_cconly */
23671 :
23672 : case 3:
23673 : if (!
23674 : #line 16786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23675 : ((optimize_function_for_size_p (cfun)
23676 : || !TARGET_PARTIAL_FLAG_REG_STALL
23677 : || (operands[2] == const1_rtx
23678 : && (TARGET_SHIFT1
23679 : || TARGET_DOUBLE_WITH_ADD)))
23680 : && ix86_match_ccmode (insn, CCGOCmode)))
23681 : return -1;
23682 : return 1149; /* *ashlsi3_cconly */
23683 :
23684 : case 4:
23685 : if (!(
23686 : #line 16786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23687 : ((optimize_function_for_size_p (cfun)
23688 : || !TARGET_PARTIAL_FLAG_REG_STALL
23689 : || (operands[2] == const1_rtx
23690 : && (TARGET_SHIFT1
23691 : || TARGET_DOUBLE_WITH_ADD)))
23692 : && ix86_match_ccmode (insn, CCGOCmode)) &&
23693 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23694 : (TARGET_64BIT)))
23695 : return -1;
23696 : return 1150; /* *ashldi3_cconly */
23697 :
23698 : default:
23699 : return -1;
23700 : }
23701 :
23702 : case LSHIFTRT:
23703 : switch (pattern369 (x1))
23704 : {
23705 : case 0:
23706 : x8 = XVECEXP (x1, 0, 1);
23707 : x10 = XEXP (x8, 1);
23708 : switch (GET_CODE (x10))
23709 : {
23710 : case LSHIFTRT:
23711 : switch (pattern1331 (x1))
23712 : {
23713 : case 0:
23714 : if (!
23715 : #line 18015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23716 : ((optimize_function_for_size_p (cfun)
23717 : || !TARGET_PARTIAL_FLAG_REG_STALL
23718 : || (operands[2] == const1_rtx
23719 : && TARGET_SHIFT1))
23720 : && ix86_match_ccmode (insn, CCGOCmode)
23721 : && ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)))
23722 : return -1;
23723 : return 1252; /* *lshrqi3_cmp */
23724 :
23725 : case 1:
23726 : if (!
23727 : #line 18015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23728 : ((optimize_function_for_size_p (cfun)
23729 : || !TARGET_PARTIAL_FLAG_REG_STALL
23730 : || (operands[2] == const1_rtx
23731 : && TARGET_SHIFT1))
23732 : && ix86_match_ccmode (insn, CCGOCmode)
23733 : && ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)))
23734 : return -1;
23735 : return 1254; /* *lshrhi3_cmp */
23736 :
23737 : case 2:
23738 : if (!
23739 : #line 18015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23740 : ((optimize_function_for_size_p (cfun)
23741 : || !TARGET_PARTIAL_FLAG_REG_STALL
23742 : || (operands[2] == const1_rtx
23743 : && TARGET_SHIFT1))
23744 : && ix86_match_ccmode (insn, CCGOCmode)
23745 : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
23746 : return -1;
23747 : return 1256; /* *lshrsi3_cmp */
23748 :
23749 : case 3:
23750 : if (!(
23751 : #line 18015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23752 : ((optimize_function_for_size_p (cfun)
23753 : || !TARGET_PARTIAL_FLAG_REG_STALL
23754 : || (operands[2] == const1_rtx
23755 : && TARGET_SHIFT1))
23756 : && ix86_match_ccmode (insn, CCGOCmode)
23757 : && ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)) &&
23758 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23759 : (TARGET_64BIT)))
23760 : return -1;
23761 : return 1258; /* *lshrdi3_cmp */
23762 :
23763 : default:
23764 : return -1;
23765 : }
23766 :
23767 : case ZERO_EXTEND:
23768 : if (pattern1332 (x1,
23769 : LSHIFTRT) != 0
23770 : || !
23771 : #line 18050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23772 : (TARGET_64BIT
23773 : && (optimize_function_for_size_p (cfun)
23774 : || !TARGET_PARTIAL_FLAG_REG_STALL
23775 : || (operands[2] == const1_rtx
23776 : && TARGET_SHIFT1))
23777 : && ix86_match_ccmode (insn, CCGOCmode)
23778 : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
23779 : return -1;
23780 : return 1260; /* *lshrsi3_cmp_zext */
23781 :
23782 : default:
23783 : return -1;
23784 : }
23785 :
23786 : case 1:
23787 : if (!
23788 : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23789 : ((optimize_function_for_size_p (cfun)
23790 : || !TARGET_PARTIAL_FLAG_REG_STALL
23791 : || (operands[2] == const1_rtx
23792 : && TARGET_SHIFT1))
23793 : && ix86_match_ccmode (insn, CCGOCmode)))
23794 : return -1;
23795 : return 1262; /* *lshrqi3_cconly */
23796 :
23797 : case 2:
23798 : if (!
23799 : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23800 : ((optimize_function_for_size_p (cfun)
23801 : || !TARGET_PARTIAL_FLAG_REG_STALL
23802 : || (operands[2] == const1_rtx
23803 : && TARGET_SHIFT1))
23804 : && ix86_match_ccmode (insn, CCGOCmode)))
23805 : return -1;
23806 : return 1264; /* *lshrhi3_cconly */
23807 :
23808 : case 3:
23809 : if (!
23810 : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23811 : ((optimize_function_for_size_p (cfun)
23812 : || !TARGET_PARTIAL_FLAG_REG_STALL
23813 : || (operands[2] == const1_rtx
23814 : && TARGET_SHIFT1))
23815 : && ix86_match_ccmode (insn, CCGOCmode)))
23816 : return -1;
23817 : return 1266; /* *lshrsi3_cconly */
23818 :
23819 : case 4:
23820 : if (!(
23821 : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23822 : ((optimize_function_for_size_p (cfun)
23823 : || !TARGET_PARTIAL_FLAG_REG_STALL
23824 : || (operands[2] == const1_rtx
23825 : && TARGET_SHIFT1))
23826 : && ix86_match_ccmode (insn, CCGOCmode)) &&
23827 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23828 : (TARGET_64BIT)))
23829 : return -1;
23830 : return 1268; /* *lshrdi3_cconly */
23831 :
23832 : default:
23833 : return -1;
23834 : }
23835 :
23836 : case ASHIFTRT:
23837 : switch (pattern369 (x1))
23838 : {
23839 : case 0:
23840 : x8 = XVECEXP (x1, 0, 1);
23841 : x10 = XEXP (x8, 1);
23842 : switch (GET_CODE (x10))
23843 : {
23844 : case ASHIFTRT:
23845 : switch (pattern1331 (x1))
23846 : {
23847 : case 0:
23848 : if (!
23849 : #line 18015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23850 : ((optimize_function_for_size_p (cfun)
23851 : || !TARGET_PARTIAL_FLAG_REG_STALL
23852 : || (operands[2] == const1_rtx
23853 : && TARGET_SHIFT1))
23854 : && ix86_match_ccmode (insn, CCGOCmode)
23855 : && ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)))
23856 : return -1;
23857 : return 1253; /* *ashrqi3_cmp */
23858 :
23859 : case 1:
23860 : if (!
23861 : #line 18015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23862 : ((optimize_function_for_size_p (cfun)
23863 : || !TARGET_PARTIAL_FLAG_REG_STALL
23864 : || (operands[2] == const1_rtx
23865 : && TARGET_SHIFT1))
23866 : && ix86_match_ccmode (insn, CCGOCmode)
23867 : && ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)))
23868 : return -1;
23869 : return 1255; /* *ashrhi3_cmp */
23870 :
23871 : case 2:
23872 : if (!
23873 : #line 18015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23874 : ((optimize_function_for_size_p (cfun)
23875 : || !TARGET_PARTIAL_FLAG_REG_STALL
23876 : || (operands[2] == const1_rtx
23877 : && TARGET_SHIFT1))
23878 : && ix86_match_ccmode (insn, CCGOCmode)
23879 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
23880 : return -1;
23881 : return 1257; /* *ashrsi3_cmp */
23882 :
23883 : case 3:
23884 : if (!(
23885 : #line 18015 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23886 : ((optimize_function_for_size_p (cfun)
23887 : || !TARGET_PARTIAL_FLAG_REG_STALL
23888 : || (operands[2] == const1_rtx
23889 : && TARGET_SHIFT1))
23890 : && ix86_match_ccmode (insn, CCGOCmode)
23891 : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)) &&
23892 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23893 : (TARGET_64BIT)))
23894 : return -1;
23895 : return 1259; /* *ashrdi3_cmp */
23896 :
23897 : default:
23898 : return -1;
23899 : }
23900 :
23901 : case ZERO_EXTEND:
23902 : if (pattern1332 (x1,
23903 : ASHIFTRT) != 0
23904 : || !
23905 : #line 18050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23906 : (TARGET_64BIT
23907 : && (optimize_function_for_size_p (cfun)
23908 : || !TARGET_PARTIAL_FLAG_REG_STALL
23909 : || (operands[2] == const1_rtx
23910 : && TARGET_SHIFT1))
23911 : && ix86_match_ccmode (insn, CCGOCmode)
23912 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
23913 : return -1;
23914 : return 1261; /* *ashrsi3_cmp_zext */
23915 :
23916 : default:
23917 : return -1;
23918 : }
23919 :
23920 : case 1:
23921 : if (!
23922 : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23923 : ((optimize_function_for_size_p (cfun)
23924 : || !TARGET_PARTIAL_FLAG_REG_STALL
23925 : || (operands[2] == const1_rtx
23926 : && TARGET_SHIFT1))
23927 : && ix86_match_ccmode (insn, CCGOCmode)))
23928 : return -1;
23929 : return 1263; /* *ashrqi3_cconly */
23930 :
23931 : case 2:
23932 : if (!
23933 : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23934 : ((optimize_function_for_size_p (cfun)
23935 : || !TARGET_PARTIAL_FLAG_REG_STALL
23936 : || (operands[2] == const1_rtx
23937 : && TARGET_SHIFT1))
23938 : && ix86_match_ccmode (insn, CCGOCmode)))
23939 : return -1;
23940 : return 1265; /* *ashrhi3_cconly */
23941 :
23942 : case 3:
23943 : if (!
23944 : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23945 : ((optimize_function_for_size_p (cfun)
23946 : || !TARGET_PARTIAL_FLAG_REG_STALL
23947 : || (operands[2] == const1_rtx
23948 : && TARGET_SHIFT1))
23949 : && ix86_match_ccmode (insn, CCGOCmode)))
23950 : return -1;
23951 : return 1267; /* *ashrsi3_cconly */
23952 :
23953 : case 4:
23954 : if (!(
23955 : #line 18086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23956 : ((optimize_function_for_size_p (cfun)
23957 : || !TARGET_PARTIAL_FLAG_REG_STALL
23958 : || (operands[2] == const1_rtx
23959 : && TARGET_SHIFT1))
23960 : && ix86_match_ccmode (insn, CCGOCmode)) &&
23961 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23962 : (TARGET_64BIT)))
23963 : return -1;
23964 : return 1269; /* *ashrdi3_cconly */
23965 :
23966 : default:
23967 : return -1;
23968 : }
23969 :
23970 : case UNSPEC:
23971 : if (XVECLEN (x4, 0) != 2
23972 : || XINT (x4, 1) != 99
23973 : || pattern694 (x1) != 0)
23974 : return -1;
23975 : x16 = XVECEXP (x4, 0, 0);
23976 : operands[1] = x16;
23977 : x17 = XVECEXP (x4, 0, 1);
23978 : operands[2] = x17;
23979 : x8 = XVECEXP (x1, 0, 1);
23980 : x9 = XEXP (x8, 0);
23981 : operands[0] = x9;
23982 : switch (GET_MODE (x4))
23983 : {
23984 : case E_SImode:
23985 : if (!nonimmediate_operand (operands[1], E_SImode)
23986 : || !register_operand (operands[2], E_SImode)
23987 : || !scratch_operand (operands[0], E_SImode)
23988 : || !
23989 : #line 22120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23990 : (TARGET_BMI))
23991 : return -1;
23992 : return 1602; /* *bmi_bextr_si_ccz */
23993 :
23994 : case E_DImode:
23995 : if (!nonimmediate_operand (operands[1], E_DImode)
23996 : || !register_operand (operands[2], E_DImode)
23997 : || !scratch_operand (operands[0], E_DImode)
23998 : || !(
23999 : #line 22120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24000 : (TARGET_BMI) &&
24001 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24002 : (TARGET_64BIT)))
24003 : return -1;
24004 : return 1603; /* *bmi_bextr_di_ccz */
24005 :
24006 : default:
24007 : return -1;
24008 : }
24009 :
24010 : case IF_THEN_ELSE:
24011 : x7 = XEXP (x4, 0);
24012 : if (GET_CODE (x7) != NE
24013 : || GET_MODE (x7) != E_QImode)
24014 : return -1;
24015 : x18 = XEXP (x7, 1);
24016 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24017 : return -1;
24018 : x19 = XEXP (x4, 1);
24019 : if (GET_CODE (x19) != ZERO_EXTRACT)
24020 : return -1;
24021 : x20 = XEXP (x19, 1);
24022 : if (GET_CODE (x20) != UMIN
24023 : || GET_MODE (x20) != E_QImode)
24024 : return -1;
24025 : x21 = XEXP (x19, 2);
24026 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24027 : return -1;
24028 : x22 = XEXP (x4, 2);
24029 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24030 : || pattern694 (x1) != 0)
24031 : return -1;
24032 : x23 = XEXP (x7, 0);
24033 : operands[2] = x23;
24034 : if (!register_operand (operands[2], E_QImode))
24035 : return -1;
24036 : x24 = XEXP (x19, 0);
24037 : operands[1] = x24;
24038 : x25 = XEXP (x20, 1);
24039 : operands[3] = x25;
24040 : if (!const_int_operand (operands[3], E_QImode))
24041 : return -1;
24042 : x8 = XVECEXP (x1, 0, 1);
24043 : x9 = XEXP (x8, 0);
24044 : operands[0] = x9;
24045 : x26 = XEXP (x20, 0);
24046 : if (!rtx_equal_p (x26, operands[2]))
24047 : return -1;
24048 : switch (GET_MODE (x4))
24049 : {
24050 : case E_SImode:
24051 : if (GET_MODE (x19) != E_SImode
24052 : || !nonimmediate_operand (operands[1], E_SImode)
24053 : || !scratch_operand (operands[0], E_SImode)
24054 : || !
24055 : #line 22427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24056 : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
24057 : return -1;
24058 : return 1626; /* *bmi2_bzhi_si3_1_ccz */
24059 :
24060 : case E_DImode:
24061 : if (GET_MODE (x19) != E_DImode
24062 : || !nonimmediate_operand (operands[1], E_DImode)
24063 : || !scratch_operand (operands[0], E_DImode)
24064 : || !(
24065 : #line 22427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24066 : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
24067 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24068 : (TARGET_64BIT)))
24069 : return -1;
24070 : return 1627; /* *bmi2_bzhi_di3_1_ccz */
24071 :
24072 : default:
24073 : return -1;
24074 : }
24075 :
24076 : case UNSPEC_VOLATILE:
24077 : if (XVECLEN (x4, 0) != 2
24078 : || XINT (x4, 1) != 110)
24079 : return -1;
24080 : x6 = XEXP (x3, 1);
24081 : if (GET_CODE (x6) != CONST_INT)
24082 : return -1;
24083 : operands[2] = x6;
24084 : res = recog_393 (x1, insn, pnum_clobbers);
24085 : if (res >= 0)
24086 : return res;
24087 : if (XWINT (x6, 0) != 0L)
24088 : return -1;
24089 : x5 = XEXP (x2, 0);
24090 : if (GET_CODE (x5) != REG
24091 : || REGNO (x5) != 17
24092 : || GET_MODE (x5) != E_CCCmode)
24093 : return -1;
24094 : x8 = XVECEXP (x1, 0, 1);
24095 : if (GET_CODE (x8) != SET)
24096 : return -1;
24097 : x9 = XEXP (x8, 0);
24098 : if (GET_CODE (x9) != ZERO_EXTRACT)
24099 : return -1;
24100 : x27 = XEXP (x9, 1);
24101 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
24102 : || GET_MODE (x3) != E_CCCmode)
24103 : return -1;
24104 : x16 = XVECEXP (x4, 0, 0);
24105 : operands[0] = x16;
24106 : x17 = XVECEXP (x4, 0, 1);
24107 : operands[2] = x17;
24108 : if (!const_int_operand (operands[2], E_SImode))
24109 : return -1;
24110 : x28 = XEXP (x9, 2);
24111 : operands[1] = x28;
24112 : x29 = XEXP (x9, 0);
24113 : if (!rtx_equal_p (x29, operands[0]))
24114 : return -1;
24115 : x10 = XEXP (x8, 1);
24116 : switch (GET_CODE (x10))
24117 : {
24118 : case CONST_INT:
24119 : switch (XWINT (x10, 0))
24120 : {
24121 : case 1L:
24122 : switch (pattern1783 (x1))
24123 : {
24124 : case 0:
24125 : return 11120; /* atomic_bit_test_and_sethi_1 */
24126 :
24127 : case 1:
24128 : return 11121; /* atomic_bit_test_and_setsi_1 */
24129 :
24130 : case 2:
24131 : if (!
24132 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24133 : (TARGET_64BIT))
24134 : return -1;
24135 : return 11122; /* atomic_bit_test_and_setdi_1 */
24136 :
24137 : default:
24138 : return -1;
24139 : }
24140 :
24141 : case 0L:
24142 : switch (pattern1783 (x1))
24143 : {
24144 : case 0:
24145 : return 11126; /* atomic_bit_test_and_resethi_1 */
24146 :
24147 : case 1:
24148 : return 11127; /* atomic_bit_test_and_resetsi_1 */
24149 :
24150 : case 2:
24151 : if (!
24152 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24153 : (TARGET_64BIT))
24154 : return -1;
24155 : return 11128; /* atomic_bit_test_and_resetdi_1 */
24156 :
24157 : default:
24158 : return -1;
24159 : }
24160 :
24161 : default:
24162 : return -1;
24163 : }
24164 :
24165 : case NOT:
24166 : x11 = XEXP (x10, 0);
24167 : if (GET_CODE (x11) != ZERO_EXTRACT)
24168 : return -1;
24169 : x13 = XEXP (x11, 1);
24170 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24171 : return -1;
24172 : x12 = XEXP (x11, 0);
24173 : if (!rtx_equal_p (x12, operands[0]))
24174 : return -1;
24175 : x30 = XEXP (x11, 2);
24176 : if (!rtx_equal_p (x30, operands[1]))
24177 : return -1;
24178 : switch (GET_MODE (x4))
24179 : {
24180 : case E_HImode:
24181 : if (pattern1854 (x8,
24182 : E_HImode) != 0)
24183 : return -1;
24184 : return 11123; /* atomic_bit_test_and_complementhi_1 */
24185 :
24186 : case E_SImode:
24187 : if (pattern1854 (x8,
24188 : E_SImode) != 0)
24189 : return -1;
24190 : return 11124; /* atomic_bit_test_and_complementsi_1 */
24191 :
24192 : case E_DImode:
24193 : if (pattern1854 (x8,
24194 : E_DImode) != 0
24195 : || !
24196 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24197 : (TARGET_64BIT))
24198 : return -1;
24199 : return 11125; /* atomic_bit_test_and_complementdi_1 */
24200 :
24201 : default:
24202 : return -1;
24203 : }
24204 :
24205 : default:
24206 : return -1;
24207 : }
24208 :
24209 : default:
24210 : return -1;
24211 : }
24212 : }
24213 :
24214 : int
24215 : recog_437 (rtx x1 ATTRIBUTE_UNUSED,
24216 : rtx_insn *insn ATTRIBUTE_UNUSED,
24217 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24218 : {
24219 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24220 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24221 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24222 : rtx x18, x19, x20;
24223 : int res ATTRIBUTE_UNUSED;
24224 : x2 = XVECEXP (x1, 0, 0);
24225 : x3 = XEXP (x2, 1);
24226 : if (GET_MODE (x3) != E_CCOmode)
24227 : return -1;
24228 : x4 = XEXP (x3, 0);
24229 : if (GET_CODE (x4) != MULT)
24230 : return -1;
24231 : x5 = XEXP (x4, 0);
24232 : if (GET_CODE (x5) != ZERO_EXTEND)
24233 : return -1;
24234 : x6 = XEXP (x4, 1);
24235 : if (GET_CODE (x6) != ZERO_EXTEND)
24236 : return -1;
24237 : x7 = XEXP (x3, 1);
24238 : if (GET_CODE (x7) != ZERO_EXTEND)
24239 : return -1;
24240 : x8 = XEXP (x7, 0);
24241 : if (GET_CODE (x8) != MULT)
24242 : return -1;
24243 : x9 = XEXP (x2, 0);
24244 : if (GET_CODE (x9) != REG
24245 : || REGNO (x9) != 17
24246 : || GET_MODE (x9) != E_CCOmode)
24247 : return -1;
24248 : x10 = XVECEXP (x1, 0, 1);
24249 : if (GET_CODE (x10) != SET)
24250 : return -1;
24251 : x11 = XEXP (x10, 1);
24252 : if (GET_CODE (x11) != MULT)
24253 : return -1;
24254 : x12 = XVECEXP (x1, 0, 2);
24255 : if (GET_CODE (x12) != CLOBBER)
24256 : return -1;
24257 : x13 = XEXP (x5, 0);
24258 : operands[1] = x13;
24259 : x14 = XEXP (x6, 0);
24260 : operands[2] = x14;
24261 : x15 = XEXP (x10, 0);
24262 : operands[0] = x15;
24263 : x16 = XEXP (x12, 0);
24264 : operands[3] = x16;
24265 : x17 = XEXP (x8, 0);
24266 : if (!rtx_equal_p (x17, operands[1]))
24267 : return -1;
24268 : x18 = XEXP (x8, 1);
24269 : if (!rtx_equal_p (x18, operands[2]))
24270 : return -1;
24271 : x19 = XEXP (x11, 0);
24272 : if (!rtx_equal_p (x19, operands[1]))
24273 : return -1;
24274 : x20 = XEXP (x11, 1);
24275 : if (!rtx_equal_p (x20, operands[2]))
24276 : return -1;
24277 : switch (GET_MODE (x4))
24278 : {
24279 : case E_SImode:
24280 : if (pattern1830 (x1,
24281 : E_HImode,
24282 : E_SImode) != 0
24283 : || !
24284 : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24285 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
24286 : return -1;
24287 : return 638; /* *umulvhi4 */
24288 :
24289 : case E_DImode:
24290 : if (pattern1830 (x1,
24291 : E_SImode,
24292 : E_DImode) != 0
24293 : || !
24294 : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24295 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
24296 : return -1;
24297 : return 639; /* *umulvsi4 */
24298 :
24299 : case E_TImode:
24300 : if (pattern1830 (x1,
24301 : E_DImode,
24302 : E_TImode) != 0
24303 : || !(
24304 : #line 11215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24305 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
24306 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24307 : (TARGET_64BIT)))
24308 : return -1;
24309 : return 640; /* *umulvdi4 */
24310 :
24311 : default:
24312 : return -1;
24313 : }
24314 : }
24315 :
24316 : int
24317 : recog_440 (rtx x1 ATTRIBUTE_UNUSED,
24318 : rtx_insn *insn ATTRIBUTE_UNUSED,
24319 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24320 : {
24321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24322 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24323 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24324 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
24325 : rtx x26, x27, x28;
24326 : int res ATTRIBUTE_UNUSED;
24327 : x2 = XVECEXP (x1, 0, 0);
24328 : if (GET_CODE (x2) != SET)
24329 : return -1;
24330 : x3 = XEXP (x2, 1);
24331 : switch (GET_CODE (x3))
24332 : {
24333 : case CONST_INT:
24334 : if (XWINT (x3, 0) != 0L)
24335 : return -1;
24336 : x4 = XVECEXP (x1, 0, 1);
24337 : if (GET_CODE (x4) != SET)
24338 : return -1;
24339 : x5 = XEXP (x4, 1);
24340 : if (GET_CODE (x5) != PLUS)
24341 : return -1;
24342 : x6 = XVECEXP (x1, 0, 2);
24343 : if (GET_CODE (x6) != SET)
24344 : return -1;
24345 : x7 = XVECEXP (x1, 0, 4);
24346 : if (GET_CODE (x7) != USE)
24347 : return -1;
24348 : x8 = XEXP (x4, 0);
24349 : operands[0] = x8;
24350 : x9 = XEXP (x5, 0);
24351 : switch (GET_CODE (x9))
24352 : {
24353 : case ASHIFT:
24354 : x10 = XEXP (x9, 1);
24355 : if (GET_CODE (x10) != CONST_INT)
24356 : return -1;
24357 : x11 = XEXP (x5, 1);
24358 : operands[3] = x11;
24359 : switch (XWINT (x10, 0))
24360 : {
24361 : case 3L:
24362 : switch (pattern1454 (x1,
24363 : 3,
24364 : E_DImode))
24365 : {
24366 : case 0:
24367 : if (!(
24368 : #line 26135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24369 : (TARGET_64BIT
24370 : && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24371 : && ix86_check_movs (insn, 3)) &&
24372 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24373 : (Pmode == SImode)))
24374 : return -1;
24375 : return 1803; /* *rep_movdi_rex64 */
24376 :
24377 : case 1:
24378 : if (!(
24379 : #line 26135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24380 : (TARGET_64BIT
24381 : && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24382 : && ix86_check_movs (insn, 3)) &&
24383 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24384 : (Pmode == DImode)))
24385 : return -1;
24386 : return 1804; /* *rep_movdi_rex64 */
24387 :
24388 : case 2:
24389 : if (!(
24390 : #line 26359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24391 : (TARGET_64BIT
24392 : && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24393 : && ADDR_SPACE_GENERIC_P
24394 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24395 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24396 : (Pmode == SImode)))
24397 : return -1;
24398 : return 1817; /* *rep_stosdi_rex64 */
24399 :
24400 : case 3:
24401 : if (!(
24402 : #line 26359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24403 : (TARGET_64BIT
24404 : && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24405 : && ADDR_SPACE_GENERIC_P
24406 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24407 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24408 : (Pmode == DImode)))
24409 : return -1;
24410 : return 1818; /* *rep_stosdi_rex64 */
24411 :
24412 : default:
24413 : return -1;
24414 : }
24415 :
24416 : case 2L:
24417 : switch (pattern1454 (x1,
24418 : 2,
24419 : E_SImode))
24420 : {
24421 : case 0:
24422 : if (!(
24423 : #line 26163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24424 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24425 : && ix86_check_movs (insn, 3)) &&
24426 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24427 : (Pmode == SImode)))
24428 : return -1;
24429 : return 1805; /* *rep_movsi */
24430 :
24431 : case 1:
24432 : if (!(
24433 : #line 26163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24434 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24435 : && ix86_check_movs (insn, 3)) &&
24436 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24437 : (Pmode == DImode)))
24438 : return -1;
24439 : return 1806; /* *rep_movsi */
24440 :
24441 : case 2:
24442 : if (!(
24443 : #line 26379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24444 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24445 : && ADDR_SPACE_GENERIC_P
24446 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24447 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24448 : (Pmode == SImode)))
24449 : return -1;
24450 : return 1819; /* *rep_stossi */
24451 :
24452 : case 3:
24453 : if (!(
24454 : #line 26379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24455 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24456 : && ADDR_SPACE_GENERIC_P
24457 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24458 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24459 : (Pmode == DImode)))
24460 : return -1;
24461 : return 1820; /* *rep_stossi */
24462 :
24463 : default:
24464 : return -1;
24465 : }
24466 :
24467 : default:
24468 : return -1;
24469 : }
24470 :
24471 : case REG:
24472 : case SUBREG:
24473 : operands[3] = x9;
24474 : x12 = XEXP (x6, 1);
24475 : switch (GET_CODE (x12))
24476 : {
24477 : case PLUS:
24478 : x13 = XVECEXP (x1, 0, 3);
24479 : if (GET_CODE (x13) != SET)
24480 : return -1;
24481 : x14 = XEXP (x13, 1);
24482 : if (GET_CODE (x14) != MEM
24483 : || GET_MODE (x14) != E_BLKmode)
24484 : return -1;
24485 : x15 = XEXP (x13, 0);
24486 : if (GET_CODE (x15) != MEM
24487 : || GET_MODE (x15) != E_BLKmode)
24488 : return -1;
24489 : x16 = XEXP (x2, 0);
24490 : operands[2] = x16;
24491 : x11 = XEXP (x5, 1);
24492 : operands[5] = x11;
24493 : x17 = XEXP (x6, 0);
24494 : operands[1] = x17;
24495 : x18 = XEXP (x12, 0);
24496 : operands[4] = x18;
24497 : x19 = XEXP (x12, 1);
24498 : if (!rtx_equal_p (x19, operands[5]))
24499 : return -1;
24500 : x20 = XEXP (x14, 0);
24501 : if (!rtx_equal_p (x20, operands[4]))
24502 : return -1;
24503 : x21 = XEXP (x15, 0);
24504 : if (!rtx_equal_p (x21, operands[3]))
24505 : return -1;
24506 : x22 = XEXP (x7, 0);
24507 : if (!rtx_equal_p (x22, operands[5]))
24508 : return -1;
24509 : switch (GET_MODE (operands[2]))
24510 : {
24511 : case E_SImode:
24512 : if (pattern1856 (x1,
24513 : E_SImode) != 0
24514 : || !(
24515 : #line 26188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24516 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24517 : && ix86_check_movs (insn, 3)) &&
24518 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24519 : (Pmode == SImode)))
24520 : return -1;
24521 : return 1807; /* *rep_movqi */
24522 :
24523 : case E_DImode:
24524 : if (pattern1856 (x1,
24525 : E_DImode) != 0
24526 : || !(
24527 : #line 26188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24528 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24529 : && ix86_check_movs (insn, 3)) &&
24530 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24531 : (Pmode == DImode)))
24532 : return -1;
24533 : return 1808; /* *rep_movqi */
24534 :
24535 : default:
24536 : return -1;
24537 : }
24538 :
24539 : case CONST_INT:
24540 : if (XWINT (x12, 0) != 0L)
24541 : return -1;
24542 : x17 = XEXP (x6, 0);
24543 : if (GET_CODE (x17) != MEM
24544 : || GET_MODE (x17) != E_BLKmode)
24545 : return -1;
24546 : x13 = XVECEXP (x1, 0, 3);
24547 : if (GET_CODE (x13) != USE)
24548 : return -1;
24549 : x16 = XEXP (x2, 0);
24550 : operands[1] = x16;
24551 : x11 = XEXP (x5, 1);
24552 : operands[4] = x11;
24553 : x15 = XEXP (x13, 0);
24554 : operands[2] = x15;
24555 : if (!register_operand (operands[2], E_QImode))
24556 : return -1;
24557 : x23 = XEXP (x17, 0);
24558 : if (!rtx_equal_p (x23, operands[3]))
24559 : return -1;
24560 : x22 = XEXP (x7, 0);
24561 : if (!rtx_equal_p (x22, operands[4]))
24562 : return -1;
24563 : switch (GET_MODE (operands[1]))
24564 : {
24565 : case E_SImode:
24566 : if (pattern1803 (x5,
24567 : E_SImode) != 0
24568 : || !(
24569 : #line 26397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24570 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24571 : && ADDR_SPACE_GENERIC_P
24572 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24573 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24574 : (Pmode == SImode)))
24575 : return -1;
24576 : return 1821; /* *rep_stosqi */
24577 :
24578 : case E_DImode:
24579 : if (pattern1803 (x5,
24580 : E_DImode) != 0
24581 : || !(
24582 : #line 26397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24583 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24584 : && ADDR_SPACE_GENERIC_P
24585 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24586 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24587 : (Pmode == DImode)))
24588 : return -1;
24589 : return 1822; /* *rep_stosqi */
24590 :
24591 : default:
24592 : return -1;
24593 : }
24594 :
24595 : default:
24596 : return -1;
24597 : }
24598 :
24599 : default:
24600 : return -1;
24601 : }
24602 :
24603 : case IF_THEN_ELSE:
24604 : if (pattern237 (x1) != 0)
24605 : return -1;
24606 : x24 = XEXP (x3, 1);
24607 : x25 = XEXP (x24, 0);
24608 : x26 = XEXP (x25, 0);
24609 : operands[4] = x26;
24610 : x27 = XEXP (x24, 1);
24611 : x28 = XEXP (x27, 0);
24612 : operands[5] = x28;
24613 : x4 = XVECEXP (x1, 0, 1);
24614 : x8 = XEXP (x4, 0);
24615 : operands[3] = x8;
24616 : if (!immediate_operand (operands[3], E_SImode))
24617 : return -1;
24618 : x6 = XVECEXP (x1, 0, 2);
24619 : x17 = XEXP (x6, 0);
24620 : operands[0] = x17;
24621 : x13 = XVECEXP (x1, 0, 3);
24622 : x15 = XEXP (x13, 0);
24623 : operands[1] = x15;
24624 : x7 = XVECEXP (x1, 0, 4);
24625 : x22 = XEXP (x7, 0);
24626 : operands[2] = x22;
24627 : switch (GET_MODE (operands[6]))
24628 : {
24629 : case E_SImode:
24630 : if (pattern1878 (
24631 : E_SImode) != 0
24632 : || !(
24633 : #line 26529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24634 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24635 : && ix86_check_no_addr_space (insn)) &&
24636 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24637 : (Pmode == SImode)))
24638 : return -1;
24639 : return 1825; /* *cmpstrnqi_1 */
24640 :
24641 : case E_DImode:
24642 : if (pattern1878 (
24643 : E_DImode) != 0
24644 : || !(
24645 : #line 26529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24646 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24647 : && ix86_check_no_addr_space (insn)) &&
24648 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24649 : (Pmode == DImode)))
24650 : return -1;
24651 : return 1826; /* *cmpstrnqi_1 */
24652 :
24653 : default:
24654 : return -1;
24655 : }
24656 :
24657 : default:
24658 : return -1;
24659 : }
24660 : }
24661 :
24662 : rtx_insn *
24663 : split_5 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24664 : {
24665 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24666 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24667 : rtx x10, x11, x12, x13;
24668 : rtx_insn *res ATTRIBUTE_UNUSED;
24669 : x2 = XEXP (x1, 1);
24670 : x3 = XEXP (x2, 0);
24671 : switch (GET_CODE (x3))
24672 : {
24673 : case REG:
24674 : case SUBREG:
24675 : case MEM:
24676 : operands[0] = x3;
24677 : if (pattern46 (x1,
24678 : E_CCZmode) != 0)
24679 : return NULL;
24680 : x4 = XEXP (x2, 1);
24681 : operands[1] = x4;
24682 : switch (pattern853 ())
24683 : {
24684 : case 0:
24685 : if (!((
24686 : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24687 : (ix86_pre_reload_split ()) &&
24688 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24689 : (!TARGET_64BIT)) &&
24690 : #line 1689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24691 : ( 1)))
24692 : return NULL;
24693 : return gen_split_1 (insn, operands);
24694 :
24695 : case 1:
24696 : if (!((
24697 : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24698 : (ix86_pre_reload_split ()) &&
24699 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24700 : (TARGET_64BIT)) &&
24701 : #line 1689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24702 : ( 1)))
24703 : return NULL;
24704 : return gen_split_2 (insn, operands);
24705 :
24706 : default:
24707 : return NULL;
24708 : }
24709 :
24710 : case NEG:
24711 : if (GET_MODE (x3) != E_QImode)
24712 : return NULL;
24713 : x5 = XEXP (x3, 0);
24714 : if (GET_CODE (x5) != GEU
24715 : || GET_MODE (x5) != E_QImode)
24716 : return NULL;
24717 : x6 = XEXP (x5, 0);
24718 : if (GET_CODE (x6) != REG
24719 : || REGNO (x6) != 17)
24720 : return NULL;
24721 : x7 = XEXP (x5, 1);
24722 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24723 : return NULL;
24724 : x4 = XEXP (x2, 1);
24725 : if (GET_CODE (x4) != LTU
24726 : || GET_MODE (x4) != E_QImode)
24727 : return NULL;
24728 : x8 = XEXP (x4, 0);
24729 : if (GET_CODE (x8) != REG
24730 : || REGNO (x8) != 17)
24731 : return NULL;
24732 : x9 = XEXP (x4, 1);
24733 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24734 : || pattern46 (x1,
24735 : E_CCCmode) != 0)
24736 : return NULL;
24737 : switch (GET_MODE (x6))
24738 : {
24739 : case E_CCmode:
24740 : if (GET_MODE (x8) != E_CCmode
24741 : || !(
24742 : #line 10216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24743 : (ix86_pre_reload_split ()) &&
24744 : #line 10218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24745 : ( 1)))
24746 : return NULL;
24747 : return gen_split_199 (insn, operands);
24748 :
24749 : case E_CCCmode:
24750 : if (GET_MODE (x8) != E_CCCmode
24751 : || !(
24752 : #line 10216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24753 : (ix86_pre_reload_split ()) &&
24754 : #line 10218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24755 : ( 1)))
24756 : return NULL;
24757 : return gen_split_200 (insn, operands);
24758 :
24759 : default:
24760 : return NULL;
24761 : }
24762 :
24763 : case AND:
24764 : x4 = XEXP (x2, 1);
24765 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24766 : return NULL;
24767 : x10 = XEXP (x1, 0);
24768 : if (GET_CODE (x10) != REG)
24769 : return NULL;
24770 : x5 = XEXP (x3, 0);
24771 : switch (GET_CODE (x5))
24772 : {
24773 : case REG:
24774 : case SUBREG:
24775 : case MEM:
24776 : operands[0] = x5;
24777 : if (register_operand (operands[0], E_TImode)
24778 : && REGNO (x10) == 17
24779 : && GET_MODE (x10) == E_CCZmode
24780 : && GET_MODE (x2) == E_CCZmode
24781 : && GET_MODE (x3) == E_TImode)
24782 : {
24783 : x11 = XEXP (x3, 1);
24784 : operands[1] = x11;
24785 : if (general_operand (operands[1], E_TImode)
24786 : && (
24787 : #line 12530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24788 : (TARGET_64BIT
24789 : && ix86_pre_reload_split ()) &&
24790 : #line 12533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24791 : ( 1)))
24792 : return gen_split_277 (insn, operands);
24793 : }
24794 : operands[2] = x5;
24795 : operands[0] = x10;
24796 : if (!flags_reg_operand (operands[0], E_VOIDmode))
24797 : return NULL;
24798 : operands[1] = x2;
24799 : if (!compare_operator (operands[1], E_VOIDmode))
24800 : return NULL;
24801 : x11 = XEXP (x3, 1);
24802 : operands[3] = x11;
24803 : if (!const_int_operand (operands[3], E_VOIDmode))
24804 : return NULL;
24805 : if (QIreg_operand (operands[2], E_VOIDmode)
24806 : &&
24807 : #line 12701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24808 : (reload_completed
24809 : && GET_MODE (operands[2]) != QImode
24810 : && ((ix86_match_ccmode (insn, CCZmode)
24811 : && !(INTVAL (operands[3]) & ~(255 << 8)))
24812 : || (ix86_match_ccmode (insn, CCNOmode)
24813 : && !(INTVAL (operands[3]) & ~(127 << 8))))))
24814 : return gen_split_287 (insn, operands);
24815 : if (!nonimmediate_operand (operands[2], E_VOIDmode)
24816 : || !
24817 : #line 12727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24818 : (reload_completed
24819 : && GET_MODE (operands[2]) != QImode
24820 : && (!REG_P (operands[2]) || ANY_QI_REG_P (operands[2]))
24821 : && ((ix86_match_ccmode (insn, CCZmode)
24822 : && !(INTVAL (operands[3]) & ~255))
24823 : || (ix86_match_ccmode (insn, CCNOmode)
24824 : && !(INTVAL (operands[3]) & ~127)))))
24825 : return NULL;
24826 : return gen_split_288 (insn, operands);
24827 :
24828 : case NOT:
24829 : if (REGNO (x10) != 17
24830 : || GET_MODE (x10) != E_CCZmode
24831 : || GET_MODE (x2) != E_CCZmode)
24832 : return NULL;
24833 : switch (pattern854 (x3))
24834 : {
24835 : case 0:
24836 : if (!(
24837 : #line 12660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24838 : (ix86_pre_reload_split ()
24839 : && (!TARGET_BMI || !REG_P (operands[1]))) &&
24840 : #line 12663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24841 : ( 1)))
24842 : return NULL;
24843 : return gen_split_281 (insn, operands);
24844 :
24845 : case 1:
24846 : if (!(
24847 : #line 12660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24848 : (ix86_pre_reload_split ()
24849 : && (!TARGET_BMI || !REG_P (operands[1]))) &&
24850 : #line 12663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24851 : ( 1)))
24852 : return NULL;
24853 : return gen_split_282 (insn, operands);
24854 :
24855 : case 2:
24856 : if (!(
24857 : #line 12660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24858 : (ix86_pre_reload_split ()
24859 : && (!TARGET_BMI || !REG_P (operands[1]))) &&
24860 : #line 12663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24861 : ( 1)))
24862 : return NULL;
24863 : return gen_split_283 (insn, operands);
24864 :
24865 : case 3:
24866 : if (register_operand (operands[0], E_DImode)
24867 : && x86_64_szext_nonmemory_operand (operands[1], E_DImode)
24868 : && ((
24869 : #line 12660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24870 : (ix86_pre_reload_split ()
24871 : && (!TARGET_BMI || !REG_P (operands[1]))) &&
24872 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24873 : (TARGET_64BIT)) &&
24874 : #line 12663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24875 : ( 1)))
24876 : return gen_split_284 (insn, operands);
24877 : if (!nonimmediate_operand (operands[0], E_DImode)
24878 : || !nonimmediate_operand (operands[1], E_DImode)
24879 : || !((
24880 : #line 12678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24881 : (ix86_pre_reload_split ()) &&
24882 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24883 : (!TARGET_64BIT)) &&
24884 : #line 12680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24885 : ( 1)))
24886 : return NULL;
24887 : return gen_split_285 (insn, operands);
24888 :
24889 : case 4:
24890 : if (!((
24891 : #line 12678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24892 : (ix86_pre_reload_split ()) &&
24893 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24894 : (TARGET_64BIT)) &&
24895 : #line 12680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24896 : ( 1)))
24897 : return NULL;
24898 : return gen_split_286 (insn, operands);
24899 :
24900 : default:
24901 : return NULL;
24902 : }
24903 :
24904 : default:
24905 : return NULL;
24906 : }
24907 :
24908 : case ZERO_EXTRACT:
24909 : switch (pattern48 (x1))
24910 : {
24911 : case 0:
24912 : if (!(
24913 : #line 12552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24914 : (/* Ensure that resulting mask is zero or sign extended operand. */
24915 : INTVAL (operands[4]) >= 0
24916 : && ((INTVAL (operands[3]) > 0
24917 : && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
24918 : || (HImode == DImode
24919 : && INTVAL (operands[3]) > 32
24920 : && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
24921 : && ix86_match_ccmode (insn,
24922 : /* If zero_extract mode precision is the same
24923 : as len, the SF of the zero_extract
24924 : comparison will be the most significant
24925 : extracted bit, but this could be matched
24926 : after splitting only for pos 0 len all bits
24927 : trivial extractions. Require CCZmode. */
24928 : (GET_MODE_PRECISION (HImode)
24929 : == INTVAL (operands[3]))
24930 : /* Otherwise, require CCZmode if we'd use a mask
24931 : with the most significant bit set and can't
24932 : widen it to wider mode. *testdi_1 also
24933 : requires CCZmode if the mask has bit
24934 : 31 set and all bits above it clear. */
24935 : || (INTVAL (operands[3]) + INTVAL (operands[4])
24936 : >= 32)
24937 : /* We can't widen also if val is not a REG. */
24938 : || (INTVAL (operands[3]) + INTVAL (operands[4])
24939 : == GET_MODE_PRECISION (GET_MODE (operands[2]))
24940 : && !register_operand (operands[2],
24941 : GET_MODE (operands[2])))
24942 : /* And we shouldn't widen if
24943 : TARGET_PARTIAL_REG_STALL. */
24944 : || (TARGET_PARTIAL_REG_STALL
24945 : && (INTVAL (operands[3]) + INTVAL (operands[4])
24946 : >= (paradoxical_subreg_p (operands[2])
24947 : && (GET_MODE_CLASS
24948 : (GET_MODE (SUBREG_REG (operands[2])))
24949 : == MODE_INT)
24950 : ? GET_MODE_PRECISION
24951 : (GET_MODE (SUBREG_REG (operands[2])))
24952 : : GET_MODE_PRECISION
24953 : (GET_MODE (operands[2])))))
24954 : ? CCZmode : CCNOmode)) &&
24955 : #line 12594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24956 : ( 1)))
24957 : return NULL;
24958 : return gen_split_278 (insn, operands);
24959 :
24960 : case 1:
24961 : if (!(
24962 : #line 12552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24963 : (/* Ensure that resulting mask is zero or sign extended operand. */
24964 : INTVAL (operands[4]) >= 0
24965 : && ((INTVAL (operands[3]) > 0
24966 : && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
24967 : || (SImode == DImode
24968 : && INTVAL (operands[3]) > 32
24969 : && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
24970 : && ix86_match_ccmode (insn,
24971 : /* If zero_extract mode precision is the same
24972 : as len, the SF of the zero_extract
24973 : comparison will be the most significant
24974 : extracted bit, but this could be matched
24975 : after splitting only for pos 0 len all bits
24976 : trivial extractions. Require CCZmode. */
24977 : (GET_MODE_PRECISION (SImode)
24978 : == INTVAL (operands[3]))
24979 : /* Otherwise, require CCZmode if we'd use a mask
24980 : with the most significant bit set and can't
24981 : widen it to wider mode. *testdi_1 also
24982 : requires CCZmode if the mask has bit
24983 : 31 set and all bits above it clear. */
24984 : || (INTVAL (operands[3]) + INTVAL (operands[4])
24985 : >= 32)
24986 : /* We can't widen also if val is not a REG. */
24987 : || (INTVAL (operands[3]) + INTVAL (operands[4])
24988 : == GET_MODE_PRECISION (GET_MODE (operands[2]))
24989 : && !register_operand (operands[2],
24990 : GET_MODE (operands[2])))
24991 : /* And we shouldn't widen if
24992 : TARGET_PARTIAL_REG_STALL. */
24993 : || (TARGET_PARTIAL_REG_STALL
24994 : && (INTVAL (operands[3]) + INTVAL (operands[4])
24995 : >= (paradoxical_subreg_p (operands[2])
24996 : && (GET_MODE_CLASS
24997 : (GET_MODE (SUBREG_REG (operands[2])))
24998 : == MODE_INT)
24999 : ? GET_MODE_PRECISION
25000 : (GET_MODE (SUBREG_REG (operands[2])))
25001 : : GET_MODE_PRECISION
25002 : (GET_MODE (operands[2])))))
25003 : ? CCZmode : CCNOmode)) &&
25004 : #line 12594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25005 : ( 1)))
25006 : return NULL;
25007 : return gen_split_279 (insn, operands);
25008 :
25009 : case 2:
25010 : if (!((
25011 : #line 12552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25012 : (/* Ensure that resulting mask is zero or sign extended operand. */
25013 : INTVAL (operands[4]) >= 0
25014 : && ((INTVAL (operands[3]) > 0
25015 : && INTVAL (operands[3]) + INTVAL (operands[4]) <= 32)
25016 : || (DImode == DImode
25017 : && INTVAL (operands[3]) > 32
25018 : && INTVAL (operands[3]) + INTVAL (operands[4]) == 64))
25019 : && ix86_match_ccmode (insn,
25020 : /* If zero_extract mode precision is the same
25021 : as len, the SF of the zero_extract
25022 : comparison will be the most significant
25023 : extracted bit, but this could be matched
25024 : after splitting only for pos 0 len all bits
25025 : trivial extractions. Require CCZmode. */
25026 : (GET_MODE_PRECISION (DImode)
25027 : == INTVAL (operands[3]))
25028 : /* Otherwise, require CCZmode if we'd use a mask
25029 : with the most significant bit set and can't
25030 : widen it to wider mode. *testdi_1 also
25031 : requires CCZmode if the mask has bit
25032 : 31 set and all bits above it clear. */
25033 : || (INTVAL (operands[3]) + INTVAL (operands[4])
25034 : >= 32)
25035 : /* We can't widen also if val is not a REG. */
25036 : || (INTVAL (operands[3]) + INTVAL (operands[4])
25037 : == GET_MODE_PRECISION (GET_MODE (operands[2]))
25038 : && !register_operand (operands[2],
25039 : GET_MODE (operands[2])))
25040 : /* And we shouldn't widen if
25041 : TARGET_PARTIAL_REG_STALL. */
25042 : || (TARGET_PARTIAL_REG_STALL
25043 : && (INTVAL (operands[3]) + INTVAL (operands[4])
25044 : >= (paradoxical_subreg_p (operands[2])
25045 : && (GET_MODE_CLASS
25046 : (GET_MODE (SUBREG_REG (operands[2])))
25047 : == MODE_INT)
25048 : ? GET_MODE_PRECISION
25049 : (GET_MODE (SUBREG_REG (operands[2])))
25050 : : GET_MODE_PRECISION
25051 : (GET_MODE (operands[2])))))
25052 : ? CCZmode : CCNOmode)) &&
25053 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25054 : (TARGET_64BIT)) &&
25055 : #line 12594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25056 : ( 1)))
25057 : return NULL;
25058 : return gen_split_280 (insn, operands);
25059 :
25060 : default:
25061 : return NULL;
25062 : }
25063 :
25064 : case CONST_INT:
25065 : if (XWINT (x3, 0) != 0L)
25066 : return NULL;
25067 : x4 = XEXP (x2, 1);
25068 : if (GET_CODE (x4) != ZERO_EXTRACT)
25069 : return NULL;
25070 : x9 = XEXP (x4, 1);
25071 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
25072 : return NULL;
25073 : x12 = XEXP (x4, 2);
25074 : if (GET_CODE (x12) != SUBREG
25075 : || maybe_ne (SUBREG_BYTE (x12), 0)
25076 : || GET_MODE (x12) != E_QImode)
25077 : return NULL;
25078 : x13 = XEXP (x12, 0);
25079 : if (GET_CODE (x13) != AND)
25080 : return NULL;
25081 : x10 = XEXP (x1, 0);
25082 : if (GET_CODE (x10) != REG
25083 : || REGNO (x10) != 17
25084 : || GET_MODE (x10) != E_CCCmode
25085 : || GET_MODE (x2) != E_CCCmode)
25086 : return NULL;
25087 : x8 = XEXP (x4, 0);
25088 : operands[0] = x8;
25089 : switch (pattern1462 (x4))
25090 : {
25091 : case 0:
25092 : if (!(
25093 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25094 : (TARGET_USE_BT
25095 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
25096 : == GET_MODE_BITSIZE (SImode)-1
25097 : && ix86_pre_reload_split ()) &&
25098 : #line 19531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25099 : ( 1)))
25100 : return NULL;
25101 : return gen_split_820 (insn, operands);
25102 :
25103 : case 1:
25104 : if (!(
25105 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25106 : (TARGET_USE_BT
25107 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
25108 : == GET_MODE_BITSIZE (SImode)-1
25109 : && ix86_pre_reload_split ()) &&
25110 : #line 19531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25111 : ( 1)))
25112 : return NULL;
25113 : return gen_split_822 (insn, operands);
25114 :
25115 : case 2:
25116 : if (!((
25117 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25118 : (TARGET_USE_BT
25119 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
25120 : == GET_MODE_BITSIZE (SImode)-1
25121 : && ix86_pre_reload_split ()) &&
25122 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25123 : (TARGET_64BIT)) &&
25124 : #line 19531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25125 : ( 1)))
25126 : return NULL;
25127 : return gen_split_824 (insn, operands);
25128 :
25129 : case 3:
25130 : if (!((
25131 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25132 : (TARGET_USE_BT
25133 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
25134 : == GET_MODE_BITSIZE (DImode)-1
25135 : && ix86_pre_reload_split ()) &&
25136 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25137 : (TARGET_64BIT)) &&
25138 : #line 19531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25139 : ( 1)))
25140 : return NULL;
25141 : return gen_split_821 (insn, operands);
25142 :
25143 : case 4:
25144 : if (!((
25145 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25146 : (TARGET_USE_BT
25147 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
25148 : == GET_MODE_BITSIZE (DImode)-1
25149 : && ix86_pre_reload_split ()) &&
25150 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25151 : (TARGET_64BIT)) &&
25152 : #line 19531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25153 : ( 1)))
25154 : return NULL;
25155 : return gen_split_823 (insn, operands);
25156 :
25157 : case 5:
25158 : if (!((
25159 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25160 : (TARGET_USE_BT
25161 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
25162 : == GET_MODE_BITSIZE (DImode)-1
25163 : && ix86_pre_reload_split ()) &&
25164 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25165 : (TARGET_64BIT)) &&
25166 : #line 19531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25167 : ( 1)))
25168 : return NULL;
25169 : return gen_split_825 (insn, operands);
25170 :
25171 : default:
25172 : return NULL;
25173 : }
25174 :
25175 : default:
25176 : return NULL;
25177 : }
25178 : }
25179 :
25180 : rtx_insn *
25181 : split_15 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25182 : {
25183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25184 : rtx x2, x3, x4, x5, x6, x7;
25185 : rtx_insn *res ATTRIBUTE_UNUSED;
25186 : x2 = XVECEXP (x1, 0, 0);
25187 : x3 = XEXP (x2, 1);
25188 : x4 = XEXP (x3, 1);
25189 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
25190 : return NULL;
25191 : x5 = XEXP (x3, 2);
25192 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25193 : return NULL;
25194 : x6 = XEXP (x2, 0);
25195 : operands[0] = x6;
25196 : x7 = XEXP (x3, 0);
25197 : operands[1] = x7;
25198 : switch (pattern1428 (x3))
25199 : {
25200 : case 0:
25201 : return gen_split_26 (insn, operands);
25202 :
25203 : case 1:
25204 : if (!
25205 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25206 : (TARGET_64BIT))
25207 : return NULL;
25208 : return gen_split_27 (insn, operands);
25209 :
25210 : default:
25211 : return NULL;
25212 : }
25213 : }
25214 :
25215 : rtx_insn *
25216 : split_16 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25217 : {
25218 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25219 : rtx x2, x3, x4, x5, x6;
25220 : rtx_insn *res ATTRIBUTE_UNUSED;
25221 : x2 = XVECEXP (x1, 0, 0);
25222 : switch (pattern935 (x2))
25223 : {
25224 : case 0:
25225 : x3 = XEXP (x2, 0);
25226 : operands[0] = x3;
25227 : x4 = XEXP (x2, 1);
25228 : x5 = XEXP (x4, 1);
25229 : if (GET_CODE (x5) == SUBREG)
25230 : {
25231 : switch (pattern1429 (x4))
25232 : {
25233 : case 0:
25234 : if (((
25235 : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25236 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25237 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25238 : == (2 * 4 * BITS_PER_UNIT - 1)))
25239 : && ix86_pre_reload_split ()) &&
25240 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25241 : (!TARGET_64BIT)) &&
25242 : #line 16923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25243 : ( 1)))
25244 : return gen_split_595 (insn, operands);
25245 : break;
25246 :
25247 : case 1:
25248 : if (((
25249 : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25250 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25251 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25252 : == (2 * 8 * BITS_PER_UNIT - 1)))
25253 : && ix86_pre_reload_split ()) &&
25254 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25255 : (TARGET_64BIT)) &&
25256 : #line 16923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25257 : ( 1)))
25258 : return gen_split_597 (insn, operands);
25259 : break;
25260 :
25261 : default:
25262 : break;
25263 : }
25264 : }
25265 : if (GET_MODE (x4) == E_SImode
25266 : && nonimmediate_operand (operands[1], E_SImode))
25267 : {
25268 : if (register_operand (operands[0], E_SImode))
25269 : {
25270 : operands[2] = x5;
25271 : if (register_operand (operands[2], E_QImode)
25272 : &&
25273 : #line 17771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25274 : (TARGET_BMI2 && reload_completed))
25275 : return gen_split_628 (insn, operands);
25276 : }
25277 : if (GET_CODE (x5) == SUBREG)
25278 : {
25279 : switch (pattern1541 (x5))
25280 : {
25281 : case 0:
25282 : if ((
25283 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25284 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25285 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25286 : == 4 * BITS_PER_UNIT - 1
25287 : && ix86_pre_reload_split ()) &&
25288 : #line 18179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25289 : ( 1)))
25290 : return gen_split_645 (insn, operands);
25291 : break;
25292 :
25293 : case 1:
25294 : if ((
25295 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25296 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25297 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25298 : && ix86_pre_reload_split ()) &&
25299 : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25300 : ( 1)))
25301 : return gen_split_657 (insn, operands);
25302 : break;
25303 :
25304 : case 2:
25305 : if ((
25306 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25307 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25308 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25309 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25310 : == 4 * BITS_PER_UNIT - 1)
25311 : && ix86_pre_reload_split ()) &&
25312 : #line 18274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25313 : ( 1)))
25314 : return gen_split_669 (insn, operands);
25315 : break;
25316 :
25317 : default:
25318 : break;
25319 : }
25320 : }
25321 : }
25322 : operands[2] = x5;
25323 : switch (pattern1345 (x2))
25324 : {
25325 : case 0:
25326 : if (register_operand (operands[1], E_DImode)
25327 : && nonmemory_operand (operands[2], E_QImode)
25328 : && (
25329 : #line 17030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25330 : (epilogue_completed) &&
25331 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25332 : (!TARGET_64BIT)))
25333 : return gen_split_603 (insn, operands);
25334 : if (nonimmediate_operand (operands[1], E_DImode)
25335 : && register_operand (operands[2], E_QImode)
25336 : && (
25337 : #line 17771 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25338 : (TARGET_BMI2 && reload_completed) &&
25339 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25340 : (TARGET_64BIT)))
25341 : return gen_split_630 (insn, operands);
25342 : break;
25343 :
25344 : case 1:
25345 : if ((
25346 : #line 17030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25347 : (epilogue_completed) &&
25348 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25349 : (TARGET_64BIT)))
25350 : return gen_split_605 (insn, operands);
25351 : break;
25352 :
25353 : case 2:
25354 : if ((
25355 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25356 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25357 : #line 17985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25358 : ( reload_completed
25359 : && !(rtx_equal_p (operands[0], operands[1])))))
25360 : return gen_split_634 (insn, operands);
25361 : break;
25362 :
25363 : case 3:
25364 : if ((
25365 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25366 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25367 : #line 17985 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25368 : ( reload_completed
25369 : && !(rtx_equal_p (operands[0], operands[1])))))
25370 : return gen_split_636 (insn, operands);
25371 : break;
25372 :
25373 : default:
25374 : break;
25375 : }
25376 : if (GET_MODE (x4) != E_DImode
25377 : || !nonimmediate_operand (operands[1], E_DImode))
25378 : return NULL;
25379 : switch (GET_CODE (x5))
25380 : {
25381 : case CONST_INT:
25382 : if (pattern1241 (x2) != 0
25383 : || !(
25384 : #line 17697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25385 : (TARGET_64BIT) &&
25386 : #line 17699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25387 : ( reload_completed)))
25388 : return NULL;
25389 : return gen_split_623 (insn, operands);
25390 :
25391 : case SUBREG:
25392 : if (maybe_ne (SUBREG_BYTE (x5), 0)
25393 : || GET_MODE (x5) != E_QImode)
25394 : return NULL;
25395 : operands[0] = x3;
25396 : if (!nonimmediate_operand (operands[0], E_DImode))
25397 : return NULL;
25398 : x6 = XEXP (x5, 0);
25399 : switch (pattern1242 (x6))
25400 : {
25401 : case 0:
25402 : if (!((
25403 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25404 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25405 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25406 : == 8 * BITS_PER_UNIT - 1
25407 : && ix86_pre_reload_split ()) &&
25408 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25409 : (TARGET_64BIT)) &&
25410 : #line 18179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25411 : ( 1)))
25412 : return NULL;
25413 : return gen_split_648 (insn, operands);
25414 :
25415 : case 1:
25416 : if (!((
25417 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25418 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25419 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25420 : && ix86_pre_reload_split ()) &&
25421 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25422 : (TARGET_64BIT)) &&
25423 : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25424 : ( 1)))
25425 : return NULL;
25426 : return gen_split_660 (insn, operands);
25427 :
25428 : case 2:
25429 : if (!((
25430 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25431 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25432 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25433 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25434 : == 8 * BITS_PER_UNIT - 1)
25435 : && ix86_pre_reload_split ()) &&
25436 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25437 : (TARGET_64BIT)) &&
25438 : #line 18274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25439 : ( 1)))
25440 : return NULL;
25441 : return gen_split_672 (insn, operands);
25442 :
25443 : default:
25444 : return NULL;
25445 : }
25446 :
25447 : default:
25448 : return NULL;
25449 : }
25450 :
25451 : case 1:
25452 : if (register_operand (operands[0], E_DImode)
25453 : && register_operand (operands[1], E_DImode)
25454 : && ((
25455 : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25456 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25457 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25458 : == (2 * 4 * BITS_PER_UNIT - 1)))
25459 : && ix86_pre_reload_split ()) &&
25460 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25461 : (!TARGET_64BIT)) &&
25462 : #line 16984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25463 : ( 1)))
25464 : return gen_split_599 (insn, operands);
25465 : if (!nonimmediate_operand (operands[0], E_DImode)
25466 : || !nonimmediate_operand (operands[1], E_DImode)
25467 : || !((
25468 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25469 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25470 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25471 : == 8 * BITS_PER_UNIT - 1
25472 : && ix86_pre_reload_split ()) &&
25473 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25474 : (TARGET_64BIT)) &&
25475 : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25476 : ( 1)))
25477 : return NULL;
25478 : return gen_split_654 (insn, operands);
25479 :
25480 : case 2:
25481 : if (!((
25482 : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25483 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25484 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25485 : == (2 * 8 * BITS_PER_UNIT - 1)))
25486 : && ix86_pre_reload_split ()) &&
25487 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25488 : (TARGET_64BIT)) &&
25489 : #line 16984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25490 : ( 1)))
25491 : return NULL;
25492 : return gen_split_601 (insn, operands);
25493 :
25494 : case 3:
25495 : if (!(
25496 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25497 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25498 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25499 : == 4 * BITS_PER_UNIT - 1
25500 : && ix86_pre_reload_split ()) &&
25501 : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25502 : ( 1)))
25503 : return NULL;
25504 : return gen_split_651 (insn, operands);
25505 :
25506 : case 4:
25507 : if (!(
25508 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25509 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25510 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25511 : && ix86_pre_reload_split ()) &&
25512 : #line 18250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25513 : ( 1)))
25514 : return NULL;
25515 : return gen_split_663 (insn, operands);
25516 :
25517 : case 5:
25518 : if (!((
25519 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25520 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25521 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25522 : && ix86_pre_reload_split ()) &&
25523 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25524 : (TARGET_64BIT)) &&
25525 : #line 18250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25526 : ( 1)))
25527 : return NULL;
25528 : return gen_split_666 (insn, operands);
25529 :
25530 : case 6:
25531 : if (!(
25532 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25533 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
25534 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25535 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25536 : == 4 * BITS_PER_UNIT - 1)
25537 : && ix86_pre_reload_split ()) &&
25538 : #line 18307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25539 : ( 1)))
25540 : return NULL;
25541 : return gen_split_675 (insn, operands);
25542 :
25543 : case 7:
25544 : if (!((
25545 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25546 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
25547 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25548 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25549 : == 8 * BITS_PER_UNIT - 1)
25550 : && ix86_pre_reload_split ()) &&
25551 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25552 : (TARGET_64BIT)) &&
25553 : #line 18307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25554 : ( 1)))
25555 : return NULL;
25556 : return gen_split_678 (insn, operands);
25557 :
25558 : default:
25559 : return NULL;
25560 : }
25561 : }
25562 :
25563 : rtx_insn *
25564 : split_30 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25565 : {
25566 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25567 : rtx x2, x3, x4, x5, x6, x7;
25568 : rtx_insn *res ATTRIBUTE_UNUSED;
25569 : x2 = XVECEXP (x1, 0, 1);
25570 : if (pattern236 (x2,
25571 : E_CCmode,
25572 : 17) != 0)
25573 : return NULL;
25574 : x3 = XVECEXP (x1, 0, 0);
25575 : x4 = XEXP (x3, 1);
25576 : x5 = XEXP (x4, 0);
25577 : switch (GET_CODE (x5))
25578 : {
25579 : case CONST_INT:
25580 : case CONST_WIDE_INT:
25581 : case CONST_POLY_INT:
25582 : case CONST_FIXED:
25583 : case CONST_DOUBLE:
25584 : case CONST_VECTOR:
25585 : case CONST:
25586 : case REG:
25587 : case SUBREG:
25588 : case MEM:
25589 : case LABEL_REF:
25590 : case SYMBOL_REF:
25591 : case HIGH:
25592 : switch (pattern935 (x3))
25593 : {
25594 : case 0:
25595 : x6 = XEXP (x3, 0);
25596 : operands[0] = x6;
25597 : x7 = XEXP (x4, 1);
25598 : switch (GET_CODE (x7))
25599 : {
25600 : case REG:
25601 : case SUBREG:
25602 : if (GET_CODE (x7) == SUBREG)
25603 : {
25604 : switch (pattern1429 (x4))
25605 : {
25606 : case 0:
25607 : if (((
25608 : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25609 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25610 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25611 : == (2 * 4 * BITS_PER_UNIT - 1)))
25612 : && ix86_pre_reload_split ()) &&
25613 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25614 : (!TARGET_64BIT)) &&
25615 : #line 15546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25616 : ( 1)))
25617 : return gen_split_558 (insn, operands);
25618 : break;
25619 :
25620 : case 1:
25621 : if (((
25622 : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25623 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25624 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25625 : == (2 * 8 * BITS_PER_UNIT - 1)))
25626 : && ix86_pre_reload_split ()) &&
25627 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25628 : (TARGET_64BIT)) &&
25629 : #line 15546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25630 : ( 1)))
25631 : return gen_split_559 (insn, operands);
25632 : break;
25633 :
25634 : default:
25635 : break;
25636 : }
25637 : }
25638 : operands[2] = x7;
25639 : if (register_operand (operands[2], E_QImode)
25640 : && register_operand (operands[0], E_SImode)
25641 : && GET_MODE (x4) == E_SImode
25642 : && nonimmediate_operand (operands[1], E_SImode)
25643 : &&
25644 : #line 16326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25645 : (TARGET_BMI2 && reload_completed))
25646 : return gen_split_578 (insn, operands);
25647 : if (GET_CODE (x7) == SUBREG
25648 : && known_eq (SUBREG_BYTE (x7), 0)
25649 : && GET_MODE (x7) == E_QImode)
25650 : {
25651 : switch (pattern1243 (x4,
25652 : E_SImode))
25653 : {
25654 : case 0:
25655 : if ((
25656 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25657 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25658 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25659 : == 4 * BITS_PER_UNIT - 1
25660 : && ix86_pre_reload_split ()) &&
25661 : #line 18179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25662 : ( 1)))
25663 : return gen_split_644 (insn, operands);
25664 : break;
25665 :
25666 : case 1:
25667 : if ((
25668 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25669 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25670 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25671 : && ix86_pre_reload_split ()) &&
25672 : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25673 : ( 1)))
25674 : return gen_split_656 (insn, operands);
25675 : break;
25676 :
25677 : case 2:
25678 : if ((
25679 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25680 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25681 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25682 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25683 : == 4 * BITS_PER_UNIT - 1)
25684 : && ix86_pre_reload_split ()) &&
25685 : #line 18274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25686 : ( 1)))
25687 : return gen_split_668 (insn, operands);
25688 : break;
25689 :
25690 : default:
25691 : break;
25692 : }
25693 : }
25694 : break;
25695 :
25696 : case CONST_INT:
25697 : operands[2] = x7;
25698 : if (const_0_to_3_operand (operands[2], E_VOIDmode))
25699 : {
25700 : switch (GET_MODE (operands[0]))
25701 : {
25702 : case E_QImode:
25703 : if (general_reg_operand (operands[0], E_QImode)
25704 : && GET_MODE (x4) == E_QImode
25705 : && index_reg_operand (operands[1], E_QImode)
25706 : &&
25707 : #line 16621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25708 : (reload_completed
25709 : && REGNO (operands[0]) != REGNO (operands[1])))
25710 : return gen_split_583 (insn, operands);
25711 : break;
25712 :
25713 : case E_HImode:
25714 : if (general_reg_operand (operands[0], E_HImode)
25715 : && GET_MODE (x4) == E_HImode
25716 : && index_reg_operand (operands[1], E_HImode)
25717 : &&
25718 : #line 16621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25719 : (reload_completed
25720 : && REGNO (operands[0]) != REGNO (operands[1])))
25721 : return gen_split_584 (insn, operands);
25722 : break;
25723 :
25724 : case E_SImode:
25725 : if (general_reg_operand (operands[0], E_SImode)
25726 : && GET_MODE (x4) == E_SImode
25727 : && index_reg_operand (operands[1], E_SImode)
25728 : &&
25729 : #line 16621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25730 : (reload_completed
25731 : && REGNO (operands[0]) != REGNO (operands[1])))
25732 : return gen_split_585 (insn, operands);
25733 : break;
25734 :
25735 : default:
25736 : break;
25737 : }
25738 : }
25739 : break;
25740 :
25741 : default:
25742 : break;
25743 : }
25744 : operands[2] = x7;
25745 : res = split_23 (x1, insn);
25746 : if (res != NULL_RTX)
25747 : return res;
25748 : if (GET_CODE (x7) != SUBREG)
25749 : return NULL;
25750 : switch (pattern1244 (x3,
25751 : E_DImode))
25752 : {
25753 : case 0:
25754 : if (!((
25755 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25756 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25757 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25758 : == 8 * BITS_PER_UNIT - 1
25759 : && ix86_pre_reload_split ()) &&
25760 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25761 : (TARGET_64BIT)) &&
25762 : #line 18179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25763 : ( 1)))
25764 : return NULL;
25765 : return gen_split_647 (insn, operands);
25766 :
25767 : case 1:
25768 : if (!((
25769 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25770 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25771 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25772 : && ix86_pre_reload_split ()) &&
25773 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25774 : (TARGET_64BIT)) &&
25775 : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25776 : ( 1)))
25777 : return NULL;
25778 : return gen_split_659 (insn, operands);
25779 :
25780 : case 2:
25781 : if (!((
25782 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25783 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25784 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25785 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25786 : == 8 * BITS_PER_UNIT - 1)
25787 : && ix86_pre_reload_split ()) &&
25788 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25789 : (TARGET_64BIT)) &&
25790 : #line 18274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25791 : ( 1)))
25792 : return NULL;
25793 : return gen_split_671 (insn, operands);
25794 :
25795 : default:
25796 : return NULL;
25797 : }
25798 :
25799 : case 1:
25800 : if (register_operand (operands[0], E_DImode)
25801 : && register_operand (operands[1], E_DImode)
25802 : && ((
25803 : #line 15602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25804 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25805 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25806 : == (2 * 4 * BITS_PER_UNIT - 1)))
25807 : && ix86_pre_reload_split ()) &&
25808 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25809 : (!TARGET_64BIT)) &&
25810 : #line 15607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25811 : ( 1)))
25812 : return gen_split_560 (insn, operands);
25813 : if (!nonimmediate_operand (operands[0], E_DImode)
25814 : || !nonimmediate_operand (operands[1], E_DImode)
25815 : || !((
25816 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25817 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25818 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25819 : == 8 * BITS_PER_UNIT - 1
25820 : && ix86_pre_reload_split ()) &&
25821 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25822 : (TARGET_64BIT)) &&
25823 : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25824 : ( 1)))
25825 : return NULL;
25826 : return gen_split_653 (insn, operands);
25827 :
25828 : case 2:
25829 : if (!((
25830 : #line 15602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25831 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25832 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25833 : == (2 * 8 * BITS_PER_UNIT - 1)))
25834 : && ix86_pre_reload_split ()) &&
25835 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25836 : (TARGET_64BIT)) &&
25837 : #line 15607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25838 : ( 1)))
25839 : return NULL;
25840 : return gen_split_561 (insn, operands);
25841 :
25842 : case 3:
25843 : if (!(
25844 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25845 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25846 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25847 : == 4 * BITS_PER_UNIT - 1
25848 : && ix86_pre_reload_split ()) &&
25849 : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25850 : ( 1)))
25851 : return NULL;
25852 : return gen_split_650 (insn, operands);
25853 :
25854 : case 4:
25855 : if (!(
25856 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25857 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25858 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25859 : && ix86_pre_reload_split ()) &&
25860 : #line 18250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25861 : ( 1)))
25862 : return NULL;
25863 : return gen_split_662 (insn, operands);
25864 :
25865 : case 5:
25866 : if (!((
25867 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25868 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25869 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25870 : && ix86_pre_reload_split ()) &&
25871 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25872 : (TARGET_64BIT)) &&
25873 : #line 18250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25874 : ( 1)))
25875 : return NULL;
25876 : return gen_split_665 (insn, operands);
25877 :
25878 : case 6:
25879 : if (!(
25880 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25881 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
25882 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25883 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25884 : == 4 * BITS_PER_UNIT - 1)
25885 : && ix86_pre_reload_split ()) &&
25886 : #line 18307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25887 : ( 1)))
25888 : return NULL;
25889 : return gen_split_674 (insn, operands);
25890 :
25891 : case 7:
25892 : if (!((
25893 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25894 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
25895 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25896 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25897 : == 8 * BITS_PER_UNIT - 1)
25898 : && ix86_pre_reload_split ()) &&
25899 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25900 : (TARGET_64BIT)) &&
25901 : #line 18307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25902 : ( 1)))
25903 : return NULL;
25904 : return gen_split_677 (insn, operands);
25905 :
25906 : default:
25907 : return NULL;
25908 : }
25909 :
25910 : case SIGN_EXTEND:
25911 : switch (pattern382 (x3))
25912 : {
25913 : case 0:
25914 : if (!((
25915 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25916 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
25917 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
25918 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25919 : (!TARGET_64BIT)) &&
25920 : #line 15706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25921 : ( reload_completed)))
25922 : return NULL;
25923 : return gen_split_564 (insn, operands);
25924 :
25925 : case 1:
25926 : if (!((
25927 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25928 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
25929 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
25930 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25931 : (TARGET_64BIT)) &&
25932 : #line 15706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25933 : ( reload_completed)))
25934 : return NULL;
25935 : return gen_split_566 (insn, operands);
25936 :
25937 : default:
25938 : return NULL;
25939 : }
25940 :
25941 : case ZERO_EXTEND:
25942 : switch (pattern382 (x3))
25943 : {
25944 : case 0:
25945 : if (!((
25946 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25947 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
25948 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
25949 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25950 : (!TARGET_64BIT)) &&
25951 : #line 15706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25952 : ( reload_completed)))
25953 : return NULL;
25954 : return gen_split_565 (insn, operands);
25955 :
25956 : case 1:
25957 : if (!((
25958 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25959 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
25960 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
25961 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25962 : (TARGET_64BIT)) &&
25963 : #line 15706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25964 : ( reload_completed)))
25965 : return NULL;
25966 : return gen_split_567 (insn, operands);
25967 :
25968 : default:
25969 : return NULL;
25970 : }
25971 :
25972 : default:
25973 : return NULL;
25974 : }
25975 : }
25976 :
25977 : rtx_insn *
25978 : split_38 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25979 : {
25980 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25981 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25982 : rtx_insn *res ATTRIBUTE_UNUSED;
25983 : x2 = XVECEXP (x1, 0, 0);
25984 : x3 = XEXP (x2, 1);
25985 : operands[3] = x3;
25986 : if (promotable_binary_operator (operands[3], E_VOIDmode)
25987 : && pattern344 (x1) == 0
25988 : && general_reg_operand (operands[0], E_VOIDmode))
25989 : {
25990 : x4 = XEXP (x3, 0);
25991 : operands[1] = x4;
25992 : if (general_reg_operand (operands[1], E_VOIDmode))
25993 : {
25994 : x5 = XEXP (x3, 1);
25995 : operands[2] = x5;
25996 : if (aligned_operand (operands[2], E_VOIDmode)
25997 : &&
25998 : #line 28215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25999 : (! TARGET_PARTIAL_REG_STALL && reload_completed
26000 : && ((GET_MODE (operands[0]) == HImode
26001 : && ((optimize_function_for_speed_p (cfun) && !TARGET_FAST_PREFIX)
26002 : /* ??? next two lines just !satisfies_constraint_K (...) */
26003 : || !CONST_INT_P (operands[2])
26004 : || satisfies_constraint_K (operands[2])))
26005 : || (GET_MODE (operands[0]) == QImode
26006 : && (TARGET_PROMOTE_QImode || optimize_function_for_size_p (cfun))))))
26007 : return gen_split_1011 (insn, operands);
26008 : }
26009 : }
26010 : x6 = XVECEXP (x1, 0, 1);
26011 : if (GET_CODE (x6) != CLOBBER)
26012 : return NULL;
26013 : x7 = XEXP (x6, 0);
26014 : if (GET_CODE (x7) != REG
26015 : || REGNO (x7) != 17
26016 : || GET_MODE (x7) != E_CCmode)
26017 : return NULL;
26018 : x8 = XEXP (x2, 0);
26019 : operands[0] = x8;
26020 : x5 = XEXP (x3, 1);
26021 : operands[2] = x5;
26022 : switch (GET_CODE (x3))
26023 : {
26024 : case PLUS:
26025 : if (GET_MODE (x3) != E_V2QImode)
26026 : return NULL;
26027 : x4 = XEXP (x3, 0);
26028 : operands[1] = x4;
26029 : if (general_reg_operand (operands[1], E_V2QImode)
26030 : && general_reg_operand (operands[0], E_V2QImode)
26031 : && general_reg_operand (operands[2], E_V2QImode)
26032 : &&
26033 : #line 3288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26034 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
26035 : && reload_completed))
26036 : return gen_split_1092 (insn, operands);
26037 : if (!sse_reg_operand (operands[1], E_V2QImode)
26038 : || !sse_reg_operand (operands[0], E_V2QImode)
26039 : || !sse_reg_operand (operands[2], E_V2QImode)
26040 : || !
26041 : #line 3322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26042 : (TARGET_SSE2 && reload_completed))
26043 : return NULL;
26044 : return gen_split_1094 (insn, operands);
26045 :
26046 : case MINUS:
26047 : if (GET_MODE (x3) != E_V2QImode)
26048 : return NULL;
26049 : x4 = XEXP (x3, 0);
26050 : operands[1] = x4;
26051 : if (general_reg_operand (operands[1], E_V2QImode)
26052 : && general_reg_operand (operands[0], E_V2QImode)
26053 : && general_reg_operand (operands[2], E_V2QImode)
26054 : &&
26055 : #line 3288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26056 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
26057 : && reload_completed))
26058 : return gen_split_1093 (insn, operands);
26059 : if (!sse_reg_operand (operands[1], E_V2QImode)
26060 : || !sse_reg_operand (operands[0], E_V2QImode)
26061 : || !sse_reg_operand (operands[2], E_V2QImode)
26062 : || !
26063 : #line 3322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26064 : (TARGET_SSE2 && reload_completed))
26065 : return NULL;
26066 : return gen_split_1095 (insn, operands);
26067 :
26068 : case ASHIFT:
26069 : x4 = XEXP (x3, 0);
26070 : operands[1] = x4;
26071 : switch (GET_MODE (operands[0]))
26072 : {
26073 : case E_V2QImode:
26074 : if (pattern1343 (x3,
26075 : E_V2QImode) != 0
26076 : || !
26077 : #line 4037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26078 : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
26079 : && reload_completed))
26080 : return NULL;
26081 : return gen_split_1103 (insn, operands);
26082 :
26083 : case E_QImode:
26084 : if (pattern1349 (x3,
26085 : E_QImode) != 0
26086 : || !
26087 : #line 2316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26088 : (TARGET_AVX512F && reload_completed))
26089 : return NULL;
26090 : return gen_split_1274 (insn, operands);
26091 :
26092 : case E_HImode:
26093 : if (pattern1349 (x3,
26094 : E_HImode) != 0
26095 : || !
26096 : #line 2316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26097 : (TARGET_AVX512F && reload_completed))
26098 : return NULL;
26099 : return gen_split_1276 (insn, operands);
26100 :
26101 : case E_SImode:
26102 : if (pattern1349 (x3,
26103 : E_SImode) != 0
26104 : || !(
26105 : #line 2316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26106 : (TARGET_AVX512F && reload_completed) &&
26107 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26108 : (TARGET_AVX512BW)))
26109 : return NULL;
26110 : return gen_split_1278 (insn, operands);
26111 :
26112 : case E_DImode:
26113 : if (pattern1349 (x3,
26114 : E_DImode) != 0
26115 : || !(
26116 : #line 2316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26117 : (TARGET_AVX512F && reload_completed) &&
26118 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26119 : (TARGET_AVX512BW)))
26120 : return NULL;
26121 : return gen_split_1280 (insn, operands);
26122 :
26123 : default:
26124 : return NULL;
26125 : }
26126 :
26127 : case AND:
26128 : x4 = XEXP (x3, 0);
26129 : switch (GET_CODE (x4))
26130 : {
26131 : case NOT:
26132 : x9 = XEXP (x4, 0);
26133 : operands[1] = x9;
26134 : switch (GET_MODE (operands[0]))
26135 : {
26136 : case E_V4QImode:
26137 : if (GET_MODE (x3) != E_V4QImode
26138 : || GET_MODE (x4) != E_V4QImode)
26139 : return NULL;
26140 : if (general_reg_operand (operands[0], E_V4QImode)
26141 : && general_reg_operand (operands[1], E_V4QImode)
26142 : && general_reg_operand (operands[2], E_V4QImode))
26143 : {
26144 : if (
26145 : #line 4650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26146 : (TARGET_BMI && reload_completed))
26147 : return gen_split_1119 (insn, operands);
26148 : if (
26149 : #line 4667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26150 : (!TARGET_BMI && reload_completed))
26151 : return gen_split_1122 (insn, operands);
26152 : }
26153 : if (!sse_reg_operand (operands[0], E_V4QImode)
26154 : || !sse_reg_operand (operands[1], E_V4QImode)
26155 : || !sse_reg_operand (operands[2], E_V4QImode)
26156 : || !
26157 : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26158 : (TARGET_SSE2 && reload_completed))
26159 : return NULL;
26160 : return gen_split_1125 (insn, operands);
26161 :
26162 : case E_V2QImode:
26163 : if (GET_MODE (x3) != E_V2QImode
26164 : || GET_MODE (x4) != E_V2QImode)
26165 : return NULL;
26166 : if (general_reg_operand (operands[0], E_V2QImode)
26167 : && general_reg_operand (operands[1], E_V2QImode)
26168 : && general_reg_operand (operands[2], E_V2QImode))
26169 : {
26170 : if (
26171 : #line 4650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26172 : (TARGET_BMI && reload_completed))
26173 : return gen_split_1120 (insn, operands);
26174 : if (
26175 : #line 4667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26176 : (!TARGET_BMI && reload_completed))
26177 : return gen_split_1123 (insn, operands);
26178 : }
26179 : if (!sse_reg_operand (operands[0], E_V2QImode)
26180 : || !sse_reg_operand (operands[1], E_V2QImode)
26181 : || !sse_reg_operand (operands[2], E_V2QImode)
26182 : || !
26183 : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26184 : (TARGET_SSE2 && reload_completed))
26185 : return NULL;
26186 : return gen_split_1126 (insn, operands);
26187 :
26188 : case E_V2HImode:
26189 : if (GET_MODE (x3) != E_V2HImode
26190 : || GET_MODE (x4) != E_V2HImode)
26191 : return NULL;
26192 : if (general_reg_operand (operands[0], E_V2HImode)
26193 : && general_reg_operand (operands[1], E_V2HImode)
26194 : && general_reg_operand (operands[2], E_V2HImode))
26195 : {
26196 : if (
26197 : #line 4650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26198 : (TARGET_BMI && reload_completed))
26199 : return gen_split_1121 (insn, operands);
26200 : if (
26201 : #line 4667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26202 : (!TARGET_BMI && reload_completed))
26203 : return gen_split_1124 (insn, operands);
26204 : }
26205 : if (!sse_reg_operand (operands[0], E_V2HImode)
26206 : || !sse_reg_operand (operands[1], E_V2HImode)
26207 : || !sse_reg_operand (operands[2], E_V2HImode)
26208 : || !
26209 : #line 4686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26210 : (TARGET_SSE2 && reload_completed))
26211 : return NULL;
26212 : return gen_split_1127 (insn, operands);
26213 :
26214 : case E_QImode:
26215 : if (pattern1513 (x3,
26216 : E_QImode) != 0
26217 : || !
26218 : #line 2186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26219 : (TARGET_AVX512F && reload_completed))
26220 : return NULL;
26221 : return gen_split_1257 (insn, operands);
26222 :
26223 : case E_HImode:
26224 : if (pattern1513 (x3,
26225 : E_HImode) != 0
26226 : || !
26227 : #line 2186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26228 : (TARGET_AVX512F && reload_completed))
26229 : return NULL;
26230 : return gen_split_1258 (insn, operands);
26231 :
26232 : case E_SImode:
26233 : if (pattern1513 (x3,
26234 : E_SImode) != 0
26235 : || !(
26236 : #line 2186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26237 : (TARGET_AVX512F && reload_completed) &&
26238 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26239 : (TARGET_AVX512BW)))
26240 : return NULL;
26241 : return gen_split_1259 (insn, operands);
26242 :
26243 : case E_DImode:
26244 : if (pattern1513 (x3,
26245 : E_DImode) != 0
26246 : || !(
26247 : #line 2186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26248 : (TARGET_AVX512F && reload_completed) &&
26249 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26250 : (TARGET_AVX512BW)))
26251 : return NULL;
26252 : return gen_split_1260 (insn, operands);
26253 :
26254 : default:
26255 : return NULL;
26256 : }
26257 :
26258 : case REG:
26259 : case SUBREG:
26260 : case MEM:
26261 : switch (pattern1262 (x3))
26262 : {
26263 : case 0:
26264 : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26265 : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26266 : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26267 : &&
26268 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26269 : (reload_completed))
26270 : return gen_split_1128 (insn, operands);
26271 : if (!sse_reg_operand (operands[0], E_V4QImode)
26272 : || !sse_reg_operand (operands[1], E_V4QImode)
26273 : || !sse_reg_operand (operands[2], E_V4QImode)
26274 : || !
26275 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26276 : (TARGET_SSE2 && reload_completed))
26277 : return NULL;
26278 : return gen_split_1137 (insn, operands);
26279 :
26280 : case 1:
26281 : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26282 : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26283 : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26284 : &&
26285 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26286 : (reload_completed))
26287 : return gen_split_1131 (insn, operands);
26288 : if (!sse_reg_operand (operands[0], E_V2QImode)
26289 : || !sse_reg_operand (operands[1], E_V2QImode)
26290 : || !sse_reg_operand (operands[2], E_V2QImode)
26291 : || !
26292 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26293 : (TARGET_SSE2 && reload_completed))
26294 : return NULL;
26295 : return gen_split_1140 (insn, operands);
26296 :
26297 : case 2:
26298 : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26299 : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26300 : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26301 : &&
26302 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26303 : (reload_completed))
26304 : return gen_split_1134 (insn, operands);
26305 : if (!sse_reg_operand (operands[0], E_V2HImode)
26306 : || !sse_reg_operand (operands[1], E_V2HImode)
26307 : || !sse_reg_operand (operands[2], E_V2HImode)
26308 : || !
26309 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26310 : (TARGET_SSE2 && reload_completed))
26311 : return NULL;
26312 : return gen_split_1143 (insn, operands);
26313 :
26314 : case 3:
26315 : if (!
26316 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26317 : (TARGET_AVX512F && reload_completed))
26318 : return NULL;
26319 : return gen_split_1245 (insn, operands);
26320 :
26321 : case 4:
26322 : if (!
26323 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26324 : (TARGET_AVX512F && reload_completed))
26325 : return NULL;
26326 : return gen_split_1248 (insn, operands);
26327 :
26328 : case 5:
26329 : if (!(
26330 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26331 : (TARGET_AVX512F && reload_completed) &&
26332 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26333 : (TARGET_AVX512BW)))
26334 : return NULL;
26335 : return gen_split_1251 (insn, operands);
26336 :
26337 : case 6:
26338 : if (!(
26339 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26340 : (TARGET_AVX512F && reload_completed) &&
26341 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26342 : (TARGET_AVX512BW)))
26343 : return NULL;
26344 : return gen_split_1254 (insn, operands);
26345 :
26346 : default:
26347 : return NULL;
26348 : }
26349 :
26350 : default:
26351 : return NULL;
26352 : }
26353 :
26354 : case IOR:
26355 : switch (pattern1262 (x3))
26356 : {
26357 : case 0:
26358 : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26359 : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26360 : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26361 : &&
26362 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26363 : (reload_completed))
26364 : return gen_split_1129 (insn, operands);
26365 : if (!sse_reg_operand (operands[0], E_V4QImode)
26366 : || !sse_reg_operand (operands[1], E_V4QImode)
26367 : || !sse_reg_operand (operands[2], E_V4QImode)
26368 : || !
26369 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26370 : (TARGET_SSE2 && reload_completed))
26371 : return NULL;
26372 : return gen_split_1138 (insn, operands);
26373 :
26374 : case 1:
26375 : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26376 : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26377 : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26378 : &&
26379 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26380 : (reload_completed))
26381 : return gen_split_1132 (insn, operands);
26382 : if (!sse_reg_operand (operands[0], E_V2QImode)
26383 : || !sse_reg_operand (operands[1], E_V2QImode)
26384 : || !sse_reg_operand (operands[2], E_V2QImode)
26385 : || !
26386 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26387 : (TARGET_SSE2 && reload_completed))
26388 : return NULL;
26389 : return gen_split_1141 (insn, operands);
26390 :
26391 : case 2:
26392 : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26393 : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26394 : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26395 : &&
26396 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26397 : (reload_completed))
26398 : return gen_split_1135 (insn, operands);
26399 : if (!sse_reg_operand (operands[0], E_V2HImode)
26400 : || !sse_reg_operand (operands[1], E_V2HImode)
26401 : || !sse_reg_operand (operands[2], E_V2HImode)
26402 : || !
26403 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26404 : (TARGET_SSE2 && reload_completed))
26405 : return NULL;
26406 : return gen_split_1144 (insn, operands);
26407 :
26408 : case 3:
26409 : if (!
26410 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26411 : (TARGET_AVX512F && reload_completed))
26412 : return NULL;
26413 : return gen_split_1246 (insn, operands);
26414 :
26415 : case 4:
26416 : if (!
26417 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26418 : (TARGET_AVX512F && reload_completed))
26419 : return NULL;
26420 : return gen_split_1249 (insn, operands);
26421 :
26422 : case 5:
26423 : if (!(
26424 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26425 : (TARGET_AVX512F && reload_completed) &&
26426 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26427 : (TARGET_AVX512BW)))
26428 : return NULL;
26429 : return gen_split_1252 (insn, operands);
26430 :
26431 : case 6:
26432 : if (!(
26433 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26434 : (TARGET_AVX512F && reload_completed) &&
26435 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26436 : (TARGET_AVX512BW)))
26437 : return NULL;
26438 : return gen_split_1255 (insn, operands);
26439 :
26440 : default:
26441 : return NULL;
26442 : }
26443 :
26444 : case XOR:
26445 : switch (pattern1262 (x3))
26446 : {
26447 : case 0:
26448 : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26449 : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26450 : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26451 : &&
26452 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26453 : (reload_completed))
26454 : return gen_split_1130 (insn, operands);
26455 : if (!sse_reg_operand (operands[0], E_V4QImode)
26456 : || !sse_reg_operand (operands[1], E_V4QImode)
26457 : || !sse_reg_operand (operands[2], E_V4QImode)
26458 : || !
26459 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26460 : (TARGET_SSE2 && reload_completed))
26461 : return NULL;
26462 : return gen_split_1139 (insn, operands);
26463 :
26464 : case 1:
26465 : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26466 : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26467 : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26468 : &&
26469 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26470 : (reload_completed))
26471 : return gen_split_1133 (insn, operands);
26472 : if (!sse_reg_operand (operands[0], E_V2QImode)
26473 : || !sse_reg_operand (operands[1], E_V2QImode)
26474 : || !sse_reg_operand (operands[2], E_V2QImode)
26475 : || !
26476 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26477 : (TARGET_SSE2 && reload_completed))
26478 : return NULL;
26479 : return gen_split_1142 (insn, operands);
26480 :
26481 : case 2:
26482 : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26483 : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26484 : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26485 : &&
26486 : #line 4753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26487 : (reload_completed))
26488 : return gen_split_1136 (insn, operands);
26489 : if (!sse_reg_operand (operands[0], E_V2HImode)
26490 : || !sse_reg_operand (operands[1], E_V2HImode)
26491 : || !sse_reg_operand (operands[2], E_V2HImode)
26492 : || !
26493 : #line 4777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26494 : (TARGET_SSE2 && reload_completed))
26495 : return NULL;
26496 : return gen_split_1145 (insn, operands);
26497 :
26498 : case 3:
26499 : if (!
26500 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26501 : (TARGET_AVX512F && reload_completed))
26502 : return NULL;
26503 : return gen_split_1247 (insn, operands);
26504 :
26505 : case 4:
26506 : if (!
26507 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26508 : (TARGET_AVX512F && reload_completed))
26509 : return NULL;
26510 : return gen_split_1250 (insn, operands);
26511 :
26512 : case 5:
26513 : if (!(
26514 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26515 : (TARGET_AVX512F && reload_completed) &&
26516 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26517 : (TARGET_AVX512BW)))
26518 : return NULL;
26519 : return gen_split_1253 (insn, operands);
26520 :
26521 : case 6:
26522 : if (!(
26523 : #line 2150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26524 : (TARGET_AVX512F && reload_completed) &&
26525 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26526 : (TARGET_AVX512BW)))
26527 : return NULL;
26528 : return gen_split_1256 (insn, operands);
26529 :
26530 : default:
26531 : return NULL;
26532 : }
26533 :
26534 : default:
26535 : return NULL;
26536 : }
26537 : }
26538 :
26539 : rtx_insn *
26540 : split_55 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26541 : {
26542 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26543 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
26544 : rtx x10;
26545 : rtx_insn *res ATTRIBUTE_UNUSED;
26546 : x2 = XEXP (x1, 0);
26547 : operands[0] = x2;
26548 : x3 = XEXP (x1, 1);
26549 : x4 = XEXP (x3, 0);
26550 : switch (GET_CODE (x4))
26551 : {
26552 : case VEC_SELECT:
26553 : if (GET_MODE (x4) != E_SImode)
26554 : return NULL;
26555 : x5 = XEXP (x4, 1);
26556 : if (GET_CODE (x5) != PARALLEL
26557 : || XVECLEN (x5, 0) != 1)
26558 : return NULL;
26559 : x6 = XVECEXP (x5, 0, 0);
26560 : if (GET_CODE (x6) != CONST_INT
26561 : || !register_operand (operands[0], E_DImode)
26562 : || GET_MODE (x3) != E_DImode)
26563 : return NULL;
26564 : x7 = XEXP (x4, 0);
26565 : operands[1] = x7;
26566 : if (XWINT (x6, 0) == 0L)
26567 : {
26568 : switch (GET_MODE (operands[1]))
26569 : {
26570 : case E_V2SImode:
26571 : if (register_operand (operands[1], E_V2SImode)
26572 : &&
26573 : #line 5802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26574 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
26575 : && TARGET_SSE2 && reload_completed))
26576 : return gen_split_1163 (insn, operands);
26577 : break;
26578 :
26579 : case E_V4SImode:
26580 : if (register_operand (operands[1], E_V4SImode)
26581 : &&
26582 : #line 21578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26583 : (TARGET_SSE2 && reload_completed))
26584 : return gen_split_3482 (insn, operands);
26585 : break;
26586 :
26587 : default:
26588 : break;
26589 : }
26590 : }
26591 : operands[2] = x6;
26592 : switch (GET_MODE (operands[1]))
26593 : {
26594 : case E_V2SImode:
26595 : if (!memory_operand (operands[1], E_V2SImode)
26596 : || !const_0_to_1_operand (operands[2], E_SImode)
26597 : || !(
26598 : #line 5870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26599 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_64BIT) &&
26600 : #line 5872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26601 : ( reload_completed)))
26602 : return NULL;
26603 : return gen_split_1165 (insn, operands);
26604 :
26605 : case E_V4SImode:
26606 : if (!memory_operand (operands[1], E_V4SImode)
26607 : || !const_0_to_3_operand (operands[2], E_SImode)
26608 : || !(
26609 : #line 21653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26610 : (TARGET_64BIT && TARGET_SSE) &&
26611 : #line 21655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26612 : ( reload_completed)))
26613 : return NULL;
26614 : return gen_split_3483 (insn, operands);
26615 :
26616 : default:
26617 : return NULL;
26618 : }
26619 :
26620 : case NOT:
26621 : x7 = XEXP (x4, 0);
26622 : switch (GET_CODE (x7))
26623 : {
26624 : case REG:
26625 : operands[1] = x7;
26626 : if (!mask_reg_operand (operands[1], E_SImode)
26627 : || !mask_reg_operand (operands[0], E_DImode)
26628 : || GET_MODE (x3) != E_DImode
26629 : || GET_MODE (x4) != E_SImode
26630 : || !
26631 : #line 2263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26632 : (TARGET_AVX512BW && reload_completed))
26633 : return NULL;
26634 : return gen_split_1265 (insn, operands);
26635 :
26636 : case SUBREG:
26637 : if (maybe_ne (SUBREG_BYTE (x7), 0)
26638 : || GET_MODE (x7) != E_HImode)
26639 : return NULL;
26640 : x8 = XEXP (x7, 0);
26641 : if (GET_CODE (x8) != UNSPEC
26642 : || XVECLEN (x8, 0) != 1
26643 : || XINT (x8, 1) != 50
26644 : || GET_MODE (x8) != E_SImode
26645 : || !register_operand (operands[0], E_SImode)
26646 : || GET_MODE (x3) != E_SImode
26647 : || GET_MODE (x4) != E_HImode)
26648 : return NULL;
26649 : x9 = XVECEXP (x8, 0, 0);
26650 : operands[1] = x9;
26651 : if (!register_operand (operands[1], E_V16QImode)
26652 : || !
26653 : #line 22505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26654 : (TARGET_SSE2))
26655 : return NULL;
26656 : return gen_split_3532 (insn, operands);
26657 :
26658 : default:
26659 : return NULL;
26660 : }
26661 :
26662 : case UNSPEC:
26663 : if (XVECLEN (x4, 0) != 1
26664 : || XINT (x4, 1) != 50
26665 : || GET_MODE (x4) != E_SImode
26666 : || !register_operand (operands[0], E_DImode)
26667 : || GET_MODE (x3) != E_DImode)
26668 : return NULL;
26669 : x10 = XVECEXP (x4, 0, 0);
26670 : switch (GET_CODE (x10))
26671 : {
26672 : case LT:
26673 : switch (pattern983 (x10))
26674 : {
26675 : case 0:
26676 : if (!((
26677 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26678 : (TARGET_64BIT && TARGET_SSE) &&
26679 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26680 : (TARGET_AVX)) &&
26681 : #line 22358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26682 : ( reload_completed)))
26683 : return NULL;
26684 : return gen_split_3504 (insn, operands);
26685 :
26686 : case 1:
26687 : if (!(
26688 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26689 : (TARGET_64BIT && TARGET_SSE) &&
26690 : #line 22358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26691 : ( reload_completed)))
26692 : return NULL;
26693 : return gen_split_3506 (insn, operands);
26694 :
26695 : case 2:
26696 : if (!((
26697 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26698 : (TARGET_64BIT && TARGET_SSE) &&
26699 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26700 : (TARGET_AVX)) &&
26701 : #line 22358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26702 : ( reload_completed)))
26703 : return NULL;
26704 : return gen_split_3508 (insn, operands);
26705 :
26706 : case 3:
26707 : if (!((
26708 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26709 : (TARGET_64BIT && TARGET_SSE) &&
26710 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26711 : (TARGET_SSE2)) &&
26712 : #line 22358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26713 : ( reload_completed)))
26714 : return NULL;
26715 : return gen_split_3510 (insn, operands);
26716 :
26717 : case 4:
26718 : if (!((
26719 : #line 22616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26720 : (TARGET_64BIT && TARGET_SSE2) &&
26721 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26722 : (TARGET_AVX2)) &&
26723 : #line 22618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26724 : ( 1)))
26725 : return NULL;
26726 : return gen_split_3541 (insn, operands);
26727 :
26728 : case 5:
26729 : if (!(
26730 : #line 22616 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26731 : (TARGET_64BIT && TARGET_SSE2) &&
26732 : #line 22618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26733 : ( 1)))
26734 : return NULL;
26735 : return gen_split_3542 (insn, operands);
26736 :
26737 : default:
26738 : return NULL;
26739 : }
26740 :
26741 : case SUBREG:
26742 : switch (pattern1098 (x10))
26743 : {
26744 : case 0:
26745 : if (!((
26746 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26747 : (TARGET_64BIT && TARGET_SSE) &&
26748 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26749 : (TARGET_AVX)) &&
26750 : #line 22383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26751 : ( reload_completed)))
26752 : return NULL;
26753 : return gen_split_3512 (insn, operands);
26754 :
26755 : case 1:
26756 : if (!(
26757 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26758 : (TARGET_64BIT && TARGET_SSE) &&
26759 : #line 22383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26760 : ( reload_completed)))
26761 : return NULL;
26762 : return gen_split_3514 (insn, operands);
26763 :
26764 : case 2:
26765 : if (!((
26766 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26767 : (TARGET_64BIT && TARGET_SSE) &&
26768 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26769 : (TARGET_AVX)) &&
26770 : #line 22383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26771 : ( reload_completed)))
26772 : return NULL;
26773 : return gen_split_3516 (insn, operands);
26774 :
26775 : case 3:
26776 : if (!((
26777 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26778 : (TARGET_64BIT && TARGET_SSE) &&
26779 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26780 : (TARGET_SSE2)) &&
26781 : #line 22383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26782 : ( reload_completed)))
26783 : return NULL;
26784 : return gen_split_3518 (insn, operands);
26785 :
26786 : case 4:
26787 : if (!((
26788 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26789 : (TARGET_64BIT && TARGET_SSE) &&
26790 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26791 : (TARGET_AVX)) &&
26792 : #line 22422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26793 : ( reload_completed)))
26794 : return NULL;
26795 : return gen_split_3524 (insn, operands);
26796 :
26797 : case 5:
26798 : if (!(
26799 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26800 : (TARGET_64BIT && TARGET_SSE) &&
26801 : #line 22422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26802 : ( reload_completed)))
26803 : return NULL;
26804 : return gen_split_3526 (insn, operands);
26805 :
26806 : case 6:
26807 : if (!((
26808 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26809 : (TARGET_64BIT && TARGET_SSE) &&
26810 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26811 : (TARGET_AVX)) &&
26812 : #line 22422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26813 : ( reload_completed)))
26814 : return NULL;
26815 : return gen_split_3528 (insn, operands);
26816 :
26817 : case 7:
26818 : if (!((
26819 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26820 : (TARGET_64BIT && TARGET_SSE) &&
26821 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26822 : (TARGET_SSE2)) &&
26823 : #line 22422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26824 : ( reload_completed)))
26825 : return NULL;
26826 : return gen_split_3530 (insn, operands);
26827 :
26828 : default:
26829 : return NULL;
26830 : }
26831 :
26832 : case VEC_MERGE:
26833 : switch (pattern985 (x10))
26834 : {
26835 : case 0:
26836 : if (!((
26837 : #line 22645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26838 : (TARGET_64BIT && TARGET_SSE2) &&
26839 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26840 : (TARGET_AVX2)) &&
26841 : #line 22647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26842 : ( 1)))
26843 : return NULL;
26844 : return gen_split_3543 (insn, operands);
26845 :
26846 : case 1:
26847 : if (!(
26848 : #line 22645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26849 : (TARGET_64BIT && TARGET_SSE2) &&
26850 : #line 22647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26851 : ( 1)))
26852 : return NULL;
26853 : return gen_split_3544 (insn, operands);
26854 :
26855 : default:
26856 : return NULL;
26857 : }
26858 :
26859 : default:
26860 : return NULL;
26861 : }
26862 :
26863 : case SUBREG:
26864 : if (pattern118 (x3) != 0
26865 : || !(
26866 : #line 22491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26867 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26868 : #line 22493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26869 : ( 1)))
26870 : return NULL;
26871 : return gen_split_3531 (insn, operands);
26872 :
26873 : default:
26874 : return NULL;
26875 : }
26876 : }
26877 :
26878 : rtx_insn *
26879 : split_62 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26880 : {
26881 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26882 : rtx x2, x3, x4;
26883 : rtx_insn *res ATTRIBUTE_UNUSED;
26884 : x2 = XEXP (x1, 1);
26885 : x3 = XEXP (x2, 0);
26886 : x4 = XEXP (x3, 0);
26887 : switch (GET_CODE (x4))
26888 : {
26889 : case REG:
26890 : case SUBREG:
26891 : case MEM:
26892 : case NOT:
26893 : switch (pattern535 (x2))
26894 : {
26895 : case 0:
26896 : if (!((
26897 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26898 : ((64 == 64 || TARGET_AVX512VL
26899 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26900 : && ix86_pre_reload_split ()
26901 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26902 : STRIP_UNARY (operands[4]))
26903 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26904 : STRIP_UNARY (operands[4]))
26905 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26906 : STRIP_UNARY (operands[3]))
26907 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26908 : STRIP_UNARY (operands[3])))) &&
26909 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26910 : (TARGET_AVX512F)) &&
26911 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26912 : ( 1)))
26913 : return NULL;
26914 : return gen_split_1759 (insn, operands);
26915 :
26916 : case 1:
26917 : if (!((
26918 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26919 : ((32 == 64 || TARGET_AVX512VL
26920 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26921 : && ix86_pre_reload_split ()
26922 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26923 : STRIP_UNARY (operands[4]))
26924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26925 : STRIP_UNARY (operands[4]))
26926 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26927 : STRIP_UNARY (operands[3]))
26928 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26929 : STRIP_UNARY (operands[3])))) &&
26930 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26931 : (TARGET_AVX)) &&
26932 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26933 : ( 1)))
26934 : return NULL;
26935 : return gen_split_1786 (insn, operands);
26936 :
26937 : case 2:
26938 : if (!(
26939 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26940 : ((16 == 64 || TARGET_AVX512VL
26941 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26942 : && ix86_pre_reload_split ()
26943 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26944 : STRIP_UNARY (operands[4]))
26945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26946 : STRIP_UNARY (operands[4]))
26947 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26948 : STRIP_UNARY (operands[3]))
26949 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26950 : STRIP_UNARY (operands[3])))) &&
26951 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26952 : ( 1)))
26953 : return NULL;
26954 : return gen_split_1813 (insn, operands);
26955 :
26956 : case 3:
26957 : if (!((
26958 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26959 : ((64 == 64 || TARGET_AVX512VL
26960 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26961 : && ix86_pre_reload_split ()
26962 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26963 : STRIP_UNARY (operands[4]))
26964 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26965 : STRIP_UNARY (operands[4]))
26966 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26967 : STRIP_UNARY (operands[3]))
26968 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26969 : STRIP_UNARY (operands[3])))) &&
26970 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26971 : (TARGET_AVX512F)) &&
26972 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26973 : ( 1)))
26974 : return NULL;
26975 : return gen_split_1840 (insn, operands);
26976 :
26977 : case 4:
26978 : if (!((
26979 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26980 : ((32 == 64 || TARGET_AVX512VL
26981 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26982 : && ix86_pre_reload_split ()
26983 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26984 : STRIP_UNARY (operands[4]))
26985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26986 : STRIP_UNARY (operands[4]))
26987 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26988 : STRIP_UNARY (operands[3]))
26989 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26990 : STRIP_UNARY (operands[3])))) &&
26991 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26992 : (TARGET_AVX)) &&
26993 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26994 : ( 1)))
26995 : return NULL;
26996 : return gen_split_1867 (insn, operands);
26997 :
26998 : case 5:
26999 : if (!(
27000 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27001 : ((16 == 64 || TARGET_AVX512VL
27002 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27003 : && ix86_pre_reload_split ()
27004 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27005 : STRIP_UNARY (operands[4]))
27006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27007 : STRIP_UNARY (operands[4]))
27008 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27009 : STRIP_UNARY (operands[3]))
27010 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27011 : STRIP_UNARY (operands[3])))) &&
27012 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27013 : ( 1)))
27014 : return NULL;
27015 : return gen_split_1894 (insn, operands);
27016 :
27017 : case 6:
27018 : if (!((
27019 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27020 : ((64 == 64 || TARGET_AVX512VL
27021 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27022 : && ix86_pre_reload_split ()
27023 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27024 : STRIP_UNARY (operands[4]))
27025 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27026 : STRIP_UNARY (operands[4]))
27027 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27028 : STRIP_UNARY (operands[3]))
27029 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27030 : STRIP_UNARY (operands[3])))) &&
27031 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27032 : (TARGET_AVX512F)) &&
27033 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27034 : ( 1)))
27035 : return NULL;
27036 : return gen_split_1921 (insn, operands);
27037 :
27038 : case 7:
27039 : if (!((
27040 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27041 : ((32 == 64 || TARGET_AVX512VL
27042 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27043 : && ix86_pre_reload_split ()
27044 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27045 : STRIP_UNARY (operands[4]))
27046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27047 : STRIP_UNARY (operands[4]))
27048 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27049 : STRIP_UNARY (operands[3]))
27050 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27051 : STRIP_UNARY (operands[3])))) &&
27052 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27053 : (TARGET_AVX)) &&
27054 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27055 : ( 1)))
27056 : return NULL;
27057 : return gen_split_1948 (insn, operands);
27058 :
27059 : case 8:
27060 : if (!(
27061 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27062 : ((16 == 64 || TARGET_AVX512VL
27063 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27064 : && ix86_pre_reload_split ()
27065 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27066 : STRIP_UNARY (operands[4]))
27067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27068 : STRIP_UNARY (operands[4]))
27069 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27070 : STRIP_UNARY (operands[3]))
27071 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27072 : STRIP_UNARY (operands[3])))) &&
27073 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27074 : ( 1)))
27075 : return NULL;
27076 : return gen_split_1975 (insn, operands);
27077 :
27078 : case 9:
27079 : if (!((
27080 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27081 : ((64 == 64 || TARGET_AVX512VL
27082 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27083 : && ix86_pre_reload_split ()
27084 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27085 : STRIP_UNARY (operands[4]))
27086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27087 : STRIP_UNARY (operands[4]))
27088 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27089 : STRIP_UNARY (operands[3]))
27090 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27091 : STRIP_UNARY (operands[3])))) &&
27092 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27093 : (TARGET_AVX512F)) &&
27094 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27095 : ( 1)))
27096 : return NULL;
27097 : return gen_split_2002 (insn, operands);
27098 :
27099 : case 10:
27100 : if (!((
27101 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27102 : ((32 == 64 || TARGET_AVX512VL
27103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27104 : && ix86_pre_reload_split ()
27105 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27106 : STRIP_UNARY (operands[4]))
27107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27108 : STRIP_UNARY (operands[4]))
27109 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27110 : STRIP_UNARY (operands[3]))
27111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27112 : STRIP_UNARY (operands[3])))) &&
27113 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27114 : (TARGET_AVX)) &&
27115 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27116 : ( 1)))
27117 : return NULL;
27118 : return gen_split_2029 (insn, operands);
27119 :
27120 : case 11:
27121 : if (!(
27122 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27123 : ((16 == 64 || TARGET_AVX512VL
27124 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27125 : && ix86_pre_reload_split ()
27126 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27127 : STRIP_UNARY (operands[4]))
27128 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27129 : STRIP_UNARY (operands[4]))
27130 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27131 : STRIP_UNARY (operands[3]))
27132 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27133 : STRIP_UNARY (operands[3])))) &&
27134 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27135 : ( 1)))
27136 : return NULL;
27137 : return gen_split_2056 (insn, operands);
27138 :
27139 : case 12:
27140 : if (!((
27141 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27142 : ((64 == 64 || TARGET_AVX512VL
27143 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27144 : && ix86_pre_reload_split ()
27145 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27146 : STRIP_UNARY (operands[4]))
27147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27148 : STRIP_UNARY (operands[4]))
27149 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27150 : STRIP_UNARY (operands[3]))
27151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27152 : STRIP_UNARY (operands[3])))) &&
27153 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27154 : (TARGET_AVX512F)) &&
27155 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27156 : ( 1)))
27157 : return NULL;
27158 : return gen_split_1762 (insn, operands);
27159 :
27160 : case 13:
27161 : if (!((
27162 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27163 : ((32 == 64 || TARGET_AVX512VL
27164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27165 : && ix86_pre_reload_split ()
27166 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27167 : STRIP_UNARY (operands[4]))
27168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27169 : STRIP_UNARY (operands[4]))
27170 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27171 : STRIP_UNARY (operands[3]))
27172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27173 : STRIP_UNARY (operands[3])))) &&
27174 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27175 : (TARGET_AVX)) &&
27176 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27177 : ( 1)))
27178 : return NULL;
27179 : return gen_split_1789 (insn, operands);
27180 :
27181 : case 14:
27182 : if (!(
27183 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27184 : ((16 == 64 || TARGET_AVX512VL
27185 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27186 : && ix86_pre_reload_split ()
27187 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27188 : STRIP_UNARY (operands[4]))
27189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27190 : STRIP_UNARY (operands[4]))
27191 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27192 : STRIP_UNARY (operands[3]))
27193 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27194 : STRIP_UNARY (operands[3])))) &&
27195 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27196 : ( 1)))
27197 : return NULL;
27198 : return gen_split_1816 (insn, operands);
27199 :
27200 : case 15:
27201 : if (!((
27202 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27203 : ((64 == 64 || TARGET_AVX512VL
27204 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27205 : && ix86_pre_reload_split ()
27206 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27207 : STRIP_UNARY (operands[4]))
27208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27209 : STRIP_UNARY (operands[4]))
27210 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27211 : STRIP_UNARY (operands[3]))
27212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27213 : STRIP_UNARY (operands[3])))) &&
27214 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27215 : (TARGET_AVX512F)) &&
27216 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27217 : ( 1)))
27218 : return NULL;
27219 : return gen_split_1843 (insn, operands);
27220 :
27221 : case 16:
27222 : if (!((
27223 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27224 : ((32 == 64 || TARGET_AVX512VL
27225 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27226 : && ix86_pre_reload_split ()
27227 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27228 : STRIP_UNARY (operands[4]))
27229 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27230 : STRIP_UNARY (operands[4]))
27231 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27232 : STRIP_UNARY (operands[3]))
27233 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27234 : STRIP_UNARY (operands[3])))) &&
27235 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27236 : (TARGET_AVX)) &&
27237 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27238 : ( 1)))
27239 : return NULL;
27240 : return gen_split_1870 (insn, operands);
27241 :
27242 : case 17:
27243 : if (!(
27244 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27245 : ((16 == 64 || TARGET_AVX512VL
27246 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27247 : && ix86_pre_reload_split ()
27248 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27249 : STRIP_UNARY (operands[4]))
27250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27251 : STRIP_UNARY (operands[4]))
27252 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27253 : STRIP_UNARY (operands[3]))
27254 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27255 : STRIP_UNARY (operands[3])))) &&
27256 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27257 : ( 1)))
27258 : return NULL;
27259 : return gen_split_1897 (insn, operands);
27260 :
27261 : case 18:
27262 : if (!((
27263 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27264 : ((64 == 64 || TARGET_AVX512VL
27265 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27266 : && ix86_pre_reload_split ()
27267 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27268 : STRIP_UNARY (operands[4]))
27269 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27270 : STRIP_UNARY (operands[4]))
27271 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27272 : STRIP_UNARY (operands[3]))
27273 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27274 : STRIP_UNARY (operands[3])))) &&
27275 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27276 : (TARGET_AVX512F)) &&
27277 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27278 : ( 1)))
27279 : return NULL;
27280 : return gen_split_1924 (insn, operands);
27281 :
27282 : case 19:
27283 : if (!((
27284 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27285 : ((32 == 64 || TARGET_AVX512VL
27286 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27287 : && ix86_pre_reload_split ()
27288 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27289 : STRIP_UNARY (operands[4]))
27290 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27291 : STRIP_UNARY (operands[4]))
27292 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27293 : STRIP_UNARY (operands[3]))
27294 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27295 : STRIP_UNARY (operands[3])))) &&
27296 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27297 : (TARGET_AVX)) &&
27298 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27299 : ( 1)))
27300 : return NULL;
27301 : return gen_split_1951 (insn, operands);
27302 :
27303 : case 20:
27304 : if (!(
27305 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27306 : ((16 == 64 || TARGET_AVX512VL
27307 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27308 : && ix86_pre_reload_split ()
27309 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27310 : STRIP_UNARY (operands[4]))
27311 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27312 : STRIP_UNARY (operands[4]))
27313 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27314 : STRIP_UNARY (operands[3]))
27315 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27316 : STRIP_UNARY (operands[3])))) &&
27317 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27318 : ( 1)))
27319 : return NULL;
27320 : return gen_split_1978 (insn, operands);
27321 :
27322 : case 21:
27323 : if (!((
27324 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27325 : ((64 == 64 || TARGET_AVX512VL
27326 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27327 : && ix86_pre_reload_split ()
27328 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27329 : STRIP_UNARY (operands[4]))
27330 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27331 : STRIP_UNARY (operands[4]))
27332 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27333 : STRIP_UNARY (operands[3]))
27334 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27335 : STRIP_UNARY (operands[3])))) &&
27336 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27337 : (TARGET_AVX512F)) &&
27338 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27339 : ( 1)))
27340 : return NULL;
27341 : return gen_split_2005 (insn, operands);
27342 :
27343 : case 22:
27344 : if (!((
27345 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27346 : ((32 == 64 || TARGET_AVX512VL
27347 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27348 : && ix86_pre_reload_split ()
27349 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27350 : STRIP_UNARY (operands[4]))
27351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27352 : STRIP_UNARY (operands[4]))
27353 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27354 : STRIP_UNARY (operands[3]))
27355 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27356 : STRIP_UNARY (operands[3])))) &&
27357 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27358 : (TARGET_AVX)) &&
27359 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27360 : ( 1)))
27361 : return NULL;
27362 : return gen_split_2032 (insn, operands);
27363 :
27364 : case 23:
27365 : if (!(
27366 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27367 : ((16 == 64 || TARGET_AVX512VL
27368 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27369 : && ix86_pre_reload_split ()
27370 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27371 : STRIP_UNARY (operands[4]))
27372 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27373 : STRIP_UNARY (operands[4]))
27374 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27375 : STRIP_UNARY (operands[3]))
27376 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27377 : STRIP_UNARY (operands[3])))) &&
27378 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27379 : ( 1)))
27380 : return NULL;
27381 : return gen_split_2059 (insn, operands);
27382 :
27383 : case 24:
27384 : if (!((
27385 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27386 : ((64 == 64 || TARGET_AVX512VL
27387 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27388 : && ix86_pre_reload_split ()
27389 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27390 : STRIP_UNARY (operands[4]))
27391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27392 : STRIP_UNARY (operands[4]))
27393 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27394 : STRIP_UNARY (operands[3]))
27395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27396 : STRIP_UNARY (operands[3])))) &&
27397 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27398 : (TARGET_AVX512F)) &&
27399 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27400 : ( 1)))
27401 : return NULL;
27402 : return gen_split_1765 (insn, operands);
27403 :
27404 : case 25:
27405 : if (!((
27406 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27407 : ((32 == 64 || TARGET_AVX512VL
27408 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27409 : && ix86_pre_reload_split ()
27410 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27411 : STRIP_UNARY (operands[4]))
27412 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27413 : STRIP_UNARY (operands[4]))
27414 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27415 : STRIP_UNARY (operands[3]))
27416 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27417 : STRIP_UNARY (operands[3])))) &&
27418 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27419 : (TARGET_AVX)) &&
27420 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27421 : ( 1)))
27422 : return NULL;
27423 : return gen_split_1792 (insn, operands);
27424 :
27425 : case 26:
27426 : if (!(
27427 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27428 : ((16 == 64 || TARGET_AVX512VL
27429 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27430 : && ix86_pre_reload_split ()
27431 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27432 : STRIP_UNARY (operands[4]))
27433 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27434 : STRIP_UNARY (operands[4]))
27435 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27436 : STRIP_UNARY (operands[3]))
27437 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27438 : STRIP_UNARY (operands[3])))) &&
27439 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27440 : ( 1)))
27441 : return NULL;
27442 : return gen_split_1819 (insn, operands);
27443 :
27444 : case 27:
27445 : if (!((
27446 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27447 : ((64 == 64 || TARGET_AVX512VL
27448 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27449 : && ix86_pre_reload_split ()
27450 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27451 : STRIP_UNARY (operands[4]))
27452 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27453 : STRIP_UNARY (operands[4]))
27454 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27455 : STRIP_UNARY (operands[3]))
27456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27457 : STRIP_UNARY (operands[3])))) &&
27458 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27459 : (TARGET_AVX512F)) &&
27460 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27461 : ( 1)))
27462 : return NULL;
27463 : return gen_split_1846 (insn, operands);
27464 :
27465 : case 28:
27466 : if (!((
27467 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27468 : ((32 == 64 || TARGET_AVX512VL
27469 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27470 : && ix86_pre_reload_split ()
27471 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27472 : STRIP_UNARY (operands[4]))
27473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27474 : STRIP_UNARY (operands[4]))
27475 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27476 : STRIP_UNARY (operands[3]))
27477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27478 : STRIP_UNARY (operands[3])))) &&
27479 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27480 : (TARGET_AVX)) &&
27481 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27482 : ( 1)))
27483 : return NULL;
27484 : return gen_split_1873 (insn, operands);
27485 :
27486 : case 29:
27487 : if (!(
27488 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27489 : ((16 == 64 || TARGET_AVX512VL
27490 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27491 : && ix86_pre_reload_split ()
27492 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27493 : STRIP_UNARY (operands[4]))
27494 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27495 : STRIP_UNARY (operands[4]))
27496 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27497 : STRIP_UNARY (operands[3]))
27498 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27499 : STRIP_UNARY (operands[3])))) &&
27500 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27501 : ( 1)))
27502 : return NULL;
27503 : return gen_split_1900 (insn, operands);
27504 :
27505 : case 30:
27506 : if (!((
27507 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27508 : ((64 == 64 || TARGET_AVX512VL
27509 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27510 : && ix86_pre_reload_split ()
27511 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27512 : STRIP_UNARY (operands[4]))
27513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27514 : STRIP_UNARY (operands[4]))
27515 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27516 : STRIP_UNARY (operands[3]))
27517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27518 : STRIP_UNARY (operands[3])))) &&
27519 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27520 : (TARGET_AVX512F)) &&
27521 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27522 : ( 1)))
27523 : return NULL;
27524 : return gen_split_1927 (insn, operands);
27525 :
27526 : case 31:
27527 : if (!((
27528 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27529 : ((32 == 64 || TARGET_AVX512VL
27530 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27531 : && ix86_pre_reload_split ()
27532 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27533 : STRIP_UNARY (operands[4]))
27534 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27535 : STRIP_UNARY (operands[4]))
27536 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27537 : STRIP_UNARY (operands[3]))
27538 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27539 : STRIP_UNARY (operands[3])))) &&
27540 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27541 : (TARGET_AVX)) &&
27542 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27543 : ( 1)))
27544 : return NULL;
27545 : return gen_split_1954 (insn, operands);
27546 :
27547 : case 32:
27548 : if (!(
27549 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27550 : ((16 == 64 || TARGET_AVX512VL
27551 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27552 : && ix86_pre_reload_split ()
27553 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27554 : STRIP_UNARY (operands[4]))
27555 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27556 : STRIP_UNARY (operands[4]))
27557 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27558 : STRIP_UNARY (operands[3]))
27559 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27560 : STRIP_UNARY (operands[3])))) &&
27561 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27562 : ( 1)))
27563 : return NULL;
27564 : return gen_split_1981 (insn, operands);
27565 :
27566 : case 33:
27567 : if (!((
27568 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27569 : ((64 == 64 || TARGET_AVX512VL
27570 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27571 : && ix86_pre_reload_split ()
27572 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27573 : STRIP_UNARY (operands[4]))
27574 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27575 : STRIP_UNARY (operands[4]))
27576 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27577 : STRIP_UNARY (operands[3]))
27578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27579 : STRIP_UNARY (operands[3])))) &&
27580 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27581 : (TARGET_AVX512F)) &&
27582 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27583 : ( 1)))
27584 : return NULL;
27585 : return gen_split_2008 (insn, operands);
27586 :
27587 : case 34:
27588 : if (!((
27589 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27590 : ((32 == 64 || TARGET_AVX512VL
27591 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27592 : && ix86_pre_reload_split ()
27593 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27594 : STRIP_UNARY (operands[4]))
27595 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27596 : STRIP_UNARY (operands[4]))
27597 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27598 : STRIP_UNARY (operands[3]))
27599 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27600 : STRIP_UNARY (operands[3])))) &&
27601 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27602 : (TARGET_AVX)) &&
27603 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27604 : ( 1)))
27605 : return NULL;
27606 : return gen_split_2035 (insn, operands);
27607 :
27608 : case 35:
27609 : if (!(
27610 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27611 : ((16 == 64 || TARGET_AVX512VL
27612 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27613 : && ix86_pre_reload_split ()
27614 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27615 : STRIP_UNARY (operands[4]))
27616 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27617 : STRIP_UNARY (operands[4]))
27618 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27619 : STRIP_UNARY (operands[3]))
27620 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27621 : STRIP_UNARY (operands[3])))) &&
27622 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27623 : ( 1)))
27624 : return NULL;
27625 : return gen_split_2062 (insn, operands);
27626 :
27627 : case 36:
27628 : if (!((
27629 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27630 : ((64 == 64 || TARGET_AVX512VL
27631 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27632 : && ix86_pre_reload_split ()) &&
27633 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27634 : (TARGET_AVX512F)) &&
27635 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27636 : ( 1)))
27637 : return NULL;
27638 : return gen_split_3043 (insn, operands);
27639 :
27640 : case 37:
27641 : if (!((
27642 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27643 : ((32 == 64 || TARGET_AVX512VL
27644 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27645 : && ix86_pre_reload_split ()) &&
27646 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27647 : (TARGET_AVX)) &&
27648 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27649 : ( 1)))
27650 : return NULL;
27651 : return gen_split_3052 (insn, operands);
27652 :
27653 : case 38:
27654 : if (!(
27655 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27656 : ((16 == 64 || TARGET_AVX512VL
27657 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27658 : && ix86_pre_reload_split ()) &&
27659 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27660 : ( 1)))
27661 : return NULL;
27662 : return gen_split_3061 (insn, operands);
27663 :
27664 : case 39:
27665 : if (!((
27666 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27667 : ((64 == 64 || TARGET_AVX512VL
27668 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27669 : && ix86_pre_reload_split ()) &&
27670 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27671 : (TARGET_AVX512F)) &&
27672 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27673 : ( 1)))
27674 : return NULL;
27675 : return gen_split_3070 (insn, operands);
27676 :
27677 : case 40:
27678 : if (!((
27679 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27680 : ((32 == 64 || TARGET_AVX512VL
27681 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27682 : && ix86_pre_reload_split ()) &&
27683 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27684 : (TARGET_AVX)) &&
27685 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27686 : ( 1)))
27687 : return NULL;
27688 : return gen_split_3079 (insn, operands);
27689 :
27690 : case 41:
27691 : if (!(
27692 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27693 : ((16 == 64 || TARGET_AVX512VL
27694 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27695 : && ix86_pre_reload_split ()) &&
27696 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27697 : ( 1)))
27698 : return NULL;
27699 : return gen_split_3088 (insn, operands);
27700 :
27701 : case 42:
27702 : if (!((
27703 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27704 : ((64 == 64 || TARGET_AVX512VL
27705 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27706 : && ix86_pre_reload_split ()) &&
27707 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27708 : (TARGET_AVX512F)) &&
27709 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27710 : ( 1)))
27711 : return NULL;
27712 : return gen_split_3097 (insn, operands);
27713 :
27714 : case 43:
27715 : if (!((
27716 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27717 : ((32 == 64 || TARGET_AVX512VL
27718 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27719 : && ix86_pre_reload_split ()) &&
27720 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27721 : (TARGET_AVX)) &&
27722 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27723 : ( 1)))
27724 : return NULL;
27725 : return gen_split_3106 (insn, operands);
27726 :
27727 : case 44:
27728 : if (!(
27729 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27730 : ((16 == 64 || TARGET_AVX512VL
27731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27732 : && ix86_pre_reload_split ()) &&
27733 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27734 : ( 1)))
27735 : return NULL;
27736 : return gen_split_3115 (insn, operands);
27737 :
27738 : case 45:
27739 : if (!((
27740 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27741 : ((64 == 64 || TARGET_AVX512VL
27742 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27743 : && ix86_pre_reload_split ()) &&
27744 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27745 : (TARGET_AVX512F)) &&
27746 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27747 : ( 1)))
27748 : return NULL;
27749 : return gen_split_3124 (insn, operands);
27750 :
27751 : case 46:
27752 : if (!((
27753 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27754 : ((32 == 64 || TARGET_AVX512VL
27755 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27756 : && ix86_pre_reload_split ()) &&
27757 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27758 : (TARGET_AVX)) &&
27759 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27760 : ( 1)))
27761 : return NULL;
27762 : return gen_split_3133 (insn, operands);
27763 :
27764 : case 47:
27765 : if (!(
27766 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27767 : ((16 == 64 || TARGET_AVX512VL
27768 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27769 : && ix86_pre_reload_split ()) &&
27770 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27771 : ( 1)))
27772 : return NULL;
27773 : return gen_split_3142 (insn, operands);
27774 :
27775 : default:
27776 : return NULL;
27777 : }
27778 :
27779 : case AND:
27780 : switch (pattern537 (x2))
27781 : {
27782 : case 0:
27783 : if (!((
27784 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27785 : ((64 == 64 || TARGET_AVX512VL
27786 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27787 : && ix86_pre_reload_split ()
27788 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27789 : STRIP_UNARY (operands[4]))
27790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27791 : STRIP_UNARY (operands[4]))
27792 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27793 : STRIP_UNARY (operands[3]))
27794 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27795 : STRIP_UNARY (operands[3])))) &&
27796 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27797 : (TARGET_AVX512F)) &&
27798 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27799 : ( 1)))
27800 : return NULL;
27801 : return gen_split_2407 (insn, operands);
27802 :
27803 : case 1:
27804 : if (!((
27805 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27806 : ((32 == 64 || TARGET_AVX512VL
27807 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27808 : && ix86_pre_reload_split ()
27809 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27810 : STRIP_UNARY (operands[4]))
27811 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27812 : STRIP_UNARY (operands[4]))
27813 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27814 : STRIP_UNARY (operands[3]))
27815 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27816 : STRIP_UNARY (operands[3])))) &&
27817 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27818 : (TARGET_AVX)) &&
27819 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27820 : ( 1)))
27821 : return NULL;
27822 : return gen_split_2434 (insn, operands);
27823 :
27824 : case 2:
27825 : if (!(
27826 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27827 : ((16 == 64 || TARGET_AVX512VL
27828 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27829 : && ix86_pre_reload_split ()
27830 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27831 : STRIP_UNARY (operands[4]))
27832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27833 : STRIP_UNARY (operands[4]))
27834 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27835 : STRIP_UNARY (operands[3]))
27836 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27837 : STRIP_UNARY (operands[3])))) &&
27838 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27839 : ( 1)))
27840 : return NULL;
27841 : return gen_split_2461 (insn, operands);
27842 :
27843 : case 3:
27844 : if (!((
27845 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27846 : ((64 == 64 || TARGET_AVX512VL
27847 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27848 : && ix86_pre_reload_split ()
27849 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27850 : STRIP_UNARY (operands[4]))
27851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27852 : STRIP_UNARY (operands[4]))
27853 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27854 : STRIP_UNARY (operands[3]))
27855 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27856 : STRIP_UNARY (operands[3])))) &&
27857 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27858 : (TARGET_AVX512F)) &&
27859 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27860 : ( 1)))
27861 : return NULL;
27862 : return gen_split_2488 (insn, operands);
27863 :
27864 : case 4:
27865 : if (!((
27866 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27867 : ((32 == 64 || TARGET_AVX512VL
27868 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27869 : && ix86_pre_reload_split ()
27870 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27871 : STRIP_UNARY (operands[4]))
27872 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27873 : STRIP_UNARY (operands[4]))
27874 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27875 : STRIP_UNARY (operands[3]))
27876 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27877 : STRIP_UNARY (operands[3])))) &&
27878 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27879 : (TARGET_AVX)) &&
27880 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27881 : ( 1)))
27882 : return NULL;
27883 : return gen_split_2515 (insn, operands);
27884 :
27885 : case 5:
27886 : if (!(
27887 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27888 : ((16 == 64 || TARGET_AVX512VL
27889 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27890 : && ix86_pre_reload_split ()
27891 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27892 : STRIP_UNARY (operands[4]))
27893 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27894 : STRIP_UNARY (operands[4]))
27895 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27896 : STRIP_UNARY (operands[3]))
27897 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27898 : STRIP_UNARY (operands[3])))) &&
27899 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27900 : ( 1)))
27901 : return NULL;
27902 : return gen_split_2542 (insn, operands);
27903 :
27904 : case 6:
27905 : if (!((
27906 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27907 : ((64 == 64 || TARGET_AVX512VL
27908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27909 : && ix86_pre_reload_split ()
27910 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27911 : STRIP_UNARY (operands[4]))
27912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27913 : STRIP_UNARY (operands[4]))
27914 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27915 : STRIP_UNARY (operands[3]))
27916 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27917 : STRIP_UNARY (operands[3])))) &&
27918 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27919 : (TARGET_AVX512F)) &&
27920 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27921 : ( 1)))
27922 : return NULL;
27923 : return gen_split_2569 (insn, operands);
27924 :
27925 : case 7:
27926 : if (!((
27927 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27928 : ((32 == 64 || TARGET_AVX512VL
27929 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27930 : && ix86_pre_reload_split ()
27931 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27932 : STRIP_UNARY (operands[4]))
27933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27934 : STRIP_UNARY (operands[4]))
27935 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27936 : STRIP_UNARY (operands[3]))
27937 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27938 : STRIP_UNARY (operands[3])))) &&
27939 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27940 : (TARGET_AVX)) &&
27941 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27942 : ( 1)))
27943 : return NULL;
27944 : return gen_split_2596 (insn, operands);
27945 :
27946 : case 8:
27947 : if (!(
27948 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27949 : ((16 == 64 || TARGET_AVX512VL
27950 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27951 : && ix86_pre_reload_split ()
27952 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27953 : STRIP_UNARY (operands[4]))
27954 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27955 : STRIP_UNARY (operands[4]))
27956 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27957 : STRIP_UNARY (operands[3]))
27958 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27959 : STRIP_UNARY (operands[3])))) &&
27960 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27961 : ( 1)))
27962 : return NULL;
27963 : return gen_split_2623 (insn, operands);
27964 :
27965 : case 9:
27966 : if (!((
27967 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27968 : ((64 == 64 || TARGET_AVX512VL
27969 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27970 : && ix86_pre_reload_split ()
27971 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27972 : STRIP_UNARY (operands[4]))
27973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27974 : STRIP_UNARY (operands[4]))
27975 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27976 : STRIP_UNARY (operands[3]))
27977 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27978 : STRIP_UNARY (operands[3])))) &&
27979 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27980 : (TARGET_AVX512F)) &&
27981 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27982 : ( 1)))
27983 : return NULL;
27984 : return gen_split_2650 (insn, operands);
27985 :
27986 : case 10:
27987 : if (!((
27988 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27989 : ((32 == 64 || TARGET_AVX512VL
27990 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27991 : && ix86_pre_reload_split ()
27992 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27993 : STRIP_UNARY (operands[4]))
27994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27995 : STRIP_UNARY (operands[4]))
27996 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27997 : STRIP_UNARY (operands[3]))
27998 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27999 : STRIP_UNARY (operands[3])))) &&
28000 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28001 : (TARGET_AVX)) &&
28002 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28003 : ( 1)))
28004 : return NULL;
28005 : return gen_split_2677 (insn, operands);
28006 :
28007 : case 11:
28008 : if (!(
28009 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28010 : ((16 == 64 || TARGET_AVX512VL
28011 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28012 : && ix86_pre_reload_split ()
28013 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28014 : STRIP_UNARY (operands[4]))
28015 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28016 : STRIP_UNARY (operands[4]))
28017 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28018 : STRIP_UNARY (operands[3]))
28019 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28020 : STRIP_UNARY (operands[3])))) &&
28021 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28022 : ( 1)))
28023 : return NULL;
28024 : return gen_split_2704 (insn, operands);
28025 :
28026 : default:
28027 : return NULL;
28028 : }
28029 :
28030 : case IOR:
28031 : switch (pattern537 (x2))
28032 : {
28033 : case 0:
28034 : if (!((
28035 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28036 : ((64 == 64 || TARGET_AVX512VL
28037 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28038 : && ix86_pre_reload_split ()
28039 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28040 : STRIP_UNARY (operands[4]))
28041 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28042 : STRIP_UNARY (operands[4]))
28043 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28044 : STRIP_UNARY (operands[3]))
28045 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28046 : STRIP_UNARY (operands[3])))) &&
28047 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28048 : (TARGET_AVX512F)) &&
28049 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28050 : ( 1)))
28051 : return NULL;
28052 : return gen_split_2410 (insn, operands);
28053 :
28054 : case 1:
28055 : if (!((
28056 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28057 : ((32 == 64 || TARGET_AVX512VL
28058 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28059 : && ix86_pre_reload_split ()
28060 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28061 : STRIP_UNARY (operands[4]))
28062 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28063 : STRIP_UNARY (operands[4]))
28064 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28065 : STRIP_UNARY (operands[3]))
28066 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28067 : STRIP_UNARY (operands[3])))) &&
28068 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28069 : (TARGET_AVX)) &&
28070 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28071 : ( 1)))
28072 : return NULL;
28073 : return gen_split_2437 (insn, operands);
28074 :
28075 : case 2:
28076 : if (!(
28077 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28078 : ((16 == 64 || TARGET_AVX512VL
28079 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28080 : && ix86_pre_reload_split ()
28081 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28082 : STRIP_UNARY (operands[4]))
28083 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28084 : STRIP_UNARY (operands[4]))
28085 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28086 : STRIP_UNARY (operands[3]))
28087 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28088 : STRIP_UNARY (operands[3])))) &&
28089 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28090 : ( 1)))
28091 : return NULL;
28092 : return gen_split_2464 (insn, operands);
28093 :
28094 : case 3:
28095 : if (!((
28096 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28097 : ((64 == 64 || TARGET_AVX512VL
28098 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28099 : && ix86_pre_reload_split ()
28100 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28101 : STRIP_UNARY (operands[4]))
28102 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28103 : STRIP_UNARY (operands[4]))
28104 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28105 : STRIP_UNARY (operands[3]))
28106 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28107 : STRIP_UNARY (operands[3])))) &&
28108 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28109 : (TARGET_AVX512F)) &&
28110 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28111 : ( 1)))
28112 : return NULL;
28113 : return gen_split_2491 (insn, operands);
28114 :
28115 : case 4:
28116 : if (!((
28117 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28118 : ((32 == 64 || TARGET_AVX512VL
28119 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28120 : && ix86_pre_reload_split ()
28121 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28122 : STRIP_UNARY (operands[4]))
28123 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28124 : STRIP_UNARY (operands[4]))
28125 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28126 : STRIP_UNARY (operands[3]))
28127 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28128 : STRIP_UNARY (operands[3])))) &&
28129 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28130 : (TARGET_AVX)) &&
28131 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28132 : ( 1)))
28133 : return NULL;
28134 : return gen_split_2518 (insn, operands);
28135 :
28136 : case 5:
28137 : if (!(
28138 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28139 : ((16 == 64 || TARGET_AVX512VL
28140 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28141 : && ix86_pre_reload_split ()
28142 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28143 : STRIP_UNARY (operands[4]))
28144 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28145 : STRIP_UNARY (operands[4]))
28146 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28147 : STRIP_UNARY (operands[3]))
28148 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28149 : STRIP_UNARY (operands[3])))) &&
28150 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28151 : ( 1)))
28152 : return NULL;
28153 : return gen_split_2545 (insn, operands);
28154 :
28155 : case 6:
28156 : if (!((
28157 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28158 : ((64 == 64 || TARGET_AVX512VL
28159 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28160 : && ix86_pre_reload_split ()
28161 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28162 : STRIP_UNARY (operands[4]))
28163 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28164 : STRIP_UNARY (operands[4]))
28165 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28166 : STRIP_UNARY (operands[3]))
28167 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28168 : STRIP_UNARY (operands[3])))) &&
28169 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28170 : (TARGET_AVX512F)) &&
28171 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28172 : ( 1)))
28173 : return NULL;
28174 : return gen_split_2572 (insn, operands);
28175 :
28176 : case 7:
28177 : if (!((
28178 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28179 : ((32 == 64 || TARGET_AVX512VL
28180 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28181 : && ix86_pre_reload_split ()
28182 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28183 : STRIP_UNARY (operands[4]))
28184 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28185 : STRIP_UNARY (operands[4]))
28186 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28187 : STRIP_UNARY (operands[3]))
28188 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28189 : STRIP_UNARY (operands[3])))) &&
28190 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28191 : (TARGET_AVX)) &&
28192 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28193 : ( 1)))
28194 : return NULL;
28195 : return gen_split_2599 (insn, operands);
28196 :
28197 : case 8:
28198 : if (!(
28199 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28200 : ((16 == 64 || TARGET_AVX512VL
28201 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28202 : && ix86_pre_reload_split ()
28203 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28204 : STRIP_UNARY (operands[4]))
28205 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28206 : STRIP_UNARY (operands[4]))
28207 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28208 : STRIP_UNARY (operands[3]))
28209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28210 : STRIP_UNARY (operands[3])))) &&
28211 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28212 : ( 1)))
28213 : return NULL;
28214 : return gen_split_2626 (insn, operands);
28215 :
28216 : case 9:
28217 : if (!((
28218 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28219 : ((64 == 64 || TARGET_AVX512VL
28220 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28221 : && ix86_pre_reload_split ()
28222 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28223 : STRIP_UNARY (operands[4]))
28224 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28225 : STRIP_UNARY (operands[4]))
28226 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28227 : STRIP_UNARY (operands[3]))
28228 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28229 : STRIP_UNARY (operands[3])))) &&
28230 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28231 : (TARGET_AVX512F)) &&
28232 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28233 : ( 1)))
28234 : return NULL;
28235 : return gen_split_2653 (insn, operands);
28236 :
28237 : case 10:
28238 : if (!((
28239 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28240 : ((32 == 64 || TARGET_AVX512VL
28241 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28242 : && ix86_pre_reload_split ()
28243 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28244 : STRIP_UNARY (operands[4]))
28245 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28246 : STRIP_UNARY (operands[4]))
28247 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28248 : STRIP_UNARY (operands[3]))
28249 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28250 : STRIP_UNARY (operands[3])))) &&
28251 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28252 : (TARGET_AVX)) &&
28253 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28254 : ( 1)))
28255 : return NULL;
28256 : return gen_split_2680 (insn, operands);
28257 :
28258 : case 11:
28259 : if (!(
28260 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28261 : ((16 == 64 || TARGET_AVX512VL
28262 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28263 : && ix86_pre_reload_split ()
28264 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28265 : STRIP_UNARY (operands[4]))
28266 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28267 : STRIP_UNARY (operands[4]))
28268 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28269 : STRIP_UNARY (operands[3]))
28270 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28271 : STRIP_UNARY (operands[3])))) &&
28272 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28273 : ( 1)))
28274 : return NULL;
28275 : return gen_split_2707 (insn, operands);
28276 :
28277 : default:
28278 : return NULL;
28279 : }
28280 :
28281 : case XOR:
28282 : switch (pattern537 (x2))
28283 : {
28284 : case 0:
28285 : if (!((
28286 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28287 : ((64 == 64 || TARGET_AVX512VL
28288 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28289 : && ix86_pre_reload_split ()
28290 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28291 : STRIP_UNARY (operands[4]))
28292 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28293 : STRIP_UNARY (operands[4]))
28294 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28295 : STRIP_UNARY (operands[3]))
28296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28297 : STRIP_UNARY (operands[3])))) &&
28298 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28299 : (TARGET_AVX512F)) &&
28300 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28301 : ( 1)))
28302 : return NULL;
28303 : return gen_split_2413 (insn, operands);
28304 :
28305 : case 1:
28306 : if (!((
28307 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28308 : ((32 == 64 || TARGET_AVX512VL
28309 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28310 : && ix86_pre_reload_split ()
28311 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28312 : STRIP_UNARY (operands[4]))
28313 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28314 : STRIP_UNARY (operands[4]))
28315 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28316 : STRIP_UNARY (operands[3]))
28317 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28318 : STRIP_UNARY (operands[3])))) &&
28319 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28320 : (TARGET_AVX)) &&
28321 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28322 : ( 1)))
28323 : return NULL;
28324 : return gen_split_2440 (insn, operands);
28325 :
28326 : case 2:
28327 : if (!(
28328 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28329 : ((16 == 64 || TARGET_AVX512VL
28330 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28331 : && ix86_pre_reload_split ()
28332 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28333 : STRIP_UNARY (operands[4]))
28334 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28335 : STRIP_UNARY (operands[4]))
28336 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28337 : STRIP_UNARY (operands[3]))
28338 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28339 : STRIP_UNARY (operands[3])))) &&
28340 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28341 : ( 1)))
28342 : return NULL;
28343 : return gen_split_2467 (insn, operands);
28344 :
28345 : case 3:
28346 : if (!((
28347 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28348 : ((64 == 64 || TARGET_AVX512VL
28349 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28350 : && ix86_pre_reload_split ()
28351 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28352 : STRIP_UNARY (operands[4]))
28353 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28354 : STRIP_UNARY (operands[4]))
28355 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28356 : STRIP_UNARY (operands[3]))
28357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28358 : STRIP_UNARY (operands[3])))) &&
28359 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28360 : (TARGET_AVX512F)) &&
28361 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28362 : ( 1)))
28363 : return NULL;
28364 : return gen_split_2494 (insn, operands);
28365 :
28366 : case 4:
28367 : if (!((
28368 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28369 : ((32 == 64 || TARGET_AVX512VL
28370 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28371 : && ix86_pre_reload_split ()
28372 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28373 : STRIP_UNARY (operands[4]))
28374 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28375 : STRIP_UNARY (operands[4]))
28376 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28377 : STRIP_UNARY (operands[3]))
28378 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28379 : STRIP_UNARY (operands[3])))) &&
28380 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28381 : (TARGET_AVX)) &&
28382 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28383 : ( 1)))
28384 : return NULL;
28385 : return gen_split_2521 (insn, operands);
28386 :
28387 : case 5:
28388 : if (!(
28389 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28390 : ((16 == 64 || TARGET_AVX512VL
28391 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28392 : && ix86_pre_reload_split ()
28393 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28394 : STRIP_UNARY (operands[4]))
28395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28396 : STRIP_UNARY (operands[4]))
28397 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28398 : STRIP_UNARY (operands[3]))
28399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28400 : STRIP_UNARY (operands[3])))) &&
28401 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28402 : ( 1)))
28403 : return NULL;
28404 : return gen_split_2548 (insn, operands);
28405 :
28406 : case 6:
28407 : if (!((
28408 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28409 : ((64 == 64 || TARGET_AVX512VL
28410 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28411 : && ix86_pre_reload_split ()
28412 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28413 : STRIP_UNARY (operands[4]))
28414 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28415 : STRIP_UNARY (operands[4]))
28416 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28417 : STRIP_UNARY (operands[3]))
28418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28419 : STRIP_UNARY (operands[3])))) &&
28420 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28421 : (TARGET_AVX512F)) &&
28422 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28423 : ( 1)))
28424 : return NULL;
28425 : return gen_split_2575 (insn, operands);
28426 :
28427 : case 7:
28428 : if (!((
28429 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28430 : ((32 == 64 || TARGET_AVX512VL
28431 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28432 : && ix86_pre_reload_split ()
28433 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28434 : STRIP_UNARY (operands[4]))
28435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28436 : STRIP_UNARY (operands[4]))
28437 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28438 : STRIP_UNARY (operands[3]))
28439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28440 : STRIP_UNARY (operands[3])))) &&
28441 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28442 : (TARGET_AVX)) &&
28443 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28444 : ( 1)))
28445 : return NULL;
28446 : return gen_split_2602 (insn, operands);
28447 :
28448 : case 8:
28449 : if (!(
28450 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28451 : ((16 == 64 || TARGET_AVX512VL
28452 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28453 : && ix86_pre_reload_split ()
28454 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28455 : STRIP_UNARY (operands[4]))
28456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28457 : STRIP_UNARY (operands[4]))
28458 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28459 : STRIP_UNARY (operands[3]))
28460 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28461 : STRIP_UNARY (operands[3])))) &&
28462 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28463 : ( 1)))
28464 : return NULL;
28465 : return gen_split_2629 (insn, operands);
28466 :
28467 : case 9:
28468 : if (!((
28469 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28470 : ((64 == 64 || TARGET_AVX512VL
28471 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28472 : && ix86_pre_reload_split ()
28473 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28474 : STRIP_UNARY (operands[4]))
28475 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28476 : STRIP_UNARY (operands[4]))
28477 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28478 : STRIP_UNARY (operands[3]))
28479 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28480 : STRIP_UNARY (operands[3])))) &&
28481 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28482 : (TARGET_AVX512F)) &&
28483 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28484 : ( 1)))
28485 : return NULL;
28486 : return gen_split_2656 (insn, operands);
28487 :
28488 : case 10:
28489 : if (!((
28490 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28491 : ((32 == 64 || TARGET_AVX512VL
28492 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28493 : && ix86_pre_reload_split ()
28494 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28495 : STRIP_UNARY (operands[4]))
28496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28497 : STRIP_UNARY (operands[4]))
28498 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28499 : STRIP_UNARY (operands[3]))
28500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28501 : STRIP_UNARY (operands[3])))) &&
28502 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28503 : (TARGET_AVX)) &&
28504 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28505 : ( 1)))
28506 : return NULL;
28507 : return gen_split_2683 (insn, operands);
28508 :
28509 : case 11:
28510 : if (!(
28511 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28512 : ((16 == 64 || TARGET_AVX512VL
28513 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28514 : && ix86_pre_reload_split ()
28515 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28516 : STRIP_UNARY (operands[4]))
28517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28518 : STRIP_UNARY (operands[4]))
28519 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28520 : STRIP_UNARY (operands[3]))
28521 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28522 : STRIP_UNARY (operands[3])))) &&
28523 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28524 : ( 1)))
28525 : return NULL;
28526 : return gen_split_2710 (insn, operands);
28527 :
28528 : default:
28529 : return NULL;
28530 : }
28531 :
28532 : default:
28533 : return NULL;
28534 : }
28535 : }
28536 :
28537 : rtx_insn *
28538 : split_72 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28539 : {
28540 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28541 : rtx x2, x3, x4;
28542 : rtx_insn *res ATTRIBUTE_UNUSED;
28543 : x2 = XEXP (x1, 1);
28544 : x3 = XEXP (x2, 0);
28545 : switch (GET_CODE (x3))
28546 : {
28547 : case AND:
28548 : return split_70 (x1, insn);
28549 :
28550 : case IOR:
28551 : x4 = XEXP (x3, 0);
28552 : switch (GET_CODE (x4))
28553 : {
28554 : case REG:
28555 : case SUBREG:
28556 : case MEM:
28557 : case NOT:
28558 : switch (pattern541 (x2))
28559 : {
28560 : case 0:
28561 : if (!((
28562 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28563 : ((64 == 64 || TARGET_AVX512VL
28564 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28565 : && ix86_pre_reload_split ()
28566 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28567 : STRIP_UNARY (operands[4]))
28568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28569 : STRIP_UNARY (operands[4]))
28570 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28571 : STRIP_UNARY (operands[3]))
28572 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28573 : STRIP_UNARY (operands[3])))) &&
28574 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28575 : (TARGET_AVX512F)) &&
28576 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28577 : ( 1)))
28578 : return NULL;
28579 : return gen_split_2076 (insn, operands);
28580 :
28581 : case 1:
28582 : if (!((
28583 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28584 : ((32 == 64 || TARGET_AVX512VL
28585 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28586 : && ix86_pre_reload_split ()
28587 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28588 : STRIP_UNARY (operands[4]))
28589 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28590 : STRIP_UNARY (operands[4]))
28591 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28592 : STRIP_UNARY (operands[3]))
28593 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28594 : STRIP_UNARY (operands[3])))) &&
28595 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28596 : (TARGET_AVX)) &&
28597 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28598 : ( 1)))
28599 : return NULL;
28600 : return gen_split_2103 (insn, operands);
28601 :
28602 : case 2:
28603 : if (!(
28604 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28605 : ((16 == 64 || TARGET_AVX512VL
28606 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28607 : && ix86_pre_reload_split ()
28608 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28609 : STRIP_UNARY (operands[4]))
28610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28611 : STRIP_UNARY (operands[4]))
28612 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28613 : STRIP_UNARY (operands[3]))
28614 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28615 : STRIP_UNARY (operands[3])))) &&
28616 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28617 : ( 1)))
28618 : return NULL;
28619 : return gen_split_2130 (insn, operands);
28620 :
28621 : case 3:
28622 : if (!((
28623 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28624 : ((64 == 64 || TARGET_AVX512VL
28625 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28626 : && ix86_pre_reload_split ()
28627 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28628 : STRIP_UNARY (operands[4]))
28629 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28630 : STRIP_UNARY (operands[4]))
28631 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28632 : STRIP_UNARY (operands[3]))
28633 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28634 : STRIP_UNARY (operands[3])))) &&
28635 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28636 : (TARGET_AVX512F)) &&
28637 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28638 : ( 1)))
28639 : return NULL;
28640 : return gen_split_2157 (insn, operands);
28641 :
28642 : case 4:
28643 : if (!((
28644 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28645 : ((32 == 64 || TARGET_AVX512VL
28646 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28647 : && ix86_pre_reload_split ()
28648 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28649 : STRIP_UNARY (operands[4]))
28650 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28651 : STRIP_UNARY (operands[4]))
28652 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28653 : STRIP_UNARY (operands[3]))
28654 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28655 : STRIP_UNARY (operands[3])))) &&
28656 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28657 : (TARGET_AVX)) &&
28658 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28659 : ( 1)))
28660 : return NULL;
28661 : return gen_split_2184 (insn, operands);
28662 :
28663 : case 5:
28664 : if (!(
28665 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28666 : ((16 == 64 || TARGET_AVX512VL
28667 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28668 : && ix86_pre_reload_split ()
28669 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28670 : STRIP_UNARY (operands[4]))
28671 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28672 : STRIP_UNARY (operands[4]))
28673 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28674 : STRIP_UNARY (operands[3]))
28675 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28676 : STRIP_UNARY (operands[3])))) &&
28677 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28678 : ( 1)))
28679 : return NULL;
28680 : return gen_split_2211 (insn, operands);
28681 :
28682 : case 6:
28683 : if (!((
28684 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28685 : ((64 == 64 || TARGET_AVX512VL
28686 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28687 : && ix86_pre_reload_split ()
28688 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28689 : STRIP_UNARY (operands[4]))
28690 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28691 : STRIP_UNARY (operands[4]))
28692 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28693 : STRIP_UNARY (operands[3]))
28694 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28695 : STRIP_UNARY (operands[3])))) &&
28696 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28697 : (TARGET_AVX512F)) &&
28698 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28699 : ( 1)))
28700 : return NULL;
28701 : return gen_split_2238 (insn, operands);
28702 :
28703 : case 7:
28704 : if (!((
28705 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28706 : ((32 == 64 || TARGET_AVX512VL
28707 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28708 : && ix86_pre_reload_split ()
28709 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28710 : STRIP_UNARY (operands[4]))
28711 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28712 : STRIP_UNARY (operands[4]))
28713 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28714 : STRIP_UNARY (operands[3]))
28715 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28716 : STRIP_UNARY (operands[3])))) &&
28717 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28718 : (TARGET_AVX)) &&
28719 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28720 : ( 1)))
28721 : return NULL;
28722 : return gen_split_2265 (insn, operands);
28723 :
28724 : case 8:
28725 : if (!(
28726 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28727 : ((16 == 64 || TARGET_AVX512VL
28728 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28729 : && ix86_pre_reload_split ()
28730 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28731 : STRIP_UNARY (operands[4]))
28732 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28733 : STRIP_UNARY (operands[4]))
28734 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28735 : STRIP_UNARY (operands[3]))
28736 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28737 : STRIP_UNARY (operands[3])))) &&
28738 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28739 : ( 1)))
28740 : return NULL;
28741 : return gen_split_2292 (insn, operands);
28742 :
28743 : case 9:
28744 : if (!((
28745 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28746 : ((64 == 64 || TARGET_AVX512VL
28747 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28748 : && ix86_pre_reload_split ()
28749 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28750 : STRIP_UNARY (operands[4]))
28751 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28752 : STRIP_UNARY (operands[4]))
28753 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28754 : STRIP_UNARY (operands[3]))
28755 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28756 : STRIP_UNARY (operands[3])))) &&
28757 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28758 : (TARGET_AVX512F)) &&
28759 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28760 : ( 1)))
28761 : return NULL;
28762 : return gen_split_2319 (insn, operands);
28763 :
28764 : case 10:
28765 : if (!((
28766 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28767 : ((32 == 64 || TARGET_AVX512VL
28768 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28769 : && ix86_pre_reload_split ()
28770 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28771 : STRIP_UNARY (operands[4]))
28772 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28773 : STRIP_UNARY (operands[4]))
28774 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28775 : STRIP_UNARY (operands[3]))
28776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28777 : STRIP_UNARY (operands[3])))) &&
28778 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28779 : (TARGET_AVX)) &&
28780 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28781 : ( 1)))
28782 : return NULL;
28783 : return gen_split_2346 (insn, operands);
28784 :
28785 : case 11:
28786 : if (!((
28787 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28788 : ((16 == 64 || TARGET_AVX512VL
28789 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28790 : && ix86_pre_reload_split ()
28791 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28792 : STRIP_UNARY (operands[4]))
28793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28794 : STRIP_UNARY (operands[4]))
28795 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28796 : STRIP_UNARY (operands[3]))
28797 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28798 : STRIP_UNARY (operands[3])))) &&
28799 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28800 : (TARGET_SSE2)) &&
28801 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28802 : ( 1)))
28803 : return NULL;
28804 : return gen_split_2373 (insn, operands);
28805 :
28806 : case 12:
28807 : if (!((
28808 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28809 : ((64 == 64 || TARGET_AVX512VL
28810 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28811 : && ix86_pre_reload_split ()
28812 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28813 : STRIP_UNARY (operands[4]))
28814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28815 : STRIP_UNARY (operands[4]))
28816 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28817 : STRIP_UNARY (operands[3]))
28818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28819 : STRIP_UNARY (operands[3])))) &&
28820 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28821 : (TARGET_AVX512F)) &&
28822 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28823 : ( 1)))
28824 : return NULL;
28825 : return gen_split_2079 (insn, operands);
28826 :
28827 : case 13:
28828 : if (!((
28829 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28830 : ((32 == 64 || TARGET_AVX512VL
28831 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28832 : && ix86_pre_reload_split ()
28833 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28834 : STRIP_UNARY (operands[4]))
28835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28836 : STRIP_UNARY (operands[4]))
28837 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28838 : STRIP_UNARY (operands[3]))
28839 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28840 : STRIP_UNARY (operands[3])))) &&
28841 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28842 : (TARGET_AVX)) &&
28843 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28844 : ( 1)))
28845 : return NULL;
28846 : return gen_split_2106 (insn, operands);
28847 :
28848 : case 14:
28849 : if (!(
28850 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28851 : ((16 == 64 || TARGET_AVX512VL
28852 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28853 : && ix86_pre_reload_split ()
28854 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28855 : STRIP_UNARY (operands[4]))
28856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28857 : STRIP_UNARY (operands[4]))
28858 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28859 : STRIP_UNARY (operands[3]))
28860 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28861 : STRIP_UNARY (operands[3])))) &&
28862 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28863 : ( 1)))
28864 : return NULL;
28865 : return gen_split_2133 (insn, operands);
28866 :
28867 : case 15:
28868 : if (!((
28869 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28870 : ((64 == 64 || TARGET_AVX512VL
28871 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28872 : && ix86_pre_reload_split ()
28873 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28874 : STRIP_UNARY (operands[4]))
28875 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28876 : STRIP_UNARY (operands[4]))
28877 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28878 : STRIP_UNARY (operands[3]))
28879 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28880 : STRIP_UNARY (operands[3])))) &&
28881 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28882 : (TARGET_AVX512F)) &&
28883 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28884 : ( 1)))
28885 : return NULL;
28886 : return gen_split_2160 (insn, operands);
28887 :
28888 : case 16:
28889 : if (!((
28890 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28891 : ((32 == 64 || TARGET_AVX512VL
28892 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28893 : && ix86_pre_reload_split ()
28894 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28895 : STRIP_UNARY (operands[4]))
28896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28897 : STRIP_UNARY (operands[4]))
28898 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28899 : STRIP_UNARY (operands[3]))
28900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28901 : STRIP_UNARY (operands[3])))) &&
28902 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28903 : (TARGET_AVX)) &&
28904 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28905 : ( 1)))
28906 : return NULL;
28907 : return gen_split_2187 (insn, operands);
28908 :
28909 : case 17:
28910 : if (!(
28911 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28912 : ((16 == 64 || TARGET_AVX512VL
28913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28914 : && ix86_pre_reload_split ()
28915 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28916 : STRIP_UNARY (operands[4]))
28917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28918 : STRIP_UNARY (operands[4]))
28919 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28920 : STRIP_UNARY (operands[3]))
28921 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28922 : STRIP_UNARY (operands[3])))) &&
28923 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28924 : ( 1)))
28925 : return NULL;
28926 : return gen_split_2214 (insn, operands);
28927 :
28928 : case 18:
28929 : if (!((
28930 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28931 : ((64 == 64 || TARGET_AVX512VL
28932 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28933 : && ix86_pre_reload_split ()
28934 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28935 : STRIP_UNARY (operands[4]))
28936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28937 : STRIP_UNARY (operands[4]))
28938 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28939 : STRIP_UNARY (operands[3]))
28940 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28941 : STRIP_UNARY (operands[3])))) &&
28942 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28943 : (TARGET_AVX512F)) &&
28944 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28945 : ( 1)))
28946 : return NULL;
28947 : return gen_split_2241 (insn, operands);
28948 :
28949 : case 19:
28950 : if (!((
28951 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28952 : ((32 == 64 || TARGET_AVX512VL
28953 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28954 : && ix86_pre_reload_split ()
28955 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28956 : STRIP_UNARY (operands[4]))
28957 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28958 : STRIP_UNARY (operands[4]))
28959 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28960 : STRIP_UNARY (operands[3]))
28961 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28962 : STRIP_UNARY (operands[3])))) &&
28963 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28964 : (TARGET_AVX)) &&
28965 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28966 : ( 1)))
28967 : return NULL;
28968 : return gen_split_2268 (insn, operands);
28969 :
28970 : case 20:
28971 : if (!(
28972 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28973 : ((16 == 64 || TARGET_AVX512VL
28974 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28975 : && ix86_pre_reload_split ()
28976 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28977 : STRIP_UNARY (operands[4]))
28978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28979 : STRIP_UNARY (operands[4]))
28980 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28981 : STRIP_UNARY (operands[3]))
28982 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28983 : STRIP_UNARY (operands[3])))) &&
28984 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28985 : ( 1)))
28986 : return NULL;
28987 : return gen_split_2295 (insn, operands);
28988 :
28989 : case 21:
28990 : if (!((
28991 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28992 : ((64 == 64 || TARGET_AVX512VL
28993 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28994 : && ix86_pre_reload_split ()
28995 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28996 : STRIP_UNARY (operands[4]))
28997 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28998 : STRIP_UNARY (operands[4]))
28999 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29000 : STRIP_UNARY (operands[3]))
29001 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29002 : STRIP_UNARY (operands[3])))) &&
29003 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29004 : (TARGET_AVX512F)) &&
29005 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29006 : ( 1)))
29007 : return NULL;
29008 : return gen_split_2322 (insn, operands);
29009 :
29010 : case 22:
29011 : if (!((
29012 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29013 : ((32 == 64 || TARGET_AVX512VL
29014 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29015 : && ix86_pre_reload_split ()
29016 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29017 : STRIP_UNARY (operands[4]))
29018 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29019 : STRIP_UNARY (operands[4]))
29020 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29021 : STRIP_UNARY (operands[3]))
29022 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29023 : STRIP_UNARY (operands[3])))) &&
29024 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29025 : (TARGET_AVX)) &&
29026 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29027 : ( 1)))
29028 : return NULL;
29029 : return gen_split_2349 (insn, operands);
29030 :
29031 : case 23:
29032 : if (!((
29033 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29034 : ((16 == 64 || TARGET_AVX512VL
29035 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29036 : && ix86_pre_reload_split ()
29037 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29038 : STRIP_UNARY (operands[4]))
29039 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29040 : STRIP_UNARY (operands[4]))
29041 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29042 : STRIP_UNARY (operands[3]))
29043 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29044 : STRIP_UNARY (operands[3])))) &&
29045 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29046 : (TARGET_SSE2)) &&
29047 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29048 : ( 1)))
29049 : return NULL;
29050 : return gen_split_2376 (insn, operands);
29051 :
29052 : case 24:
29053 : if (!((
29054 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29055 : ((64 == 64 || TARGET_AVX512VL
29056 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29057 : && ix86_pre_reload_split ()
29058 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29059 : STRIP_UNARY (operands[4]))
29060 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29061 : STRIP_UNARY (operands[4]))
29062 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29063 : STRIP_UNARY (operands[3]))
29064 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29065 : STRIP_UNARY (operands[3])))) &&
29066 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29067 : (TARGET_AVX512F)) &&
29068 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29069 : ( 1)))
29070 : return NULL;
29071 : return gen_split_2082 (insn, operands);
29072 :
29073 : case 25:
29074 : if (!((
29075 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29076 : ((32 == 64 || TARGET_AVX512VL
29077 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29078 : && ix86_pre_reload_split ()
29079 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29080 : STRIP_UNARY (operands[4]))
29081 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29082 : STRIP_UNARY (operands[4]))
29083 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29084 : STRIP_UNARY (operands[3]))
29085 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29086 : STRIP_UNARY (operands[3])))) &&
29087 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29088 : (TARGET_AVX)) &&
29089 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29090 : ( 1)))
29091 : return NULL;
29092 : return gen_split_2109 (insn, operands);
29093 :
29094 : case 26:
29095 : if (!(
29096 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29097 : ((16 == 64 || TARGET_AVX512VL
29098 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29099 : && ix86_pre_reload_split ()
29100 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29101 : STRIP_UNARY (operands[4]))
29102 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29103 : STRIP_UNARY (operands[4]))
29104 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29105 : STRIP_UNARY (operands[3]))
29106 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29107 : STRIP_UNARY (operands[3])))) &&
29108 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29109 : ( 1)))
29110 : return NULL;
29111 : return gen_split_2136 (insn, operands);
29112 :
29113 : case 27:
29114 : if (!((
29115 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29116 : ((64 == 64 || TARGET_AVX512VL
29117 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29118 : && ix86_pre_reload_split ()
29119 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29120 : STRIP_UNARY (operands[4]))
29121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29122 : STRIP_UNARY (operands[4]))
29123 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29124 : STRIP_UNARY (operands[3]))
29125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29126 : STRIP_UNARY (operands[3])))) &&
29127 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29128 : (TARGET_AVX512F)) &&
29129 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29130 : ( 1)))
29131 : return NULL;
29132 : return gen_split_2163 (insn, operands);
29133 :
29134 : case 28:
29135 : if (!((
29136 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29137 : ((32 == 64 || TARGET_AVX512VL
29138 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29139 : && ix86_pre_reload_split ()
29140 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29141 : STRIP_UNARY (operands[4]))
29142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29143 : STRIP_UNARY (operands[4]))
29144 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29145 : STRIP_UNARY (operands[3]))
29146 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29147 : STRIP_UNARY (operands[3])))) &&
29148 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29149 : (TARGET_AVX)) &&
29150 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29151 : ( 1)))
29152 : return NULL;
29153 : return gen_split_2190 (insn, operands);
29154 :
29155 : case 29:
29156 : if (!(
29157 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29158 : ((16 == 64 || TARGET_AVX512VL
29159 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29160 : && ix86_pre_reload_split ()
29161 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29162 : STRIP_UNARY (operands[4]))
29163 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29164 : STRIP_UNARY (operands[4]))
29165 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29166 : STRIP_UNARY (operands[3]))
29167 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29168 : STRIP_UNARY (operands[3])))) &&
29169 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29170 : ( 1)))
29171 : return NULL;
29172 : return gen_split_2217 (insn, operands);
29173 :
29174 : case 30:
29175 : if (!((
29176 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29177 : ((64 == 64 || TARGET_AVX512VL
29178 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29179 : && ix86_pre_reload_split ()
29180 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29181 : STRIP_UNARY (operands[4]))
29182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29183 : STRIP_UNARY (operands[4]))
29184 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29185 : STRIP_UNARY (operands[3]))
29186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29187 : STRIP_UNARY (operands[3])))) &&
29188 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29189 : (TARGET_AVX512F)) &&
29190 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29191 : ( 1)))
29192 : return NULL;
29193 : return gen_split_2244 (insn, operands);
29194 :
29195 : case 31:
29196 : if (!((
29197 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29198 : ((32 == 64 || TARGET_AVX512VL
29199 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29200 : && ix86_pre_reload_split ()
29201 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29202 : STRIP_UNARY (operands[4]))
29203 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29204 : STRIP_UNARY (operands[4]))
29205 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29206 : STRIP_UNARY (operands[3]))
29207 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29208 : STRIP_UNARY (operands[3])))) &&
29209 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29210 : (TARGET_AVX)) &&
29211 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29212 : ( 1)))
29213 : return NULL;
29214 : return gen_split_2271 (insn, operands);
29215 :
29216 : case 32:
29217 : if (!(
29218 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29219 : ((16 == 64 || TARGET_AVX512VL
29220 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29221 : && ix86_pre_reload_split ()
29222 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29223 : STRIP_UNARY (operands[4]))
29224 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29225 : STRIP_UNARY (operands[4]))
29226 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29227 : STRIP_UNARY (operands[3]))
29228 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29229 : STRIP_UNARY (operands[3])))) &&
29230 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29231 : ( 1)))
29232 : return NULL;
29233 : return gen_split_2298 (insn, operands);
29234 :
29235 : case 33:
29236 : if (!((
29237 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29238 : ((64 == 64 || TARGET_AVX512VL
29239 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29240 : && ix86_pre_reload_split ()
29241 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29242 : STRIP_UNARY (operands[4]))
29243 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29244 : STRIP_UNARY (operands[4]))
29245 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29246 : STRIP_UNARY (operands[3]))
29247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29248 : STRIP_UNARY (operands[3])))) &&
29249 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29250 : (TARGET_AVX512F)) &&
29251 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29252 : ( 1)))
29253 : return NULL;
29254 : return gen_split_2325 (insn, operands);
29255 :
29256 : case 34:
29257 : if (!((
29258 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29259 : ((32 == 64 || TARGET_AVX512VL
29260 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29261 : && ix86_pre_reload_split ()
29262 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29263 : STRIP_UNARY (operands[4]))
29264 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29265 : STRIP_UNARY (operands[4]))
29266 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29267 : STRIP_UNARY (operands[3]))
29268 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29269 : STRIP_UNARY (operands[3])))) &&
29270 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29271 : (TARGET_AVX)) &&
29272 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29273 : ( 1)))
29274 : return NULL;
29275 : return gen_split_2352 (insn, operands);
29276 :
29277 : case 35:
29278 : if (!((
29279 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29280 : ((16 == 64 || TARGET_AVX512VL
29281 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29282 : && ix86_pre_reload_split ()
29283 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29284 : STRIP_UNARY (operands[4]))
29285 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29286 : STRIP_UNARY (operands[4]))
29287 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29288 : STRIP_UNARY (operands[3]))
29289 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29290 : STRIP_UNARY (operands[3])))) &&
29291 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29292 : (TARGET_SSE2)) &&
29293 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29294 : ( 1)))
29295 : return NULL;
29296 : return gen_split_2379 (insn, operands);
29297 :
29298 : case 36:
29299 : if (!((
29300 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29301 : ((64 == 64 || TARGET_AVX512VL
29302 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29303 : && ix86_pre_reload_split ()) &&
29304 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29305 : (TARGET_AVX512F)) &&
29306 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29307 : ( 1)))
29308 : return NULL;
29309 : return gen_split_3150 (insn, operands);
29310 :
29311 : case 37:
29312 : if (!((
29313 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29314 : ((32 == 64 || TARGET_AVX512VL
29315 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29316 : && ix86_pre_reload_split ()) &&
29317 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29318 : (TARGET_AVX)) &&
29319 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29320 : ( 1)))
29321 : return NULL;
29322 : return gen_split_3159 (insn, operands);
29323 :
29324 : case 38:
29325 : if (!(
29326 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29327 : ((16 == 64 || TARGET_AVX512VL
29328 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29329 : && ix86_pre_reload_split ()) &&
29330 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29331 : ( 1)))
29332 : return NULL;
29333 : return gen_split_3168 (insn, operands);
29334 :
29335 : case 39:
29336 : if (!((
29337 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29338 : ((64 == 64 || TARGET_AVX512VL
29339 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29340 : && ix86_pre_reload_split ()) &&
29341 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29342 : (TARGET_AVX512F)) &&
29343 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29344 : ( 1)))
29345 : return NULL;
29346 : return gen_split_3177 (insn, operands);
29347 :
29348 : case 40:
29349 : if (!((
29350 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29351 : ((32 == 64 || TARGET_AVX512VL
29352 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29353 : && ix86_pre_reload_split ()) &&
29354 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29355 : (TARGET_AVX)) &&
29356 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29357 : ( 1)))
29358 : return NULL;
29359 : return gen_split_3186 (insn, operands);
29360 :
29361 : case 41:
29362 : if (!(
29363 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29364 : ((16 == 64 || TARGET_AVX512VL
29365 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29366 : && ix86_pre_reload_split ()) &&
29367 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29368 : ( 1)))
29369 : return NULL;
29370 : return gen_split_3195 (insn, operands);
29371 :
29372 : case 42:
29373 : if (!((
29374 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29375 : ((64 == 64 || TARGET_AVX512VL
29376 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29377 : && ix86_pre_reload_split ()) &&
29378 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29379 : (TARGET_AVX512F)) &&
29380 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29381 : ( 1)))
29382 : return NULL;
29383 : return gen_split_3204 (insn, operands);
29384 :
29385 : case 43:
29386 : if (!((
29387 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29388 : ((32 == 64 || TARGET_AVX512VL
29389 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29390 : && ix86_pre_reload_split ()) &&
29391 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29392 : (TARGET_AVX)) &&
29393 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29394 : ( 1)))
29395 : return NULL;
29396 : return gen_split_3213 (insn, operands);
29397 :
29398 : case 44:
29399 : if (!(
29400 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29401 : ((16 == 64 || TARGET_AVX512VL
29402 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29403 : && ix86_pre_reload_split ()) &&
29404 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29405 : ( 1)))
29406 : return NULL;
29407 : return gen_split_3222 (insn, operands);
29408 :
29409 : case 45:
29410 : if (!((
29411 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29412 : ((64 == 64 || TARGET_AVX512VL
29413 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29414 : && ix86_pre_reload_split ()) &&
29415 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29416 : (TARGET_AVX512F)) &&
29417 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29418 : ( 1)))
29419 : return NULL;
29420 : return gen_split_3231 (insn, operands);
29421 :
29422 : case 46:
29423 : if (!((
29424 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29425 : ((32 == 64 || TARGET_AVX512VL
29426 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29427 : && ix86_pre_reload_split ()) &&
29428 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29429 : (TARGET_AVX)) &&
29430 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29431 : ( 1)))
29432 : return NULL;
29433 : return gen_split_3240 (insn, operands);
29434 :
29435 : case 47:
29436 : if (!((
29437 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29438 : ((16 == 64 || TARGET_AVX512VL
29439 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29440 : && ix86_pre_reload_split ()) &&
29441 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29442 : (TARGET_SSE2)) &&
29443 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29444 : ( 1)))
29445 : return NULL;
29446 : return gen_split_3249 (insn, operands);
29447 :
29448 : default:
29449 : return NULL;
29450 : }
29451 :
29452 : case AND:
29453 : switch (pattern542 (x2))
29454 : {
29455 : case 0:
29456 : if (!((
29457 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29458 : ((64 == 64 || TARGET_AVX512VL
29459 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29460 : && ix86_pre_reload_split ()
29461 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29462 : STRIP_UNARY (operands[4]))
29463 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29464 : STRIP_UNARY (operands[4]))
29465 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29466 : STRIP_UNARY (operands[3]))
29467 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29468 : STRIP_UNARY (operands[3])))) &&
29469 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29470 : (TARGET_AVX512F)) &&
29471 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29472 : ( 1)))
29473 : return NULL;
29474 : return gen_split_2724 (insn, operands);
29475 :
29476 : case 1:
29477 : if (!((
29478 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29479 : ((32 == 64 || TARGET_AVX512VL
29480 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29481 : && ix86_pre_reload_split ()
29482 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29483 : STRIP_UNARY (operands[4]))
29484 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29485 : STRIP_UNARY (operands[4]))
29486 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29487 : STRIP_UNARY (operands[3]))
29488 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29489 : STRIP_UNARY (operands[3])))) &&
29490 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29491 : (TARGET_AVX)) &&
29492 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29493 : ( 1)))
29494 : return NULL;
29495 : return gen_split_2751 (insn, operands);
29496 :
29497 : case 2:
29498 : if (!(
29499 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29500 : ((16 == 64 || TARGET_AVX512VL
29501 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29502 : && ix86_pre_reload_split ()
29503 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29504 : STRIP_UNARY (operands[4]))
29505 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29506 : STRIP_UNARY (operands[4]))
29507 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29508 : STRIP_UNARY (operands[3]))
29509 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29510 : STRIP_UNARY (operands[3])))) &&
29511 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29512 : ( 1)))
29513 : return NULL;
29514 : return gen_split_2778 (insn, operands);
29515 :
29516 : case 3:
29517 : if (!((
29518 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29519 : ((64 == 64 || TARGET_AVX512VL
29520 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29521 : && ix86_pre_reload_split ()
29522 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29523 : STRIP_UNARY (operands[4]))
29524 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29525 : STRIP_UNARY (operands[4]))
29526 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29527 : STRIP_UNARY (operands[3]))
29528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29529 : STRIP_UNARY (operands[3])))) &&
29530 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29531 : (TARGET_AVX512F)) &&
29532 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29533 : ( 1)))
29534 : return NULL;
29535 : return gen_split_2805 (insn, operands);
29536 :
29537 : case 4:
29538 : if (!((
29539 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29540 : ((32 == 64 || TARGET_AVX512VL
29541 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29542 : && ix86_pre_reload_split ()
29543 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29544 : STRIP_UNARY (operands[4]))
29545 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29546 : STRIP_UNARY (operands[4]))
29547 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29548 : STRIP_UNARY (operands[3]))
29549 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29550 : STRIP_UNARY (operands[3])))) &&
29551 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29552 : (TARGET_AVX)) &&
29553 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29554 : ( 1)))
29555 : return NULL;
29556 : return gen_split_2832 (insn, operands);
29557 :
29558 : case 5:
29559 : if (!(
29560 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29561 : ((16 == 64 || TARGET_AVX512VL
29562 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29563 : && ix86_pre_reload_split ()
29564 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29565 : STRIP_UNARY (operands[4]))
29566 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29567 : STRIP_UNARY (operands[4]))
29568 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29569 : STRIP_UNARY (operands[3]))
29570 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29571 : STRIP_UNARY (operands[3])))) &&
29572 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29573 : ( 1)))
29574 : return NULL;
29575 : return gen_split_2859 (insn, operands);
29576 :
29577 : case 6:
29578 : if (!((
29579 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29580 : ((64 == 64 || TARGET_AVX512VL
29581 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29582 : && ix86_pre_reload_split ()
29583 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29584 : STRIP_UNARY (operands[4]))
29585 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29586 : STRIP_UNARY (operands[4]))
29587 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29588 : STRIP_UNARY (operands[3]))
29589 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29590 : STRIP_UNARY (operands[3])))) &&
29591 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29592 : (TARGET_AVX512F)) &&
29593 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29594 : ( 1)))
29595 : return NULL;
29596 : return gen_split_2886 (insn, operands);
29597 :
29598 : case 7:
29599 : if (!((
29600 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29601 : ((32 == 64 || TARGET_AVX512VL
29602 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29603 : && ix86_pre_reload_split ()
29604 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29605 : STRIP_UNARY (operands[4]))
29606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29607 : STRIP_UNARY (operands[4]))
29608 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29609 : STRIP_UNARY (operands[3]))
29610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29611 : STRIP_UNARY (operands[3])))) &&
29612 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29613 : (TARGET_AVX)) &&
29614 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29615 : ( 1)))
29616 : return NULL;
29617 : return gen_split_2913 (insn, operands);
29618 :
29619 : case 8:
29620 : if (!(
29621 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29622 : ((16 == 64 || TARGET_AVX512VL
29623 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29624 : && ix86_pre_reload_split ()
29625 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29626 : STRIP_UNARY (operands[4]))
29627 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29628 : STRIP_UNARY (operands[4]))
29629 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29630 : STRIP_UNARY (operands[3]))
29631 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29632 : STRIP_UNARY (operands[3])))) &&
29633 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29634 : ( 1)))
29635 : return NULL;
29636 : return gen_split_2940 (insn, operands);
29637 :
29638 : case 9:
29639 : if (!((
29640 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29641 : ((64 == 64 || TARGET_AVX512VL
29642 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29643 : && ix86_pre_reload_split ()
29644 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29645 : STRIP_UNARY (operands[4]))
29646 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29647 : STRIP_UNARY (operands[4]))
29648 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29649 : STRIP_UNARY (operands[3]))
29650 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29651 : STRIP_UNARY (operands[3])))) &&
29652 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29653 : (TARGET_AVX512F)) &&
29654 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29655 : ( 1)))
29656 : return NULL;
29657 : return gen_split_2967 (insn, operands);
29658 :
29659 : case 10:
29660 : if (!((
29661 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29662 : ((32 == 64 || TARGET_AVX512VL
29663 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29664 : && ix86_pre_reload_split ()
29665 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29666 : STRIP_UNARY (operands[4]))
29667 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29668 : STRIP_UNARY (operands[4]))
29669 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29670 : STRIP_UNARY (operands[3]))
29671 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29672 : STRIP_UNARY (operands[3])))) &&
29673 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29674 : (TARGET_AVX)) &&
29675 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29676 : ( 1)))
29677 : return NULL;
29678 : return gen_split_2994 (insn, operands);
29679 :
29680 : case 11:
29681 : if (!((
29682 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29683 : ((16 == 64 || TARGET_AVX512VL
29684 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29685 : && ix86_pre_reload_split ()
29686 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29687 : STRIP_UNARY (operands[4]))
29688 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29689 : STRIP_UNARY (operands[4]))
29690 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29691 : STRIP_UNARY (operands[3]))
29692 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29693 : STRIP_UNARY (operands[3])))) &&
29694 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29695 : (TARGET_SSE2)) &&
29696 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29697 : ( 1)))
29698 : return NULL;
29699 : return gen_split_3021 (insn, operands);
29700 :
29701 : default:
29702 : return NULL;
29703 : }
29704 :
29705 : case IOR:
29706 : switch (pattern542 (x2))
29707 : {
29708 : case 0:
29709 : if (!((
29710 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29711 : ((64 == 64 || TARGET_AVX512VL
29712 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29713 : && ix86_pre_reload_split ()
29714 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29715 : STRIP_UNARY (operands[4]))
29716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29717 : STRIP_UNARY (operands[4]))
29718 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29719 : STRIP_UNARY (operands[3]))
29720 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29721 : STRIP_UNARY (operands[3])))) &&
29722 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29723 : (TARGET_AVX512F)) &&
29724 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29725 : ( 1)))
29726 : return NULL;
29727 : return gen_split_2727 (insn, operands);
29728 :
29729 : case 1:
29730 : if (!((
29731 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29732 : ((32 == 64 || TARGET_AVX512VL
29733 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29734 : && ix86_pre_reload_split ()
29735 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29736 : STRIP_UNARY (operands[4]))
29737 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29738 : STRIP_UNARY (operands[4]))
29739 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29740 : STRIP_UNARY (operands[3]))
29741 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29742 : STRIP_UNARY (operands[3])))) &&
29743 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29744 : (TARGET_AVX)) &&
29745 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29746 : ( 1)))
29747 : return NULL;
29748 : return gen_split_2754 (insn, operands);
29749 :
29750 : case 2:
29751 : if (!(
29752 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29753 : ((16 == 64 || TARGET_AVX512VL
29754 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29755 : && ix86_pre_reload_split ()
29756 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29757 : STRIP_UNARY (operands[4]))
29758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29759 : STRIP_UNARY (operands[4]))
29760 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29761 : STRIP_UNARY (operands[3]))
29762 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29763 : STRIP_UNARY (operands[3])))) &&
29764 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29765 : ( 1)))
29766 : return NULL;
29767 : return gen_split_2781 (insn, operands);
29768 :
29769 : case 3:
29770 : if (!((
29771 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29772 : ((64 == 64 || TARGET_AVX512VL
29773 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29774 : && ix86_pre_reload_split ()
29775 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29776 : STRIP_UNARY (operands[4]))
29777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29778 : STRIP_UNARY (operands[4]))
29779 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29780 : STRIP_UNARY (operands[3]))
29781 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29782 : STRIP_UNARY (operands[3])))) &&
29783 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29784 : (TARGET_AVX512F)) &&
29785 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29786 : ( 1)))
29787 : return NULL;
29788 : return gen_split_2808 (insn, operands);
29789 :
29790 : case 4:
29791 : if (!((
29792 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29793 : ((32 == 64 || TARGET_AVX512VL
29794 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29795 : && ix86_pre_reload_split ()
29796 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29797 : STRIP_UNARY (operands[4]))
29798 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29799 : STRIP_UNARY (operands[4]))
29800 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29801 : STRIP_UNARY (operands[3]))
29802 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29803 : STRIP_UNARY (operands[3])))) &&
29804 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29805 : (TARGET_AVX)) &&
29806 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29807 : ( 1)))
29808 : return NULL;
29809 : return gen_split_2835 (insn, operands);
29810 :
29811 : case 5:
29812 : if (!(
29813 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29814 : ((16 == 64 || TARGET_AVX512VL
29815 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29816 : && ix86_pre_reload_split ()
29817 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29818 : STRIP_UNARY (operands[4]))
29819 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29820 : STRIP_UNARY (operands[4]))
29821 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29822 : STRIP_UNARY (operands[3]))
29823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29824 : STRIP_UNARY (operands[3])))) &&
29825 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29826 : ( 1)))
29827 : return NULL;
29828 : return gen_split_2862 (insn, operands);
29829 :
29830 : case 6:
29831 : if (!((
29832 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29833 : ((64 == 64 || TARGET_AVX512VL
29834 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29835 : && ix86_pre_reload_split ()
29836 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29837 : STRIP_UNARY (operands[4]))
29838 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29839 : STRIP_UNARY (operands[4]))
29840 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29841 : STRIP_UNARY (operands[3]))
29842 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29843 : STRIP_UNARY (operands[3])))) &&
29844 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29845 : (TARGET_AVX512F)) &&
29846 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29847 : ( 1)))
29848 : return NULL;
29849 : return gen_split_2889 (insn, operands);
29850 :
29851 : case 7:
29852 : if (!((
29853 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29854 : ((32 == 64 || TARGET_AVX512VL
29855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29856 : && ix86_pre_reload_split ()
29857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29858 : STRIP_UNARY (operands[4]))
29859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29860 : STRIP_UNARY (operands[4]))
29861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29862 : STRIP_UNARY (operands[3]))
29863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29864 : STRIP_UNARY (operands[3])))) &&
29865 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29866 : (TARGET_AVX)) &&
29867 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29868 : ( 1)))
29869 : return NULL;
29870 : return gen_split_2916 (insn, operands);
29871 :
29872 : case 8:
29873 : if (!(
29874 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29875 : ((16 == 64 || TARGET_AVX512VL
29876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29877 : && ix86_pre_reload_split ()
29878 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29879 : STRIP_UNARY (operands[4]))
29880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29881 : STRIP_UNARY (operands[4]))
29882 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29883 : STRIP_UNARY (operands[3]))
29884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29885 : STRIP_UNARY (operands[3])))) &&
29886 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29887 : ( 1)))
29888 : return NULL;
29889 : return gen_split_2943 (insn, operands);
29890 :
29891 : case 9:
29892 : if (!((
29893 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29894 : ((64 == 64 || TARGET_AVX512VL
29895 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29896 : && ix86_pre_reload_split ()
29897 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29898 : STRIP_UNARY (operands[4]))
29899 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29900 : STRIP_UNARY (operands[4]))
29901 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29902 : STRIP_UNARY (operands[3]))
29903 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29904 : STRIP_UNARY (operands[3])))) &&
29905 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29906 : (TARGET_AVX512F)) &&
29907 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29908 : ( 1)))
29909 : return NULL;
29910 : return gen_split_2970 (insn, operands);
29911 :
29912 : case 10:
29913 : if (!((
29914 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29915 : ((32 == 64 || TARGET_AVX512VL
29916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29917 : && ix86_pre_reload_split ()
29918 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29919 : STRIP_UNARY (operands[4]))
29920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29921 : STRIP_UNARY (operands[4]))
29922 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29923 : STRIP_UNARY (operands[3]))
29924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29925 : STRIP_UNARY (operands[3])))) &&
29926 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29927 : (TARGET_AVX)) &&
29928 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29929 : ( 1)))
29930 : return NULL;
29931 : return gen_split_2997 (insn, operands);
29932 :
29933 : case 11:
29934 : if (!((
29935 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29936 : ((16 == 64 || TARGET_AVX512VL
29937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29938 : && ix86_pre_reload_split ()
29939 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29940 : STRIP_UNARY (operands[4]))
29941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29942 : STRIP_UNARY (operands[4]))
29943 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29944 : STRIP_UNARY (operands[3]))
29945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29946 : STRIP_UNARY (operands[3])))) &&
29947 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29948 : (TARGET_SSE2)) &&
29949 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29950 : ( 1)))
29951 : return NULL;
29952 : return gen_split_3024 (insn, operands);
29953 :
29954 : default:
29955 : return NULL;
29956 : }
29957 :
29958 : case XOR:
29959 : switch (pattern542 (x2))
29960 : {
29961 : case 0:
29962 : if (!((
29963 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29964 : ((64 == 64 || TARGET_AVX512VL
29965 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29966 : && ix86_pre_reload_split ()
29967 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29968 : STRIP_UNARY (operands[4]))
29969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29970 : STRIP_UNARY (operands[4]))
29971 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29972 : STRIP_UNARY (operands[3]))
29973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29974 : STRIP_UNARY (operands[3])))) &&
29975 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29976 : (TARGET_AVX512F)) &&
29977 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29978 : ( 1)))
29979 : return NULL;
29980 : return gen_split_2730 (insn, operands);
29981 :
29982 : case 1:
29983 : if (!((
29984 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29985 : ((32 == 64 || TARGET_AVX512VL
29986 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29987 : && ix86_pre_reload_split ()
29988 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29989 : STRIP_UNARY (operands[4]))
29990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29991 : STRIP_UNARY (operands[4]))
29992 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29993 : STRIP_UNARY (operands[3]))
29994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29995 : STRIP_UNARY (operands[3])))) &&
29996 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29997 : (TARGET_AVX)) &&
29998 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29999 : ( 1)))
30000 : return NULL;
30001 : return gen_split_2757 (insn, operands);
30002 :
30003 : case 2:
30004 : if (!(
30005 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30006 : ((16 == 64 || TARGET_AVX512VL
30007 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30008 : && ix86_pre_reload_split ()
30009 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30010 : STRIP_UNARY (operands[4]))
30011 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30012 : STRIP_UNARY (operands[4]))
30013 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30014 : STRIP_UNARY (operands[3]))
30015 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30016 : STRIP_UNARY (operands[3])))) &&
30017 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30018 : ( 1)))
30019 : return NULL;
30020 : return gen_split_2784 (insn, operands);
30021 :
30022 : case 3:
30023 : if (!((
30024 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30025 : ((64 == 64 || TARGET_AVX512VL
30026 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30027 : && ix86_pre_reload_split ()
30028 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30029 : STRIP_UNARY (operands[4]))
30030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30031 : STRIP_UNARY (operands[4]))
30032 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30033 : STRIP_UNARY (operands[3]))
30034 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30035 : STRIP_UNARY (operands[3])))) &&
30036 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30037 : (TARGET_AVX512F)) &&
30038 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30039 : ( 1)))
30040 : return NULL;
30041 : return gen_split_2811 (insn, operands);
30042 :
30043 : case 4:
30044 : if (!((
30045 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30046 : ((32 == 64 || TARGET_AVX512VL
30047 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30048 : && ix86_pre_reload_split ()
30049 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30050 : STRIP_UNARY (operands[4]))
30051 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30052 : STRIP_UNARY (operands[4]))
30053 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30054 : STRIP_UNARY (operands[3]))
30055 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30056 : STRIP_UNARY (operands[3])))) &&
30057 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30058 : (TARGET_AVX)) &&
30059 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30060 : ( 1)))
30061 : return NULL;
30062 : return gen_split_2838 (insn, operands);
30063 :
30064 : case 5:
30065 : if (!(
30066 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30067 : ((16 == 64 || TARGET_AVX512VL
30068 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30069 : && ix86_pre_reload_split ()
30070 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30071 : STRIP_UNARY (operands[4]))
30072 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30073 : STRIP_UNARY (operands[4]))
30074 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30075 : STRIP_UNARY (operands[3]))
30076 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30077 : STRIP_UNARY (operands[3])))) &&
30078 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30079 : ( 1)))
30080 : return NULL;
30081 : return gen_split_2865 (insn, operands);
30082 :
30083 : case 6:
30084 : if (!((
30085 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30086 : ((64 == 64 || TARGET_AVX512VL
30087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30088 : && ix86_pre_reload_split ()
30089 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30090 : STRIP_UNARY (operands[4]))
30091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30092 : STRIP_UNARY (operands[4]))
30093 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30094 : STRIP_UNARY (operands[3]))
30095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30096 : STRIP_UNARY (operands[3])))) &&
30097 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30098 : (TARGET_AVX512F)) &&
30099 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30100 : ( 1)))
30101 : return NULL;
30102 : return gen_split_2892 (insn, operands);
30103 :
30104 : case 7:
30105 : if (!((
30106 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30107 : ((32 == 64 || TARGET_AVX512VL
30108 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30109 : && ix86_pre_reload_split ()
30110 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30111 : STRIP_UNARY (operands[4]))
30112 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30113 : STRIP_UNARY (operands[4]))
30114 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30115 : STRIP_UNARY (operands[3]))
30116 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30117 : STRIP_UNARY (operands[3])))) &&
30118 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30119 : (TARGET_AVX)) &&
30120 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30121 : ( 1)))
30122 : return NULL;
30123 : return gen_split_2919 (insn, operands);
30124 :
30125 : case 8:
30126 : if (!(
30127 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30128 : ((16 == 64 || TARGET_AVX512VL
30129 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30130 : && ix86_pre_reload_split ()
30131 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30132 : STRIP_UNARY (operands[4]))
30133 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30134 : STRIP_UNARY (operands[4]))
30135 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30136 : STRIP_UNARY (operands[3]))
30137 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30138 : STRIP_UNARY (operands[3])))) &&
30139 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30140 : ( 1)))
30141 : return NULL;
30142 : return gen_split_2946 (insn, operands);
30143 :
30144 : case 9:
30145 : if (!((
30146 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30147 : ((64 == 64 || TARGET_AVX512VL
30148 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30149 : && ix86_pre_reload_split ()
30150 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30151 : STRIP_UNARY (operands[4]))
30152 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30153 : STRIP_UNARY (operands[4]))
30154 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30155 : STRIP_UNARY (operands[3]))
30156 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30157 : STRIP_UNARY (operands[3])))) &&
30158 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30159 : (TARGET_AVX512F)) &&
30160 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30161 : ( 1)))
30162 : return NULL;
30163 : return gen_split_2973 (insn, operands);
30164 :
30165 : case 10:
30166 : if (!((
30167 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30168 : ((32 == 64 || TARGET_AVX512VL
30169 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30170 : && ix86_pre_reload_split ()
30171 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30172 : STRIP_UNARY (operands[4]))
30173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30174 : STRIP_UNARY (operands[4]))
30175 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30176 : STRIP_UNARY (operands[3]))
30177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30178 : STRIP_UNARY (operands[3])))) &&
30179 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30180 : (TARGET_AVX)) &&
30181 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30182 : ( 1)))
30183 : return NULL;
30184 : return gen_split_3000 (insn, operands);
30185 :
30186 : case 11:
30187 : if (!((
30188 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30189 : ((16 == 64 || TARGET_AVX512VL
30190 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30191 : && ix86_pre_reload_split ()
30192 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30193 : STRIP_UNARY (operands[4]))
30194 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30195 : STRIP_UNARY (operands[4]))
30196 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30197 : STRIP_UNARY (operands[3]))
30198 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30199 : STRIP_UNARY (operands[3])))) &&
30200 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30201 : (TARGET_SSE2)) &&
30202 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30203 : ( 1)))
30204 : return NULL;
30205 : return gen_split_3027 (insn, operands);
30206 :
30207 : default:
30208 : return NULL;
30209 : }
30210 :
30211 : default:
30212 : return NULL;
30213 : }
30214 :
30215 : case XOR:
30216 : x4 = XEXP (x3, 0);
30217 : switch (GET_CODE (x4))
30218 : {
30219 : case REG:
30220 : case SUBREG:
30221 : case MEM:
30222 : case NOT:
30223 : switch (pattern541 (x2))
30224 : {
30225 : case 0:
30226 : if (!((
30227 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30228 : ((64 == 64 || TARGET_AVX512VL
30229 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30230 : && ix86_pre_reload_split ()
30231 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30232 : STRIP_UNARY (operands[4]))
30233 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30234 : STRIP_UNARY (operands[4]))
30235 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30236 : STRIP_UNARY (operands[3]))
30237 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30238 : STRIP_UNARY (operands[3])))) &&
30239 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30240 : (TARGET_AVX512F)) &&
30241 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30242 : ( 1)))
30243 : return NULL;
30244 : return gen_split_2085 (insn, operands);
30245 :
30246 : case 1:
30247 : if (!((
30248 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30249 : ((32 == 64 || TARGET_AVX512VL
30250 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30251 : && ix86_pre_reload_split ()
30252 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30253 : STRIP_UNARY (operands[4]))
30254 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30255 : STRIP_UNARY (operands[4]))
30256 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30257 : STRIP_UNARY (operands[3]))
30258 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30259 : STRIP_UNARY (operands[3])))) &&
30260 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30261 : (TARGET_AVX)) &&
30262 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30263 : ( 1)))
30264 : return NULL;
30265 : return gen_split_2112 (insn, operands);
30266 :
30267 : case 2:
30268 : if (!(
30269 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30270 : ((16 == 64 || TARGET_AVX512VL
30271 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30272 : && ix86_pre_reload_split ()
30273 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30274 : STRIP_UNARY (operands[4]))
30275 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30276 : STRIP_UNARY (operands[4]))
30277 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30278 : STRIP_UNARY (operands[3]))
30279 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30280 : STRIP_UNARY (operands[3])))) &&
30281 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30282 : ( 1)))
30283 : return NULL;
30284 : return gen_split_2139 (insn, operands);
30285 :
30286 : case 3:
30287 : if (!((
30288 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30289 : ((64 == 64 || TARGET_AVX512VL
30290 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30291 : && ix86_pre_reload_split ()
30292 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30293 : STRIP_UNARY (operands[4]))
30294 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30295 : STRIP_UNARY (operands[4]))
30296 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30297 : STRIP_UNARY (operands[3]))
30298 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30299 : STRIP_UNARY (operands[3])))) &&
30300 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30301 : (TARGET_AVX512F)) &&
30302 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30303 : ( 1)))
30304 : return NULL;
30305 : return gen_split_2166 (insn, operands);
30306 :
30307 : case 4:
30308 : if (!((
30309 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30310 : ((32 == 64 || TARGET_AVX512VL
30311 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30312 : && ix86_pre_reload_split ()
30313 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30314 : STRIP_UNARY (operands[4]))
30315 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30316 : STRIP_UNARY (operands[4]))
30317 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30318 : STRIP_UNARY (operands[3]))
30319 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30320 : STRIP_UNARY (operands[3])))) &&
30321 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30322 : (TARGET_AVX)) &&
30323 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30324 : ( 1)))
30325 : return NULL;
30326 : return gen_split_2193 (insn, operands);
30327 :
30328 : case 5:
30329 : if (!(
30330 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30331 : ((16 == 64 || TARGET_AVX512VL
30332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30333 : && ix86_pre_reload_split ()
30334 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30335 : STRIP_UNARY (operands[4]))
30336 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30337 : STRIP_UNARY (operands[4]))
30338 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30339 : STRIP_UNARY (operands[3]))
30340 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30341 : STRIP_UNARY (operands[3])))) &&
30342 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30343 : ( 1)))
30344 : return NULL;
30345 : return gen_split_2220 (insn, operands);
30346 :
30347 : case 6:
30348 : if (!((
30349 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30350 : ((64 == 64 || TARGET_AVX512VL
30351 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30352 : && ix86_pre_reload_split ()
30353 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30354 : STRIP_UNARY (operands[4]))
30355 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30356 : STRIP_UNARY (operands[4]))
30357 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30358 : STRIP_UNARY (operands[3]))
30359 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30360 : STRIP_UNARY (operands[3])))) &&
30361 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30362 : (TARGET_AVX512F)) &&
30363 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30364 : ( 1)))
30365 : return NULL;
30366 : return gen_split_2247 (insn, operands);
30367 :
30368 : case 7:
30369 : if (!((
30370 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30371 : ((32 == 64 || TARGET_AVX512VL
30372 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30373 : && ix86_pre_reload_split ()
30374 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30375 : STRIP_UNARY (operands[4]))
30376 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30377 : STRIP_UNARY (operands[4]))
30378 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30379 : STRIP_UNARY (operands[3]))
30380 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30381 : STRIP_UNARY (operands[3])))) &&
30382 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30383 : (TARGET_AVX)) &&
30384 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30385 : ( 1)))
30386 : return NULL;
30387 : return gen_split_2274 (insn, operands);
30388 :
30389 : case 8:
30390 : if (!(
30391 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30392 : ((16 == 64 || TARGET_AVX512VL
30393 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30394 : && ix86_pre_reload_split ()
30395 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30396 : STRIP_UNARY (operands[4]))
30397 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30398 : STRIP_UNARY (operands[4]))
30399 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30400 : STRIP_UNARY (operands[3]))
30401 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30402 : STRIP_UNARY (operands[3])))) &&
30403 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30404 : ( 1)))
30405 : return NULL;
30406 : return gen_split_2301 (insn, operands);
30407 :
30408 : case 9:
30409 : if (!((
30410 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30411 : ((64 == 64 || TARGET_AVX512VL
30412 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30413 : && ix86_pre_reload_split ()
30414 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30415 : STRIP_UNARY (operands[4]))
30416 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30417 : STRIP_UNARY (operands[4]))
30418 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30419 : STRIP_UNARY (operands[3]))
30420 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30421 : STRIP_UNARY (operands[3])))) &&
30422 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30423 : (TARGET_AVX512F)) &&
30424 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30425 : ( 1)))
30426 : return NULL;
30427 : return gen_split_2328 (insn, operands);
30428 :
30429 : case 10:
30430 : if (!((
30431 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30432 : ((32 == 64 || TARGET_AVX512VL
30433 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30434 : && ix86_pre_reload_split ()
30435 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30436 : STRIP_UNARY (operands[4]))
30437 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30438 : STRIP_UNARY (operands[4]))
30439 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30440 : STRIP_UNARY (operands[3]))
30441 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30442 : STRIP_UNARY (operands[3])))) &&
30443 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30444 : (TARGET_AVX)) &&
30445 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30446 : ( 1)))
30447 : return NULL;
30448 : return gen_split_2355 (insn, operands);
30449 :
30450 : case 11:
30451 : if (!((
30452 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30453 : ((16 == 64 || TARGET_AVX512VL
30454 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30455 : && ix86_pre_reload_split ()
30456 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30457 : STRIP_UNARY (operands[4]))
30458 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30459 : STRIP_UNARY (operands[4]))
30460 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30461 : STRIP_UNARY (operands[3]))
30462 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30463 : STRIP_UNARY (operands[3])))) &&
30464 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30465 : (TARGET_SSE2)) &&
30466 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30467 : ( 1)))
30468 : return NULL;
30469 : return gen_split_2382 (insn, operands);
30470 :
30471 : case 12:
30472 : if (!((
30473 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30474 : ((64 == 64 || TARGET_AVX512VL
30475 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30476 : && ix86_pre_reload_split ()
30477 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30478 : STRIP_UNARY (operands[4]))
30479 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30480 : STRIP_UNARY (operands[4]))
30481 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30482 : STRIP_UNARY (operands[3]))
30483 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30484 : STRIP_UNARY (operands[3])))) &&
30485 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30486 : (TARGET_AVX512F)) &&
30487 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30488 : ( 1)))
30489 : return NULL;
30490 : return gen_split_2088 (insn, operands);
30491 :
30492 : case 13:
30493 : if (!((
30494 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30495 : ((32 == 64 || TARGET_AVX512VL
30496 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30497 : && ix86_pre_reload_split ()
30498 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30499 : STRIP_UNARY (operands[4]))
30500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30501 : STRIP_UNARY (operands[4]))
30502 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30503 : STRIP_UNARY (operands[3]))
30504 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30505 : STRIP_UNARY (operands[3])))) &&
30506 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30507 : (TARGET_AVX)) &&
30508 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30509 : ( 1)))
30510 : return NULL;
30511 : return gen_split_2115 (insn, operands);
30512 :
30513 : case 14:
30514 : if (!(
30515 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30516 : ((16 == 64 || TARGET_AVX512VL
30517 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30518 : && ix86_pre_reload_split ()
30519 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30520 : STRIP_UNARY (operands[4]))
30521 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30522 : STRIP_UNARY (operands[4]))
30523 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30524 : STRIP_UNARY (operands[3]))
30525 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30526 : STRIP_UNARY (operands[3])))) &&
30527 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30528 : ( 1)))
30529 : return NULL;
30530 : return gen_split_2142 (insn, operands);
30531 :
30532 : case 15:
30533 : if (!((
30534 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30535 : ((64 == 64 || TARGET_AVX512VL
30536 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30537 : && ix86_pre_reload_split ()
30538 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30539 : STRIP_UNARY (operands[4]))
30540 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30541 : STRIP_UNARY (operands[4]))
30542 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30543 : STRIP_UNARY (operands[3]))
30544 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30545 : STRIP_UNARY (operands[3])))) &&
30546 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30547 : (TARGET_AVX512F)) &&
30548 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30549 : ( 1)))
30550 : return NULL;
30551 : return gen_split_2169 (insn, operands);
30552 :
30553 : case 16:
30554 : if (!((
30555 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30556 : ((32 == 64 || TARGET_AVX512VL
30557 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30558 : && ix86_pre_reload_split ()
30559 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30560 : STRIP_UNARY (operands[4]))
30561 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30562 : STRIP_UNARY (operands[4]))
30563 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30564 : STRIP_UNARY (operands[3]))
30565 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30566 : STRIP_UNARY (operands[3])))) &&
30567 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30568 : (TARGET_AVX)) &&
30569 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30570 : ( 1)))
30571 : return NULL;
30572 : return gen_split_2196 (insn, operands);
30573 :
30574 : case 17:
30575 : if (!(
30576 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30577 : ((16 == 64 || TARGET_AVX512VL
30578 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30579 : && ix86_pre_reload_split ()
30580 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30581 : STRIP_UNARY (operands[4]))
30582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30583 : STRIP_UNARY (operands[4]))
30584 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30585 : STRIP_UNARY (operands[3]))
30586 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30587 : STRIP_UNARY (operands[3])))) &&
30588 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30589 : ( 1)))
30590 : return NULL;
30591 : return gen_split_2223 (insn, operands);
30592 :
30593 : case 18:
30594 : if (!((
30595 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30596 : ((64 == 64 || TARGET_AVX512VL
30597 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30598 : && ix86_pre_reload_split ()
30599 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30600 : STRIP_UNARY (operands[4]))
30601 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30602 : STRIP_UNARY (operands[4]))
30603 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30604 : STRIP_UNARY (operands[3]))
30605 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30606 : STRIP_UNARY (operands[3])))) &&
30607 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30608 : (TARGET_AVX512F)) &&
30609 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30610 : ( 1)))
30611 : return NULL;
30612 : return gen_split_2250 (insn, operands);
30613 :
30614 : case 19:
30615 : if (!((
30616 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30617 : ((32 == 64 || TARGET_AVX512VL
30618 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30619 : && ix86_pre_reload_split ()
30620 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30621 : STRIP_UNARY (operands[4]))
30622 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30623 : STRIP_UNARY (operands[4]))
30624 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30625 : STRIP_UNARY (operands[3]))
30626 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30627 : STRIP_UNARY (operands[3])))) &&
30628 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30629 : (TARGET_AVX)) &&
30630 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30631 : ( 1)))
30632 : return NULL;
30633 : return gen_split_2277 (insn, operands);
30634 :
30635 : case 20:
30636 : if (!(
30637 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30638 : ((16 == 64 || TARGET_AVX512VL
30639 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30640 : && ix86_pre_reload_split ()
30641 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30642 : STRIP_UNARY (operands[4]))
30643 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30644 : STRIP_UNARY (operands[4]))
30645 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30646 : STRIP_UNARY (operands[3]))
30647 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30648 : STRIP_UNARY (operands[3])))) &&
30649 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30650 : ( 1)))
30651 : return NULL;
30652 : return gen_split_2304 (insn, operands);
30653 :
30654 : case 21:
30655 : if (!((
30656 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30657 : ((64 == 64 || TARGET_AVX512VL
30658 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30659 : && ix86_pre_reload_split ()
30660 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30661 : STRIP_UNARY (operands[4]))
30662 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30663 : STRIP_UNARY (operands[4]))
30664 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30665 : STRIP_UNARY (operands[3]))
30666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30667 : STRIP_UNARY (operands[3])))) &&
30668 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30669 : (TARGET_AVX512F)) &&
30670 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30671 : ( 1)))
30672 : return NULL;
30673 : return gen_split_2331 (insn, operands);
30674 :
30675 : case 22:
30676 : if (!((
30677 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30678 : ((32 == 64 || TARGET_AVX512VL
30679 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30680 : && ix86_pre_reload_split ()
30681 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30682 : STRIP_UNARY (operands[4]))
30683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30684 : STRIP_UNARY (operands[4]))
30685 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30686 : STRIP_UNARY (operands[3]))
30687 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30688 : STRIP_UNARY (operands[3])))) &&
30689 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30690 : (TARGET_AVX)) &&
30691 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30692 : ( 1)))
30693 : return NULL;
30694 : return gen_split_2358 (insn, operands);
30695 :
30696 : case 23:
30697 : if (!((
30698 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30699 : ((16 == 64 || TARGET_AVX512VL
30700 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30701 : && ix86_pre_reload_split ()
30702 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30703 : STRIP_UNARY (operands[4]))
30704 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30705 : STRIP_UNARY (operands[4]))
30706 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30707 : STRIP_UNARY (operands[3]))
30708 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30709 : STRIP_UNARY (operands[3])))) &&
30710 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30711 : (TARGET_SSE2)) &&
30712 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30713 : ( 1)))
30714 : return NULL;
30715 : return gen_split_2385 (insn, operands);
30716 :
30717 : case 24:
30718 : if (!((
30719 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30720 : ((64 == 64 || TARGET_AVX512VL
30721 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30722 : && ix86_pre_reload_split ()
30723 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30724 : STRIP_UNARY (operands[4]))
30725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30726 : STRIP_UNARY (operands[4]))
30727 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30728 : STRIP_UNARY (operands[3]))
30729 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30730 : STRIP_UNARY (operands[3])))) &&
30731 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30732 : (TARGET_AVX512F)) &&
30733 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30734 : ( 1)))
30735 : return NULL;
30736 : return gen_split_2091 (insn, operands);
30737 :
30738 : case 25:
30739 : if (!((
30740 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30741 : ((32 == 64 || TARGET_AVX512VL
30742 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30743 : && ix86_pre_reload_split ()
30744 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30745 : STRIP_UNARY (operands[4]))
30746 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30747 : STRIP_UNARY (operands[4]))
30748 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30749 : STRIP_UNARY (operands[3]))
30750 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30751 : STRIP_UNARY (operands[3])))) &&
30752 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30753 : (TARGET_AVX)) &&
30754 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30755 : ( 1)))
30756 : return NULL;
30757 : return gen_split_2118 (insn, operands);
30758 :
30759 : case 26:
30760 : if (!(
30761 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30762 : ((16 == 64 || TARGET_AVX512VL
30763 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30764 : && ix86_pre_reload_split ()
30765 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30766 : STRIP_UNARY (operands[4]))
30767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30768 : STRIP_UNARY (operands[4]))
30769 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30770 : STRIP_UNARY (operands[3]))
30771 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30772 : STRIP_UNARY (operands[3])))) &&
30773 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30774 : ( 1)))
30775 : return NULL;
30776 : return gen_split_2145 (insn, operands);
30777 :
30778 : case 27:
30779 : if (!((
30780 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30781 : ((64 == 64 || TARGET_AVX512VL
30782 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30783 : && ix86_pre_reload_split ()
30784 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30785 : STRIP_UNARY (operands[4]))
30786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30787 : STRIP_UNARY (operands[4]))
30788 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30789 : STRIP_UNARY (operands[3]))
30790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30791 : STRIP_UNARY (operands[3])))) &&
30792 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30793 : (TARGET_AVX512F)) &&
30794 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30795 : ( 1)))
30796 : return NULL;
30797 : return gen_split_2172 (insn, operands);
30798 :
30799 : case 28:
30800 : if (!((
30801 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30802 : ((32 == 64 || TARGET_AVX512VL
30803 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30804 : && ix86_pre_reload_split ()
30805 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30806 : STRIP_UNARY (operands[4]))
30807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30808 : STRIP_UNARY (operands[4]))
30809 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30810 : STRIP_UNARY (operands[3]))
30811 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30812 : STRIP_UNARY (operands[3])))) &&
30813 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30814 : (TARGET_AVX)) &&
30815 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30816 : ( 1)))
30817 : return NULL;
30818 : return gen_split_2199 (insn, operands);
30819 :
30820 : case 29:
30821 : if (!(
30822 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30823 : ((16 == 64 || TARGET_AVX512VL
30824 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30825 : && ix86_pre_reload_split ()
30826 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30827 : STRIP_UNARY (operands[4]))
30828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30829 : STRIP_UNARY (operands[4]))
30830 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30831 : STRIP_UNARY (operands[3]))
30832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30833 : STRIP_UNARY (operands[3])))) &&
30834 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30835 : ( 1)))
30836 : return NULL;
30837 : return gen_split_2226 (insn, operands);
30838 :
30839 : case 30:
30840 : if (!((
30841 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30842 : ((64 == 64 || TARGET_AVX512VL
30843 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30844 : && ix86_pre_reload_split ()
30845 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30846 : STRIP_UNARY (operands[4]))
30847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30848 : STRIP_UNARY (operands[4]))
30849 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30850 : STRIP_UNARY (operands[3]))
30851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30852 : STRIP_UNARY (operands[3])))) &&
30853 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30854 : (TARGET_AVX512F)) &&
30855 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30856 : ( 1)))
30857 : return NULL;
30858 : return gen_split_2253 (insn, operands);
30859 :
30860 : case 31:
30861 : if (!((
30862 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30863 : ((32 == 64 || TARGET_AVX512VL
30864 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30865 : && ix86_pre_reload_split ()
30866 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30867 : STRIP_UNARY (operands[4]))
30868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30869 : STRIP_UNARY (operands[4]))
30870 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30871 : STRIP_UNARY (operands[3]))
30872 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30873 : STRIP_UNARY (operands[3])))) &&
30874 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30875 : (TARGET_AVX)) &&
30876 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30877 : ( 1)))
30878 : return NULL;
30879 : return gen_split_2280 (insn, operands);
30880 :
30881 : case 32:
30882 : if (!(
30883 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30884 : ((16 == 64 || TARGET_AVX512VL
30885 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30886 : && ix86_pre_reload_split ()
30887 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30888 : STRIP_UNARY (operands[4]))
30889 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30890 : STRIP_UNARY (operands[4]))
30891 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30892 : STRIP_UNARY (operands[3]))
30893 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30894 : STRIP_UNARY (operands[3])))) &&
30895 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30896 : ( 1)))
30897 : return NULL;
30898 : return gen_split_2307 (insn, operands);
30899 :
30900 : case 33:
30901 : if (!((
30902 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30903 : ((64 == 64 || TARGET_AVX512VL
30904 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30905 : && ix86_pre_reload_split ()
30906 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30907 : STRIP_UNARY (operands[4]))
30908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30909 : STRIP_UNARY (operands[4]))
30910 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30911 : STRIP_UNARY (operands[3]))
30912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30913 : STRIP_UNARY (operands[3])))) &&
30914 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30915 : (TARGET_AVX512F)) &&
30916 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30917 : ( 1)))
30918 : return NULL;
30919 : return gen_split_2334 (insn, operands);
30920 :
30921 : case 34:
30922 : if (!((
30923 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30924 : ((32 == 64 || TARGET_AVX512VL
30925 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30926 : && ix86_pre_reload_split ()
30927 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30928 : STRIP_UNARY (operands[4]))
30929 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30930 : STRIP_UNARY (operands[4]))
30931 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30932 : STRIP_UNARY (operands[3]))
30933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30934 : STRIP_UNARY (operands[3])))) &&
30935 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : (TARGET_AVX)) &&
30937 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30938 : ( 1)))
30939 : return NULL;
30940 : return gen_split_2361 (insn, operands);
30941 :
30942 : case 35:
30943 : if (!((
30944 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30945 : ((16 == 64 || TARGET_AVX512VL
30946 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30947 : && ix86_pre_reload_split ()
30948 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30949 : STRIP_UNARY (operands[4]))
30950 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30951 : STRIP_UNARY (operands[4]))
30952 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30953 : STRIP_UNARY (operands[3]))
30954 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30955 : STRIP_UNARY (operands[3])))) &&
30956 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30957 : (TARGET_SSE2)) &&
30958 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30959 : ( 1)))
30960 : return NULL;
30961 : return gen_split_2388 (insn, operands);
30962 :
30963 : case 36:
30964 : if (!((
30965 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30966 : ((64 == 64 || TARGET_AVX512VL
30967 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30968 : && ix86_pre_reload_split ()) &&
30969 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30970 : (TARGET_AVX512F)) &&
30971 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30972 : ( 1)))
30973 : return NULL;
30974 : return gen_split_3153 (insn, operands);
30975 :
30976 : case 37:
30977 : if (!((
30978 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30979 : ((32 == 64 || TARGET_AVX512VL
30980 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30981 : && ix86_pre_reload_split ()) &&
30982 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30983 : (TARGET_AVX)) &&
30984 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30985 : ( 1)))
30986 : return NULL;
30987 : return gen_split_3162 (insn, operands);
30988 :
30989 : case 38:
30990 : if (!(
30991 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30992 : ((16 == 64 || TARGET_AVX512VL
30993 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30994 : && ix86_pre_reload_split ()) &&
30995 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30996 : ( 1)))
30997 : return NULL;
30998 : return gen_split_3171 (insn, operands);
30999 :
31000 : case 39:
31001 : if (!((
31002 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31003 : ((64 == 64 || TARGET_AVX512VL
31004 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31005 : && ix86_pre_reload_split ()) &&
31006 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31007 : (TARGET_AVX512F)) &&
31008 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31009 : ( 1)))
31010 : return NULL;
31011 : return gen_split_3180 (insn, operands);
31012 :
31013 : case 40:
31014 : if (!((
31015 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31016 : ((32 == 64 || TARGET_AVX512VL
31017 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31018 : && ix86_pre_reload_split ()) &&
31019 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31020 : (TARGET_AVX)) &&
31021 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31022 : ( 1)))
31023 : return NULL;
31024 : return gen_split_3189 (insn, operands);
31025 :
31026 : case 41:
31027 : if (!(
31028 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31029 : ((16 == 64 || TARGET_AVX512VL
31030 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31031 : && ix86_pre_reload_split ()) &&
31032 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31033 : ( 1)))
31034 : return NULL;
31035 : return gen_split_3198 (insn, operands);
31036 :
31037 : case 42:
31038 : if (!((
31039 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31040 : ((64 == 64 || TARGET_AVX512VL
31041 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31042 : && ix86_pre_reload_split ()) &&
31043 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31044 : (TARGET_AVX512F)) &&
31045 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31046 : ( 1)))
31047 : return NULL;
31048 : return gen_split_3207 (insn, operands);
31049 :
31050 : case 43:
31051 : if (!((
31052 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31053 : ((32 == 64 || TARGET_AVX512VL
31054 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31055 : && ix86_pre_reload_split ()) &&
31056 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31057 : (TARGET_AVX)) &&
31058 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31059 : ( 1)))
31060 : return NULL;
31061 : return gen_split_3216 (insn, operands);
31062 :
31063 : case 44:
31064 : if (!(
31065 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31066 : ((16 == 64 || TARGET_AVX512VL
31067 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31068 : && ix86_pre_reload_split ()) &&
31069 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31070 : ( 1)))
31071 : return NULL;
31072 : return gen_split_3225 (insn, operands);
31073 :
31074 : case 45:
31075 : if (!((
31076 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31077 : ((64 == 64 || TARGET_AVX512VL
31078 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31079 : && ix86_pre_reload_split ()) &&
31080 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31081 : (TARGET_AVX512F)) &&
31082 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31083 : ( 1)))
31084 : return NULL;
31085 : return gen_split_3234 (insn, operands);
31086 :
31087 : case 46:
31088 : if (!((
31089 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31090 : ((32 == 64 || TARGET_AVX512VL
31091 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31092 : && ix86_pre_reload_split ()) &&
31093 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31094 : (TARGET_AVX)) &&
31095 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31096 : ( 1)))
31097 : return NULL;
31098 : return gen_split_3243 (insn, operands);
31099 :
31100 : case 47:
31101 : if (!((
31102 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31103 : ((16 == 64 || TARGET_AVX512VL
31104 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31105 : && ix86_pre_reload_split ()) &&
31106 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31107 : (TARGET_SSE2)) &&
31108 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31109 : ( 1)))
31110 : return NULL;
31111 : return gen_split_3252 (insn, operands);
31112 :
31113 : default:
31114 : return NULL;
31115 : }
31116 :
31117 : case AND:
31118 : switch (pattern542 (x2))
31119 : {
31120 : case 0:
31121 : if (!((
31122 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31123 : ((64 == 64 || TARGET_AVX512VL
31124 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31125 : && ix86_pre_reload_split ()
31126 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31127 : STRIP_UNARY (operands[4]))
31128 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31129 : STRIP_UNARY (operands[4]))
31130 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31131 : STRIP_UNARY (operands[3]))
31132 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31133 : STRIP_UNARY (operands[3])))) &&
31134 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31135 : (TARGET_AVX512F)) &&
31136 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31137 : ( 1)))
31138 : return NULL;
31139 : return gen_split_2733 (insn, operands);
31140 :
31141 : case 1:
31142 : if (!((
31143 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31144 : ((32 == 64 || TARGET_AVX512VL
31145 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31146 : && ix86_pre_reload_split ()
31147 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31148 : STRIP_UNARY (operands[4]))
31149 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31150 : STRIP_UNARY (operands[4]))
31151 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31152 : STRIP_UNARY (operands[3]))
31153 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31154 : STRIP_UNARY (operands[3])))) &&
31155 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31156 : (TARGET_AVX)) &&
31157 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31158 : ( 1)))
31159 : return NULL;
31160 : return gen_split_2760 (insn, operands);
31161 :
31162 : case 2:
31163 : if (!(
31164 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31165 : ((16 == 64 || TARGET_AVX512VL
31166 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31167 : && ix86_pre_reload_split ()
31168 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31169 : STRIP_UNARY (operands[4]))
31170 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31171 : STRIP_UNARY (operands[4]))
31172 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31173 : STRIP_UNARY (operands[3]))
31174 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31175 : STRIP_UNARY (operands[3])))) &&
31176 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31177 : ( 1)))
31178 : return NULL;
31179 : return gen_split_2787 (insn, operands);
31180 :
31181 : case 3:
31182 : if (!((
31183 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31184 : ((64 == 64 || TARGET_AVX512VL
31185 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31186 : && ix86_pre_reload_split ()
31187 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31188 : STRIP_UNARY (operands[4]))
31189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31190 : STRIP_UNARY (operands[4]))
31191 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31192 : STRIP_UNARY (operands[3]))
31193 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31194 : STRIP_UNARY (operands[3])))) &&
31195 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31196 : (TARGET_AVX512F)) &&
31197 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31198 : ( 1)))
31199 : return NULL;
31200 : return gen_split_2814 (insn, operands);
31201 :
31202 : case 4:
31203 : if (!((
31204 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31205 : ((32 == 64 || TARGET_AVX512VL
31206 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31207 : && ix86_pre_reload_split ()
31208 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31209 : STRIP_UNARY (operands[4]))
31210 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31211 : STRIP_UNARY (operands[4]))
31212 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31213 : STRIP_UNARY (operands[3]))
31214 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31215 : STRIP_UNARY (operands[3])))) &&
31216 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31217 : (TARGET_AVX)) &&
31218 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31219 : ( 1)))
31220 : return NULL;
31221 : return gen_split_2841 (insn, operands);
31222 :
31223 : case 5:
31224 : if (!(
31225 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31226 : ((16 == 64 || TARGET_AVX512VL
31227 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31228 : && ix86_pre_reload_split ()
31229 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31230 : STRIP_UNARY (operands[4]))
31231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31232 : STRIP_UNARY (operands[4]))
31233 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31234 : STRIP_UNARY (operands[3]))
31235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31236 : STRIP_UNARY (operands[3])))) &&
31237 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31238 : ( 1)))
31239 : return NULL;
31240 : return gen_split_2868 (insn, operands);
31241 :
31242 : case 6:
31243 : if (!((
31244 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31245 : ((64 == 64 || TARGET_AVX512VL
31246 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31247 : && ix86_pre_reload_split ()
31248 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31249 : STRIP_UNARY (operands[4]))
31250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31251 : STRIP_UNARY (operands[4]))
31252 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31253 : STRIP_UNARY (operands[3]))
31254 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31255 : STRIP_UNARY (operands[3])))) &&
31256 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31257 : (TARGET_AVX512F)) &&
31258 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31259 : ( 1)))
31260 : return NULL;
31261 : return gen_split_2895 (insn, operands);
31262 :
31263 : case 7:
31264 : if (!((
31265 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31266 : ((32 == 64 || TARGET_AVX512VL
31267 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31268 : && ix86_pre_reload_split ()
31269 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31270 : STRIP_UNARY (operands[4]))
31271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31272 : STRIP_UNARY (operands[4]))
31273 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31274 : STRIP_UNARY (operands[3]))
31275 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31276 : STRIP_UNARY (operands[3])))) &&
31277 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31278 : (TARGET_AVX)) &&
31279 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31280 : ( 1)))
31281 : return NULL;
31282 : return gen_split_2922 (insn, operands);
31283 :
31284 : case 8:
31285 : if (!(
31286 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31287 : ((16 == 64 || TARGET_AVX512VL
31288 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31289 : && ix86_pre_reload_split ()
31290 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31291 : STRIP_UNARY (operands[4]))
31292 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31293 : STRIP_UNARY (operands[4]))
31294 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31295 : STRIP_UNARY (operands[3]))
31296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31297 : STRIP_UNARY (operands[3])))) &&
31298 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31299 : ( 1)))
31300 : return NULL;
31301 : return gen_split_2949 (insn, operands);
31302 :
31303 : case 9:
31304 : if (!((
31305 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31306 : ((64 == 64 || TARGET_AVX512VL
31307 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31308 : && ix86_pre_reload_split ()
31309 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31310 : STRIP_UNARY (operands[4]))
31311 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31312 : STRIP_UNARY (operands[4]))
31313 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31314 : STRIP_UNARY (operands[3]))
31315 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31316 : STRIP_UNARY (operands[3])))) &&
31317 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31318 : (TARGET_AVX512F)) &&
31319 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31320 : ( 1)))
31321 : return NULL;
31322 : return gen_split_2976 (insn, operands);
31323 :
31324 : case 10:
31325 : if (!((
31326 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31327 : ((32 == 64 || TARGET_AVX512VL
31328 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31329 : && ix86_pre_reload_split ()
31330 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31331 : STRIP_UNARY (operands[4]))
31332 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31333 : STRIP_UNARY (operands[4]))
31334 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31335 : STRIP_UNARY (operands[3]))
31336 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31337 : STRIP_UNARY (operands[3])))) &&
31338 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31339 : (TARGET_AVX)) &&
31340 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31341 : ( 1)))
31342 : return NULL;
31343 : return gen_split_3003 (insn, operands);
31344 :
31345 : case 11:
31346 : if (!((
31347 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31348 : ((16 == 64 || TARGET_AVX512VL
31349 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31350 : && ix86_pre_reload_split ()
31351 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31352 : STRIP_UNARY (operands[4]))
31353 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31354 : STRIP_UNARY (operands[4]))
31355 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31356 : STRIP_UNARY (operands[3]))
31357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31358 : STRIP_UNARY (operands[3])))) &&
31359 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31360 : (TARGET_SSE2)) &&
31361 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31362 : ( 1)))
31363 : return NULL;
31364 : return gen_split_3030 (insn, operands);
31365 :
31366 : default:
31367 : return NULL;
31368 : }
31369 :
31370 : case IOR:
31371 : switch (pattern542 (x2))
31372 : {
31373 : case 0:
31374 : if (!((
31375 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31376 : ((64 == 64 || TARGET_AVX512VL
31377 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31378 : && ix86_pre_reload_split ()
31379 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31380 : STRIP_UNARY (operands[4]))
31381 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31382 : STRIP_UNARY (operands[4]))
31383 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31384 : STRIP_UNARY (operands[3]))
31385 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31386 : STRIP_UNARY (operands[3])))) &&
31387 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31388 : (TARGET_AVX512F)) &&
31389 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31390 : ( 1)))
31391 : return NULL;
31392 : return gen_split_2736 (insn, operands);
31393 :
31394 : case 1:
31395 : if (!((
31396 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31397 : ((32 == 64 || TARGET_AVX512VL
31398 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31399 : && ix86_pre_reload_split ()
31400 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31401 : STRIP_UNARY (operands[4]))
31402 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31403 : STRIP_UNARY (operands[4]))
31404 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31405 : STRIP_UNARY (operands[3]))
31406 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31407 : STRIP_UNARY (operands[3])))) &&
31408 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31409 : (TARGET_AVX)) &&
31410 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31411 : ( 1)))
31412 : return NULL;
31413 : return gen_split_2763 (insn, operands);
31414 :
31415 : case 2:
31416 : if (!(
31417 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31418 : ((16 == 64 || TARGET_AVX512VL
31419 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31420 : && ix86_pre_reload_split ()
31421 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31422 : STRIP_UNARY (operands[4]))
31423 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31424 : STRIP_UNARY (operands[4]))
31425 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31426 : STRIP_UNARY (operands[3]))
31427 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31428 : STRIP_UNARY (operands[3])))) &&
31429 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31430 : ( 1)))
31431 : return NULL;
31432 : return gen_split_2790 (insn, operands);
31433 :
31434 : case 3:
31435 : if (!((
31436 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31437 : ((64 == 64 || TARGET_AVX512VL
31438 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31439 : && ix86_pre_reload_split ()
31440 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31441 : STRIP_UNARY (operands[4]))
31442 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31443 : STRIP_UNARY (operands[4]))
31444 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31445 : STRIP_UNARY (operands[3]))
31446 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31447 : STRIP_UNARY (operands[3])))) &&
31448 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31449 : (TARGET_AVX512F)) &&
31450 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31451 : ( 1)))
31452 : return NULL;
31453 : return gen_split_2817 (insn, operands);
31454 :
31455 : case 4:
31456 : if (!((
31457 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31458 : ((32 == 64 || TARGET_AVX512VL
31459 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31460 : && ix86_pre_reload_split ()
31461 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31462 : STRIP_UNARY (operands[4]))
31463 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31464 : STRIP_UNARY (operands[4]))
31465 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31466 : STRIP_UNARY (operands[3]))
31467 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31468 : STRIP_UNARY (operands[3])))) &&
31469 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31470 : (TARGET_AVX)) &&
31471 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31472 : ( 1)))
31473 : return NULL;
31474 : return gen_split_2844 (insn, operands);
31475 :
31476 : case 5:
31477 : if (!(
31478 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31479 : ((16 == 64 || TARGET_AVX512VL
31480 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31481 : && ix86_pre_reload_split ()
31482 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31483 : STRIP_UNARY (operands[4]))
31484 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31485 : STRIP_UNARY (operands[4]))
31486 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31487 : STRIP_UNARY (operands[3]))
31488 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31489 : STRIP_UNARY (operands[3])))) &&
31490 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31491 : ( 1)))
31492 : return NULL;
31493 : return gen_split_2871 (insn, operands);
31494 :
31495 : case 6:
31496 : if (!((
31497 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31498 : ((64 == 64 || TARGET_AVX512VL
31499 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31500 : && ix86_pre_reload_split ()
31501 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31502 : STRIP_UNARY (operands[4]))
31503 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31504 : STRIP_UNARY (operands[4]))
31505 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31506 : STRIP_UNARY (operands[3]))
31507 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31508 : STRIP_UNARY (operands[3])))) &&
31509 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31510 : (TARGET_AVX512F)) &&
31511 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31512 : ( 1)))
31513 : return NULL;
31514 : return gen_split_2898 (insn, operands);
31515 :
31516 : case 7:
31517 : if (!((
31518 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31519 : ((32 == 64 || TARGET_AVX512VL
31520 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31521 : && ix86_pre_reload_split ()
31522 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31523 : STRIP_UNARY (operands[4]))
31524 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31525 : STRIP_UNARY (operands[4]))
31526 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31527 : STRIP_UNARY (operands[3]))
31528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31529 : STRIP_UNARY (operands[3])))) &&
31530 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31531 : (TARGET_AVX)) &&
31532 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31533 : ( 1)))
31534 : return NULL;
31535 : return gen_split_2925 (insn, operands);
31536 :
31537 : case 8:
31538 : if (!(
31539 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31540 : ((16 == 64 || TARGET_AVX512VL
31541 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31542 : && ix86_pre_reload_split ()
31543 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31544 : STRIP_UNARY (operands[4]))
31545 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31546 : STRIP_UNARY (operands[4]))
31547 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31548 : STRIP_UNARY (operands[3]))
31549 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31550 : STRIP_UNARY (operands[3])))) &&
31551 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31552 : ( 1)))
31553 : return NULL;
31554 : return gen_split_2952 (insn, operands);
31555 :
31556 : case 9:
31557 : if (!((
31558 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31559 : ((64 == 64 || TARGET_AVX512VL
31560 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31561 : && ix86_pre_reload_split ()
31562 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31563 : STRIP_UNARY (operands[4]))
31564 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31565 : STRIP_UNARY (operands[4]))
31566 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31567 : STRIP_UNARY (operands[3]))
31568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31569 : STRIP_UNARY (operands[3])))) &&
31570 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31571 : (TARGET_AVX512F)) &&
31572 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31573 : ( 1)))
31574 : return NULL;
31575 : return gen_split_2979 (insn, operands);
31576 :
31577 : case 10:
31578 : if (!((
31579 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31580 : ((32 == 64 || TARGET_AVX512VL
31581 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31582 : && ix86_pre_reload_split ()
31583 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31584 : STRIP_UNARY (operands[4]))
31585 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31586 : STRIP_UNARY (operands[4]))
31587 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31588 : STRIP_UNARY (operands[3]))
31589 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31590 : STRIP_UNARY (operands[3])))) &&
31591 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31592 : (TARGET_AVX)) &&
31593 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31594 : ( 1)))
31595 : return NULL;
31596 : return gen_split_3006 (insn, operands);
31597 :
31598 : case 11:
31599 : if (!((
31600 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31601 : ((16 == 64 || TARGET_AVX512VL
31602 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31603 : && ix86_pre_reload_split ()
31604 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31605 : STRIP_UNARY (operands[4]))
31606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31607 : STRIP_UNARY (operands[4]))
31608 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31609 : STRIP_UNARY (operands[3]))
31610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31611 : STRIP_UNARY (operands[3])))) &&
31612 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31613 : (TARGET_SSE2)) &&
31614 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31615 : ( 1)))
31616 : return NULL;
31617 : return gen_split_3033 (insn, operands);
31618 :
31619 : default:
31620 : return NULL;
31621 : }
31622 :
31623 : case XOR:
31624 : switch (pattern542 (x2))
31625 : {
31626 : case 0:
31627 : if (!((
31628 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31629 : ((64 == 64 || TARGET_AVX512VL
31630 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31631 : && ix86_pre_reload_split ()
31632 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31633 : STRIP_UNARY (operands[4]))
31634 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31635 : STRIP_UNARY (operands[4]))
31636 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31637 : STRIP_UNARY (operands[3]))
31638 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31639 : STRIP_UNARY (operands[3])))) &&
31640 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31641 : (TARGET_AVX512F)) &&
31642 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31643 : ( 1)))
31644 : return NULL;
31645 : return gen_split_2739 (insn, operands);
31646 :
31647 : case 1:
31648 : if (!((
31649 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31650 : ((32 == 64 || TARGET_AVX512VL
31651 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31652 : && ix86_pre_reload_split ()
31653 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31654 : STRIP_UNARY (operands[4]))
31655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31656 : STRIP_UNARY (operands[4]))
31657 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31658 : STRIP_UNARY (operands[3]))
31659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31660 : STRIP_UNARY (operands[3])))) &&
31661 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31662 : (TARGET_AVX)) &&
31663 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31664 : ( 1)))
31665 : return NULL;
31666 : return gen_split_2766 (insn, operands);
31667 :
31668 : case 2:
31669 : if (!(
31670 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31671 : ((16 == 64 || TARGET_AVX512VL
31672 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31673 : && ix86_pre_reload_split ()
31674 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31675 : STRIP_UNARY (operands[4]))
31676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31677 : STRIP_UNARY (operands[4]))
31678 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31679 : STRIP_UNARY (operands[3]))
31680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31681 : STRIP_UNARY (operands[3])))) &&
31682 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31683 : ( 1)))
31684 : return NULL;
31685 : return gen_split_2793 (insn, operands);
31686 :
31687 : case 3:
31688 : if (!((
31689 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31690 : ((64 == 64 || TARGET_AVX512VL
31691 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31692 : && ix86_pre_reload_split ()
31693 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31694 : STRIP_UNARY (operands[4]))
31695 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31696 : STRIP_UNARY (operands[4]))
31697 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31698 : STRIP_UNARY (operands[3]))
31699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31700 : STRIP_UNARY (operands[3])))) &&
31701 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31702 : (TARGET_AVX512F)) &&
31703 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31704 : ( 1)))
31705 : return NULL;
31706 : return gen_split_2820 (insn, operands);
31707 :
31708 : case 4:
31709 : if (!((
31710 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31711 : ((32 == 64 || TARGET_AVX512VL
31712 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31713 : && ix86_pre_reload_split ()
31714 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31715 : STRIP_UNARY (operands[4]))
31716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31717 : STRIP_UNARY (operands[4]))
31718 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31719 : STRIP_UNARY (operands[3]))
31720 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31721 : STRIP_UNARY (operands[3])))) &&
31722 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31723 : (TARGET_AVX)) &&
31724 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31725 : ( 1)))
31726 : return NULL;
31727 : return gen_split_2847 (insn, operands);
31728 :
31729 : case 5:
31730 : if (!(
31731 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31732 : ((16 == 64 || TARGET_AVX512VL
31733 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31734 : && ix86_pre_reload_split ()
31735 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31736 : STRIP_UNARY (operands[4]))
31737 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31738 : STRIP_UNARY (operands[4]))
31739 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31740 : STRIP_UNARY (operands[3]))
31741 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31742 : STRIP_UNARY (operands[3])))) &&
31743 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31744 : ( 1)))
31745 : return NULL;
31746 : return gen_split_2874 (insn, operands);
31747 :
31748 : case 6:
31749 : if (!((
31750 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31751 : ((64 == 64 || TARGET_AVX512VL
31752 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31753 : && ix86_pre_reload_split ()
31754 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31755 : STRIP_UNARY (operands[4]))
31756 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31757 : STRIP_UNARY (operands[4]))
31758 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31759 : STRIP_UNARY (operands[3]))
31760 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31761 : STRIP_UNARY (operands[3])))) &&
31762 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31763 : (TARGET_AVX512F)) &&
31764 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31765 : ( 1)))
31766 : return NULL;
31767 : return gen_split_2901 (insn, operands);
31768 :
31769 : case 7:
31770 : if (!((
31771 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31772 : ((32 == 64 || TARGET_AVX512VL
31773 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31774 : && ix86_pre_reload_split ()
31775 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31776 : STRIP_UNARY (operands[4]))
31777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31778 : STRIP_UNARY (operands[4]))
31779 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31780 : STRIP_UNARY (operands[3]))
31781 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31782 : STRIP_UNARY (operands[3])))) &&
31783 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31784 : (TARGET_AVX)) &&
31785 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31786 : ( 1)))
31787 : return NULL;
31788 : return gen_split_2928 (insn, operands);
31789 :
31790 : case 8:
31791 : if (!(
31792 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31793 : ((16 == 64 || TARGET_AVX512VL
31794 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31795 : && ix86_pre_reload_split ()
31796 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31797 : STRIP_UNARY (operands[4]))
31798 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31799 : STRIP_UNARY (operands[4]))
31800 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31801 : STRIP_UNARY (operands[3]))
31802 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31803 : STRIP_UNARY (operands[3])))) &&
31804 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31805 : ( 1)))
31806 : return NULL;
31807 : return gen_split_2955 (insn, operands);
31808 :
31809 : case 9:
31810 : if (!((
31811 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31812 : ((64 == 64 || TARGET_AVX512VL
31813 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31814 : && ix86_pre_reload_split ()
31815 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31816 : STRIP_UNARY (operands[4]))
31817 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31818 : STRIP_UNARY (operands[4]))
31819 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31820 : STRIP_UNARY (operands[3]))
31821 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31822 : STRIP_UNARY (operands[3])))) &&
31823 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31824 : (TARGET_AVX512F)) &&
31825 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31826 : ( 1)))
31827 : return NULL;
31828 : return gen_split_2982 (insn, operands);
31829 :
31830 : case 10:
31831 : if (!((
31832 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31833 : ((32 == 64 || TARGET_AVX512VL
31834 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31835 : && ix86_pre_reload_split ()
31836 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31837 : STRIP_UNARY (operands[4]))
31838 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31839 : STRIP_UNARY (operands[4]))
31840 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31841 : STRIP_UNARY (operands[3]))
31842 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31843 : STRIP_UNARY (operands[3])))) &&
31844 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31845 : (TARGET_AVX)) &&
31846 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31847 : ( 1)))
31848 : return NULL;
31849 : return gen_split_3009 (insn, operands);
31850 :
31851 : case 11:
31852 : if (!((
31853 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31854 : ((16 == 64 || TARGET_AVX512VL
31855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31856 : && ix86_pre_reload_split ()
31857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31858 : STRIP_UNARY (operands[4]))
31859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31860 : STRIP_UNARY (operands[4]))
31861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31862 : STRIP_UNARY (operands[3]))
31863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31864 : STRIP_UNARY (operands[3])))) &&
31865 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31866 : (TARGET_SSE2)) &&
31867 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31868 : ( 1)))
31869 : return NULL;
31870 : return gen_split_3036 (insn, operands);
31871 :
31872 : default:
31873 : return NULL;
31874 : }
31875 :
31876 : default:
31877 : return NULL;
31878 : }
31879 :
31880 : default:
31881 : return NULL;
31882 : }
31883 : }
|