Branch data Line data Source code
1 : : /* Generated automatically by the program `genrecog' from the target
2 : : machine description file. */
3 : :
4 : : #define IN_TARGET_CODE 1
5 : :
6 : : #include "config.h"
7 : : #include "system.h"
8 : : #include "coretypes.h"
9 : : #include "backend.h"
10 : : #include "predict.h"
11 : : #include "rtl.h"
12 : : #include "memmodel.h"
13 : : #include "tm_p.h"
14 : : #include "emit-rtl.h"
15 : : #include "insn-config.h"
16 : : #include "recog.h"
17 : : #include "output.h"
18 : : #include "flags.h"
19 : : #include "df.h"
20 : : #include "resource.h"
21 : : #include "diagnostic-core.h"
22 : : #include "reload.h"
23 : : #include "regs.h"
24 : : #include "tm-constrs.h"
25 : : #include "insn-recog.h"
26 : :
27 : :
28 : : /* `recog' contains a decision tree that recognizes whether the rtx
29 : : X0 is a valid instruction.
30 : :
31 : : recog returns -1 if the rtx is not valid. If the rtx is valid, recog
32 : : returns a nonnegative number which is the insn code number for the
33 : : pattern that matched. This is the same as the order in the machine
34 : : description of the entry that matched. This number can be used as an
35 : : index into `insn_data' and other tables.
36 : : The third parameter to recog is an optional pointer to an int. If
37 : : present, recog will accept a pattern if it matches except for missing
38 : : CLOBBER expressions at the end. In that case, the value pointed to by
39 : : the optional pointer will be set to the number of CLOBBERs that need
40 : : to be added (it should be initialized to zero by the caller). If it is set nonzero, the caller should allocate a PARALLEL of the
41 : : appropriate size, copy the initial entries, and call add_clobbers
42 : : (found in insn-emit.cc) to fill in the CLOBBERs.
43 : :
44 : : The function split_insns returns 0 if the rtl could not
45 : : be split or the split rtl as an INSN list if it can be.
46 : :
47 : : The function peephole2_insns returns 0 if the rtl could not
48 : : be matched. If there was a match, the new rtl is returned in an INSN list,
49 : : and LAST_INSN will point to the last recognized insn in the old sequence.
50 : : */
51 : :
52 : :
53 : :
54 : :
55 : : int
56 : 175943 : pattern8 (rtx x1, int *pnum_clobbers)
57 : : {
58 : 175943 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 175943 : rtx x2, x3, x4, x5, x6, x7;
60 : 175943 : int res ATTRIBUTE_UNUSED;
61 : 175943 : x2 = XEXP (x1, 0);
62 : 175943 : operands[0] = x2;
63 : 175943 : x3 = XEXP (x1, 1);
64 : 175943 : x4 = XEXP (x3, 0);
65 : 175943 : switch (GET_CODE (x4))
66 : : {
67 : 85251 : case REG:
68 : 85251 : case SUBREG:
69 : 85251 : case MEM:
70 : 85251 : operands[1] = x4;
71 : 85251 : x5 = XEXP (x3, 1);
72 : 85251 : operands[2] = x5;
73 : 85251 : switch (GET_MODE (operands[0]))
74 : : {
75 : 12 : case E_TImode:
76 : 12 : if (pnum_clobbers == NULL
77 : 12 : || pattern4 (x3,
78 : : E_TImode) != 0)
79 : 0 : return -1;
80 : : return 0;
81 : :
82 : 1592 : case E_QImode:
83 : 1592 : if (pnum_clobbers == NULL
84 : 1592 : || pattern4 (x3,
85 : : E_QImode) != 0)
86 : 173 : return -1;
87 : : return 1;
88 : :
89 : 193 : case E_HImode:
90 : 193 : if (pnum_clobbers == NULL
91 : 193 : || pattern4 (x3,
92 : : E_HImode) != 0)
93 : 92 : return -1;
94 : : return 2;
95 : :
96 : 167 : case E_V4HImode:
97 : 167 : if (pattern5 (x3,
98 : : E_V4HImode) != 0)
99 : : return -1;
100 : : return 3;
101 : :
102 : 0 : case E_V2SImode:
103 : 0 : if (pattern5 (x3,
104 : : E_V2SImode) != 0)
105 : : return -1;
106 : : return 4;
107 : :
108 : 314 : case E_V8QImode:
109 : 314 : if (pattern6 (x3,
110 : : E_V8QImode) != 0)
111 : : return -1;
112 : : return 5;
113 : :
114 : 254 : case E_V4QImode:
115 : 254 : if (pattern5 (x3,
116 : : E_V4QImode) != 0)
117 : : return -1;
118 : : return 6;
119 : :
120 : 62 : case E_V2QImode:
121 : 62 : if (pattern5 (x3,
122 : : E_V2QImode) != 0)
123 : : return -1;
124 : : return 7;
125 : :
126 : 44 : case E_V2HImode:
127 : 44 : if (pattern5 (x3,
128 : : E_V2HImode) != 0)
129 : : return -1;
130 : : return 8;
131 : :
132 : : default:
133 : : return -1;
134 : : }
135 : :
136 : 30648 : case PLUS:
137 : 30648 : if (pnum_clobbers == NULL
138 : 30648 : || GET_MODE (x4) != E_HImode
139 : 0 : || !register_operand (operands[0], E_HImode)
140 : 30648 : || GET_MODE (x3) != E_HImode)
141 : 30648 : return -1;
142 : 0 : x6 = XEXP (x4, 0);
143 : 0 : operands[1] = x6;
144 : 0 : if (!nonimmediate_operand (operands[1], E_HImode))
145 : : return -1;
146 : 0 : x7 = XEXP (x4, 1);
147 : 0 : operands[2] = x7;
148 : 0 : if (!general_operand (operands[2], E_HImode))
149 : : return -1;
150 : : return 9;
151 : :
152 : 9406 : case MINUS:
153 : 9406 : if (pnum_clobbers == NULL
154 : 9406 : || GET_MODE (x4) != E_HImode
155 : 4 : || !register_operand (operands[0], E_HImode)
156 : 9410 : || GET_MODE (x3) != E_HImode)
157 : 9402 : return -1;
158 : 4 : x6 = XEXP (x4, 0);
159 : 4 : operands[1] = x6;
160 : 4 : if (!nonimmediate_operand (operands[1], E_HImode))
161 : : return -1;
162 : 4 : x7 = XEXP (x4, 1);
163 : 4 : operands[2] = x7;
164 : 4 : if (!general_operand (operands[2], E_HImode))
165 : : return -1;
166 : 4 : x5 = XEXP (x3, 1);
167 : 4 : if (!rtx_equal_p (x5, operands[1]))
168 : : return -1;
169 : : return 10;
170 : :
171 : : default:
172 : : return -1;
173 : : }
174 : : }
175 : :
176 : : int
177 : 0 : pattern39 (rtx x1, machine_mode i1, machine_mode i2)
178 : : {
179 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
180 : 0 : rtx x2, x3, x4;
181 : 0 : int res ATTRIBUTE_UNUSED;
182 : 0 : x2 = XEXP (x1, 1);
183 : 0 : operands[3] = x2;
184 : 0 : if (!const_int_operand (operands[3], E_QImode))
185 : : return -1;
186 : 0 : x3 = XEXP (x1, 0);
187 : 0 : switch (GET_CODE (x3))
188 : : {
189 : 0 : case REG:
190 : 0 : case SUBREG:
191 : 0 : operands[2] = x3;
192 : 0 : if (!register_operand (operands[2], i1))
193 : : return -1;
194 : : return 0;
195 : :
196 : 0 : case SIGN_EXTEND:
197 : 0 : if (GET_MODE (x3) != i1)
198 : : return -1;
199 : 0 : x4 = XEXP (x3, 0);
200 : 0 : operands[2] = x4;
201 : 0 : if (!nonimmediate_operand (operands[2], i2))
202 : : return -1;
203 : : return 1;
204 : :
205 : 0 : case ZERO_EXTEND:
206 : 0 : if (GET_MODE (x3) != i1)
207 : : return -1;
208 : 0 : x4 = XEXP (x3, 0);
209 : 0 : operands[2] = x4;
210 : 0 : if (!nonimmediate_operand (operands[2], i2))
211 : : return -1;
212 : : return 2;
213 : :
214 : : default:
215 : : return -1;
216 : : }
217 : : }
218 : :
219 : : int
220 : 161 : pattern41 (rtx x1)
221 : : {
222 : 161 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
223 : 161 : int res ATTRIBUTE_UNUSED;
224 : 161 : switch (GET_MODE (operands[0]))
225 : : {
226 : 82 : case E_QImode:
227 : 82 : if (!register_operand (operands[0], E_QImode)
228 : 82 : || GET_MODE (x1) != E_QImode
229 : 164 : || !register_operand (operands[1], E_QImode))
230 : 44 : return -1;
231 : : return 0;
232 : :
233 : 79 : case E_HImode:
234 : 79 : if (!register_operand (operands[0], E_HImode)
235 : 79 : || GET_MODE (x1) != E_HImode
236 : 158 : || !register_operand (operands[1], E_HImode))
237 : 0 : return -1;
238 : : return 1;
239 : :
240 : : default:
241 : : return -1;
242 : : }
243 : : }
244 : :
245 : : int
246 : 513515 : pattern45 (rtx x1)
247 : : {
248 : 513515 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
249 : 513515 : rtx x2, x3, x4, x5;
250 : 513515 : int res ATTRIBUTE_UNUSED;
251 : 513515 : x2 = XEXP (x1, 1);
252 : 513515 : if (GET_MODE (x2) != E_CCCmode)
253 : : return -1;
254 : 0 : x3 = XEXP (x2, 0);
255 : 0 : if (GET_CODE (x3) != REG
256 : 0 : || REGNO (x3) != 17)
257 : : return -1;
258 : 0 : x4 = XEXP (x2, 1);
259 : 0 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
260 : : return -1;
261 : 0 : x5 = XEXP (x1, 0);
262 : 0 : if (GET_CODE (x5) != REG
263 : 0 : || REGNO (x5) != 17
264 : 0 : || GET_MODE (x5) != E_CCCmode)
265 : : return -1;
266 : 0 : switch (GET_MODE (x3))
267 : : {
268 : : case E_CCmode:
269 : : return 0;
270 : :
271 : 0 : case E_CCCmode:
272 : 0 : return 1;
273 : :
274 : : default:
275 : : return -1;
276 : : }
277 : : }
278 : :
279 : : int
280 : 8857 : pattern54 (rtx x1)
281 : : {
282 : 8857 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
283 : 8857 : rtx x2, x3;
284 : 8857 : int res ATTRIBUTE_UNUSED;
285 : 8857 : x2 = XEXP (x1, 0);
286 : 8857 : operands[1] = x2;
287 : 8857 : x3 = XEXP (x1, 1);
288 : 8857 : operands[2] = x3;
289 : 8857 : switch (GET_MODE (operands[0]))
290 : : {
291 : 377 : case E_V64QImode:
292 : 377 : return pattern26 (x1,
293 : 377 : E_V64QImode); /* [-1, 0] */
294 : :
295 : 618 : case E_V32QImode:
296 : 618 : if (pattern26 (x1,
297 : : E_V32QImode) != 0)
298 : : return -1;
299 : : return 1;
300 : :
301 : 2016 : case E_V16QImode:
302 : 2016 : if (pattern26 (x1,
303 : : E_V16QImode) != 0)
304 : : return -1;
305 : : return 2;
306 : :
307 : 357 : case E_V32HImode:
308 : 357 : if (pattern26 (x1,
309 : : E_V32HImode) != 0)
310 : : return -1;
311 : : return 3;
312 : :
313 : 593 : case E_V16HImode:
314 : 593 : if (pattern26 (x1,
315 : : E_V16HImode) != 0)
316 : : return -1;
317 : : return 4;
318 : :
319 : 4665 : case E_V8HImode:
320 : 4665 : if (pattern26 (x1,
321 : : E_V8HImode) != 0)
322 : : return -1;
323 : : return 5;
324 : :
325 : : default:
326 : : return -1;
327 : : }
328 : : }
329 : :
330 : : int
331 : 298 : pattern63 (rtx x1, int *pnum_clobbers)
332 : : {
333 : 298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
334 : 298 : rtx x2, x3, x4;
335 : 298 : int res ATTRIBUTE_UNUSED;
336 : 298 : if (pnum_clobbers == NULL)
337 : : return -1;
338 : 298 : x2 = XEXP (x1, 1);
339 : 298 : if (GET_MODE (x2) != E_HImode)
340 : : return -1;
341 : 0 : x3 = XEXP (x1, 0);
342 : 0 : operands[0] = x3;
343 : 0 : if (!nonimmediate_operand (operands[0], E_HImode))
344 : : return -1;
345 : 0 : x4 = XVECEXP (x2, 0, 0);
346 : 0 : operands[1] = x4;
347 : 0 : if (!register_operand (operands[1], E_XFmode))
348 : : return -1;
349 : : return 0;
350 : : }
351 : :
352 : : int
353 : 1613 : pattern69 (rtx x1)
354 : : {
355 : 1613 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
356 : 1613 : rtx x2, x3, x4, x5;
357 : 1613 : int res ATTRIBUTE_UNUSED;
358 : 1613 : x2 = XEXP (x1, 1);
359 : 1613 : if (GET_MODE (x2) != E_CCmode)
360 : : return -1;
361 : 1613 : x3 = XEXP (x1, 0);
362 : 1613 : if (GET_CODE (x3) != REG
363 : 1613 : || REGNO (x3) != 17
364 : 3225 : || GET_MODE (x3) != E_CCmode)
365 : : return -1;
366 : 1612 : x4 = XVECEXP (x2, 0, 0);
367 : 1612 : operands[0] = x4;
368 : 1612 : x5 = XVECEXP (x2, 0, 1);
369 : 1612 : operands[1] = x5;
370 : 1612 : return 0;
371 : : }
372 : :
373 : : int
374 : 56 : pattern72 (rtx x1)
375 : : {
376 : 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
377 : 56 : rtx x2;
378 : 56 : int res ATTRIBUTE_UNUSED;
379 : 56 : if (!register_operand (operands[0], E_HImode)
380 : 56 : || GET_MODE (x1) != E_HImode)
381 : : return -1;
382 : 56 : x2 = XVECEXP (x1, 0, 0);
383 : 56 : switch (GET_MODE (x2))
384 : : {
385 : 28 : case E_V16QImode:
386 : 28 : if (!vector_operand (operands[1], E_V16QImode)
387 : 28 : || !vector_operand (operands[2], E_V16QImode)
388 : 56 : || !const0_operand (operands[3], E_V16QImode))
389 : 14 : return -1;
390 : : return 0;
391 : :
392 : 28 : case E_V16HImode:
393 : 28 : if (!vector_operand (operands[1], E_V16HImode)
394 : 28 : || !vector_operand (operands[2], E_V16HImode)
395 : 56 : || !const0_operand (operands[3], E_V16HImode))
396 : 14 : return -1;
397 : : return 1;
398 : :
399 : : default:
400 : : return -1;
401 : : }
402 : : }
403 : :
404 : : int
405 : 1509348 : pattern84 (rtx x1)
406 : : {
407 : 1509348 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
408 : 1509348 : rtx x2, x3, x4;
409 : 1509348 : int res ATTRIBUTE_UNUSED;
410 : 1509348 : if (!nonimmediate_operand (operands[1], E_QImode))
411 : : return -1;
412 : 165339 : x2 = XEXP (x1, 0);
413 : 165339 : operands[0] = x2;
414 : 165339 : if (!nonimmediate_operand (operands[0], E_QImode))
415 : : return -1;
416 : 165143 : x3 = XEXP (x1, 1);
417 : 165143 : if (GET_MODE (x3) != E_QImode)
418 : : return -1;
419 : 165143 : x4 = XEXP (x3, 1);
420 : 165143 : operands[2] = x4;
421 : 165143 : if (!general_operand (operands[2], E_QImode))
422 : : return -1;
423 : : return 0;
424 : : }
425 : :
426 : : int
427 : 11140 : pattern91 (rtx x1, machine_mode i1, machine_mode i2)
428 : : {
429 : 11140 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
430 : 11140 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
431 : 11140 : rtx x10;
432 : 11140 : int res ATTRIBUTE_UNUSED;
433 : 11140 : x2 = XEXP (x1, 0);
434 : 11140 : x3 = XEXP (x2, 0);
435 : 11140 : x4 = XEXP (x3, 0);
436 : 11140 : x5 = XEXP (x4, 0);
437 : 11140 : operands[2] = x5;
438 : 11140 : if (!nonimmediate_operand (operands[2], i2))
439 : : return -1;
440 : 11120 : x6 = XEXP (x3, 1);
441 : 11120 : operands[3] = x6;
442 : 11120 : if (!const_int_operand (operands[3], E_QImode))
443 : : return -1;
444 : 11120 : x7 = XEXP (x2, 1);
445 : 11120 : x8 = XEXP (x7, 0);
446 : 11120 : operands[4] = x8;
447 : 11120 : if (!nonimmediate_operand (operands[4], i2))
448 : : return -1;
449 : 11109 : x9 = XEXP (x1, 1);
450 : 11109 : switch (GET_CODE (x9))
451 : : {
452 : 2077 : case REG:
453 : 2077 : case SUBREG:
454 : 2077 : operands[1] = x9;
455 : 2077 : if (!register_operand (operands[1], i1))
456 : : return -1;
457 : : return 0;
458 : :
459 : 14 : case ZERO_EXTEND:
460 : 14 : if (GET_MODE (x9) != i1)
461 : : return -1;
462 : 14 : x10 = XEXP (x9, 0);
463 : 14 : operands[1] = x10;
464 : 14 : if (!nonimmediate_operand (operands[1], i2))
465 : : return -1;
466 : : return 1;
467 : :
468 : : default:
469 : : return -1;
470 : : }
471 : : }
472 : :
473 : : int
474 : 738 : pattern104 (rtx x1, machine_mode i1)
475 : : {
476 : 738 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
477 : 738 : rtx x2;
478 : 738 : int res ATTRIBUTE_UNUSED;
479 : 738 : if (!memory_operand (operands[0], i1)
480 : 738 : || GET_MODE (x1) != i1)
481 : : return -1;
482 : 738 : x2 = XEXP (x1, 0);
483 : 738 : if (GET_MODE (x2) != i1
484 : 738 : || !register_operand (operands[1], E_V2DImode))
485 : 0 : return -1;
486 : : return 0;
487 : : }
488 : :
489 : : int
490 : 38890 : pattern109 (rtx x1, int *pnum_clobbers)
491 : : {
492 : 38890 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
493 : 38890 : rtx x2, x3, x4, x5;
494 : 38890 : int res ATTRIBUTE_UNUSED;
495 : 38890 : if (pnum_clobbers == NULL)
496 : : return -1;
497 : 38890 : x2 = XEXP (x1, 0);
498 : 38890 : if (GET_MODE (x2) != E_DImode)
499 : : return -1;
500 : 6370 : x3 = XEXP (x2, 0);
501 : 6370 : if (GET_CODE (x3) != ASHIFT
502 : 290 : || GET_MODE (x3) != E_DImode)
503 : : return -1;
504 : 290 : x4 = XEXP (x3, 0);
505 : 290 : if (GET_CODE (x4) != ZERO_EXTEND
506 : 30 : || GET_MODE (x4) != E_DImode)
507 : : return -1;
508 : 30 : x5 = XEXP (x2, 1);
509 : 30 : if (GET_CODE (x5) != ZERO_EXTEND
510 : 16 : || GET_MODE (x5) != E_DImode)
511 : : return -1;
512 : 16 : return pattern92 (x1,
513 : : E_DImode,
514 : 16 : E_SImode); /* [-1, 1] */
515 : : }
516 : :
517 : : int
518 : 82219 : pattern118 (rtx x1)
519 : : {
520 : 82219 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
521 : 82219 : rtx x2, x3, x4;
522 : 82219 : int res ATTRIBUTE_UNUSED;
523 : 82219 : x2 = XEXP (x1, 0);
524 : 82219 : if (maybe_ne (SUBREG_BYTE (x2), 0)
525 : 82219 : || GET_MODE (x2) != E_HImode)
526 : : return -1;
527 : 6202 : x3 = XEXP (x2, 0);
528 : 6202 : if (GET_CODE (x3) != UNSPEC
529 : 6 : || XVECLEN (x3, 0) != 1
530 : 6 : || XINT (x3, 1) != 50
531 : 6 : || GET_MODE (x3) != E_SImode
532 : 6 : || !register_operand (operands[0], E_SImode)
533 : 6208 : || GET_MODE (x1) != E_SImode)
534 : 6196 : return -1;
535 : 6 : x4 = XVECEXP (x3, 0, 0);
536 : 6 : operands[1] = x4;
537 : 6 : if (!register_operand (operands[1], E_V16QImode))
538 : : return -1;
539 : : return 0;
540 : : }
541 : :
542 : : int
543 : 212496 : pattern125 (rtx x1, int *pnum_clobbers)
544 : : {
545 : 212496 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
546 : 212496 : rtx x2;
547 : 212496 : int res ATTRIBUTE_UNUSED;
548 : 212496 : if (pnum_clobbers == NULL)
549 : : return -1;
550 : 212496 : x2 = XEXP (x1, 0);
551 : 212496 : if (GET_MODE (x2) != E_DImode
552 : 212496 : || pattern43 (x1,
553 : : E_SImode,
554 : : E_DImode) != 0)
555 : 82195 : return -1;
556 : : return 0;
557 : : }
558 : :
559 : : int
560 : 2947 : pattern129 (rtx x1)
561 : : {
562 : 2947 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
563 : 2947 : rtx x2, x3, x4;
564 : 2947 : int res ATTRIBUTE_UNUSED;
565 : 2947 : x2 = XEXP (x1, 0);
566 : 2947 : operands[0] = x2;
567 : 2947 : x3 = XEXP (x1, 1);
568 : 2947 : x4 = XVECEXP (x3, 0, 0);
569 : 2947 : operands[1] = x4;
570 : 2947 : switch (GET_MODE (operands[0]))
571 : : {
572 : 366 : case E_SImode:
573 : 366 : return pattern128 (x3,
574 : 366 : E_SImode); /* [-1, 2] */
575 : :
576 : 400 : case E_DImode:
577 : 400 : res = pattern128 (x3,
578 : : E_DImode);
579 : 400 : if (res >= 0)
580 : 370 : return res + 3; /* [3, 5] */
581 : : return -1;
582 : :
583 : : default:
584 : : return -1;
585 : : }
586 : : }
587 : :
588 : : int
589 : 32001 : pattern134 (rtx x1, machine_mode i1, machine_mode i2)
590 : : {
591 : 32001 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
592 : 32001 : rtx x2;
593 : 32001 : int res ATTRIBUTE_UNUSED;
594 : 32001 : if (!register_operand (operands[0], i1)
595 : 32001 : || GET_MODE (x1) != i1)
596 : : return -1;
597 : 30723 : x2 = XEXP (x1, 0);
598 : 30723 : if (GET_MODE (x2) != i1
599 : 30723 : || !nonimmediate_operand (operands[1], i1)
600 : 24168 : || !nonimmediate_operand (operands[2], i1)
601 : 22982 : || !nonimm_or_0_operand (operands[3], i1)
602 : 52860 : || !register_operand (operands[4], i2))
603 : 9166 : return -1;
604 : : return 0;
605 : : }
606 : :
607 : : int
608 : 7232 : pattern146 (rtx x1)
609 : : {
610 : 7232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
611 : 7232 : rtx x2, x3, x4, x5;
612 : 7232 : int res ATTRIBUTE_UNUSED;
613 : 7232 : x2 = XEXP (x1, 0);
614 : 7232 : x3 = XEXP (x2, 0);
615 : 7232 : operands[1] = x3;
616 : 7232 : x4 = XEXP (x1, 1);
617 : 7232 : operands[2] = x4;
618 : 7232 : x5 = XEXP (x1, 2);
619 : 7232 : operands[3] = x5;
620 : 7232 : switch (GET_MODE (operands[0]))
621 : : {
622 : 1728 : case E_V16QImode:
623 : 1728 : if (!nonimmediate_operand (operands[0], E_V16QImode)
624 : 1728 : || GET_MODE (x1) != E_V16QImode
625 : 1728 : || GET_MODE (x2) != E_V16QImode
626 : 1728 : || !nonimm_or_0_operand (operands[2], E_V16QImode)
627 : 3450 : || !register_operand (operands[3], E_HImode))
628 : 54 : return -1;
629 : 1674 : switch (GET_MODE (operands[1]))
630 : : {
631 : 837 : case E_V16SImode:
632 : 837 : if (!register_operand (operands[1], E_V16SImode))
633 : : return -1;
634 : : return 0;
635 : :
636 : 837 : case E_V16HImode:
637 : 837 : if (!register_operand (operands[1], E_V16HImode))
638 : : return -1;
639 : : return 1;
640 : :
641 : : default:
642 : : return -1;
643 : : }
644 : :
645 : 954 : case E_V16HImode:
646 : 954 : if (pattern145 (x1,
647 : : E_V16HImode,
648 : : E_HImode,
649 : : E_V16SImode) != 0)
650 : : return -1;
651 : : return 2;
652 : :
653 : 927 : case E_V8SImode:
654 : 927 : if (pattern145 (x1,
655 : : E_V8SImode,
656 : : E_QImode,
657 : : E_V8DImode) != 0)
658 : : return -1;
659 : : return 3;
660 : :
661 : 1688 : case E_V8HImode:
662 : 1688 : if (!nonimmediate_operand (operands[0], E_V8HImode)
663 : 1688 : || GET_MODE (x1) != E_V8HImode
664 : 1688 : || GET_MODE (x2) != E_V8HImode
665 : 1688 : || !nonimm_or_0_operand (operands[2], E_V8HImode)
666 : 3370 : || !register_operand (operands[3], E_QImode))
667 : 54 : return -1;
668 : 1634 : switch (GET_MODE (operands[1]))
669 : : {
670 : 817 : case E_V8DImode:
671 : 817 : if (!register_operand (operands[1], E_V8DImode))
672 : : return -1;
673 : : return 4;
674 : :
675 : 817 : case E_V8SImode:
676 : 817 : if (!register_operand (operands[1], E_V8SImode))
677 : : return -1;
678 : : return 5;
679 : :
680 : : default:
681 : : return -1;
682 : : }
683 : :
684 : 951 : case E_V32QImode:
685 : 951 : if (pattern145 (x1,
686 : : E_V32QImode,
687 : : E_SImode,
688 : : E_V32HImode) != 0)
689 : : return -1;
690 : : return 6;
691 : :
692 : 814 : case E_V4SImode:
693 : 814 : if (pattern145 (x1,
694 : : E_V4SImode,
695 : : E_QImode,
696 : : E_V4DImode) != 0)
697 : : return -1;
698 : : return 7;
699 : :
700 : : default:
701 : : return -1;
702 : : }
703 : : }
704 : :
705 : : int
706 : 168 : pattern164 (rtx x1, machine_mode i1, machine_mode i2)
707 : : {
708 : 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
709 : 168 : rtx x2, x3, x4, x5;
710 : 168 : int res ATTRIBUTE_UNUSED;
711 : 168 : x2 = XEXP (x1, 1);
712 : 168 : if (GET_MODE (x2) != i2)
713 : : return -1;
714 : 168 : x3 = XEXP (x1, 0);
715 : 168 : operands[0] = x3;
716 : 168 : if (!register_operand (operands[0], i2))
717 : : return -1;
718 : 163 : x4 = XVECEXP (x2, 0, 0);
719 : 163 : operands[1] = x4;
720 : 163 : if (!register_operand (operands[1], i2))
721 : : return -1;
722 : 150 : x5 = XVECEXP (x2, 0, 1);
723 : 150 : operands[2] = x5;
724 : 150 : if (!register_operand (operands[2], i1))
725 : : return -1;
726 : : return 0;
727 : : }
728 : :
729 : : int
730 : 752 : pattern170 (rtx x1)
731 : : {
732 : 752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
733 : 752 : rtx x2, x3, x4, x5;
734 : 752 : int res ATTRIBUTE_UNUSED;
735 : 752 : x2 = XEXP (x1, 0);
736 : 752 : operands[0] = x2;
737 : 752 : x3 = XEXP (x1, 1);
738 : 752 : x4 = XVECEXP (x3, 0, 0);
739 : 752 : operands[1] = x4;
740 : 752 : x5 = XVECEXP (x3, 0, 1);
741 : 752 : operands[2] = x5;
742 : 752 : switch (GET_MODE (operands[0]))
743 : : {
744 : 252 : case E_V64QImode:
745 : 252 : return pattern169 (x3,
746 : : E_V64QImode,
747 : 252 : E_V32HFmode); /* [-1, 0] */
748 : :
749 : 252 : case E_V32QImode:
750 : 252 : if (pattern169 (x3,
751 : : E_V32QImode,
752 : : E_V16HFmode) != 0)
753 : : return -1;
754 : : return 1;
755 : :
756 : 248 : case E_V16QImode:
757 : 248 : if (pattern169 (x3,
758 : : E_V16QImode,
759 : : E_V8HFmode) != 0)
760 : : return -1;
761 : : return 2;
762 : :
763 : : default:
764 : : return -1;
765 : : }
766 : : }
767 : :
768 : : int
769 : 946 : pattern179 (rtx x1)
770 : : {
771 : 946 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
772 : 946 : rtx x2, x3, x4, x5, x6;
773 : 946 : int res ATTRIBUTE_UNUSED;
774 : 946 : x2 = XEXP (x1, 0);
775 : 946 : operands[0] = x2;
776 : 946 : x3 = XEXP (x1, 1);
777 : 946 : x4 = XVECEXP (x3, 0, 0);
778 : 946 : operands[1] = x4;
779 : 946 : x5 = XVECEXP (x3, 0, 1);
780 : 946 : operands[2] = x5;
781 : 946 : x6 = XVECEXP (x3, 0, 2);
782 : 946 : operands[3] = x6;
783 : 946 : switch (GET_MODE (operands[0]))
784 : : {
785 : 204 : case E_V8DImode:
786 : 204 : return pattern178 (x3,
787 : 204 : E_V8DImode); /* [-1, 0] */
788 : :
789 : 381 : case E_V4DImode:
790 : 381 : if (pattern178 (x3,
791 : : E_V4DImode) != 0)
792 : : return -1;
793 : : return 1;
794 : :
795 : 361 : case E_V2DImode:
796 : 361 : if (pattern178 (x3,
797 : : E_V2DImode) != 0)
798 : : return -1;
799 : : return 2;
800 : :
801 : : default:
802 : : return -1;
803 : : }
804 : : }
805 : :
806 : : int
807 : 1752 : pattern186 (rtx x1)
808 : : {
809 : 1752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
810 : 1752 : rtx x2, x3, x4;
811 : 1752 : int res ATTRIBUTE_UNUSED;
812 : 1752 : x2 = XEXP (x1, 0);
813 : 1752 : x3 = XEXP (x2, 0);
814 : 1752 : operands[1] = x3;
815 : 1752 : x4 = XEXP (x1, 1);
816 : 1752 : operands[2] = x4;
817 : 1752 : switch (GET_MODE (operands[0]))
818 : : {
819 : 410 : case E_V8HFmode:
820 : 410 : if (!register_operand (operands[0], E_V8HFmode)
821 : 410 : || GET_MODE (x1) != E_V8HFmode)
822 : : return -1;
823 : 388 : switch (GET_MODE (x2))
824 : : {
825 : 268 : case E_V4HFmode:
826 : 268 : if (!const0_operand (operands[2], E_V4HFmode))
827 : : return -1;
828 : 268 : switch (GET_MODE (operands[1]))
829 : : {
830 : 148 : case E_V4SImode:
831 : 148 : if (!vector_operand (operands[1], E_V4SImode))
832 : : return -1;
833 : : return 0;
834 : :
835 : 120 : case E_V4DImode:
836 : 120 : if (!vector_operand (operands[1], E_V4DImode))
837 : : return -1;
838 : : return 1;
839 : :
840 : : default:
841 : : return -1;
842 : : }
843 : :
844 : 120 : case E_V2HFmode:
845 : 120 : if (!vector_operand (operands[1], E_V2DImode)
846 : 120 : || !const0_operand (operands[2], E_V6HFmode))
847 : 2 : return -1;
848 : : return 2;
849 : :
850 : : default:
851 : : return -1;
852 : : }
853 : :
854 : 286 : case E_V4SFmode:
855 : 286 : if (pattern185 (x1,
856 : : E_V2SFmode,
857 : : E_V2DImode,
858 : : E_V4SFmode) != 0)
859 : : return -1;
860 : : return 3;
861 : :
862 : : default:
863 : : return -1;
864 : : }
865 : : }
866 : :
867 : : int
868 : 16591 : pattern199 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
869 : : {
870 : 16591 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
871 : 16591 : rtx x2, x3, x4, x5;
872 : 16591 : int res ATTRIBUTE_UNUSED;
873 : 16591 : if (!register_operand (operands[0], i3)
874 : 16591 : || GET_MODE (x1) != i3)
875 : : return -1;
876 : 16549 : x2 = XEXP (x1, 0);
877 : 16549 : if (GET_MODE (x2) != i3)
878 : : return -1;
879 : 16549 : x3 = XEXP (x2, 0);
880 : 16549 : if (GET_MODE (x3) != i2
881 : 16549 : || !nonimmediate_operand (operands[1], i1))
882 : 2311 : return -1;
883 : 14238 : x4 = XEXP (x1, 1);
884 : 14238 : if (GET_MODE (x4) != i3)
885 : : return -1;
886 : 14238 : x5 = XEXP (x4, 0);
887 : 14238 : if (GET_MODE (x5) != i2
888 : 14238 : || !nonimmediate_operand (operands[2], i1))
889 : 348 : return -1;
890 : : return 0;
891 : : }
892 : :
893 : : int
894 : 6361796 : pattern203 ()
895 : : {
896 : 6361796 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
897 : 6361796 : int res ATTRIBUTE_UNUSED;
898 : 6361796 : switch (GET_MODE (operands[0]))
899 : : {
900 : 46 : case E_V32HFmode:
901 : 46 : if (!register_operand (operands[0], E_V32HFmode)
902 : 46 : || !ternlog_operand (operands[1], E_V32HFmode))
903 : 24 : return -1;
904 : : return 0;
905 : :
906 : 47 : case E_V16HFmode:
907 : 47 : if (!register_operand (operands[0], E_V16HFmode)
908 : 47 : || !ternlog_operand (operands[1], E_V16HFmode))
909 : 22 : return -1;
910 : : return 1;
911 : :
912 : 681 : case E_V8HFmode:
913 : 681 : if (!register_operand (operands[0], E_V8HFmode)
914 : 681 : || !ternlog_operand (operands[1], E_V8HFmode))
915 : 532 : return -1;
916 : : return 2;
917 : :
918 : 4 : case E_V32BFmode:
919 : 4 : if (!register_operand (operands[0], E_V32BFmode)
920 : 4 : || !ternlog_operand (operands[1], E_V32BFmode))
921 : 4 : return -1;
922 : : return 3;
923 : :
924 : 4 : case E_V16BFmode:
925 : 4 : if (!register_operand (operands[0], E_V16BFmode)
926 : 4 : || !ternlog_operand (operands[1], E_V16BFmode))
927 : 4 : return -1;
928 : : return 4;
929 : :
930 : 4 : case E_V8BFmode:
931 : 4 : if (!register_operand (operands[0], E_V8BFmode)
932 : 4 : || !ternlog_operand (operands[1], E_V8BFmode))
933 : 4 : return -1;
934 : : return 5;
935 : :
936 : 370 : case E_V16SFmode:
937 : 370 : if (!register_operand (operands[0], E_V16SFmode)
938 : 370 : || !ternlog_operand (operands[1], E_V16SFmode))
939 : 316 : return -1;
940 : : return 6;
941 : :
942 : 1383 : case E_V8SFmode:
943 : 1383 : if (!register_operand (operands[0], E_V8SFmode)
944 : 1383 : || !ternlog_operand (operands[1], E_V8SFmode))
945 : 1360 : return -1;
946 : : return 7;
947 : :
948 : 185167 : case E_V4SFmode:
949 : 185167 : if (!register_operand (operands[0], E_V4SFmode)
950 : 185167 : || !ternlog_operand (operands[1], E_V4SFmode))
951 : 144192 : return -1;
952 : : return 8;
953 : :
954 : 327 : case E_V8DFmode:
955 : 327 : if (!register_operand (operands[0], E_V8DFmode)
956 : 327 : || !ternlog_operand (operands[1], E_V8DFmode))
957 : 273 : return -1;
958 : : return 9;
959 : :
960 : 3708 : case E_V4DFmode:
961 : 3708 : if (!register_operand (operands[0], E_V4DFmode)
962 : 3708 : || !ternlog_operand (operands[1], E_V4DFmode))
963 : 3620 : return -1;
964 : : return 10;
965 : :
966 : 190270 : case E_V2DFmode:
967 : 190270 : if (!register_operand (operands[0], E_V2DFmode)
968 : 190270 : || !ternlog_operand (operands[1], E_V2DFmode))
969 : 149496 : return -1;
970 : : return 11;
971 : :
972 : : default:
973 : : return -1;
974 : : }
975 : : }
976 : :
977 : : int
978 : 29525 : pattern217 (rtx x1, machine_mode i1)
979 : : {
980 : 29525 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
981 : 29525 : rtx x2;
982 : 29525 : int res ATTRIBUTE_UNUSED;
983 : 29525 : if (GET_MODE (x1) != i1)
984 : : return -1;
985 : 29525 : x2 = XEXP (x1, 0);
986 : 29525 : if (GET_MODE (x2) != i1
987 : 29525 : || !nonimmediate_operand (operands[1], i1)
988 : 52341 : || !x86_64_general_operand (operands[2], i1))
989 : 6749 : return -1;
990 : : return 0;
991 : : }
992 : :
993 : : int
994 : 80238 : pattern220 (rtx x1)
995 : : {
996 : 80238 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
997 : 80238 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
998 : 80238 : rtx x10, x11;
999 : 80238 : int res ATTRIBUTE_UNUSED;
1000 : 80238 : x2 = XVECEXP (x1, 0, 0);
1001 : 80238 : x3 = XEXP (x2, 1);
1002 : 80238 : if (GET_MODE (x3) != E_V4SFmode)
1003 : : return -1;
1004 : 5658 : x4 = XEXP (x3, 0);
1005 : 5658 : if (GET_CODE (x4) != VEC_DUPLICATE
1006 : 1553 : || GET_MODE (x4) != E_V4SFmode)
1007 : : return -1;
1008 : 1553 : x5 = XEXP (x4, 0);
1009 : 1553 : if (GET_CODE (x5) != FLOAT
1010 : 1395 : || GET_MODE (x5) != E_V2SFmode)
1011 : : return -1;
1012 : 1293 : x6 = XEXP (x3, 2);
1013 : 1293 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1014 : : return -1;
1015 : 1293 : x7 = XVECEXP (x1, 0, 1);
1016 : 1293 : if (GET_CODE (x7) != CLOBBER)
1017 : : return -1;
1018 : 1195 : x8 = XEXP (x2, 0);
1019 : 1195 : operands[0] = x8;
1020 : 1195 : if (!register_operand (operands[0], E_V4SFmode))
1021 : : return -1;
1022 : 1192 : x9 = XEXP (x5, 0);
1023 : 1192 : operands[2] = x9;
1024 : 1192 : if (!register_mmxmem_operand (operands[2], E_V2SImode))
1025 : : return -1;
1026 : 969 : x10 = XEXP (x3, 1);
1027 : 969 : operands[1] = x10;
1028 : 969 : if (!register_operand (operands[1], E_V4SFmode))
1029 : : return -1;
1030 : 798 : x11 = XEXP (x7, 0);
1031 : 798 : operands[3] = x11;
1032 : 798 : if (!scratch_operand (operands[3], E_V4SFmode))
1033 : : return -1;
1034 : : return 0;
1035 : : }
1036 : :
1037 : : int
1038 : 662 : pattern231 (rtx x1, machine_mode i1)
1039 : : {
1040 : 662 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1041 : 662 : int res ATTRIBUTE_UNUSED;
1042 : 662 : if (!register_operand (operands[0], i1)
1043 : 662 : || GET_MODE (x1) != i1
1044 : 662 : || !nonimmediate_operand (operands[1], i1)
1045 : 1324 : || !register_operand (operands[2], i1))
1046 : 0 : return -1;
1047 : : return 0;
1048 : : }
1049 : :
1050 : : int
1051 : 624305 : pattern238 (rtx x1)
1052 : : {
1053 : 624305 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1054 : 624305 : rtx x2, x3, x4, x5, x6, x7, x8;
1055 : 624305 : int res ATTRIBUTE_UNUSED;
1056 : 624305 : x2 = XEXP (x1, 1);
1057 : 624305 : if (GET_MODE (x2) != E_QImode)
1058 : : return -1;
1059 : 468390 : x3 = XEXP (x2, 0);
1060 : 468390 : if (!ix86_comparison_operator (x3, E_VOIDmode))
1061 : : return -1;
1062 : 1237 : operands[1] = x3;
1063 : 1237 : x4 = XEXP (x3, 0);
1064 : 1237 : if (GET_CODE (x4) != REG
1065 : 1237 : || REGNO (x4) != 17)
1066 : : return -1;
1067 : 619 : x5 = XEXP (x3, 1);
1068 : 619 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1069 : : return -1;
1070 : 619 : x6 = XEXP (x2, 1);
1071 : 619 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1072 : : return -1;
1073 : 0 : x7 = XEXP (x1, 0);
1074 : 0 : switch (GET_CODE (x7))
1075 : : {
1076 : 0 : case REG:
1077 : 0 : case SUBREG:
1078 : 0 : case MEM:
1079 : 0 : operands[0] = x7;
1080 : 0 : if (!nonimmediate_operand (operands[0], E_QImode))
1081 : : return -1;
1082 : : return 0;
1083 : :
1084 : 0 : case STRICT_LOW_PART:
1085 : 0 : x8 = XEXP (x7, 0);
1086 : 0 : operands[0] = x8;
1087 : 0 : if (!register_operand (operands[0], E_QImode))
1088 : : return -1;
1089 : : return 1;
1090 : :
1091 : : default:
1092 : : return -1;
1093 : : }
1094 : : }
1095 : :
1096 : : int
1097 : 697 : pattern254 (rtx x1)
1098 : : {
1099 : 697 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1100 : 697 : rtx x2, x3, x4, x5;
1101 : 697 : int res ATTRIBUTE_UNUSED;
1102 : 697 : x2 = XEXP (x1, 1);
1103 : 697 : if (GET_MODE (x2) != E_CCmode)
1104 : : return -1;
1105 : 84 : x3 = XEXP (x1, 0);
1106 : 84 : if (GET_CODE (x3) != REG
1107 : 84 : || REGNO (x3) != 17
1108 : 168 : || GET_MODE (x3) != E_CCmode)
1109 : : return -1;
1110 : 84 : x4 = XVECEXP (x2, 0, 0);
1111 : 84 : operands[2] = x4;
1112 : 84 : if (!register_operand (operands[2], E_V16QImode))
1113 : : return -1;
1114 : 76 : x5 = XVECEXP (x2, 0, 1);
1115 : 76 : operands[3] = x5;
1116 : 76 : return 0;
1117 : : }
1118 : :
1119 : : int
1120 : 5 : pattern264 (rtx x1, int *pnum_clobbers)
1121 : : {
1122 : 5 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1123 : 5 : rtx x2, x3, x4;
1124 : 5 : int res ATTRIBUTE_UNUSED;
1125 : 5 : if (pnum_clobbers == NULL)
1126 : : return -1;
1127 : 5 : x2 = XEXP (x1, 0);
1128 : 5 : x3 = XEXP (x2, 0);
1129 : 5 : operands[0] = x3;
1130 : 5 : x4 = XEXP (x1, 1);
1131 : 5 : return pattern41 (x4); /* [-1, 1] */
1132 : : }
1133 : :
1134 : : int
1135 : 38799 : pattern268 (rtx x1, int *pnum_clobbers)
1136 : : {
1137 : 38799 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1138 : 38799 : rtx x2, x3;
1139 : 38799 : int res ATTRIBUTE_UNUSED;
1140 : 38799 : if (!nonmemory_operand (operands[2], E_QImode))
1141 : : return -1;
1142 : 36889 : x2 = XEXP (x1, 0);
1143 : 36889 : switch (GET_CODE (x2))
1144 : : {
1145 : 36885 : case REG:
1146 : 36885 : case SUBREG:
1147 : 36885 : case MEM:
1148 : 36885 : operands[0] = x2;
1149 : 36885 : x3 = XEXP (x1, 1);
1150 : 36885 : return pattern0 (x3); /* [-1, 1] */
1151 : :
1152 : 4 : case STRICT_LOW_PART:
1153 : 4 : res = pattern264 (x1, pnum_clobbers);
1154 : 4 : if (res >= 0)
1155 : 4 : return res + 2; /* [2, 3] */
1156 : : return -1;
1157 : :
1158 : : default:
1159 : : return -1;
1160 : : }
1161 : : }
1162 : :
1163 : : int
1164 : 7078 : pattern281 (rtx x1, int *pnum_clobbers)
1165 : : {
1166 : 7078 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1167 : 7078 : rtx x2;
1168 : 7078 : int res ATTRIBUTE_UNUSED;
1169 : 7078 : switch (GET_MODE (operands[0]))
1170 : : {
1171 : 636 : case E_SImode:
1172 : 636 : return pattern280 (x1); /* [-1, 1] */
1173 : :
1174 : 6245 : case E_DImode:
1175 : 6245 : if (!register_operand (operands[0], E_DImode)
1176 : 6245 : || GET_MODE (x1) != E_DImode)
1177 : : return -1;
1178 : 6234 : x2 = XEXP (x1, 0);
1179 : 6234 : switch (GET_MODE (x2))
1180 : : {
1181 : 40 : case E_QImode:
1182 : 40 : if (!nonimmediate_operand (operands[1], E_QImode))
1183 : : return -1;
1184 : : return 2;
1185 : :
1186 : 26 : case E_HImode:
1187 : 26 : if (!nonimmediate_operand (operands[1], E_HImode))
1188 : : return -1;
1189 : : return 3;
1190 : :
1191 : 6168 : case E_SImode:
1192 : 6168 : if (pnum_clobbers == NULL
1193 : 6168 : || !nonimmediate_operand (operands[1], E_SImode))
1194 : 1507 : return -1;
1195 : : return 4;
1196 : :
1197 : : default:
1198 : : return -1;
1199 : : }
1200 : :
1201 : : default:
1202 : : return -1;
1203 : : }
1204 : : }
1205 : :
1206 : : int
1207 : 34408 : pattern293 (rtx x1, machine_mode i1, machine_mode i2)
1208 : : {
1209 : 34408 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1210 : 34408 : rtx x2;
1211 : 34408 : int res ATTRIBUTE_UNUSED;
1212 : 34408 : if (!register_operand (operands[0], i2)
1213 : 34408 : || GET_MODE (x1) != i2)
1214 : : return -1;
1215 : 33387 : x2 = XEXP (x1, 0);
1216 : 33387 : if (GET_MODE (x2) != i1
1217 : 33387 : || !register_operand (operands[1], i1))
1218 : 826 : return -1;
1219 : : return 0;
1220 : : }
1221 : :
1222 : : int
1223 : 734 : pattern298 (rtx x1)
1224 : : {
1225 : 734 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1226 : 734 : rtx x2, x3, x4;
1227 : 734 : int res ATTRIBUTE_UNUSED;
1228 : 734 : if (GET_MODE (x1) != E_SImode)
1229 : : return -1;
1230 : 734 : x2 = XVECEXP (x1, 0, 0);
1231 : 734 : if (!ix86_comparison_operator (x2, E_QImode))
1232 : : return -1;
1233 : 650 : operands[1] = x2;
1234 : 650 : x3 = XEXP (x2, 0);
1235 : 650 : if (GET_CODE (x3) != REG
1236 : 650 : || REGNO (x3) != 17)
1237 : : return -1;
1238 : 650 : x4 = XEXP (x2, 1);
1239 : 650 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1240 : : return -1;
1241 : : return 0;
1242 : : }
1243 : :
1244 : : int
1245 : 70390 : pattern304 (rtx x1)
1246 : : {
1247 : 70390 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1248 : 70390 : rtx x2, x3, x4, x5, x6;
1249 : 70390 : int res ATTRIBUTE_UNUSED;
1250 : 70390 : x2 = XVECEXP (x1, 0, 0);
1251 : 70390 : switch (GET_CODE (x2))
1252 : : {
1253 : 57880 : case CONST_INT:
1254 : 57880 : case CONST_WIDE_INT:
1255 : 57880 : case CONST_POLY_INT:
1256 : 57880 : case CONST_FIXED:
1257 : 57880 : case CONST_DOUBLE:
1258 : 57880 : case CONST_VECTOR:
1259 : 57880 : case CONST:
1260 : 57880 : case REG:
1261 : 57880 : case SUBREG:
1262 : 57880 : case MEM:
1263 : 57880 : case LABEL_REF:
1264 : 57880 : case SYMBOL_REF:
1265 : 57880 : case HIGH:
1266 : 57880 : operands[1] = x2;
1267 : 57880 : x3 = XVECEXP (x1, 0, 2);
1268 : 57880 : if (GET_CODE (x3) != CONST_INT)
1269 : : return -1;
1270 : : return 0;
1271 : :
1272 : 108 : case US_MINUS:
1273 : 108 : x4 = XEXP (x2, 0);
1274 : 108 : operands[1] = x4;
1275 : 108 : x5 = XEXP (x2, 1);
1276 : 108 : operands[2] = x5;
1277 : 108 : x6 = XVECEXP (x1, 0, 1);
1278 : 108 : operands[3] = x6;
1279 : 108 : x3 = XVECEXP (x1, 0, 2);
1280 : 108 : operands[4] = x3;
1281 : 108 : if (!const_0_to_7_operand (operands[4], E_SImode))
1282 : : return -1;
1283 : 108 : switch (GET_MODE (operands[0]))
1284 : : {
1285 : 22 : case E_DImode:
1286 : 22 : if (pattern73 (x1,
1287 : : E_V64QImode,
1288 : : E_DImode) != 0)
1289 : : return -1;
1290 : : return 1;
1291 : :
1292 : 44 : case E_SImode:
1293 : 44 : res = pattern303 (x1);
1294 : 44 : if (res >= 0)
1295 : 16 : return res + 2; /* [2, 3] */
1296 : : return -1;
1297 : :
1298 : : default:
1299 : : return -1;
1300 : : }
1301 : :
1302 : : default:
1303 : : return -1;
1304 : : }
1305 : : }
1306 : :
1307 : : int
1308 : 608 : pattern320 (rtx x1, machine_mode i1)
1309 : : {
1310 : 608 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1311 : 608 : int res ATTRIBUTE_UNUSED;
1312 : 608 : if (!register_operand (operands[0], i1)
1313 : 580 : || GET_MODE (x1) != i1
1314 : 580 : || !float_vector_all_ones_operand (operands[1], i1)
1315 : 48 : || !const0_operand (operands[2], i1)
1316 : 48 : || !register_operand (operands[3], i1)
1317 : 656 : || !nonimmediate_operand (operands[4], i1))
1318 : 584 : return -1;
1319 : : return 0;
1320 : : }
1321 : :
1322 : : int
1323 : 1492 : pattern327 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1324 : : {
1325 : 1492 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1326 : 1492 : rtx x2;
1327 : 1492 : int res ATTRIBUTE_UNUSED;
1328 : 1492 : x2 = XVECEXP (x1, 0, 0);
1329 : 1492 : operands[1] = x2;
1330 : 1492 : switch (GET_MODE (operands[0]))
1331 : : {
1332 : 524 : case E_V32HImode:
1333 : 524 : if (!register_operand (operands[0], E_V32HImode)
1334 : 492 : || GET_MODE (x1) != E_V32HImode
1335 : 1016 : || !vector_operand (operands[1], i1))
1336 : 44 : return -1;
1337 : : return 0;
1338 : :
1339 : 496 : case E_V16HImode:
1340 : 496 : if (!register_operand (operands[0], E_V16HImode)
1341 : 464 : || GET_MODE (x1) != E_V16HImode
1342 : 960 : || !vector_operand (operands[1], i2))
1343 : 40 : return -1;
1344 : : return 1;
1345 : :
1346 : 472 : case E_V8HImode:
1347 : 472 : if (!register_operand (operands[0], E_V8HImode)
1348 : 464 : || GET_MODE (x1) != E_V8HImode
1349 : 936 : || !vector_operand (operands[1], i3))
1350 : 16 : return -1;
1351 : : return 2;
1352 : :
1353 : : default:
1354 : : return -1;
1355 : : }
1356 : : }
1357 : :
1358 : : int
1359 : 19168 : pattern331 (rtx x1)
1360 : : {
1361 : 19168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1362 : 19168 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1363 : 19168 : int res ATTRIBUTE_UNUSED;
1364 : 19168 : x2 = XEXP (x1, 0);
1365 : 19168 : x3 = XEXP (x2, 0);
1366 : 19168 : if (GET_CODE (x3) != VEC_SELECT)
1367 : : return -1;
1368 : 6703 : x4 = XEXP (x3, 1);
1369 : 6703 : if (GET_CODE (x4) != PARALLEL)
1370 : : return -1;
1371 : 6703 : x5 = XEXP (x1, 1);
1372 : 6703 : if (GET_CODE (x5) != SIGN_EXTEND)
1373 : : return -1;
1374 : 6559 : x6 = XEXP (x5, 0);
1375 : 6559 : if (GET_CODE (x6) != VEC_SELECT)
1376 : : return -1;
1377 : 6559 : x7 = XEXP (x6, 1);
1378 : 6559 : if (GET_CODE (x7) != PARALLEL)
1379 : : return -1;
1380 : 6559 : x8 = XEXP (x3, 0);
1381 : 6559 : operands[1] = x8;
1382 : 6559 : x9 = XEXP (x6, 0);
1383 : 6559 : operands[2] = x9;
1384 : 6559 : return 0;
1385 : : }
1386 : :
1387 : : int
1388 : 190 : pattern336 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1389 : : {
1390 : 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1391 : 190 : rtx x2, x3, x4, x5, x6, x7;
1392 : 190 : int res ATTRIBUTE_UNUSED;
1393 : 190 : if (!register_operand (operands[0], i2)
1394 : 190 : || GET_MODE (x1) != i2)
1395 : : return -1;
1396 : 182 : x2 = XEXP (x1, 0);
1397 : 182 : if (GET_MODE (x2) != i2)
1398 : : return -1;
1399 : 182 : x3 = XEXP (x2, 0);
1400 : 182 : if (GET_MODE (x3) != i2)
1401 : : return -1;
1402 : 182 : x4 = XEXP (x3, 0);
1403 : 182 : if (GET_MODE (x4) != i1
1404 : 182 : || !nonimmediate_operand (operands[1], i3))
1405 : 0 : return -1;
1406 : 182 : x5 = XEXP (x2, 1);
1407 : 182 : if (GET_MODE (x5) != i2)
1408 : : return -1;
1409 : 182 : x6 = XEXP (x5, 0);
1410 : 182 : if (GET_MODE (x6) != i1)
1411 : : return -1;
1412 : 182 : x7 = XEXP (x1, 1);
1413 : 182 : return pattern335 (x7,
1414 : : i1,
1415 : 182 : i2); /* [-1, 0] */
1416 : : }
1417 : :
1418 : : int
1419 : 125 : pattern340 (rtx x1, machine_mode i1)
1420 : : {
1421 : 125 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1422 : 125 : rtx x2;
1423 : 125 : int res ATTRIBUTE_UNUSED;
1424 : 125 : if (!register_operand (operands[0], i1)
1425 : 125 : || GET_MODE (x1) != i1)
1426 : : return -1;
1427 : 125 : x2 = XEXP (x1, 0);
1428 : 125 : if (GET_MODE (x2) != i1
1429 : 125 : || !register_operand (operands[1], i1)
1430 : 105 : || !register_operand (operands[2], i1)
1431 : 230 : || !const1_operand (operands[3], i1))
1432 : 125 : return -1;
1433 : : return 0;
1434 : : }
1435 : :
1436 : : int
1437 : 50856 : pattern343 (rtx x1)
1438 : : {
1439 : 50856 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1440 : 50856 : int res ATTRIBUTE_UNUSED;
1441 : 50856 : switch (GET_MODE (operands[0]))
1442 : : {
1443 : 25654 : case E_SImode:
1444 : 25654 : if (!nonimmediate_operand (operands[0], E_SImode)
1445 : 25642 : || GET_MODE (x1) != E_SImode
1446 : 51296 : || !nonimmediate_operand (operands[1], E_SImode))
1447 : 2311 : return -1;
1448 : : return 0;
1449 : :
1450 : 23890 : case E_DImode:
1451 : 23890 : if (!nonimmediate_operand (operands[0], E_DImode)
1452 : 23878 : || GET_MODE (x1) != E_DImode
1453 : 47768 : || !nonimmediate_operand (operands[1], E_DImode))
1454 : 4718 : return -1;
1455 : : return 1;
1456 : :
1457 : : default:
1458 : : return -1;
1459 : : }
1460 : : }
1461 : :
1462 : : int
1463 : 9013821 : pattern346 (rtx x1)
1464 : : {
1465 : 9013821 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1466 : 9013821 : rtx x2, x3, x4, x5, x6, x7;
1467 : 9013821 : int res ATTRIBUTE_UNUSED;
1468 : 9013821 : x2 = XVECEXP (x1, 0, 0);
1469 : 9013821 : x3 = XEXP (x2, 1);
1470 : 9013821 : x4 = XEXP (x3, 0);
1471 : 9013821 : operands[1] = x4;
1472 : 9013821 : x5 = XEXP (x3, 1);
1473 : 9013821 : switch (GET_CODE (x5))
1474 : : {
1475 : : case CONST_INT:
1476 : : case CONST_WIDE_INT:
1477 : : case CONST_POLY_INT:
1478 : : case CONST_FIXED:
1479 : : case CONST_DOUBLE:
1480 : : case CONST_VECTOR:
1481 : : case CONST:
1482 : : case REG:
1483 : : case SUBREG:
1484 : : case LABEL_REF:
1485 : : case SYMBOL_REF:
1486 : : case HIGH:
1487 : : return 0;
1488 : :
1489 : 4904 : case AND:
1490 : 4904 : if (GET_MODE (x5) != E_QImode)
1491 : : return -1;
1492 : 4664 : x6 = XVECEXP (x1, 0, 1);
1493 : 4664 : if (GET_CODE (x6) != CLOBBER)
1494 : : return -1;
1495 : 4497 : x7 = XEXP (x6, 0);
1496 : 4497 : if (GET_CODE (x7) != REG
1497 : 4497 : || REGNO (x7) != 17
1498 : 8994 : || GET_MODE (x7) != E_CCmode)
1499 : : return -1;
1500 : 4497 : res = pattern342 (x2);
1501 : 4497 : if (res >= 0)
1502 : 3483 : return res + 1; /* [1, 3] */
1503 : : return -1;
1504 : :
1505 : 22816 : case PLUS:
1506 : 22816 : if (GET_MODE (x5) != E_QImode)
1507 : : return -1;
1508 : 22816 : x6 = XVECEXP (x1, 0, 1);
1509 : 22816 : if (GET_CODE (x6) != CLOBBER)
1510 : : return -1;
1511 : 20737 : x7 = XEXP (x6, 0);
1512 : 20737 : if (GET_CODE (x7) != REG
1513 : 20737 : || REGNO (x7) != 17
1514 : 41474 : || GET_MODE (x7) != E_CCmode)
1515 : : return -1;
1516 : 20737 : res = pattern344 (x2);
1517 : 20737 : if (res >= 0)
1518 : 15776 : return res + 4; /* [4, 5] */
1519 : : return -1;
1520 : :
1521 : 15711 : case MINUS:
1522 : 15711 : if (GET_MODE (x5) != E_QImode)
1523 : : return -1;
1524 : 15679 : x6 = XVECEXP (x1, 0, 1);
1525 : 15679 : if (GET_CODE (x6) != CLOBBER)
1526 : : return -1;
1527 : 12304 : x7 = XEXP (x6, 0);
1528 : 12304 : if (GET_CODE (x7) != REG
1529 : 12304 : || REGNO (x7) != 17
1530 : 24608 : || GET_MODE (x7) != E_CCmode)
1531 : : return -1;
1532 : 12304 : res = pattern345 (x2);
1533 : 12304 : if (res >= 0)
1534 : 2620 : return res + 6; /* [6, 7] */
1535 : : return -1;
1536 : :
1537 : : default:
1538 : : return -1;
1539 : : }
1540 : : }
1541 : :
1542 : : int
1543 : 63 : pattern364 (rtx x1, machine_mode i1)
1544 : : {
1545 : 63 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1546 : 63 : rtx x2;
1547 : 63 : int res ATTRIBUTE_UNUSED;
1548 : 63 : if (!nonimmediate_operand (operands[0], i1)
1549 : 63 : || GET_MODE (x1) != i1)
1550 : : return -1;
1551 : 63 : x2 = XEXP (x1, 0);
1552 : 63 : if (GET_MODE (x2) != i1
1553 : 63 : || !general_operand (operands[1], i1))
1554 : 0 : return -1;
1555 : : return 0;
1556 : : }
1557 : :
1558 : : int
1559 : 24490 : pattern366 (rtx x1)
1560 : : {
1561 : 24490 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1562 : 24490 : rtx x2, x3, x4, x5, x6;
1563 : 24490 : int res ATTRIBUTE_UNUSED;
1564 : 24490 : x2 = XEXP (x1, 0);
1565 : 24490 : operands[0] = x2;
1566 : 24490 : x3 = XEXP (x1, 1);
1567 : 24490 : x4 = XEXP (x3, 0);
1568 : 24490 : x5 = XEXP (x4, 0);
1569 : 24490 : operands[2] = x5;
1570 : 24490 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1571 : : return -1;
1572 : 4206 : x6 = XEXP (x3, 1);
1573 : 4206 : operands[1] = x6;
1574 : 4206 : switch (GET_MODE (operands[0]))
1575 : : {
1576 : 46 : case E_QImode:
1577 : 46 : return pattern364 (x3,
1578 : 46 : E_QImode); /* [-1, 0] */
1579 : :
1580 : 17 : case E_HImode:
1581 : 17 : if (pattern364 (x3,
1582 : : E_HImode) != 0)
1583 : : return -1;
1584 : : return 1;
1585 : :
1586 : 2685 : case E_SImode:
1587 : 2685 : if (pattern365 (x3,
1588 : : E_SImode) != 0)
1589 : : return -1;
1590 : : return 2;
1591 : :
1592 : 1458 : case E_DImode:
1593 : 1458 : if (pattern365 (x3,
1594 : : E_DImode) != 0)
1595 : : return -1;
1596 : : return 3;
1597 : :
1598 : : default:
1599 : : return -1;
1600 : : }
1601 : : }
1602 : :
1603 : : int
1604 : 1110 : pattern376 (rtx x1)
1605 : : {
1606 : 1110 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1607 : 1110 : rtx x2, x3, x4, x5, x6;
1608 : 1110 : int res ATTRIBUTE_UNUSED;
1609 : 1110 : x2 = XEXP (x1, 0);
1610 : 1110 : x3 = XEXP (x2, 1);
1611 : 1110 : switch (GET_CODE (x3))
1612 : : {
1613 : : case REG:
1614 : : case SUBREG:
1615 : : return 0;
1616 : :
1617 : 3 : case AND:
1618 : 3 : if (GET_MODE (x3) != E_QImode)
1619 : : return -1;
1620 : 3 : x4 = XEXP (x3, 0);
1621 : 3 : operands[1] = x4;
1622 : 3 : if (!register_operand (operands[1], E_QImode))
1623 : : return -1;
1624 : 3 : x5 = XEXP (x3, 1);
1625 : 3 : operands[2] = x5;
1626 : 3 : if (!const_int_operand (operands[2], E_QImode))
1627 : : return -1;
1628 : 3 : x6 = XEXP (x1, 1);
1629 : 3 : operands[3] = x6;
1630 : 3 : switch (GET_MODE (operands[0]))
1631 : : {
1632 : 3 : case E_SImode:
1633 : 3 : if (pattern375 (x1,
1634 : : E_SImode) != 0)
1635 : : return -1;
1636 : : return 1;
1637 : :
1638 : 0 : case E_DImode:
1639 : 0 : if (pattern375 (x1,
1640 : : E_DImode) != 0)
1641 : : return -1;
1642 : : return 2;
1643 : :
1644 : : default:
1645 : : return -1;
1646 : : }
1647 : :
1648 : : default:
1649 : : return -1;
1650 : : }
1651 : : }
1652 : :
1653 : : int
1654 : 0 : pattern390 (machine_mode i1, machine_mode i2)
1655 : : {
1656 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1657 : 0 : int res ATTRIBUTE_UNUSED;
1658 : 0 : if (!nonimmediate_operand (operands[3], i2)
1659 : 0 : || !nonimmediate_operand (operands[4], i1)
1660 : 0 : || !scratch_operand (operands[1], i1)
1661 : 0 : || !scratch_operand (operands[2], i1))
1662 : 0 : return -1;
1663 : : return 0;
1664 : : }
1665 : :
1666 : : int
1667 : 84900 : pattern396 (rtx x1, machine_mode i1)
1668 : : {
1669 : 84900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1670 : 84900 : rtx x2, x3, x4, x5;
1671 : 84900 : int res ATTRIBUTE_UNUSED;
1672 : 84900 : if (!register_operand (operands[0], i1))
1673 : : return -1;
1674 : 84900 : x2 = XVECEXP (x1, 0, 0);
1675 : 84900 : x3 = XEXP (x2, 1);
1676 : 84900 : if (GET_MODE (x3) != i1
1677 : 84900 : || !register_operand (operands[2], i1)
1678 : 84900 : || !nonimmediate_operand (operands[3], i1)
1679 : 169800 : || !register_operand (operands[1], i1))
1680 : 0 : return -1;
1681 : 84900 : x4 = XVECEXP (x1, 0, 1);
1682 : 84900 : x5 = XEXP (x4, 1);
1683 : 84900 : if (GET_MODE (x5) != i1
1684 : 84900 : || !register_operand (operands[4], i1))
1685 : 0 : return -1;
1686 : : return 0;
1687 : : }
1688 : :
1689 : : int
1690 : 0 : pattern404 (rtx x1, machine_mode i1, machine_mode i2)
1691 : : {
1692 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1693 : 0 : rtx x2, x3;
1694 : 0 : int res ATTRIBUTE_UNUSED;
1695 : 0 : if (!nonimmediate_operand (operands[0], i1)
1696 : 0 : || GET_MODE (x1) != i1)
1697 : : return -1;
1698 : 0 : x2 = XEXP (x1, 0);
1699 : 0 : if (GET_MODE (x2) != i1
1700 : 0 : || !nonimmediate_operand (operands[1], i2))
1701 : 0 : return -1;
1702 : 0 : x3 = XEXP (x1, 1);
1703 : 0 : if (GET_MODE (x3) != i1
1704 : 0 : || !register_operand (operands[2], i1))
1705 : 0 : return -1;
1706 : : return 0;
1707 : : }
1708 : :
1709 : : int
1710 : 79948 : pattern411 (rtx x1)
1711 : : {
1712 : 79948 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1713 : 79948 : int res ATTRIBUTE_UNUSED;
1714 : 79948 : switch (GET_MODE (operands[0]))
1715 : : {
1716 : 35348 : case E_SImode:
1717 : 35348 : if (!register_operand (operands[0], E_SImode)
1718 : 35322 : || GET_MODE (x1) != E_SImode
1719 : 70670 : || !nonimmediate_operand (operands[1], E_SImode))
1720 : 8118 : return -1;
1721 : : return 0;
1722 : :
1723 : 27886 : case E_DImode:
1724 : 27886 : if (!register_operand (operands[0], E_DImode)
1725 : 27663 : || GET_MODE (x1) != E_DImode
1726 : 55549 : || !nonimmediate_operand (operands[1], E_DImode))
1727 : 5427 : return -1;
1728 : : return 1;
1729 : :
1730 : : default:
1731 : : return -1;
1732 : : }
1733 : : }
1734 : :
1735 : : int
1736 : 18654214 : pattern418 (rtx x1, machine_mode i1)
1737 : : {
1738 : 18654214 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1739 : 18654214 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1740 : 18654214 : rtx x10, x11;
1741 : 18654214 : int res ATTRIBUTE_UNUSED;
1742 : 18654214 : operands[4] = x1;
1743 : 18654214 : if (!general_gr_operand (operands[4], i1))
1744 : : return -1;
1745 : 13559003 : x2 = PATTERN (peep2_next_insn (1));
1746 : 13559003 : if (GET_CODE (x2) != PARALLEL
1747 : 1319955 : || XVECLEN (x2, 0) != 3)
1748 : : return -1;
1749 : 41782 : x3 = XVECEXP (x2, 0, 0);
1750 : 41782 : if (GET_CODE (x3) != SET)
1751 : : return -1;
1752 : 40084 : x4 = XEXP (x3, 1);
1753 : 40084 : if (GET_CODE (x4) != UNSPEC
1754 : 53 : || XVECLEN (x4, 0) != 1
1755 : 23 : || XINT (x4, 1) != 93)
1756 : : return -1;
1757 : 23 : x5 = XVECEXP (x2, 0, 1);
1758 : 23 : if (GET_CODE (x5) != SET)
1759 : : return -1;
1760 : 23 : x6 = XEXP (x5, 1);
1761 : 23 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1762 : : return -1;
1763 : 23 : x7 = XVECEXP (x2, 0, 2);
1764 : 23 : if (GET_CODE (x7) != CLOBBER)
1765 : : return -1;
1766 : 23 : x8 = XEXP (x7, 0);
1767 : 23 : if (GET_CODE (x8) != REG
1768 : 23 : || REGNO (x8) != 17
1769 : 46 : || GET_MODE (x8) != E_CCmode)
1770 : : return -1;
1771 : 23 : x9 = XEXP (x3, 0);
1772 : 23 : operands[0] = x9;
1773 : 23 : x10 = XVECEXP (x4, 0, 0);
1774 : 23 : operands[1] = x10;
1775 : 23 : x11 = XEXP (x5, 0);
1776 : 23 : operands[2] = x11;
1777 : 23 : if (!general_reg_operand (operands[2], E_VOIDmode))
1778 : : return -1;
1779 : 23 : switch (GET_MODE (operands[0]))
1780 : : {
1781 : 0 : case E_SImode:
1782 : 0 : if (!memory_operand (operands[0], E_SImode)
1783 : 0 : || GET_MODE (x4) != E_SImode
1784 : 0 : || !memory_operand (operands[1], E_SImode))
1785 : 0 : return -1;
1786 : : return 0;
1787 : :
1788 : 23 : case E_DImode:
1789 : 23 : if (!memory_operand (operands[0], E_DImode)
1790 : 23 : || GET_MODE (x4) != E_DImode
1791 : 46 : || !memory_operand (operands[1], E_DImode))
1792 : 0 : return -1;
1793 : : return 1;
1794 : :
1795 : : default:
1796 : : return -1;
1797 : : }
1798 : : }
1799 : :
1800 : : int
1801 : 44283 : pattern442 (rtx x1)
1802 : : {
1803 : 44283 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1804 : 44283 : rtx x2, x3, x4;
1805 : 44283 : int res ATTRIBUTE_UNUSED;
1806 : 44283 : x2 = XEXP (x1, 0);
1807 : 44283 : x3 = XEXP (x2, 0);
1808 : 44283 : operands[1] = x3;
1809 : 44283 : if (!nonimmediate_operand (operands[1], E_SImode))
1810 : : return -1;
1811 : 17830 : x4 = XEXP (x1, 1);
1812 : 17830 : switch (GET_CODE (x4))
1813 : : {
1814 : : case CONST_INT:
1815 : : case CONST_WIDE_INT:
1816 : : case CONST:
1817 : : case LABEL_REF:
1818 : : case SYMBOL_REF:
1819 : : return 0;
1820 : :
1821 : 0 : case ASHIFT:
1822 : 0 : if (GET_MODE (x4) != E_DImode
1823 : 0 : || !nonimmediate_operand (operands[0], E_DImode))
1824 : 0 : return -1;
1825 : 0 : res = pattern39 (x4,
1826 : : E_DImode,
1827 : : E_SImode);
1828 : 0 : if (res >= 0)
1829 : 0 : return res + 1; /* [1, 3] */
1830 : : return -1;
1831 : :
1832 : : default:
1833 : : return -1;
1834 : : }
1835 : : }
1836 : :
1837 : : int
1838 : 18600 : pattern452 (rtx x1)
1839 : : {
1840 : 18600 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1841 : 18600 : rtx x2, x3, x4;
1842 : 18600 : int res ATTRIBUTE_UNUSED;
1843 : 18600 : x2 = XEXP (x1, 1);
1844 : 18600 : x3 = XEXP (x2, 0);
1845 : 18600 : x4 = XEXP (x3, 0);
1846 : 18600 : operands[2] = x4;
1847 : 18600 : if (!int248_register_operand (operands[2], E_VOIDmode))
1848 : : return -1;
1849 : 15246 : return pattern451 (x1); /* [-1, 1] */
1850 : : }
1851 : :
1852 : : int
1853 : 4989 : pattern458 (rtx x1, machine_mode i1)
1854 : : {
1855 : 4989 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1856 : 4989 : rtx x2;
1857 : 4989 : int res ATTRIBUTE_UNUSED;
1858 : 4989 : if (!register_operand (operands[0], i1)
1859 : 4989 : || GET_MODE (x1) != i1)
1860 : : return -1;
1861 : 4494 : x2 = XEXP (x1, 0);
1862 : 4494 : if (GET_MODE (x2) != i1
1863 : 4494 : || !register_operand (operands[1], i1)
1864 : 8812 : || !nonimmediate_operand (operands[2], i1))
1865 : 527 : return -1;
1866 : : return 0;
1867 : : }
1868 : :
1869 : : int
1870 : 3920 : pattern460 (rtx x1)
1871 : : {
1872 : 3920 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1873 : 3920 : rtx x2, x3, x4, x5, x6;
1874 : 3920 : int res ATTRIBUTE_UNUSED;
1875 : 3920 : x2 = XEXP (x1, 0);
1876 : 3920 : x3 = XVECEXP (x2, 0, 0);
1877 : 3920 : operands[1] = x3;
1878 : 3920 : x4 = XVECEXP (x2, 0, 1);
1879 : 3920 : operands[2] = x4;
1880 : 3920 : x5 = XEXP (x1, 2);
1881 : 3920 : switch (GET_CODE (x5))
1882 : : {
1883 : 3012 : case REG:
1884 : 3012 : case SUBREG:
1885 : 3012 : operands[4] = x5;
1886 : 3012 : x6 = XEXP (x1, 1);
1887 : 3012 : operands[3] = x6;
1888 : 3012 : switch (GET_MODE (operands[0]))
1889 : : {
1890 : 456 : case E_V32HFmode:
1891 : 456 : return pattern457 (x1,
1892 : : E_V32HFmode,
1893 : 456 : E_SImode); /* [-1, 0] */
1894 : :
1895 : 432 : case E_V16HFmode:
1896 : 432 : if (pattern457 (x1,
1897 : : E_V16HFmode,
1898 : : E_HImode) != 0)
1899 : : return -1;
1900 : : return 1;
1901 : :
1902 : 508 : case E_V8HFmode:
1903 : 508 : if (pattern457 (x1,
1904 : : E_V8HFmode,
1905 : : E_QImode) != 0)
1906 : : return -1;
1907 : : return 2;
1908 : :
1909 : 86 : case E_V16SFmode:
1910 : 86 : if (pattern457 (x1,
1911 : : E_V16SFmode,
1912 : : E_HImode) != 0)
1913 : : return -1;
1914 : : return 3;
1915 : :
1916 : 348 : case E_V8SFmode:
1917 : 348 : if (pattern457 (x1,
1918 : : E_V8SFmode,
1919 : : E_QImode) != 0)
1920 : : return -1;
1921 : : return 4;
1922 : :
1923 : 350 : case E_V4SFmode:
1924 : 350 : if (pattern457 (x1,
1925 : : E_V4SFmode,
1926 : : E_QImode) != 0)
1927 : : return -1;
1928 : : return 5;
1929 : :
1930 : 134 : case E_V8DFmode:
1931 : 134 : if (pattern457 (x1,
1932 : : E_V8DFmode,
1933 : : E_QImode) != 0)
1934 : : return -1;
1935 : : return 6;
1936 : :
1937 : 348 : case E_V4DFmode:
1938 : 348 : if (pattern457 (x1,
1939 : : E_V4DFmode,
1940 : : E_QImode) != 0)
1941 : : return -1;
1942 : : return 7;
1943 : :
1944 : 350 : case E_V2DFmode:
1945 : 350 : if (pattern457 (x1,
1946 : : E_V2DFmode,
1947 : : E_QImode) != 0)
1948 : : return -1;
1949 : : return 8;
1950 : :
1951 : : default:
1952 : : return -1;
1953 : : }
1954 : :
1955 : 844 : case CONST_INT:
1956 : 844 : if (XWINT (x5, 0) != 1L)
1957 : : return -1;
1958 : 720 : res = pattern459 (x1);
1959 : 720 : if (res >= 0)
1960 : 617 : return res + 9; /* [9, 11] */
1961 : : return -1;
1962 : :
1963 : : default:
1964 : : return -1;
1965 : : }
1966 : : }
1967 : :
1968 : : int
1969 : 3876 : pattern486 (rtx x1, machine_mode i1, machine_mode i2)
1970 : : {
1971 : 3876 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1972 : 3876 : rtx x2;
1973 : 3876 : int res ATTRIBUTE_UNUSED;
1974 : 3876 : if (!register_operand (operands[0], i1)
1975 : 3876 : || GET_MODE (x1) != i1)
1976 : : return -1;
1977 : 3660 : x2 = XEXP (x1, 0);
1978 : 3660 : if (GET_MODE (x2) != i1
1979 : 3660 : || !register_operand (operands[1], i1)
1980 : 3600 : || !register_operand (operands[2], i1)
1981 : 3600 : || !nonimmediate_operand (operands[3], i1)
1982 : 3600 : || !const0_operand (operands[5], i1)
1983 : 7260 : || !register_operand (operands[4], i2))
1984 : 276 : return -1;
1985 : : return 0;
1986 : : }
1987 : :
1988 : : int
1989 : 379 : pattern493 (rtx x1, machine_mode i1, machine_mode i2)
1990 : : {
1991 : 379 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1992 : 379 : rtx x2;
1993 : 379 : int res ATTRIBUTE_UNUSED;
1994 : 379 : if (!register_operand (operands[0], i2)
1995 : 379 : || GET_MODE (x1) != i2)
1996 : : return -1;
1997 : 366 : x2 = XVECEXP (x1, 0, 0);
1998 : 366 : if (GET_MODE (x2) != i2
1999 : 366 : || !register_operand (operands[1], i1))
2000 : 21 : return -1;
2001 : : return 0;
2002 : : }
2003 : :
2004 : : int
2005 : 0 : pattern494 (rtx x1)
2006 : : {
2007 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2008 : 0 : rtx x2, x3, x4;
2009 : 0 : int res ATTRIBUTE_UNUSED;
2010 : 0 : x2 = XVECEXP (x1, 0, 0);
2011 : 0 : x3 = XEXP (x2, 0);
2012 : 0 : operands[1] = x3;
2013 : 0 : x4 = XVECEXP (x1, 0, 1);
2014 : 0 : operands[2] = x4;
2015 : 0 : if (!const48_operand (operands[2], E_SImode))
2016 : : return -1;
2017 : 0 : switch (GET_MODE (operands[0]))
2018 : : {
2019 : 0 : case E_V8HImode:
2020 : 0 : return pattern493 (x1,
2021 : : E_V8HFmode,
2022 : 0 : E_V8HImode); /* [-1, 0] */
2023 : :
2024 : 0 : case E_V16HImode:
2025 : 0 : if (pattern493 (x1,
2026 : : E_V16HFmode,
2027 : : E_V16HImode) != 0)
2028 : : return -1;
2029 : : return 1;
2030 : :
2031 : 0 : case E_V32HImode:
2032 : 0 : if (pattern493 (x1,
2033 : : E_V32HFmode,
2034 : : E_V32HImode) != 0)
2035 : : return -1;
2036 : : return 2;
2037 : :
2038 : 0 : case E_V8SImode:
2039 : 0 : if (!register_operand (operands[0], E_V8SImode)
2040 : 0 : || GET_MODE (x1) != E_V8SImode
2041 : 0 : || GET_MODE (x2) != E_V8SImode)
2042 : : return -1;
2043 : 0 : switch (GET_MODE (operands[1]))
2044 : : {
2045 : 0 : case E_V8HFmode:
2046 : 0 : if (!register_operand (operands[1], E_V8HFmode))
2047 : : return -1;
2048 : : return 3;
2049 : :
2050 : 0 : case E_V8DFmode:
2051 : 0 : if (!register_operand (operands[1], E_V8DFmode))
2052 : : return -1;
2053 : : return 4;
2054 : :
2055 : : default:
2056 : : return -1;
2057 : : }
2058 : :
2059 : 0 : case E_V16SImode:
2060 : 0 : if (!register_operand (operands[0], E_V16SImode)
2061 : 0 : || GET_MODE (x1) != E_V16SImode
2062 : 0 : || GET_MODE (x2) != E_V16SImode)
2063 : : return -1;
2064 : 0 : switch (GET_MODE (operands[1]))
2065 : : {
2066 : 0 : case E_V16HFmode:
2067 : 0 : if (!register_operand (operands[1], E_V16HFmode))
2068 : : return -1;
2069 : : return 5;
2070 : :
2071 : 0 : case E_V16SFmode:
2072 : 0 : if (!register_operand (operands[1], E_V16SFmode))
2073 : : return -1;
2074 : : return 6;
2075 : :
2076 : : default:
2077 : : return -1;
2078 : : }
2079 : :
2080 : 0 : case E_V8DImode:
2081 : 0 : if (!register_operand (operands[0], E_V8DImode)
2082 : 0 : || GET_MODE (x1) != E_V8DImode
2083 : 0 : || GET_MODE (x2) != E_V8DImode)
2084 : : return -1;
2085 : 0 : switch (GET_MODE (operands[1]))
2086 : : {
2087 : 0 : case E_V8HFmode:
2088 : 0 : if (!register_operand (operands[1], E_V8HFmode))
2089 : : return -1;
2090 : : return 7;
2091 : :
2092 : 0 : case E_V8DFmode:
2093 : 0 : if (!register_operand (operands[1], E_V8DFmode))
2094 : : return -1;
2095 : : return 8;
2096 : :
2097 : 0 : case E_V8SFmode:
2098 : 0 : if (!register_operand (operands[1], E_V8SFmode))
2099 : : return -1;
2100 : : return 9;
2101 : :
2102 : : default:
2103 : : return -1;
2104 : : }
2105 : :
2106 : : default:
2107 : : return -1;
2108 : : }
2109 : : }
2110 : :
2111 : : int
2112 : 22189 : pattern515 (rtx x1, machine_mode i1)
2113 : : {
2114 : 22189 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2115 : 22189 : int res ATTRIBUTE_UNUSED;
2116 : 22189 : if (!register_operand (operands[0], i1)
2117 : 19102 : || GET_MODE (x1) != i1
2118 : 19102 : || !register_operand (operands[1], i1)
2119 : 36435 : || !bcst_vector_operand (operands[2], i1))
2120 : 9876 : return -1;
2121 : : return 0;
2122 : : }
2123 : :
2124 : : int
2125 : 1032 : pattern520 (rtx x1, machine_mode i1)
2126 : : {
2127 : 1032 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2128 : 1032 : int res ATTRIBUTE_UNUSED;
2129 : 1032 : if (!register_operand (operands[0], i1)
2130 : 1032 : || GET_MODE (x1) != i1)
2131 : : return -1;
2132 : 950 : switch (GET_MODE (operands[1]))
2133 : : {
2134 : 781 : case E_V4SImode:
2135 : 781 : if (!nonimmediate_operand (operands[1], E_V4SImode))
2136 : : return -1;
2137 : : return 0;
2138 : :
2139 : 167 : case E_V4DImode:
2140 : 167 : if (!nonimmediate_operand (operands[1], E_V4DImode))
2141 : : return -1;
2142 : : return 1;
2143 : :
2144 : : default:
2145 : : return -1;
2146 : : }
2147 : : }
2148 : :
2149 : : int
2150 : 35 : pattern525 (rtx x1, machine_mode i1, machine_mode i2)
2151 : : {
2152 : 35 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2153 : 35 : rtx x2;
2154 : 35 : int res ATTRIBUTE_UNUSED;
2155 : 35 : if (!nonimmediate_operand (operands[0], i2)
2156 : 35 : || GET_MODE (x1) != i2)
2157 : : return -1;
2158 : 35 : x2 = XEXP (x1, 0);
2159 : 35 : if (GET_MODE (x2) != i1
2160 : 35 : || !register_operand (operands[1], i1)
2161 : 62 : || !permvar_truncate_operand (operands[2], i1))
2162 : 23 : return -1;
2163 : : return 0;
2164 : : }
2165 : :
2166 : : int
2167 : 1482272 : pattern530 (rtx x1)
2168 : : {
2169 : 1482272 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2170 : 1482272 : rtx x2, x3, x4, x5;
2171 : 1482272 : int res ATTRIBUTE_UNUSED;
2172 : 1482272 : x2 = XEXP (x1, 0);
2173 : 1482272 : x3 = XEXP (x2, 0);
2174 : 1482272 : operands[1] = x3;
2175 : 1482272 : x4 = XEXP (x2, 1);
2176 : 1482272 : operands[2] = x4;
2177 : 1482272 : x5 = XEXP (x1, 1);
2178 : 1482272 : switch (GET_CODE (x5))
2179 : : {
2180 : 86126 : case AND:
2181 : 86126 : return pattern528 (x1); /* [-1, 11] */
2182 : :
2183 : 314 : case IOR:
2184 : 314 : res = pattern528 (x1);
2185 : 314 : if (res >= 0)
2186 : 124 : return res + 12; /* [12, 23] */
2187 : : return -1;
2188 : :
2189 : 2422 : case XOR:
2190 : 2422 : res = pattern528 (x1);
2191 : 2422 : if (res >= 0)
2192 : 30 : return res + 24; /* [24, 35] */
2193 : : return -1;
2194 : :
2195 : 869003 : case REG:
2196 : 869003 : case SUBREG:
2197 : 869003 : case MEM:
2198 : 869003 : case NOT:
2199 : 869003 : operands[3] = x5;
2200 : 869003 : switch (GET_MODE (operands[0]))
2201 : : {
2202 : 19 : case E_V64QImode:
2203 : 19 : if (pattern529 (x1,
2204 : : E_V64QImode) != 0)
2205 : : return -1;
2206 : : return 36;
2207 : :
2208 : 468 : case E_V32QImode:
2209 : 468 : if (pattern529 (x1,
2210 : : E_V32QImode) != 0)
2211 : : return -1;
2212 : : return 37;
2213 : :
2214 : 92244 : case E_V16QImode:
2215 : 92244 : if (pattern529 (x1,
2216 : : E_V16QImode) != 0)
2217 : : return -1;
2218 : : return 38;
2219 : :
2220 : 0 : case E_V32HImode:
2221 : 0 : if (pattern529 (x1,
2222 : : E_V32HImode) != 0)
2223 : : return -1;
2224 : : return 39;
2225 : :
2226 : 140 : case E_V16HImode:
2227 : 140 : if (pattern529 (x1,
2228 : : E_V16HImode) != 0)
2229 : : return -1;
2230 : : return 40;
2231 : :
2232 : 4310 : case E_V8HImode:
2233 : 4310 : if (pattern529 (x1,
2234 : : E_V8HImode) != 0)
2235 : : return -1;
2236 : : return 41;
2237 : :
2238 : 8 : case E_V16SImode:
2239 : 8 : if (pattern529 (x1,
2240 : : E_V16SImode) != 0)
2241 : : return -1;
2242 : : return 42;
2243 : :
2244 : 5496 : case E_V8SImode:
2245 : 5496 : if (pattern529 (x1,
2246 : : E_V8SImode) != 0)
2247 : : return -1;
2248 : : return 43;
2249 : :
2250 : 43569 : case E_V4SImode:
2251 : 43569 : if (pattern529 (x1,
2252 : : E_V4SImode) != 0)
2253 : : return -1;
2254 : : return 44;
2255 : :
2256 : 0 : case E_V8DImode:
2257 : 0 : if (pattern529 (x1,
2258 : : E_V8DImode) != 0)
2259 : : return -1;
2260 : : return 45;
2261 : :
2262 : 577 : case E_V4DImode:
2263 : 577 : if (pattern529 (x1,
2264 : : E_V4DImode) != 0)
2265 : : return -1;
2266 : : return 46;
2267 : :
2268 : 12807 : case E_V2DImode:
2269 : 12807 : if (pattern529 (x1,
2270 : : E_V2DImode) != 0)
2271 : : return -1;
2272 : : return 47;
2273 : :
2274 : : default:
2275 : : return -1;
2276 : : }
2277 : :
2278 : : default:
2279 : : return -1;
2280 : : }
2281 : : }
2282 : :
2283 : : int
2284 : 1094 : pattern542 (rtx x1)
2285 : : {
2286 : 1094 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2287 : 1094 : rtx x2, x3, x4, x5, x6, x7;
2288 : 1094 : int res ATTRIBUTE_UNUSED;
2289 : 1094 : x2 = XVECEXP (x1, 0, 0);
2290 : 1094 : x3 = XEXP (x2, 0);
2291 : 1094 : operands[0] = x3;
2292 : 1094 : x4 = XEXP (x2, 1);
2293 : 1094 : x5 = XVECEXP (x4, 0, 0);
2294 : 1094 : operands[1] = x5;
2295 : 1094 : x6 = XVECEXP (x1, 0, 1);
2296 : 1094 : switch (GET_CODE (x6))
2297 : : {
2298 : 1092 : case CLOBBER:
2299 : 1092 : x7 = XEXP (x6, 0);
2300 : 1092 : if (GET_CODE (x7) != REG
2301 : 1092 : || REGNO (x7) != 17
2302 : 2184 : || GET_MODE (x7) != E_CCmode)
2303 : : return -1;
2304 : 1092 : switch (GET_MODE (operands[0]))
2305 : : {
2306 : 387 : case E_SImode:
2307 : 387 : if (!register_operand (operands[0], E_SImode)
2308 : 387 : || GET_MODE (x4) != E_SImode
2309 : 774 : || !nonimmediate_operand (operands[1], E_SImode))
2310 : 2 : return -1;
2311 : : return 0;
2312 : :
2313 : 382 : case E_DImode:
2314 : 382 : if (!register_operand (operands[0], E_DImode)
2315 : 382 : || GET_MODE (x4) != E_DImode
2316 : 764 : || !nonimmediate_operand (operands[1], E_DImode))
2317 : 2 : return -1;
2318 : : return 1;
2319 : :
2320 : 323 : case E_HImode:
2321 : 323 : if (!register_operand (operands[0], E_HImode)
2322 : 323 : || GET_MODE (x4) != E_HImode
2323 : 646 : || !nonimmediate_operand (operands[1], E_HImode))
2324 : 3 : return -1;
2325 : : return 2;
2326 : :
2327 : : default:
2328 : : return -1;
2329 : : }
2330 : :
2331 : 0 : case UNSPEC:
2332 : 0 : if (XVECLEN (x6, 0) != 1
2333 : 0 : || XINT (x6, 1) != 39)
2334 : : return -1;
2335 : 0 : res = pattern541 (x1);
2336 : 0 : if (res >= 0)
2337 : 0 : return res + 3; /* [3, 4] */
2338 : : return -1;
2339 : :
2340 : : default:
2341 : : return -1;
2342 : : }
2343 : : }
2344 : :
2345 : : int
2346 : 311002 : pattern557 (rtx x1, machine_mode i1, machine_mode i2)
2347 : : {
2348 : 311002 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2349 : 311002 : int res ATTRIBUTE_UNUSED;
2350 : 311002 : if (!register_operand (operands[0], i2)
2351 : 310941 : || GET_MODE (x1) != i2
2352 : 621943 : || pattern556 (x1,
2353 : : i1,
2354 : : i2) != 0)
2355 : 15826 : return -1;
2356 : : return 0;
2357 : : }
2358 : :
2359 : : int
2360 : 27297970 : pattern561 (rtx x1)
2361 : : {
2362 : 27297970 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2363 : 27297970 : int res ATTRIBUTE_UNUSED;
2364 : 27297970 : if (!nonimmediate_operand (operands[0], E_SImode)
2365 : 27272104 : || GET_MODE (x1) != E_SImode
2366 : 27272104 : || !nonimmediate_operand (operands[1], E_SImode)
2367 : 54153296 : || !x86_64_general_operand (operands[2], E_SImode))
2368 : 481693 : return -1;
2369 : : return 0;
2370 : : }
2371 : :
2372 : : int
2373 : 42713 : pattern567 (rtx x1)
2374 : : {
2375 : 42713 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2376 : 42713 : rtx x2, x3, x4, x5, x6;
2377 : 42713 : int res ATTRIBUTE_UNUSED;
2378 : 42713 : x2 = XVECEXP (x1, 0, 1);
2379 : 42713 : if (GET_CODE (x2) != CLOBBER)
2380 : : return -1;
2381 : 41112 : x3 = XEXP (x2, 0);
2382 : 41112 : if (GET_CODE (x3) != REG
2383 : 41112 : || REGNO (x3) != 17
2384 : 82224 : || GET_MODE (x3) != E_CCmode)
2385 : : return -1;
2386 : 41112 : x4 = XVECEXP (x1, 0, 0);
2387 : 41112 : x5 = XEXP (x4, 0);
2388 : 41112 : operands[0] = x5;
2389 : 41112 : if (!register_operand (operands[0], E_DImode))
2390 : : return -1;
2391 : 41110 : x6 = XEXP (x4, 1);
2392 : 41110 : if (GET_MODE (x6) != E_DImode)
2393 : : return -1;
2394 : : return 0;
2395 : : }
2396 : :
2397 : : int
2398 : 119 : pattern574 (rtx x1)
2399 : : {
2400 : 119 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2401 : 119 : int res ATTRIBUTE_UNUSED;
2402 : 119 : switch (GET_MODE (operands[0]))
2403 : : {
2404 : 24 : case E_QImode:
2405 : 24 : if (!register_operand (operands[0], E_QImode)
2406 : 24 : || GET_MODE (x1) != E_QImode
2407 : 48 : || !const_int_operand (operands[1], E_QImode))
2408 : 0 : return -1;
2409 : : return 0;
2410 : :
2411 : 0 : case E_HImode:
2412 : 0 : if (!register_operand (operands[0], E_HImode)
2413 : 0 : || GET_MODE (x1) != E_HImode
2414 : 0 : || !const_int_operand (operands[1], E_HImode))
2415 : 0 : return -1;
2416 : : return 1;
2417 : :
2418 : 42 : case E_SImode:
2419 : 42 : if (!register_operand (operands[0], E_SImode)
2420 : 39 : || GET_MODE (x1) != E_SImode
2421 : 81 : || !const_int_operand (operands[1], E_SImode))
2422 : 3 : return -1;
2423 : : return 2;
2424 : :
2425 : 53 : case E_DImode:
2426 : 53 : if (!register_operand (operands[0], E_DImode)
2427 : 53 : || GET_MODE (x1) != E_DImode
2428 : 106 : || !const_int_operand (operands[1], E_DImode))
2429 : 0 : return -1;
2430 : : return 3;
2431 : :
2432 : : default:
2433 : : return -1;
2434 : : }
2435 : : }
2436 : :
2437 : : int
2438 : 55652 : pattern585 (rtx x1)
2439 : : {
2440 : 55652 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2441 : 55652 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2442 : 55652 : int res ATTRIBUTE_UNUSED;
2443 : 55652 : x2 = XVECEXP (x1, 0, 1);
2444 : 55652 : if (GET_CODE (x2) != USE)
2445 : : return -1;
2446 : 55650 : x3 = XVECEXP (x1, 0, 2);
2447 : 55650 : x4 = XEXP (x3, 0);
2448 : 55650 : if (GET_CODE (x4) != REG
2449 : 55650 : || REGNO (x4) != 17
2450 : 111300 : || GET_MODE (x4) != E_CCmode)
2451 : : return -1;
2452 : 55650 : x5 = XVECEXP (x1, 0, 0);
2453 : 55650 : x6 = XEXP (x5, 0);
2454 : 55650 : operands[0] = x6;
2455 : 55650 : x7 = XEXP (x5, 1);
2456 : 55650 : x8 = XEXP (x7, 0);
2457 : 55650 : operands[1] = x8;
2458 : 55650 : x9 = XEXP (x2, 0);
2459 : 55650 : operands[2] = x9;
2460 : 55650 : switch (GET_MODE (operands[0]))
2461 : : {
2462 : 258 : case E_HFmode:
2463 : 258 : return pattern225 (x7,
2464 : : E_V8HFmode,
2465 : 258 : E_HFmode); /* [-1, 0] */
2466 : :
2467 : 22422 : case E_SFmode:
2468 : 22422 : if (GET_MODE (x7) != E_SFmode)
2469 : : return -1;
2470 : : return 1;
2471 : :
2472 : 32970 : case E_DFmode:
2473 : 32970 : if (GET_MODE (x7) != E_DFmode)
2474 : : return -1;
2475 : : return 2;
2476 : :
2477 : : default:
2478 : : return -1;
2479 : : }
2480 : : }
2481 : :
2482 : : int
2483 : 32394 : pattern593 (rtx x1)
2484 : : {
2485 : 32394 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2486 : 32394 : rtx x2, x3, x4, x5, x6;
2487 : 32394 : int res ATTRIBUTE_UNUSED;
2488 : 32394 : x2 = XVECEXP (x1, 0, 2);
2489 : 32394 : if (!const_0_to_7_operand (x2, E_SImode))
2490 : : return -1;
2491 : 30606 : x3 = XVECEXP (x1, 0, 0);
2492 : 30606 : switch (GET_CODE (x3))
2493 : : {
2494 : 28635 : case CONST_INT:
2495 : 28635 : case CONST_WIDE_INT:
2496 : 28635 : case CONST_POLY_INT:
2497 : 28635 : case CONST_FIXED:
2498 : 28635 : case CONST_DOUBLE:
2499 : 28635 : case CONST_VECTOR:
2500 : 28635 : case CONST:
2501 : 28635 : case REG:
2502 : 28635 : case SUBREG:
2503 : 28635 : case MEM:
2504 : 28635 : case LABEL_REF:
2505 : 28635 : case SYMBOL_REF:
2506 : 28635 : case HIGH:
2507 : 28635 : operands[1] = x3;
2508 : 28635 : x4 = XVECEXP (x1, 0, 1);
2509 : 28635 : operands[2] = x4;
2510 : 28635 : operands[3] = x2;
2511 : 28635 : switch (GET_MODE (operands[0]))
2512 : : {
2513 : 1095 : case E_DImode:
2514 : 1095 : return pattern589 (x1); /* [-1, 0] */
2515 : :
2516 : 2357 : case E_SImode:
2517 : 2357 : res = pattern590 (x1);
2518 : 2357 : if (res >= 0)
2519 : 2148 : return res + 1; /* [1, 2] */
2520 : : return -1;
2521 : :
2522 : 12087 : case E_HImode:
2523 : 12087 : res = pattern591 (x1);
2524 : 12087 : if (res >= 0)
2525 : 11115 : return res + 3; /* [3, 5] */
2526 : : return -1;
2527 : :
2528 : 12701 : case E_QImode:
2529 : 12701 : res = pattern592 (x1);
2530 : 12701 : if (res >= 0)
2531 : 10511 : return res + 6; /* [6, 11] */
2532 : : return -1;
2533 : :
2534 : : default:
2535 : : return -1;
2536 : : }
2537 : :
2538 : 36 : case US_MINUS:
2539 : 36 : x5 = XEXP (x3, 0);
2540 : 36 : operands[1] = x5;
2541 : 36 : x6 = XEXP (x3, 1);
2542 : 36 : operands[2] = x6;
2543 : 36 : x4 = XVECEXP (x1, 0, 1);
2544 : 36 : operands[3] = x4;
2545 : 36 : operands[4] = x2;
2546 : 36 : switch (GET_MODE (operands[0]))
2547 : : {
2548 : 6 : case E_DImode:
2549 : 6 : if (pattern73 (x1,
2550 : : E_V64QImode,
2551 : : E_DImode) != 0)
2552 : : return -1;
2553 : : return 12;
2554 : :
2555 : 12 : case E_HImode:
2556 : 12 : res = pattern72 (x1);
2557 : 12 : if (res >= 0)
2558 : 12 : return res + 13; /* [13, 14] */
2559 : : return -1;
2560 : :
2561 : 12 : case E_SImode:
2562 : 12 : res = pattern303 (x1);
2563 : 12 : if (res >= 0)
2564 : 12 : return res + 15; /* [15, 16] */
2565 : : return -1;
2566 : :
2567 : 6 : case E_QImode:
2568 : 6 : if (pattern73 (x1,
2569 : : E_V8HImode,
2570 : : E_QImode) != 0)
2571 : : return -1;
2572 : : return 17;
2573 : :
2574 : : default:
2575 : : return -1;
2576 : : }
2577 : :
2578 : : default:
2579 : : return -1;
2580 : : }
2581 : : }
2582 : :
2583 : : int
2584 : 1602 : pattern617 (rtx x1, int *pnum_clobbers, machine_mode i1)
2585 : : {
2586 : 1602 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2587 : 1602 : int res ATTRIBUTE_UNUSED;
2588 : 1602 : if (pnum_clobbers == NULL
2589 : 1581 : || !register_operand (operands[0], i1)
2590 : 1314 : || GET_MODE (x1) != i1
2591 : 2916 : || !register_operand (operands[1], i1))
2592 : 1116 : return -1;
2593 : : return 0;
2594 : : }
2595 : :
2596 : : int
2597 : 84 : pattern622 (rtx x1)
2598 : : {
2599 : 84 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2600 : 84 : rtx x2, x3, x4;
2601 : 84 : int res ATTRIBUTE_UNUSED;
2602 : 84 : if (GET_MODE (x1) != E_SImode)
2603 : : return -1;
2604 : 84 : x2 = XEXP (x1, 0);
2605 : 84 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
2606 : : return -1;
2607 : 71 : x3 = XEXP (x1, 1);
2608 : 71 : if (GET_CODE (x3) != SUBREG
2609 : 67 : || maybe_ne (SUBREG_BYTE (x3), 0)
2610 : 138 : || GET_MODE (x3) != E_SImode)
2611 : : return -1;
2612 : 67 : x4 = XEXP (x3, 0);
2613 : 67 : if (GET_CODE (x4) != CLZ
2614 : 64 : || GET_MODE (x4) != E_DImode)
2615 : 3 : return -1;
2616 : : return 0;
2617 : : }
2618 : :
2619 : : int
2620 : 662 : pattern630 (rtx x1)
2621 : : {
2622 : 662 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2623 : 662 : rtx x2, x3, x4;
2624 : 662 : int res ATTRIBUTE_UNUSED;
2625 : 662 : x2 = XVECEXP (x1, 0, 0);
2626 : 662 : x3 = XEXP (x2, 1);
2627 : 662 : operands[1] = x3;
2628 : 662 : x4 = XEXP (x2, 0);
2629 : 662 : if (!rtx_equal_p (x4, operands[0]))
2630 : : return -1;
2631 : 658 : switch (GET_MODE (operands[0]))
2632 : : {
2633 : 301 : case E_SImode:
2634 : 301 : return pattern629 (x1,
2635 : 301 : E_SImode); /* [-1, 0] */
2636 : :
2637 : 357 : case E_DImode:
2638 : 357 : if (pattern629 (x1,
2639 : : E_DImode) != 0)
2640 : : return -1;
2641 : : return 1;
2642 : :
2643 : : default:
2644 : : return -1;
2645 : : }
2646 : : }
2647 : :
2648 : : int
2649 : 6092 : pattern638 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2650 : : {
2651 : 6092 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2652 : 6092 : rtx x2, x3, x4;
2653 : 6092 : int res ATTRIBUTE_UNUSED;
2654 : 6092 : x2 = XEXP (x1, 0);
2655 : 6092 : x3 = XVECEXP (x2, 0, 0);
2656 : 6092 : operands[1] = x3;
2657 : 6092 : x4 = XEXP (x1, 2);
2658 : 6092 : operands[3] = x4;
2659 : 6092 : switch (GET_MODE (operands[0]))
2660 : : {
2661 : 2052 : case E_V32HImode:
2662 : 2052 : return pattern637 (x1,
2663 : : E_V32HImode,
2664 : : E_SImode,
2665 : 2052 : i1); /* [-1, 0] */
2666 : :
2667 : 2040 : case E_V16HImode:
2668 : 2040 : if (pattern637 (x1,
2669 : : E_V16HImode,
2670 : : E_HImode,
2671 : : i2) != 0)
2672 : : return -1;
2673 : : return 1;
2674 : :
2675 : 2000 : case E_V8HImode:
2676 : 2000 : if (pattern637 (x1,
2677 : : E_V8HImode,
2678 : : E_QImode,
2679 : : i3) != 0)
2680 : : return -1;
2681 : : return 2;
2682 : :
2683 : : default:
2684 : : return -1;
2685 : : }
2686 : : }
2687 : :
2688 : : int
2689 : 247 : pattern645 (rtx x1, machine_mode i1)
2690 : : {
2691 : 247 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2692 : 247 : int res ATTRIBUTE_UNUSED;
2693 : 247 : if (!register_operand (operands[0], i1)
2694 : 247 : || GET_MODE (x1) != i1)
2695 : : return -1;
2696 : 212 : switch (GET_MODE (operands[1]))
2697 : : {
2698 : 77 : case E_V8HFmode:
2699 : 77 : if (!vector_operand (operands[1], E_V8HFmode))
2700 : : return -1;
2701 : : return 0;
2702 : :
2703 : 101 : case E_V8SFmode:
2704 : 101 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
2705 : : return -1;
2706 : : return 1;
2707 : :
2708 : 34 : case E_V8DFmode:
2709 : 34 : if (!vector_operand (operands[1], E_V8DFmode))
2710 : : return -1;
2711 : : return 2;
2712 : :
2713 : : default:
2714 : : return -1;
2715 : : }
2716 : : }
2717 : :
2718 : : int
2719 : 4034 : pattern650 (rtx x1, machine_mode i1, machine_mode i2)
2720 : : {
2721 : 4034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2722 : 4034 : rtx x2, x3;
2723 : 4034 : int res ATTRIBUTE_UNUSED;
2724 : 4034 : if (!register_operand (operands[0], i1)
2725 : 4034 : || GET_MODE (x1) != i1)
2726 : : return -1;
2727 : 3934 : x2 = XVECEXP (x1, 0, 0);
2728 : 3934 : if (GET_MODE (x2) != i1)
2729 : : return -1;
2730 : 3934 : x3 = XEXP (x2, 0);
2731 : 3934 : if (GET_MODE (x3) != i1
2732 : 3934 : || !register_operand (operands[1], i1)
2733 : 3894 : || !register_operand (operands[2], i1)
2734 : 3862 : || !nonimm_or_0_operand (operands[3], i1)
2735 : 7784 : || !register_operand (operands[4], i2))
2736 : 84 : return -1;
2737 : : return 0;
2738 : : }
2739 : :
2740 : : int
2741 : 0 : pattern657 (rtx x1)
2742 : : {
2743 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2744 : 0 : rtx x2, x3, x4, x5, x6, x7;
2745 : 0 : int res ATTRIBUTE_UNUSED;
2746 : 0 : x2 = XVECEXP (x1, 0, 0);
2747 : 0 : x3 = XEXP (x2, 0);
2748 : 0 : x4 = XEXP (x3, 0);
2749 : 0 : operands[1] = x4;
2750 : 0 : x5 = XEXP (x2, 1);
2751 : 0 : operands[2] = x5;
2752 : 0 : x6 = XEXP (x2, 2);
2753 : 0 : operands[3] = x6;
2754 : 0 : x7 = XVECEXP (x1, 0, 1);
2755 : 0 : operands[4] = x7;
2756 : 0 : if (!const48_operand (operands[4], E_SImode))
2757 : : return -1;
2758 : 0 : switch (GET_MODE (operands[0]))
2759 : : {
2760 : 0 : case E_V8HImode:
2761 : 0 : return pattern656 (x1,
2762 : : E_QImode,
2763 : : E_V8HImode,
2764 : 0 : E_V8HFmode); /* [-1, 0] */
2765 : :
2766 : 0 : case E_V16HImode:
2767 : 0 : if (pattern656 (x1,
2768 : : E_HImode,
2769 : : E_V16HImode,
2770 : : E_V16HFmode) != 0)
2771 : : return -1;
2772 : : return 1;
2773 : :
2774 : 0 : case E_V32HImode:
2775 : 0 : if (pattern656 (x1,
2776 : : E_SImode,
2777 : : E_V32HImode,
2778 : : E_V32HFmode) != 0)
2779 : : return -1;
2780 : : return 2;
2781 : :
2782 : 0 : case E_V8SImode:
2783 : 0 : if (!register_operand (operands[0], E_V8SImode)
2784 : 0 : || GET_MODE (x1) != E_V8SImode
2785 : 0 : || GET_MODE (x2) != E_V8SImode
2786 : 0 : || GET_MODE (x3) != E_V8SImode
2787 : 0 : || !nonimm_or_0_operand (operands[2], E_V8SImode)
2788 : 0 : || !register_operand (operands[3], E_QImode))
2789 : 0 : return -1;
2790 : 0 : switch (GET_MODE (operands[1]))
2791 : : {
2792 : 0 : case E_V8HFmode:
2793 : 0 : if (!register_operand (operands[1], E_V8HFmode))
2794 : : return -1;
2795 : : return 3;
2796 : :
2797 : 0 : case E_V8DFmode:
2798 : 0 : if (!register_operand (operands[1], E_V8DFmode))
2799 : : return -1;
2800 : : return 4;
2801 : :
2802 : : default:
2803 : : return -1;
2804 : : }
2805 : :
2806 : 0 : case E_V16SImode:
2807 : 0 : if (!register_operand (operands[0], E_V16SImode)
2808 : 0 : || GET_MODE (x1) != E_V16SImode
2809 : 0 : || GET_MODE (x2) != E_V16SImode
2810 : 0 : || GET_MODE (x3) != E_V16SImode
2811 : 0 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
2812 : 0 : || !register_operand (operands[3], E_HImode))
2813 : 0 : return -1;
2814 : 0 : switch (GET_MODE (operands[1]))
2815 : : {
2816 : 0 : case E_V16HFmode:
2817 : 0 : if (!register_operand (operands[1], E_V16HFmode))
2818 : : return -1;
2819 : : return 5;
2820 : :
2821 : 0 : case E_V16SFmode:
2822 : 0 : if (!register_operand (operands[1], E_V16SFmode))
2823 : : return -1;
2824 : : return 6;
2825 : :
2826 : : default:
2827 : : return -1;
2828 : : }
2829 : :
2830 : 0 : case E_V8DImode:
2831 : 0 : if (!register_operand (operands[0], E_V8DImode)
2832 : 0 : || GET_MODE (x1) != E_V8DImode
2833 : 0 : || GET_MODE (x2) != E_V8DImode
2834 : 0 : || GET_MODE (x3) != E_V8DImode
2835 : 0 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
2836 : 0 : || !register_operand (operands[3], E_QImode))
2837 : 0 : return -1;
2838 : 0 : switch (GET_MODE (operands[1]))
2839 : : {
2840 : 0 : case E_V8HFmode:
2841 : 0 : if (!register_operand (operands[1], E_V8HFmode))
2842 : : return -1;
2843 : : return 7;
2844 : :
2845 : 0 : case E_V8DFmode:
2846 : 0 : if (!register_operand (operands[1], E_V8DFmode))
2847 : : return -1;
2848 : : return 8;
2849 : :
2850 : 0 : case E_V8SFmode:
2851 : 0 : if (!register_operand (operands[1], E_V8SFmode))
2852 : : return -1;
2853 : : return 9;
2854 : :
2855 : : default:
2856 : : return -1;
2857 : : }
2858 : :
2859 : : default:
2860 : : return -1;
2861 : : }
2862 : : }
2863 : :
2864 : : int
2865 : 14746 : pattern689 (rtx x1)
2866 : : {
2867 : 14746 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2868 : 14746 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2869 : 14746 : int res ATTRIBUTE_UNUSED;
2870 : 14746 : x2 = XVECEXP (x1, 0, 0);
2871 : 14746 : x3 = XEXP (x2, 1);
2872 : 14746 : x4 = XEXP (x3, 1);
2873 : 14746 : operands[2] = x4;
2874 : 14746 : x5 = XEXP (x4, 0);
2875 : 14746 : if (GET_CODE (x5) != REG
2876 : 14746 : || REGNO (x5) != 17)
2877 : : return -1;
2878 : 13401 : x6 = XEXP (x4, 1);
2879 : 13401 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2880 : : return -1;
2881 : 13401 : x7 = XVECEXP (x1, 0, 1);
2882 : 13401 : if (GET_CODE (x7) != CLOBBER)
2883 : : return -1;
2884 : 13287 : x8 = XEXP (x7, 0);
2885 : 13287 : if (GET_CODE (x8) != REG
2886 : 13287 : || REGNO (x8) != 17
2887 : 26574 : || GET_MODE (x8) != E_CCmode)
2888 : : return -1;
2889 : 13287 : x9 = XEXP (x2, 0);
2890 : 13287 : operands[0] = x9;
2891 : 13287 : switch (GET_MODE (operands[0]))
2892 : : {
2893 : : case E_QImode:
2894 : : return 0;
2895 : :
2896 : : case E_HImode:
2897 : : return 1;
2898 : :
2899 : : case E_SImode:
2900 : : return 2;
2901 : :
2902 : : case E_DImode:
2903 : : return 3;
2904 : :
2905 : : default:
2906 : : return -1;
2907 : : }
2908 : : }
2909 : :
2910 : : int
2911 : 687 : pattern698 (rtx x1)
2912 : : {
2913 : 687 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2914 : 687 : int res ATTRIBUTE_UNUSED;
2915 : 687 : if (!register_operand (operands[0], E_V2SFmode)
2916 : 659 : || GET_MODE (x1) != E_V2SFmode
2917 : 659 : || !register_operand (operands[1], E_V2SFmode)
2918 : 1184 : || !nonimmediate_operand (operands[2], E_V2SFmode))
2919 : 279 : return -1;
2920 : : return 0;
2921 : : }
2922 : :
2923 : : int
2924 : 801 : pattern705 (rtx x1, int i1)
2925 : : {
2926 : 801 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2927 : 801 : rtx x2, x3, x4, x5, x6, x7, x8;
2928 : 801 : int res ATTRIBUTE_UNUSED;
2929 : 801 : x2 = XVECEXP (x1, 0, 0);
2930 : 801 : x3 = XEXP (x2, 1);
2931 : 801 : x4 = XVECEXP (x3, 0, 0);
2932 : 801 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2933 : : return -1;
2934 : 801 : x5 = XVECEXP (x1, 0, 1);
2935 : 801 : if (GET_CODE (x5) != SET)
2936 : : return -1;
2937 : 801 : x6 = XEXP (x5, 1);
2938 : 801 : if (GET_CODE (x6) != UNSPEC_VOLATILE
2939 : 801 : || XVECLEN (x6, 0) != 1
2940 : 801 : || XINT (x6, 1) != i1
2941 : 801 : || GET_MODE (x6) != E_CCCmode)
2942 : : return -1;
2943 : 801 : x7 = XVECEXP (x6, 0, 0);
2944 : 801 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2945 : : return -1;
2946 : 801 : x8 = XEXP (x5, 0);
2947 : 801 : if (GET_CODE (x8) != REG
2948 : 801 : || REGNO (x8) != 17
2949 : 1602 : || GET_MODE (x8) != E_CCCmode)
2950 : : return -1;
2951 : 801 : switch (GET_MODE (operands[0]))
2952 : : {
2953 : 180 : case E_HImode:
2954 : 180 : if (!register_operand (operands[0], E_HImode)
2955 : 180 : || GET_MODE (x3) != E_HImode)
2956 : : return -1;
2957 : : return 0;
2958 : :
2959 : 442 : case E_SImode:
2960 : 442 : if (!register_operand (operands[0], E_SImode)
2961 : 442 : || GET_MODE (x3) != E_SImode)
2962 : : return -1;
2963 : : return 1;
2964 : :
2965 : 179 : case E_DImode:
2966 : 179 : if (!register_operand (operands[0], E_DImode)
2967 : 179 : || GET_MODE (x3) != E_DImode)
2968 : : return -1;
2969 : : return 2;
2970 : :
2971 : : default:
2972 : : return -1;
2973 : : }
2974 : : }
2975 : :
2976 : : int
2977 : 43679 : pattern719 (rtx x1, rtx_code i1)
2978 : : {
2979 : 43679 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2980 : 43679 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2981 : 43679 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2982 : 43679 : rtx x18;
2983 : 43679 : int res ATTRIBUTE_UNUSED;
2984 : 43679 : x2 = XVECEXP (x1, 0, 0);
2985 : 43679 : x3 = XEXP (x2, 1);
2986 : 43679 : x4 = XEXP (x3, 0);
2987 : 43679 : x5 = XEXP (x4, 0);
2988 : 43679 : if (GET_CODE (x5) != SIGN_EXTEND)
2989 : : return -1;
2990 : 37789 : x6 = XEXP (x3, 1);
2991 : 37789 : if (GET_CODE (x6) != SIGN_EXTEND)
2992 : : return -1;
2993 : 37789 : x7 = XEXP (x6, 0);
2994 : 37789 : if (GET_CODE (x7) != i1)
2995 : : return -1;
2996 : 37789 : x8 = XEXP (x2, 0);
2997 : 37789 : if (GET_CODE (x8) != REG
2998 : 37789 : || REGNO (x8) != 17
2999 : 75578 : || GET_MODE (x8) != E_CCOmode)
3000 : : return -1;
3001 : 37789 : x9 = XVECEXP (x1, 0, 1);
3002 : 37789 : if (GET_CODE (x9) != SET)
3003 : : return -1;
3004 : 37789 : x10 = XEXP (x9, 1);
3005 : 37789 : if (GET_CODE (x10) != i1
3006 : 37789 : || GET_MODE (x3) != E_CCOmode)
3007 : : return -1;
3008 : 37789 : x11 = XEXP (x5, 0);
3009 : 37789 : operands[1] = x11;
3010 : 37789 : x12 = XEXP (x9, 0);
3011 : 37789 : operands[0] = x12;
3012 : 37789 : x13 = XEXP (x7, 0);
3013 : 37789 : if (!rtx_equal_p (x13, operands[1]))
3014 : : return -1;
3015 : 37788 : x14 = XEXP (x10, 0);
3016 : 37788 : if (!rtx_equal_p (x14, operands[1]))
3017 : : return -1;
3018 : 37787 : x15 = XEXP (x4, 1);
3019 : 37787 : switch (GET_CODE (x15))
3020 : : {
3021 : 26203 : case SIGN_EXTEND:
3022 : 26203 : x16 = XEXP (x15, 0);
3023 : 26203 : operands[2] = x16;
3024 : 26203 : x17 = XEXP (x7, 1);
3025 : 26203 : if (!rtx_equal_p (x17, operands[2]))
3026 : : return -1;
3027 : 26203 : x18 = XEXP (x10, 1);
3028 : 26203 : if (!rtx_equal_p (x18, operands[2]))
3029 : : return -1;
3030 : 26203 : switch (GET_MODE (x4))
3031 : : {
3032 : 11966 : case E_TImode:
3033 : 11966 : return pattern717 (x1,
3034 : : E_DImode,
3035 : 11966 : E_TImode); /* [-1, 0] */
3036 : :
3037 : 3488 : case E_POImode:
3038 : 3488 : if (pattern717 (x1,
3039 : : E_TImode,
3040 : : E_POImode) != 0)
3041 : : return -1;
3042 : : return 1;
3043 : :
3044 : : default:
3045 : : return -1;
3046 : : }
3047 : :
3048 : 11584 : case CONST_INT:
3049 : 11584 : case CONST_WIDE_INT:
3050 : 11584 : operands[3] = x15;
3051 : 11584 : x17 = XEXP (x7, 1);
3052 : 11584 : operands[2] = x17;
3053 : 11584 : x18 = XEXP (x10, 1);
3054 : 11584 : if (!rtx_equal_p (x18, operands[2]))
3055 : : return -1;
3056 : 11584 : switch (GET_MODE (x4))
3057 : : {
3058 : 3699 : case E_TImode:
3059 : 3699 : if (pattern718 (x1,
3060 : : E_DImode,
3061 : : E_TImode) != 0)
3062 : : return -1;
3063 : : return 2;
3064 : :
3065 : 1007 : case E_POImode:
3066 : 1007 : if (pattern718 (x1,
3067 : : E_TImode,
3068 : : E_POImode) != 0)
3069 : : return -1;
3070 : : return 3;
3071 : :
3072 : : default:
3073 : : return -1;
3074 : : }
3075 : :
3076 : : default:
3077 : : return -1;
3078 : : }
3079 : : }
3080 : :
3081 : : int
3082 : 444 : pattern748 (rtx x1)
3083 : : {
3084 : 444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3085 : 444 : rtx x2, x3, x4, x5;
3086 : 444 : int res ATTRIBUTE_UNUSED;
3087 : 444 : x2 = XEXP (x1, 0);
3088 : 444 : x3 = XEXP (x2, 1);
3089 : 444 : x4 = XEXP (x3, 1);
3090 : 444 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3091 : : return -1;
3092 : 441 : x5 = XEXP (x3, 0);
3093 : 441 : operands[3] = x5;
3094 : 441 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
3095 : : return -1;
3096 : 438 : switch (GET_MODE (operands[0]))
3097 : : {
3098 : 138 : case E_SImode:
3099 : 138 : return pattern747 (x1,
3100 : 138 : E_SImode); /* [-1, 0] */
3101 : :
3102 : 300 : case E_DImode:
3103 : 300 : if (pattern747 (x1,
3104 : : E_DImode) != 0)
3105 : : return -1;
3106 : : return 1;
3107 : :
3108 : : default:
3109 : : return -1;
3110 : : }
3111 : : }
3112 : :
3113 : : int
3114 : 30 : pattern760 (rtx x1)
3115 : : {
3116 : 30 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3117 : 30 : rtx x2, x3;
3118 : 30 : int res ATTRIBUTE_UNUSED;
3119 : 30 : x2 = XEXP (x1, 0);
3120 : 30 : operands[1] = x2;
3121 : 30 : x3 = XEXP (x1, 1);
3122 : 30 : operands[2] = x3;
3123 : 30 : switch (GET_MODE (x1))
3124 : : {
3125 : 0 : case E_V8SFmode:
3126 : 0 : if (!register_operand (operands[1], E_V8SImode)
3127 : 0 : || !const0_operand (operands[2], E_V8SImode))
3128 : 0 : return -1;
3129 : : return 0;
3130 : :
3131 : 0 : case E_V4SFmode:
3132 : 0 : if (!register_operand (operands[1], E_V4SImode)
3133 : 0 : || !const0_operand (operands[2], E_V4SImode))
3134 : 0 : return -1;
3135 : : return 1;
3136 : :
3137 : 10 : case E_V4DFmode:
3138 : 10 : if (!register_operand (operands[1], E_V4DImode)
3139 : 10 : || !const0_operand (operands[2], E_V4DImode))
3140 : 0 : return -1;
3141 : : return 2;
3142 : :
3143 : 0 : case E_V2DFmode:
3144 : 0 : if (!register_operand (operands[1], E_V2DImode)
3145 : 0 : || !const0_operand (operands[2], E_V2DImode))
3146 : 0 : return -1;
3147 : : return 3;
3148 : :
3149 : 11 : case E_V32QImode:
3150 : 11 : if (!register_operand (operands[1], E_V32QImode)
3151 : 11 : || !const0_operand (operands[2], E_V32QImode))
3152 : 0 : return -1;
3153 : : return 4;
3154 : :
3155 : 9 : case E_V16QImode:
3156 : 9 : if (!register_operand (operands[1], E_V16QImode)
3157 : 9 : || !const0_operand (operands[2], E_V16QImode))
3158 : 0 : return -1;
3159 : : return 5;
3160 : :
3161 : : default:
3162 : : return -1;
3163 : : }
3164 : : }
3165 : :
3166 : : int
3167 : 0 : pattern775 (rtx x1)
3168 : : {
3169 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3170 : 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3171 : 0 : rtx x10;
3172 : 0 : int res ATTRIBUTE_UNUSED;
3173 : 0 : x2 = XVECEXP (x1, 0, 0);
3174 : 0 : x3 = XEXP (x2, 2);
3175 : 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3176 : : return -1;
3177 : 0 : x4 = XEXP (x2, 0);
3178 : 0 : x5 = XEXP (x4, 0);
3179 : 0 : x6 = XEXP (x5, 0);
3180 : 0 : operands[1] = x6;
3181 : 0 : x7 = XEXP (x5, 1);
3182 : 0 : operands[2] = x7;
3183 : 0 : x8 = XEXP (x4, 1);
3184 : 0 : operands[3] = x8;
3185 : 0 : x9 = XEXP (x4, 2);
3186 : 0 : operands[4] = x9;
3187 : 0 : if (!register_operand (operands[4], E_QImode))
3188 : : return -1;
3189 : 0 : x10 = XVECEXP (x1, 0, 1);
3190 : 0 : operands[5] = x10;
3191 : 0 : if (!const48_operand (operands[5], E_SImode))
3192 : : return -1;
3193 : 0 : return pattern773 (x1); /* [-1, 2] */
3194 : : }
3195 : :
3196 : : int
3197 : 189257 : pattern792 (rtx x1, machine_mode i1, machine_mode i2)
3198 : : {
3199 : 189257 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3200 : 189257 : int res ATTRIBUTE_UNUSED;
3201 : 189257 : if (!register_operand (operands[0], i2)
3202 : 181458 : || GET_MODE (x1) != i2
3203 : 181458 : || !nonimmediate_operand (operands[1], i1)
3204 : 362569 : || !nonimm_or_0_operand (operands[2], i1))
3205 : 22346 : return -1;
3206 : : return 0;
3207 : : }
3208 : :
3209 : : int
3210 : 43092 : pattern798 (rtx x1, machine_mode i1, machine_mode i2)
3211 : : {
3212 : 43092 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3213 : 43092 : rtx x2;
3214 : 43092 : int res ATTRIBUTE_UNUSED;
3215 : 43092 : if (!register_operand (operands[0], i1)
3216 : 43092 : || GET_MODE (x1) != i1)
3217 : : return -1;
3218 : 43092 : x2 = XEXP (x1, 0);
3219 : 43092 : if (GET_MODE (x2) != i2
3220 : 43092 : || !vector_operand (operands[1], i1)
3221 : 43056 : || !const0_operand (operands[2], i1)
3222 : 86045 : || !pmovzx_parallel (operands[3], E_VOIDmode))
3223 : 20814 : return -1;
3224 : : return 0;
3225 : : }
3226 : :
3227 : : int
3228 : 5288 : pattern807 (rtx x1, machine_mode i1, machine_mode i2)
3229 : : {
3230 : 5288 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3231 : 5288 : rtx x2, x3, x4, x5;
3232 : 5288 : int res ATTRIBUTE_UNUSED;
3233 : 5288 : if (!register_operand (operands[0], i1)
3234 : 5288 : || GET_MODE (x1) != i1)
3235 : : return -1;
3236 : 5272 : x2 = XEXP (x1, 0);
3237 : 5272 : if (GET_MODE (x2) != i2)
3238 : : return -1;
3239 : 5272 : x3 = XEXP (x2, 0);
3240 : 5272 : if (GET_MODE (x3) != i2)
3241 : : return -1;
3242 : 5272 : x4 = XEXP (x3, 0);
3243 : 5272 : if (GET_MODE (x4) != i2
3244 : 5272 : || !vector_operand (operands[1], i1))
3245 : 394 : return -1;
3246 : 4878 : x5 = XEXP (x3, 1);
3247 : 4878 : if (GET_MODE (x5) != i2
3248 : 4878 : || !vector_operand (operands[2], i1))
3249 : 413 : return -1;
3250 : : return 0;
3251 : : }
3252 : :
3253 : : int
3254 : 8949271 : pattern813 (rtx x1)
3255 : : {
3256 : 8949271 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3257 : 8949271 : rtx x2, x3, x4, x5;
3258 : 8949271 : int res ATTRIBUTE_UNUSED;
3259 : 8949271 : if (!nonmemory_operand (operands[2], E_QImode))
3260 : : return -1;
3261 : 8909929 : x2 = XVECEXP (x1, 0, 1);
3262 : 8909929 : if (GET_CODE (x2) != CLOBBER)
3263 : : return -1;
3264 : 8452712 : x3 = XEXP (x2, 0);
3265 : 8452712 : if (GET_CODE (x3) != REG
3266 : 8452712 : || REGNO (x3) != 17
3267 : 16905424 : || GET_MODE (x3) != E_CCmode)
3268 : : return -1;
3269 : 8452712 : x4 = XVECEXP (x1, 0, 0);
3270 : 8452712 : x5 = XEXP (x4, 0);
3271 : 8452712 : switch (GET_CODE (x5))
3272 : : {
3273 : : case REG:
3274 : : case SUBREG:
3275 : : case MEM:
3276 : : return 0;
3277 : :
3278 : 93 : case STRICT_LOW_PART:
3279 : 93 : return 1;
3280 : :
3281 : : default:
3282 : : return -1;
3283 : : }
3284 : : }
3285 : :
3286 : : int
3287 : 24 : pattern820 (rtx x1, int *pnum_clobbers)
3288 : : {
3289 : 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3290 : 24 : rtx x2, x3;
3291 : 24 : int res ATTRIBUTE_UNUSED;
3292 : 24 : switch (GET_CODE (x1))
3293 : : {
3294 : 20 : case CLOBBER:
3295 : 20 : x2 = XEXP (x1, 0);
3296 : 20 : if (GET_CODE (x2) != REG
3297 : 20 : || REGNO (x2) != 17
3298 : 40 : || GET_MODE (x2) != E_CCmode)
3299 : : return -1;
3300 : : return 0;
3301 : :
3302 : 0 : case UNSPEC:
3303 : 0 : if (pnum_clobbers == NULL
3304 : 0 : || XVECLEN (x1, 0) != 1
3305 : 0 : || XINT (x1, 1) != 39)
3306 : : return -1;
3307 : 0 : x3 = XVECEXP (x1, 0, 0);
3308 : 0 : operands[2] = x3;
3309 : 0 : if (!register_operand (operands[2], E_DImode))
3310 : : return -1;
3311 : : return 1;
3312 : :
3313 : : default:
3314 : : return -1;
3315 : : }
3316 : : }
3317 : :
3318 : : int
3319 : 115 : pattern826 (rtx x1, int *pnum_clobbers)
3320 : : {
3321 : 115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3322 : 115 : rtx x2, x3;
3323 : 115 : int res ATTRIBUTE_UNUSED;
3324 : 115 : x2 = XVECEXP (x1, 0, 1);
3325 : 115 : if (GET_CODE (x2) != USE)
3326 : : return -1;
3327 : 115 : x3 = XVECEXP (x1, 0, 2);
3328 : 115 : if (GET_CODE (x3) != USE
3329 : 115 : || !register_operand (operands[1], E_XFmode))
3330 : 62 : return -1;
3331 : 53 : return pattern825 (x1, pnum_clobbers); /* [-1, 2] */
3332 : : }
3333 : :
3334 : : int
3335 : 5942496 : pattern831 (rtx x1, machine_mode i1)
3336 : : {
3337 : 5942496 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3338 : 5942496 : int res ATTRIBUTE_UNUSED;
3339 : 5942496 : if (!register_operand (operands[0], i1)
3340 : 5939642 : || GET_MODE (x1) != i1
3341 : 5939642 : || !register_operand (operands[1], i1)
3342 : 11879303 : || !x86_64_nonmemory_operand (operands[2], i1))
3343 : 159389 : return -1;
3344 : : return 0;
3345 : : }
3346 : :
3347 : : int
3348 : 5501 : pattern835 (rtx x1)
3349 : : {
3350 : 5501 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3351 : 5501 : rtx x2, x3, x4, x5;
3352 : 5501 : int res ATTRIBUTE_UNUSED;
3353 : 5501 : x2 = XVECEXP (x1, 0, 1);
3354 : 5501 : x3 = XEXP (x2, 0);
3355 : 5501 : operands[2] = x3;
3356 : 5501 : switch (GET_MODE (operands[0]))
3357 : : {
3358 : 72 : case E_V2SFmode:
3359 : 72 : x4 = XVECEXP (x1, 0, 0);
3360 : 72 : x5 = XEXP (x4, 1);
3361 : 72 : return pattern698 (x5); /* [-1, 0] */
3362 : :
3363 : 4 : case E_V2BFmode:
3364 : 4 : x4 = XVECEXP (x1, 0, 0);
3365 : 4 : x5 = XEXP (x4, 1);
3366 : 4 : if (pattern699 (x5,
3367 : : E_V2BFmode) != 0)
3368 : : return -1;
3369 : : return 1;
3370 : :
3371 : 4 : case E_V4BFmode:
3372 : 4 : x4 = XVECEXP (x1, 0, 0);
3373 : 4 : x5 = XEXP (x4, 1);
3374 : 4 : if (pattern699 (x5,
3375 : : E_V4BFmode) != 0)
3376 : : return -1;
3377 : : return 2;
3378 : :
3379 : 4 : case E_V2HFmode:
3380 : 4 : x4 = XVECEXP (x1, 0, 0);
3381 : 4 : x5 = XEXP (x4, 1);
3382 : 4 : if (pattern699 (x5,
3383 : : E_V2HFmode) != 0)
3384 : : return -1;
3385 : : return 3;
3386 : :
3387 : 6 : case E_V4HFmode:
3388 : 6 : x4 = XVECEXP (x1, 0, 0);
3389 : 6 : x5 = XEXP (x4, 1);
3390 : 6 : if (pattern699 (x5,
3391 : : E_V4HFmode) != 0)
3392 : : return -1;
3393 : : return 4;
3394 : :
3395 : 4 : case E_V32BFmode:
3396 : 4 : x4 = XVECEXP (x1, 0, 0);
3397 : 4 : x5 = XEXP (x4, 1);
3398 : 4 : if (pattern697 (x5,
3399 : : E_V32BFmode) != 0)
3400 : : return -1;
3401 : : return 5;
3402 : :
3403 : 4 : case E_V16BFmode:
3404 : 4 : x4 = XVECEXP (x1, 0, 0);
3405 : 4 : x5 = XEXP (x4, 1);
3406 : 4 : if (pattern697 (x5,
3407 : : E_V16BFmode) != 0)
3408 : : return -1;
3409 : : return 6;
3410 : :
3411 : 4 : case E_V8BFmode:
3412 : 4 : x4 = XVECEXP (x1, 0, 0);
3413 : 4 : x5 = XEXP (x4, 1);
3414 : 4 : if (pattern697 (x5,
3415 : : E_V8BFmode) != 0)
3416 : : return -1;
3417 : : return 7;
3418 : :
3419 : 14 : case E_V32HFmode:
3420 : 14 : x4 = XVECEXP (x1, 0, 0);
3421 : 14 : x5 = XEXP (x4, 1);
3422 : 14 : if (pattern697 (x5,
3423 : : E_V32HFmode) != 0)
3424 : : return -1;
3425 : : return 8;
3426 : :
3427 : 10 : case E_V16HFmode:
3428 : 10 : x4 = XVECEXP (x1, 0, 0);
3429 : 10 : x5 = XEXP (x4, 1);
3430 : 10 : if (pattern697 (x5,
3431 : : E_V16HFmode) != 0)
3432 : : return -1;
3433 : : return 9;
3434 : :
3435 : 157 : case E_V8HFmode:
3436 : 157 : x4 = XVECEXP (x1, 0, 0);
3437 : 157 : x5 = XEXP (x4, 1);
3438 : 157 : if (pattern697 (x5,
3439 : : E_V8HFmode) != 0)
3440 : : return -1;
3441 : : return 10;
3442 : :
3443 : 66 : case E_V16SFmode:
3444 : 66 : x4 = XVECEXP (x1, 0, 0);
3445 : 66 : x5 = XEXP (x4, 1);
3446 : 66 : if (pattern697 (x5,
3447 : : E_V16SFmode) != 0)
3448 : : return -1;
3449 : : return 11;
3450 : :
3451 : 534 : case E_V8SFmode:
3452 : 534 : x4 = XVECEXP (x1, 0, 0);
3453 : 534 : x5 = XEXP (x4, 1);
3454 : 534 : if (pattern697 (x5,
3455 : : E_V8SFmode) != 0)
3456 : : return -1;
3457 : : return 12;
3458 : :
3459 : 666 : case E_V4SFmode:
3460 : 666 : x4 = XVECEXP (x1, 0, 0);
3461 : 666 : x5 = XEXP (x4, 1);
3462 : 666 : if (pattern697 (x5,
3463 : : E_V4SFmode) != 0)
3464 : : return -1;
3465 : : return 13;
3466 : :
3467 : 42 : case E_V8DFmode:
3468 : 42 : x4 = XVECEXP (x1, 0, 0);
3469 : 42 : x5 = XEXP (x4, 1);
3470 : 42 : if (pattern697 (x5,
3471 : : E_V8DFmode) != 0)
3472 : : return -1;
3473 : : return 14;
3474 : :
3475 : 1050 : case E_V4DFmode:
3476 : 1050 : x4 = XVECEXP (x1, 0, 0);
3477 : 1050 : x5 = XEXP (x4, 1);
3478 : 1050 : if (pattern697 (x5,
3479 : : E_V4DFmode) != 0)
3480 : : return -1;
3481 : : return 15;
3482 : :
3483 : 536 : case E_V2DFmode:
3484 : 536 : x4 = XVECEXP (x1, 0, 0);
3485 : 536 : x5 = XEXP (x4, 1);
3486 : 536 : if (pattern697 (x5,
3487 : : E_V2DFmode) != 0)
3488 : : return -1;
3489 : : return 16;
3490 : :
3491 : : default:
3492 : : return -1;
3493 : : }
3494 : : }
3495 : :
3496 : : int
3497 : 0 : pattern871 (rtx x1, machine_mode i1)
3498 : : {
3499 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3500 : 0 : rtx x2;
3501 : 0 : int res ATTRIBUTE_UNUSED;
3502 : 0 : if (!register_operand (operands[0], i1)
3503 : 0 : || GET_MODE (x1) != i1)
3504 : : return -1;
3505 : 0 : x2 = XEXP (x1, 0);
3506 : 0 : switch (GET_MODE (x2))
3507 : : {
3508 : 0 : case E_DImode:
3509 : 0 : if (!register_operand (operands[1], E_V64QImode)
3510 : 0 : || !nonimmediate_operand (operands[2], E_V64QImode))
3511 : 0 : return -1;
3512 : : return 0;
3513 : :
3514 : 0 : case E_SImode:
3515 : 0 : res = pattern870 ();
3516 : 0 : if (res >= 0)
3517 : 0 : return res + 1; /* [1, 2] */
3518 : : return -1;
3519 : :
3520 : 0 : case E_HImode:
3521 : 0 : res = pattern737 ();
3522 : 0 : if (res >= 0)
3523 : 0 : return res + 3; /* [3, 5] */
3524 : : return -1;
3525 : :
3526 : 0 : case E_QImode:
3527 : 0 : res = pattern738 ();
3528 : 0 : if (res >= 0)
3529 : 0 : return res + 6; /* [6, 11] */
3530 : : return -1;
3531 : :
3532 : : default:
3533 : : return -1;
3534 : : }
3535 : : }
3536 : :
3537 : : int
3538 : 7094 : pattern882 (rtx x1)
3539 : : {
3540 : 7094 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3541 : 7094 : rtx x2, x3, x4;
3542 : 7094 : int res ATTRIBUTE_UNUSED;
3543 : 7094 : x2 = XVECEXP (x1, 0, 0);
3544 : 7094 : x3 = XEXP (x2, 1);
3545 : 7094 : operands[1] = x3;
3546 : 7094 : x4 = XEXP (x2, 0);
3547 : 7094 : if (!rtx_equal_p (x4, operands[0]))
3548 : : return -1;
3549 : 4969 : switch (GET_MODE (operands[0]))
3550 : : {
3551 : 3349 : case E_SImode:
3552 : 3349 : return pattern859 (x1,
3553 : 3349 : E_SImode); /* [-1, 0] */
3554 : :
3555 : 1030 : case E_DImode:
3556 : 1030 : if (pattern859 (x1,
3557 : : E_DImode) != 0)
3558 : : return -1;
3559 : : return 1;
3560 : :
3561 : : default:
3562 : : return -1;
3563 : : }
3564 : : }
3565 : :
3566 : : int
3567 : 1986 : pattern891 (rtx x1, machine_mode i1)
3568 : : {
3569 : 1986 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3570 : 1986 : rtx x2, x3;
3571 : 1986 : int res ATTRIBUTE_UNUSED;
3572 : 1986 : if (!register_operand (operands[0], i1)
3573 : 1986 : || GET_MODE (x1) != i1)
3574 : : return -1;
3575 : 1733 : x2 = XEXP (x1, 0);
3576 : 1733 : operands[2] = x2;
3577 : 1733 : if (!register_operand (operands[2], i1))
3578 : : return -1;
3579 : 1514 : x3 = XEXP (x1, 1);
3580 : 1514 : operands[1] = x3;
3581 : 1514 : if (!reg_or_0_operand (operands[1], i1))
3582 : : return -1;
3583 : : return 0;
3584 : : }
3585 : :
3586 : : int
3587 : 412 : pattern901 (rtx x1)
3588 : : {
3589 : 412 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3590 : 412 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3591 : 412 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3592 : 412 : rtx x18, x19, x20, x21, x22;
3593 : 412 : int res ATTRIBUTE_UNUSED;
3594 : 412 : x2 = XEXP (x1, 0);
3595 : 412 : x3 = XEXP (x2, 0);
3596 : 412 : x4 = XEXP (x3, 0);
3597 : 412 : if (maybe_ne (SUBREG_BYTE (x4), 0)
3598 : 412 : || !register_operand (operands[3], E_QImode))
3599 : 188 : return -1;
3600 : 224 : x5 = XEXP (x4, 0);
3601 : 224 : switch (GET_CODE (x5))
3602 : : {
3603 : 36 : case VEC_CONCAT:
3604 : 36 : if (GET_MODE (x5) != E_V2DImode)
3605 : : return -1;
3606 : 36 : x6 = XEXP (x5, 1);
3607 : 36 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3608 : : return -1;
3609 : 0 : x7 = XEXP (x5, 0);
3610 : 0 : operands[1] = x7;
3611 : 0 : if (!memory_operand (operands[1], E_DImode))
3612 : : return -1;
3613 : 0 : x8 = XEXP (x3, 1);
3614 : 0 : switch (XVECLEN (x8, 0))
3615 : : {
3616 : 0 : case 8:
3617 : 0 : x9 = XVECEXP (x8, 0, 0);
3618 : 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3619 : : return -1;
3620 : 0 : x10 = XVECEXP (x8, 0, 1);
3621 : 0 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3622 : : return -1;
3623 : 0 : x11 = XVECEXP (x8, 0, 2);
3624 : 0 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3625 : : return -1;
3626 : 0 : x12 = XVECEXP (x8, 0, 3);
3627 : 0 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3628 : : return -1;
3629 : 0 : x13 = XVECEXP (x8, 0, 4);
3630 : 0 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3631 : : return -1;
3632 : 0 : x14 = XVECEXP (x8, 0, 5);
3633 : 0 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3634 : : return -1;
3635 : 0 : x15 = XVECEXP (x8, 0, 6);
3636 : 0 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3637 : : return -1;
3638 : 0 : x16 = XVECEXP (x8, 0, 7);
3639 : 0 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3640 : 0 : || GET_MODE (x3) != E_V8QImode
3641 : 0 : || GET_MODE (x4) != E_V16QImode)
3642 : : return -1;
3643 : 0 : switch (GET_MODE (operands[0]))
3644 : : {
3645 : 0 : case E_V8HImode:
3646 : 0 : return pattern143 (x1,
3647 : 0 : E_V8HImode); /* [-1, 0] */
3648 : :
3649 : 0 : case E_V8SImode:
3650 : 0 : if (pattern143 (x1,
3651 : : E_V8SImode) != 0)
3652 : : return -1;
3653 : : return 1;
3654 : :
3655 : 0 : case E_V8DImode:
3656 : 0 : if (pattern143 (x1,
3657 : : E_V8DImode) != 0)
3658 : : return -1;
3659 : : return 2;
3660 : :
3661 : : default:
3662 : : return -1;
3663 : : }
3664 : :
3665 : 0 : case 4:
3666 : 0 : res = pattern899 (x1,
3667 : : E_V8HImode,
3668 : : E_V4HImode);
3669 : 0 : if (res >= 0)
3670 : 0 : return res + 3; /* [3, 4] */
3671 : : return -1;
3672 : :
3673 : 0 : case 2:
3674 : 0 : if (pattern900 (x1,
3675 : : E_V4SImode,
3676 : : E_V2SImode) != 0)
3677 : : return -1;
3678 : : return 5;
3679 : :
3680 : : default:
3681 : : return -1;
3682 : : }
3683 : :
3684 : 0 : case VEC_MERGE:
3685 : 0 : if (GET_MODE (x5) != E_V4SImode)
3686 : : return -1;
3687 : 0 : x7 = XEXP (x5, 0);
3688 : 0 : if (GET_CODE (x7) != VEC_DUPLICATE
3689 : 0 : || GET_MODE (x7) != E_V4SImode)
3690 : : return -1;
3691 : 0 : x6 = XEXP (x5, 1);
3692 : 0 : if (GET_CODE (x6) != CONST_VECTOR
3693 : 0 : || XVECLEN (x6, 0) != 4
3694 : 0 : || GET_MODE (x6) != E_V4SImode)
3695 : : return -1;
3696 : 0 : x17 = XVECEXP (x6, 0, 0);
3697 : 0 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3698 : : return -1;
3699 : 0 : x18 = XVECEXP (x6, 0, 1);
3700 : 0 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3701 : : return -1;
3702 : 0 : x19 = XVECEXP (x6, 0, 2);
3703 : 0 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3704 : : return -1;
3705 : 0 : x20 = XVECEXP (x6, 0, 3);
3706 : 0 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3707 : : return -1;
3708 : 0 : x21 = XEXP (x5, 2);
3709 : 0 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3710 : : return -1;
3711 : 0 : x22 = XEXP (x7, 0);
3712 : 0 : operands[1] = x22;
3713 : 0 : if (!memory_operand (operands[1], E_SImode))
3714 : : return -1;
3715 : 0 : x8 = XEXP (x3, 1);
3716 : 0 : switch (XVECLEN (x8, 0))
3717 : : {
3718 : 0 : case 4:
3719 : 0 : res = pattern899 (x1,
3720 : : E_V16QImode,
3721 : : E_V4QImode);
3722 : 0 : if (res >= 0)
3723 : 0 : return res + 6; /* [6, 7] */
3724 : : return -1;
3725 : :
3726 : 0 : case 2:
3727 : 0 : if (pattern900 (x1,
3728 : : E_V8HImode,
3729 : : E_V2HImode) != 0)
3730 : : return -1;
3731 : : return 8;
3732 : :
3733 : : default:
3734 : : return -1;
3735 : : }
3736 : :
3737 : : default:
3738 : : return -1;
3739 : : }
3740 : : }
3741 : :
3742 : : int
3743 : 31819 : pattern950 (rtx x1)
3744 : : {
3745 : 31819 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3746 : 31819 : rtx x2, x3;
3747 : 31819 : int res ATTRIBUTE_UNUSED;
3748 : 31819 : if (!const_int_operand (operands[2], E_QImode))
3749 : : return -1;
3750 : 31798 : x2 = XEXP (x1, 1);
3751 : 31798 : x3 = XEXP (x2, 0);
3752 : 31798 : operands[3] = x3;
3753 : 31798 : switch (GET_MODE (operands[0]))
3754 : : {
3755 : 15169 : case E_DImode:
3756 : 15169 : return pattern949 (x1,
3757 : : E_SImode,
3758 : 15169 : E_DImode); /* [-1, 0] */
3759 : :
3760 : 2929 : case E_TImode:
3761 : 2929 : if (pattern949 (x1,
3762 : : E_DImode,
3763 : : E_TImode) != 0)
3764 : : return -1;
3765 : : return 1;
3766 : :
3767 : : default:
3768 : : return -1;
3769 : : }
3770 : : }
3771 : :
3772 : : int
3773 : 4554125 : pattern958 (rtx x1, machine_mode i1)
3774 : : {
3775 : 4554125 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3776 : 4554125 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3777 : 4554125 : int res ATTRIBUTE_UNUSED;
3778 : 4554125 : operands[1] = x1;
3779 : 4554125 : if (!general_reg_operand (operands[1], i1))
3780 : : return -1;
3781 : 1099753 : x2 = PATTERN (peep2_next_insn (2));
3782 : 1099753 : if (GET_CODE (x2) != PARALLEL
3783 : 160844 : || XVECLEN (x2, 0) != 2)
3784 : : return -1;
3785 : 149469 : x3 = XVECEXP (x2, 0, 0);
3786 : 149469 : if (GET_CODE (x3) != SET)
3787 : : return -1;
3788 : 149302 : x4 = XEXP (x3, 0);
3789 : 149302 : if (GET_CODE (x4) != REG
3790 : 149302 : || REGNO (x4) != 17)
3791 : : return -1;
3792 : 20633 : x5 = XVECEXP (x2, 0, 1);
3793 : 20633 : if (GET_CODE (x5) != SET)
3794 : : return -1;
3795 : 20091 : x6 = XEXP (x3, 1);
3796 : 20091 : operands[5] = x6;
3797 : 20091 : x7 = XEXP (x5, 1);
3798 : 20091 : operands[6] = x7;
3799 : 20091 : x8 = XEXP (x5, 0);
3800 : 20091 : if (!rtx_equal_p (x8, operands[0]))
3801 : : return -1;
3802 : 13018 : x9 = PATTERN (peep2_next_insn (3));
3803 : 13018 : return pattern957 (x9,
3804 : 13018 : i1); /* [-1, 0] */
3805 : : }
3806 : :
3807 : : int
3808 : 7302 : pattern965 (rtx x1, machine_mode i1)
3809 : : {
3810 : 7302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3811 : 7302 : int res ATTRIBUTE_UNUSED;
3812 : 7302 : if (!register_operand (operands[0], i1)
3813 : 7295 : || GET_MODE (x1) != i1
3814 : 7295 : || !register_operand (operands[1], i1)
3815 : 14566 : || !register_operand (operands[2], i1))
3816 : 51 : return -1;
3817 : : return 0;
3818 : : }
3819 : :
3820 : : int
3821 : 168 : pattern969 (rtx x1)
3822 : : {
3823 : 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3824 : 168 : rtx x2;
3825 : 168 : int res ATTRIBUTE_UNUSED;
3826 : 168 : if (!register_operand (operands[0], E_QImode)
3827 : 168 : || GET_MODE (x1) != E_QImode)
3828 : : return -1;
3829 : 168 : x2 = XEXP (x1, 0);
3830 : 168 : if (GET_MODE (x2) != E_QImode)
3831 : : return -1;
3832 : 168 : switch (GET_MODE (operands[1]))
3833 : : {
3834 : 3 : case E_V8SImode:
3835 : 3 : if (!register_operand (operands[1], E_V8SImode)
3836 : 3 : || !nonimmediate_operand (operands[2], E_V8SImode)
3837 : 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3838 : 0 : return -1;
3839 : : return 0;
3840 : :
3841 : 0 : case E_V4SImode:
3842 : 0 : if (!register_operand (operands[1], E_V4SImode)
3843 : 0 : || !nonimmediate_operand (operands[2], E_V4SImode)
3844 : 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3845 : 0 : return -1;
3846 : : return 1;
3847 : :
3848 : 29 : case E_V8DImode:
3849 : 29 : if (!register_operand (operands[1], E_V8DImode)
3850 : 29 : || !nonimmediate_operand (operands[2], E_V8DImode)
3851 : 58 : || !const_0_to_7_operand (operands[3], E_SImode))
3852 : 0 : return -1;
3853 : : return 2;
3854 : :
3855 : 0 : case E_V4DImode:
3856 : 0 : if (!register_operand (operands[1], E_V4DImode)
3857 : 0 : || !nonimmediate_operand (operands[2], E_V4DImode)
3858 : 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3859 : 0 : return -1;
3860 : : return 3;
3861 : :
3862 : 0 : case E_V2DImode:
3863 : 0 : if (!register_operand (operands[1], E_V2DImode)
3864 : 0 : || !nonimmediate_operand (operands[2], E_V2DImode)
3865 : 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3866 : 0 : return -1;
3867 : : return 4;
3868 : :
3869 : 0 : case E_V8HFmode:
3870 : 0 : if (!register_operand (operands[1], E_V8HFmode)
3871 : 0 : || !nonimmediate_operand (operands[2], E_V8HFmode)
3872 : 0 : || !const_0_to_31_operand (operands[3], E_SImode))
3873 : 0 : return -1;
3874 : : return 5;
3875 : :
3876 : 3 : case E_V8SFmode:
3877 : 3 : if (!register_operand (operands[1], E_V8SFmode)
3878 : 3 : || !nonimmediate_operand (operands[2], E_V8SFmode)
3879 : 6 : || !const_0_to_31_operand (operands[3], E_SImode))
3880 : 0 : return -1;
3881 : : return 6;
3882 : :
3883 : 21 : case E_V4SFmode:
3884 : 21 : if (!register_operand (operands[1], E_V4SFmode)
3885 : 18 : || !nonimmediate_operand (operands[2], E_V4SFmode)
3886 : 33 : || !const_0_to_31_operand (operands[3], E_SImode))
3887 : 9 : return -1;
3888 : : return 7;
3889 : :
3890 : 50 : case E_V8DFmode:
3891 : 50 : if (!register_operand (operands[1], E_V8DFmode)
3892 : 50 : || !nonimmediate_operand (operands[2], E_V8DFmode)
3893 : 100 : || !const_0_to_31_operand (operands[3], E_SImode))
3894 : 0 : return -1;
3895 : : return 8;
3896 : :
3897 : 25 : case E_V4DFmode:
3898 : 25 : if (!register_operand (operands[1], E_V4DFmode)
3899 : 25 : || !nonimmediate_operand (operands[2], E_V4DFmode)
3900 : 50 : || !const_0_to_31_operand (operands[3], E_SImode))
3901 : 0 : return -1;
3902 : : return 9;
3903 : :
3904 : 34 : case E_V2DFmode:
3905 : 34 : if (!register_operand (operands[1], E_V2DFmode)
3906 : 34 : || !nonimmediate_operand (operands[2], E_V2DFmode)
3907 : 68 : || !const_0_to_31_operand (operands[3], E_SImode))
3908 : 0 : return -1;
3909 : : return 10;
3910 : :
3911 : 3 : case E_V8HImode:
3912 : 3 : if (!register_operand (operands[1], E_V8HImode)
3913 : 3 : || !nonimmediate_operand (operands[2], E_V8HImode)
3914 : 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3915 : 0 : return -1;
3916 : : return 11;
3917 : :
3918 : : default:
3919 : : return -1;
3920 : : }
3921 : : }
3922 : :
3923 : : int
3924 : 622 : pattern992 (rtx x1)
3925 : : {
3926 : 622 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3927 : 622 : rtx x2;
3928 : 622 : int res ATTRIBUTE_UNUSED;
3929 : 622 : if (!register_operand (operands[0], E_V8DImode)
3930 : 622 : || GET_MODE (x1) != E_V8DImode)
3931 : : return -1;
3932 : 506 : x2 = XEXP (x1, 0);
3933 : 506 : if (GET_MODE (x2) != E_V8DImode
3934 : 506 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
3935 : 966 : || !register_operand (operands[3], E_QImode))
3936 : 108 : return -1;
3937 : 398 : switch (GET_MODE (operands[1]))
3938 : : {
3939 : 146 : case E_V8HFmode:
3940 : 146 : if (!vector_operand (operands[1], E_V8HFmode))
3941 : : return -1;
3942 : : return 0;
3943 : :
3944 : 124 : case E_V8DFmode:
3945 : 124 : if (!vector_operand (operands[1], E_V8DFmode))
3946 : : return -1;
3947 : : return 1;
3948 : :
3949 : 128 : case E_V8SFmode:
3950 : 128 : if (!vector_operand (operands[1], E_V8SFmode))
3951 : : return -1;
3952 : : return 2;
3953 : :
3954 : : default:
3955 : : return -1;
3956 : : }
3957 : : }
3958 : :
3959 : : int
3960 : 596 : pattern1000 (rtx x1, machine_mode i1)
3961 : : {
3962 : 596 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3963 : 596 : rtx x2, x3;
3964 : 596 : int res ATTRIBUTE_UNUSED;
3965 : 596 : if (!register_operand (operands[0], i1)
3966 : 596 : || GET_MODE (x1) != i1)
3967 : : return -1;
3968 : 590 : x2 = XEXP (x1, 0);
3969 : 590 : if (GET_MODE (x2) != i1)
3970 : : return -1;
3971 : 590 : x3 = XEXP (x2, 0);
3972 : 590 : if (GET_MODE (x3) != i1)
3973 : 0 : return -1;
3974 : : return 0;
3975 : : }
3976 : :
3977 : : int
3978 : 181 : pattern1007 (rtx x1)
3979 : : {
3980 : 181 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3981 : 181 : rtx x2, x3, x4, x5;
3982 : 181 : int res ATTRIBUTE_UNUSED;
3983 : 181 : x2 = XEXP (x1, 0);
3984 : 181 : x3 = XEXP (x2, 0);
3985 : 181 : x4 = XEXP (x3, 0);
3986 : 181 : operands[2] = x4;
3987 : 181 : x5 = XEXP (x1, 1);
3988 : 181 : operands[1] = x5;
3989 : 181 : switch (GET_MODE (operands[0]))
3990 : : {
3991 : 32 : case E_V8HImode:
3992 : 32 : return pattern1006 (x1,
3993 : : E_V8HImode,
3994 : 32 : E_HImode); /* [-1, 0] */
3995 : :
3996 : 0 : case E_V8HFmode:
3997 : 0 : if (pattern1006 (x1,
3998 : : E_V8HFmode,
3999 : : E_HFmode) != 0)
4000 : : return -1;
4001 : : return 1;
4002 : :
4003 : 0 : case E_V8BFmode:
4004 : 0 : if (pattern1006 (x1,
4005 : : E_V8BFmode,
4006 : : E_BFmode) != 0)
4007 : : return -1;
4008 : : return 2;
4009 : :
4010 : : default:
4011 : : return -1;
4012 : : }
4013 : : }
4014 : :
4015 : : int
4016 : 481 : pattern1018 (rtx x1, machine_mode i1, machine_mode i2)
4017 : : {
4018 : 481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4019 : 481 : rtx x2;
4020 : 481 : int res ATTRIBUTE_UNUSED;
4021 : 481 : if (!register_operand (operands[0], i2)
4022 : 481 : || GET_MODE (x1) != i2)
4023 : : return -1;
4024 : 461 : x2 = XVECEXP (x1, 0, 0);
4025 : 461 : if (GET_MODE (x2) != i2
4026 : 461 : || !register_operand (operands[1], i1))
4027 : 32 : return -1;
4028 : : return 0;
4029 : : }
4030 : :
4031 : : int
4032 : 471 : pattern1024 (rtx x1)
4033 : : {
4034 : 471 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4035 : 471 : rtx x2;
4036 : 471 : int res ATTRIBUTE_UNUSED;
4037 : 471 : if (!const48_operand (operands[2], E_SImode))
4038 : : return -1;
4039 : 471 : switch (GET_MODE (operands[0]))
4040 : : {
4041 : 88 : case E_V16SImode:
4042 : 88 : return pattern1018 (x1,
4043 : : E_V16SFmode,
4044 : 88 : E_V16SImode); /* [-1, 0] */
4045 : :
4046 : 93 : case E_V8SImode:
4047 : 93 : if (pattern1018 (x1,
4048 : : E_V8DFmode,
4049 : : E_V8SImode) != 0)
4050 : : return -1;
4051 : : return 1;
4052 : :
4053 : 232 : case E_V8DImode:
4054 : 232 : if (!register_operand (operands[0], E_V8DImode)
4055 : 232 : || GET_MODE (x1) != E_V8DImode)
4056 : : return -1;
4057 : 208 : x2 = XVECEXP (x1, 0, 0);
4058 : 208 : if (GET_MODE (x2) != E_V8DImode)
4059 : : return -1;
4060 : 208 : switch (GET_MODE (operands[1]))
4061 : : {
4062 : 106 : case E_V8DFmode:
4063 : 106 : if (!register_operand (operands[1], E_V8DFmode))
4064 : : return -1;
4065 : : return 2;
4066 : :
4067 : 102 : case E_V8SFmode:
4068 : 102 : if (!register_operand (operands[1], E_V8SFmode))
4069 : : return -1;
4070 : : return 3;
4071 : :
4072 : : default:
4073 : : return -1;
4074 : : }
4075 : :
4076 : : default:
4077 : : return -1;
4078 : : }
4079 : : }
4080 : :
4081 : : int
4082 : 14684 : pattern1041 (rtx x1)
4083 : : {
4084 : 14684 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4085 : 14684 : rtx x2;
4086 : 14684 : int res ATTRIBUTE_UNUSED;
4087 : 14684 : switch (GET_MODE (operands[0]))
4088 : : {
4089 : 28 : case E_HImode:
4090 : 28 : if (!register_operand (operands[0], E_HImode)
4091 : 28 : || GET_MODE (x1) != E_HImode)
4092 : : return -1;
4093 : 28 : x2 = XEXP (x1, 0);
4094 : 28 : if (GET_MODE (x2) != E_QImode
4095 : 28 : || !nonimmediate_operand (operands[1], E_QImode)
4096 : 54 : || !x86_64_general_operand (operands[2], E_QImode))
4097 : 2 : return -1;
4098 : : return 0;
4099 : :
4100 : 428 : case E_SImode:
4101 : 428 : if (!register_operand (operands[0], E_SImode)
4102 : 428 : || GET_MODE (x1) != E_SImode)
4103 : : return -1;
4104 : 426 : x2 = XEXP (x1, 0);
4105 : 426 : switch (GET_MODE (x2))
4106 : : {
4107 : 230 : case E_QImode:
4108 : 230 : if (!nonimmediate_operand (operands[1], E_QImode)
4109 : 230 : || !x86_64_general_operand (operands[2], E_QImode))
4110 : 10 : return -1;
4111 : : return 1;
4112 : :
4113 : 196 : case E_HImode:
4114 : 196 : if (!nonimmediate_operand (operands[1], E_HImode)
4115 : 196 : || !x86_64_general_operand (operands[2], E_HImode))
4116 : 49 : return -1;
4117 : : return 2;
4118 : :
4119 : : default:
4120 : : return -1;
4121 : : }
4122 : :
4123 : 14227 : case E_DImode:
4124 : 14227 : if (!register_operand (operands[0], E_DImode)
4125 : 14227 : || GET_MODE (x1) != E_DImode)
4126 : : return -1;
4127 : 14227 : x2 = XEXP (x1, 0);
4128 : 14227 : switch (GET_MODE (x2))
4129 : : {
4130 : 244 : case E_QImode:
4131 : 244 : if (!nonimmediate_operand (operands[1], E_QImode)
4132 : 244 : || !x86_64_general_operand (operands[2], E_QImode))
4133 : 0 : return -1;
4134 : : return 3;
4135 : :
4136 : 27 : case E_HImode:
4137 : 27 : if (!nonimmediate_operand (operands[1], E_HImode)
4138 : 27 : || !x86_64_general_operand (operands[2], E_HImode))
4139 : 0 : return -1;
4140 : : return 4;
4141 : :
4142 : 13956 : case E_SImode:
4143 : 13956 : if (!nonimmediate_operand (operands[1], E_SImode)
4144 : 13956 : || !x86_64_general_operand (operands[2], E_SImode))
4145 : 1731 : return -1;
4146 : : return 5;
4147 : :
4148 : : default:
4149 : : return -1;
4150 : : }
4151 : :
4152 : : default:
4153 : : return -1;
4154 : : }
4155 : : }
4156 : :
4157 : : int
4158 : 0 : pattern1056 (rtx x1)
4159 : : {
4160 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4161 : 0 : rtx x2;
4162 : 0 : int res ATTRIBUTE_UNUSED;
4163 : 0 : if (!register_operand (operands[0], E_V2SFmode)
4164 : 0 : || GET_MODE (x1) != E_V2SFmode)
4165 : : return -1;
4166 : 0 : x2 = XEXP (x1, 0);
4167 : 0 : if (GET_MODE (x2) != E_V2SFmode
4168 : 0 : || !register_operand (operands[1], E_V2SFmode)
4169 : 0 : || !nonimmediate_operand (operands[2], E_V2SFmode))
4170 : 0 : return -1;
4171 : : return 0;
4172 : : }
4173 : :
4174 : : int
4175 : 1034 : pattern1060 (rtx x1)
4176 : : {
4177 : 1034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4178 : 1034 : rtx x2, x3, x4, x5, x6, x7, x8;
4179 : 1034 : int res ATTRIBUTE_UNUSED;
4180 : 1034 : x2 = XEXP (x1, 0);
4181 : 1034 : x3 = XEXP (x2, 1);
4182 : 1034 : if (GET_MODE (x3) != E_QImode)
4183 : : return -1;
4184 : 1034 : x4 = XEXP (x1, 1);
4185 : 1034 : operands[3] = x4;
4186 : 1034 : switch (GET_CODE (x3))
4187 : : {
4188 : 545 : case SUBREG:
4189 : 545 : if (maybe_ne (SUBREG_BYTE (x3), 0))
4190 : : return -1;
4191 : 545 : x5 = XEXP (x3, 0);
4192 : 545 : if (GET_CODE (x5) != AND)
4193 : : return -1;
4194 : 158 : x6 = XEXP (x5, 0);
4195 : 158 : operands[1] = x6;
4196 : 158 : if (!int248_register_operand (operands[1], E_VOIDmode))
4197 : : return -1;
4198 : 153 : x7 = XEXP (x5, 1);
4199 : 153 : operands[2] = x7;
4200 : 153 : if (!const_int_operand (operands[2], E_VOIDmode))
4201 : : return -1;
4202 : 153 : switch (GET_MODE (operands[0]))
4203 : : {
4204 : 60 : case E_SImode:
4205 : 60 : return pattern375 (x1,
4206 : 60 : E_SImode); /* [-1, 0] */
4207 : :
4208 : 65 : case E_DImode:
4209 : 65 : if (pattern375 (x1,
4210 : : E_DImode) != 0)
4211 : : return -1;
4212 : : return 1;
4213 : :
4214 : : default:
4215 : : return -1;
4216 : : }
4217 : :
4218 : 3 : case AND:
4219 : 3 : x5 = XEXP (x3, 0);
4220 : 3 : operands[1] = x5;
4221 : 3 : if (!register_operand (operands[1], E_QImode))
4222 : : return -1;
4223 : 3 : x8 = XEXP (x3, 1);
4224 : 3 : operands[2] = x8;
4225 : 3 : if (!const_int_operand (operands[2], E_QImode))
4226 : : return -1;
4227 : 3 : switch (GET_MODE (operands[0]))
4228 : : {
4229 : 3 : case E_SImode:
4230 : 3 : if (pattern375 (x1,
4231 : : E_SImode) != 0)
4232 : : return -1;
4233 : : return 2;
4234 : :
4235 : 0 : case E_DImode:
4236 : 0 : if (pattern375 (x1,
4237 : : E_DImode) != 0)
4238 : : return -1;
4239 : : return 3;
4240 : :
4241 : : default:
4242 : : return -1;
4243 : : }
4244 : :
4245 : : default:
4246 : : return -1;
4247 : : }
4248 : : }
4249 : :
4250 : : int
4251 : 323 : pattern1080 (rtx x1, machine_mode i1, machine_mode i2)
4252 : : {
4253 : 323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4254 : 323 : rtx x2;
4255 : 323 : int res ATTRIBUTE_UNUSED;
4256 : 323 : if (!register_operand (operands[0], i1)
4257 : 323 : || GET_MODE (x1) != i1)
4258 : : return -1;
4259 : 311 : x2 = XEXP (x1, 0);
4260 : 311 : if (GET_MODE (x2) != i1
4261 : 311 : || !nonimmediate_operand (operands[1], i2)
4262 : 618 : || !register_operand (operands[3], i1))
4263 : 53 : return -1;
4264 : : return 0;
4265 : : }
4266 : :
4267 : : int
4268 : 653 : pattern1087 (rtx x1, machine_mode i1)
4269 : : {
4270 : 653 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4271 : 653 : int res ATTRIBUTE_UNUSED;
4272 : 653 : if (!nonimmediate_operand (operands[0], i1)
4273 : 653 : || GET_MODE (x1) != i1
4274 : 653 : || !ix86_carry_flag_unset_operator (operands[2], i1)
4275 : 1042 : || !nonimmediate_operand (operands[1], i1))
4276 : 499 : return -1;
4277 : : return 0;
4278 : : }
4279 : :
4280 : : int
4281 : 14 : pattern1095 (rtx x1, machine_mode i1)
4282 : : {
4283 : 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4284 : 14 : rtx x2, x3;
4285 : 14 : int res ATTRIBUTE_UNUSED;
4286 : 14 : if (!register_operand (operands[0], i1)
4287 : 14 : || GET_MODE (x1) != i1)
4288 : : return -1;
4289 : 14 : x2 = XEXP (x1, 0);
4290 : 14 : if (GET_MODE (x2) != i1)
4291 : : return -1;
4292 : 14 : x3 = XEXP (x2, 0);
4293 : 14 : if (GET_MODE (x3) != i1
4294 : 14 : || !register_operand (operands[1], i1))
4295 : 10 : return -1;
4296 : : return 0;
4297 : : }
4298 : :
4299 : : int
4300 : 44 : pattern1100 (rtx x1)
4301 : : {
4302 : 44 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4303 : 44 : rtx x2, x3, x4;
4304 : 44 : int res ATTRIBUTE_UNUSED;
4305 : 44 : x2 = XEXP (x1, 0);
4306 : 44 : x3 = XEXP (x2, 0);
4307 : 44 : operands[1] = x3;
4308 : 44 : x4 = XEXP (x2, 1);
4309 : 44 : operands[2] = x4;
4310 : 44 : if (!const_int_operand (operands[2], E_QImode))
4311 : : return -1;
4312 : 44 : switch (GET_MODE (x1))
4313 : : {
4314 : 14 : case E_V8SFmode:
4315 : 14 : if (GET_MODE (x2) != E_V8SImode
4316 : 14 : || !register_operand (operands[1], E_V8SImode))
4317 : 0 : return -1;
4318 : : return 0;
4319 : :
4320 : 16 : case E_V4SFmode:
4321 : 16 : if (GET_MODE (x2) != E_V4SImode
4322 : 16 : || !register_operand (operands[1], E_V4SImode))
4323 : 0 : return -1;
4324 : : return 1;
4325 : :
4326 : 0 : case E_V4DFmode:
4327 : 0 : if (GET_MODE (x2) != E_V4DImode
4328 : 0 : || !register_operand (operands[1], E_V4DImode))
4329 : 0 : return -1;
4330 : : return 2;
4331 : :
4332 : 14 : case E_V2DFmode:
4333 : 14 : if (GET_MODE (x2) != E_V2DImode
4334 : 14 : || !register_operand (operands[1], E_V2DImode))
4335 : 0 : return -1;
4336 : : return 3;
4337 : :
4338 : : default:
4339 : : return -1;
4340 : : }
4341 : : }
4342 : :
4343 : : int
4344 : 1395 : pattern1109 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4345 : : {
4346 : 1395 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4347 : 1395 : rtx x2;
4348 : 1395 : int res ATTRIBUTE_UNUSED;
4349 : 1395 : if (!register_operand (operands[0], i2)
4350 : 1395 : || GET_MODE (x1) != i2)
4351 : : return -1;
4352 : 1337 : x2 = XEXP (x1, 0);
4353 : 1337 : if (GET_MODE (x2) != i2
4354 : 1337 : || !register_operand (operands[1], i3)
4355 : 1326 : || !vector_operand (operands[2], i3)
4356 : 1312 : || !nonimm_or_0_operand (operands[3], i2)
4357 : 2603 : || !register_operand (operands[4], i1))
4358 : 141 : return -1;
4359 : : return 0;
4360 : : }
4361 : :
4362 : : int
4363 : 2806 : pattern1115 (rtx x1, machine_mode i1)
4364 : : {
4365 : 2806 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4366 : 2806 : rtx x2, x3;
4367 : 2806 : int res ATTRIBUTE_UNUSED;
4368 : 2806 : if (!register_operand (operands[0], i1)
4369 : 2806 : || GET_MODE (x1) != i1)
4370 : : return -1;
4371 : 2729 : x2 = XEXP (x1, 0);
4372 : 2729 : if (GET_MODE (x2) != i1)
4373 : : return -1;
4374 : 2729 : x3 = XEXP (x2, 0);
4375 : 2729 : if (GET_MODE (x3) != i1
4376 : 2729 : || !register_operand (operands[1], i1)
4377 : 2729 : || !nonimmediate_operand (operands[2], i1)
4378 : 5458 : || !nonimm_or_0_operand (operands[4], i1))
4379 : 11 : return -1;
4380 : : return 0;
4381 : : }
4382 : :
4383 : : int
4384 : 5732 : pattern1122 (rtx x1, machine_mode i1)
4385 : : {
4386 : 5732 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4387 : 5732 : int res ATTRIBUTE_UNUSED;
4388 : 5732 : if (!register_operand (operands[0], i1)
4389 : 4426 : || GET_MODE (x1) != i1
4390 : 4426 : || !vector_operand (operands[2], i1)
4391 : 4275 : || !register_operand (operands[1], i1)
4392 : 9064 : || !const_0_to_15_operand (operands[3], E_SImode))
4393 : 2440 : return -1;
4394 : : return 0;
4395 : : }
4396 : :
4397 : : int
4398 : 357 : pattern1128 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4399 : : {
4400 : 357 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4401 : 357 : rtx x2, x3, x4;
4402 : 357 : int res ATTRIBUTE_UNUSED;
4403 : 357 : if (!register_operand (operands[0], i2)
4404 : 357 : || GET_MODE (x1) != i2)
4405 : : return -1;
4406 : 357 : x2 = XEXP (x1, 0);
4407 : 357 : if (GET_MODE (x2) != i2)
4408 : : return -1;
4409 : 357 : x3 = XEXP (x2, 0);
4410 : 357 : if (GET_MODE (x3) != i4
4411 : 357 : || !register_operand (operands[1], i3))
4412 : 0 : return -1;
4413 : 357 : x4 = XEXP (x2, 1);
4414 : 357 : if (GET_MODE (x4) != i4
4415 : 357 : || !vector_operand (operands[2], i3)
4416 : 357 : || !nonimm_or_0_operand (operands[3], i2)
4417 : 712 : || !register_operand (operands[4], i1))
4418 : 7 : return -1;
4419 : : return 0;
4420 : : }
4421 : :
4422 : : int
4423 : 368 : pattern1139 (rtx x1)
4424 : : {
4425 : 368 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4426 : 368 : rtx x2, x3;
4427 : 368 : int res ATTRIBUTE_UNUSED;
4428 : 368 : x2 = XVECEXP (x1, 0, 0);
4429 : 368 : if (GET_MODE (x2) != E_V32HFmode
4430 : 368 : || !register_operand (operands[0], E_V32HFmode)
4431 : 350 : || GET_MODE (x1) != E_V32HFmode
4432 : 350 : || !register_operand (operands[1], E_V32HFmode)
4433 : 716 : || !register_operand (operands[2], E_V32HFmode))
4434 : 32 : return -1;
4435 : 336 : x3 = XVECEXP (x2, 0, 2);
4436 : 336 : operands[3] = x3;
4437 : 336 : if (!register_operand (operands[3], E_V32HFmode)
4438 : 336 : || !const_4_or_8_to_11_operand (operands[4], E_SImode))
4439 : 8 : return -1;
4440 : : return 0;
4441 : : }
4442 : :
4443 : : int
4444 : 7386 : pattern1149 (rtx x1, machine_mode i1)
4445 : : {
4446 : 7386 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4447 : 7386 : rtx x2, x3, x4, x5;
4448 : 7386 : int res ATTRIBUTE_UNUSED;
4449 : 7386 : if (!register_operand (operands[0], i1)
4450 : 7386 : || GET_MODE (x1) != i1)
4451 : : return -1;
4452 : 6524 : x2 = XEXP (x1, 0);
4453 : 6524 : if (GET_MODE (x2) != i1
4454 : 6524 : || !nonimmediate_operand (operands[2], i1))
4455 : 938 : return -1;
4456 : 5586 : x3 = XEXP (x1, 1);
4457 : 5586 : if (GET_MODE (x3) != i1
4458 : 5586 : || !nonimmediate_operand (operands[1], i1))
4459 : 1053 : return -1;
4460 : 4533 : x4 = XEXP (x1, 2);
4461 : 4533 : if (GET_MODE (x4) != i1)
4462 : : return -1;
4463 : 4533 : x5 = XEXP (x4, 1);
4464 : 4533 : if (GET_MODE (x5) != i1)
4465 : : return -1;
4466 : : return 0;
4467 : : }
4468 : :
4469 : : int
4470 : 0 : pattern1158 (rtx x1)
4471 : : {
4472 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4473 : 0 : rtx x2;
4474 : 0 : int res ATTRIBUTE_UNUSED;
4475 : 0 : if (XVECLEN (x1, 0) != 1
4476 : 0 : || XINT (x1, 1) != 20
4477 : 0 : || GET_MODE (x1) != E_SImode)
4478 : : return -1;
4479 : 0 : x2 = XVECEXP (x1, 0, 0);
4480 : 0 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4481 : 0 : return -1;
4482 : : return 0;
4483 : : }
4484 : :
4485 : : int
4486 : 486 : pattern1163 (rtx x1)
4487 : : {
4488 : 486 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4489 : 486 : rtx x2, x3, x4, x5, x6, x7;
4490 : 486 : int res ATTRIBUTE_UNUSED;
4491 : 486 : x2 = XEXP (x1, 0);
4492 : 486 : x3 = XEXP (x2, 0);
4493 : 486 : x4 = XEXP (x3, 1);
4494 : 486 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4495 : : return -1;
4496 : 478 : x5 = XEXP (x3, 0);
4497 : 478 : operands[3] = x5;
4498 : 478 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
4499 : : return -1;
4500 : 239 : x6 = XEXP (x2, 1);
4501 : 239 : operands[1] = x6;
4502 : 239 : x7 = XEXP (x1, 1);
4503 : 239 : operands[2] = x7;
4504 : 239 : switch (GET_MODE (operands[0]))
4505 : : {
4506 : 0 : case E_QImode:
4507 : 0 : return pattern1161 (x1,
4508 : 0 : E_QImode); /* [-1, 0] */
4509 : :
4510 : 0 : case E_HImode:
4511 : 0 : if (pattern1161 (x1,
4512 : : E_HImode) != 0)
4513 : : return -1;
4514 : : return 1;
4515 : :
4516 : 217 : case E_SImode:
4517 : 217 : if (pattern1162 (x1,
4518 : : E_SImode) != 0)
4519 : : return -1;
4520 : : return 2;
4521 : :
4522 : 22 : case E_DImode:
4523 : 22 : if (pattern1162 (x1,
4524 : : E_DImode) != 0)
4525 : : return -1;
4526 : : return 3;
4527 : :
4528 : : default:
4529 : : return -1;
4530 : : }
4531 : : }
4532 : :
4533 : : int
4534 : 121 : pattern1178 (rtx x1, machine_mode i1, machine_mode i2)
4535 : : {
4536 : 121 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4537 : 121 : rtx x2, x3;
4538 : 121 : int res ATTRIBUTE_UNUSED;
4539 : 121 : x2 = XEXP (x1, 0);
4540 : 121 : if (GET_MODE (x2) != E_SImode
4541 : 121 : || !register_operand (operands[0], i2)
4542 : 242 : || GET_MODE (x1) != i2)
4543 : 0 : return -1;
4544 : 121 : x3 = XEXP (x2, 0);
4545 : 121 : operands[1] = x3;
4546 : 121 : if (!nonimmediate_operand (operands[1], i1))
4547 : : return -1;
4548 : : return 0;
4549 : : }
4550 : :
4551 : : int
4552 : 49 : pattern1184 ()
4553 : : {
4554 : 49 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4555 : 49 : int res ATTRIBUTE_UNUSED;
4556 : 49 : switch (GET_MODE (operands[4]))
4557 : : {
4558 : 14 : case E_QImode:
4559 : 14 : if (!register_operand (operands[4], E_QImode))
4560 : : return -1;
4561 : : return 0;
4562 : :
4563 : 14 : case E_HImode:
4564 : 14 : if (!register_operand (operands[4], E_HImode))
4565 : : return -1;
4566 : : return 1;
4567 : :
4568 : 7 : case E_SImode:
4569 : 7 : if (!register_operand (operands[4], E_SImode))
4570 : : return -1;
4571 : : return 2;
4572 : :
4573 : 14 : case E_DImode:
4574 : 14 : if (!register_operand (operands[4], E_DImode))
4575 : : return -1;
4576 : : return 3;
4577 : :
4578 : : default:
4579 : : return -1;
4580 : : }
4581 : : }
4582 : :
4583 : : int
4584 : 41909 : pattern1196 (rtx x1, machine_mode i1)
4585 : : {
4586 : 41909 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4587 : 41909 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4588 : 41909 : rtx x10, x11, x12;
4589 : 41909 : int res ATTRIBUTE_UNUSED;
4590 : 41909 : x2 = XVECEXP (x1, 0, 0);
4591 : 41909 : x3 = XEXP (x2, 1);
4592 : 41909 : if (GET_MODE (x3) != i1)
4593 : : return -1;
4594 : 40244 : x4 = XEXP (x3, 0);
4595 : 40244 : if (GET_CODE (x4) != PLUS
4596 : 19 : || GET_MODE (x4) != i1)
4597 : : return -1;
4598 : 19 : x5 = XEXP (x4, 0);
4599 : 19 : if (!ix86_carry_flag_operator (x5, i1))
4600 : : return -1;
4601 : 19 : operands[4] = x5;
4602 : 19 : x6 = XEXP (x5, 1);
4603 : 19 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4604 : : return -1;
4605 : 19 : x7 = XVECEXP (x1, 0, 1);
4606 : 19 : if (GET_CODE (x7) != CLOBBER)
4607 : : return -1;
4608 : 19 : x8 = XEXP (x7, 0);
4609 : 19 : if (GET_CODE (x8) != REG
4610 : 19 : || REGNO (x8) != 17
4611 : 38 : || GET_MODE (x8) != E_CCmode)
4612 : : return -1;
4613 : 19 : x9 = XEXP (x5, 0);
4614 : 19 : operands[3] = x9;
4615 : 19 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4616 : : return -1;
4617 : 19 : x10 = XEXP (x3, 1);
4618 : 19 : operands[2] = x10;
4619 : 19 : if (!memory_operand (operands[2], i1))
4620 : : return -1;
4621 : 6 : x11 = XEXP (x4, 1);
4622 : 6 : if (!rtx_equal_p (x11, operands[0]))
4623 : : return -1;
4624 : 6 : x12 = XEXP (x2, 0);
4625 : 6 : return pattern1195 (x12,
4626 : 6 : i1); /* [-1, 1] */
4627 : : }
4628 : :
4629 : : int
4630 : 2376 : pattern1206 (rtx x1, machine_mode i1)
4631 : : {
4632 : 2376 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4633 : 2376 : int res ATTRIBUTE_UNUSED;
4634 : 2376 : if (!register_operand (operands[0], i1)
4635 : 2376 : || GET_MODE (x1) != i1)
4636 : : return -1;
4637 : 1995 : return pattern1205 (); /* [-1, 2] */
4638 : : }
4639 : :
4640 : : int
4641 : 192 : pattern1210 (rtx x1, machine_mode i1)
4642 : : {
4643 : 192 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4644 : 192 : int res ATTRIBUTE_UNUSED;
4645 : 192 : if (!nonimmediate_operand (operands[0], i1)
4646 : 192 : || GET_MODE (x1) != i1
4647 : 192 : || !nonimmediate_operand (operands[1], i1)
4648 : 372 : || !ix86_carry_flag_unset_operator (operands[2], i1))
4649 : 40 : return -1;
4650 : : return 0;
4651 : : }
4652 : :
4653 : : int
4654 : 119 : pattern1216 (rtx x1, machine_mode i1)
4655 : : {
4656 : 119 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4657 : 119 : rtx x2, x3;
4658 : 119 : int res ATTRIBUTE_UNUSED;
4659 : 119 : if (!register_operand (operands[0], i1)
4660 : 119 : || GET_MODE (x1) != i1)
4661 : : return -1;
4662 : 104 : x2 = XEXP (x1, 0);
4663 : 104 : if (GET_MODE (x2) != i1)
4664 : : return -1;
4665 : 104 : x3 = XEXP (x2, 0);
4666 : 104 : if (GET_MODE (x3) != i1
4667 : 104 : || !nonimmediate_operand (operands[1], i1)
4668 : 104 : || !nonimm_or_0_operand (operands[3], i1)
4669 : 205 : || !register_operand (operands[2], i1))
4670 : 3 : return -1;
4671 : : return 0;
4672 : : }
4673 : :
4674 : : int
4675 : 660 : pattern1223 (rtx x1)
4676 : : {
4677 : 660 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4678 : 660 : int res ATTRIBUTE_UNUSED;
4679 : 660 : if (!const48_operand (operands[3], E_SImode))
4680 : : return -1;
4681 : 660 : switch (GET_MODE (operands[0]))
4682 : : {
4683 : 134 : case E_V32HFmode:
4684 : 134 : return pattern1222 (x1,
4685 : 134 : E_V32HFmode); /* [-1, 0] */
4686 : :
4687 : 0 : case E_V16HFmode:
4688 : 0 : if (pattern1222 (x1,
4689 : : E_V16HFmode) != 0)
4690 : : return -1;
4691 : : return 1;
4692 : :
4693 : 0 : case E_V8HFmode:
4694 : 0 : if (pattern1222 (x1,
4695 : : E_V8HFmode) != 0)
4696 : : return -1;
4697 : : return 2;
4698 : :
4699 : 284 : case E_V16SFmode:
4700 : 284 : if (pattern1222 (x1,
4701 : : E_V16SFmode) != 0)
4702 : : return -1;
4703 : : return 3;
4704 : :
4705 : 0 : case E_V8SFmode:
4706 : 0 : if (pattern1222 (x1,
4707 : : E_V8SFmode) != 0)
4708 : : return -1;
4709 : : return 4;
4710 : :
4711 : 0 : case E_V4SFmode:
4712 : 0 : if (pattern1222 (x1,
4713 : : E_V4SFmode) != 0)
4714 : : return -1;
4715 : : return 5;
4716 : :
4717 : 242 : case E_V8DFmode:
4718 : 242 : if (pattern1222 (x1,
4719 : : E_V8DFmode) != 0)
4720 : : return -1;
4721 : : return 6;
4722 : :
4723 : 0 : case E_V4DFmode:
4724 : 0 : if (pattern1222 (x1,
4725 : : E_V4DFmode) != 0)
4726 : : return -1;
4727 : : return 7;
4728 : :
4729 : 0 : case E_V2DFmode:
4730 : 0 : if (pattern1222 (x1,
4731 : : E_V2DFmode) != 0)
4732 : : return -1;
4733 : : return 8;
4734 : :
4735 : : default:
4736 : : return -1;
4737 : : }
4738 : : }
4739 : :
4740 : : int
4741 : 164220 : pattern1236 (rtx x1, machine_mode i1)
4742 : : {
4743 : 164220 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4744 : 164220 : rtx x2, x3;
4745 : 164220 : int res ATTRIBUTE_UNUSED;
4746 : 164220 : if (!nonimmediate_operand (operands[0], i1)
4747 : 57199 : || GET_MODE (x1) != i1
4748 : 221419 : || !nonimmediate_operand (operands[1], i1))
4749 : 127680 : return -1;
4750 : 36540 : x2 = XEXP (x1, 1);
4751 : 36540 : x3 = XEXP (x2, 0);
4752 : 36540 : return pattern1235 (x3); /* [-1, 2] */
4753 : : }
4754 : :
4755 : : int
4756 : 24 : pattern1240 (rtx x1, rtx_code i1)
4757 : : {
4758 : 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4759 : 24 : rtx x2, x3, x4, x5, x6, x7;
4760 : 24 : int res ATTRIBUTE_UNUSED;
4761 : 24 : x2 = XVECEXP (x1, 0, 1);
4762 : 24 : x3 = XEXP (x2, 1);
4763 : 24 : if (GET_MODE (x3) != E_DImode)
4764 : : return -1;
4765 : 10 : x4 = XEXP (x3, 0);
4766 : 10 : if (GET_CODE (x4) != i1
4767 : 0 : || GET_MODE (x4) != E_SImode)
4768 : : return -1;
4769 : 0 : x5 = XVECEXP (x1, 0, 0);
4770 : 0 : x6 = XEXP (x5, 1);
4771 : 0 : x7 = XEXP (x6, 0);
4772 : 0 : if (GET_MODE (x7) != E_SImode)
4773 : 0 : return -1;
4774 : : return 0;
4775 : : }
4776 : :
4777 : : int
4778 : 211 : pattern1245 (rtx x1, machine_mode i1)
4779 : : {
4780 : 211 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4781 : 211 : rtx x2, x3, x4;
4782 : 211 : int res ATTRIBUTE_UNUSED;
4783 : 211 : if (GET_MODE (x1) != i1)
4784 : : return -1;
4785 : 211 : x2 = XEXP (x1, 0);
4786 : 211 : if (GET_MODE (x2) != i1)
4787 : : return -1;
4788 : 211 : x3 = XEXP (x1, 1);
4789 : 211 : if (GET_MODE (x3) != i1)
4790 : : return -1;
4791 : 211 : x4 = XEXP (x3, 0);
4792 : 211 : if (!register_operand (x4, i1))
4793 : : return -1;
4794 : : return 0;
4795 : : }
4796 : :
4797 : : int
4798 : 595 : pattern1250 (rtx x1)
4799 : : {
4800 : 595 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4801 : 595 : rtx x2, x3, x4, x5;
4802 : 595 : int res ATTRIBUTE_UNUSED;
4803 : 595 : x2 = XEXP (x1, 0);
4804 : 595 : x3 = XEXP (x2, 0);
4805 : 595 : x4 = XEXP (x3, 1);
4806 : 595 : operands[2] = x4;
4807 : 595 : if (!register_operand (operands[2], E_QImode))
4808 : : return -1;
4809 : 516 : x5 = XEXP (x1, 1);
4810 : 516 : operands[1] = x5;
4811 : 516 : switch (GET_MODE (operands[0]))
4812 : : {
4813 : 319 : case E_SImode:
4814 : 319 : return pattern1249 (x1,
4815 : 319 : E_SImode); /* [-1, 0] */
4816 : :
4817 : 185 : case E_DImode:
4818 : 185 : if (pattern1249 (x1,
4819 : : E_DImode) != 0)
4820 : : return -1;
4821 : : return 1;
4822 : :
4823 : : default:
4824 : : return -1;
4825 : : }
4826 : : }
4827 : :
4828 : : int
4829 : 23180 : pattern1260 (rtx x1, machine_mode i1)
4830 : : {
4831 : 23180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4832 : 23180 : rtx x2, x3, x4, x5, x6, x7, x8;
4833 : 23180 : int res ATTRIBUTE_UNUSED;
4834 : 23180 : x2 = XVECEXP (x1, 0, 0);
4835 : 23180 : x3 = XEXP (x2, 1);
4836 : 23180 : x4 = XEXP (x3, 0);
4837 : 23180 : if (!plusminuslogic_operator (x4, i1))
4838 : : return -1;
4839 : 18617 : operands[3] = x4;
4840 : 18617 : x5 = XEXP (x3, 1);
4841 : 18617 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4842 : : return -1;
4843 : 17164 : x6 = XEXP (x2, 0);
4844 : 17164 : if (GET_CODE (x6) != REG
4845 : 17164 : || REGNO (x6) != 17)
4846 : : return -1;
4847 : 17164 : x7 = XVECEXP (x1, 0, 1);
4848 : 17164 : if (GET_CODE (x7) != SET)
4849 : : return -1;
4850 : 13145 : x8 = XEXP (x4, 1);
4851 : 13145 : operands[2] = x8;
4852 : 13145 : if (!x86_64_nonmemory_operand (operands[2], i1))
4853 : : return -1;
4854 : : return 0;
4855 : : }
4856 : :
4857 : : int
4858 : 325 : pattern1268 (rtx x1, machine_mode i1, machine_mode i2)
4859 : : {
4860 : 325 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4861 : 325 : rtx x2, x3;
4862 : 325 : int res ATTRIBUTE_UNUSED;
4863 : 325 : if (GET_CODE (x1) != SIGN_EXTEND
4864 : 325 : || GET_MODE (x1) != i2)
4865 : : return -1;
4866 : 325 : x2 = XEXP (x1, 0);
4867 : 325 : if (GET_CODE (x2) != VEC_SELECT
4868 : 325 : || GET_MODE (x2) != i1)
4869 : : return -1;
4870 : 325 : x3 = XEXP (x2, 1);
4871 : 325 : if (GET_CODE (x3) != PARALLEL)
4872 : 0 : return -1;
4873 : : return 0;
4874 : : }
4875 : :
4876 : : int
4877 : 1452 : pattern1274 (rtx x1, machine_mode i1, machine_mode i2)
4878 : : {
4879 : 1452 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4880 : 1452 : rtx x2, x3;
4881 : 1452 : int res ATTRIBUTE_UNUSED;
4882 : 1452 : if (!register_operand (operands[0], i1)
4883 : 1452 : || GET_MODE (x1) != i1)
4884 : : return -1;
4885 : 1315 : x2 = XEXP (x1, 0);
4886 : 1315 : if (GET_MODE (x2) != i1
4887 : 1315 : || !nonimmediate_operand (operands[1], i1)
4888 : 2594 : || !vector_operand (operands[2], i1))
4889 : 36 : return -1;
4890 : 1279 : x3 = XVECEXP (x2, 0, 2);
4891 : 1279 : if (GET_MODE (x3) != i1
4892 : 1279 : || !register_operand (operands[4], i2))
4893 : 57 : return -1;
4894 : : return 0;
4895 : : }
4896 : :
4897 : : int
4898 : 0 : pattern1282 (rtx x1, machine_mode i1, machine_mode i2)
4899 : : {
4900 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4901 : 0 : rtx x2, x3, x4;
4902 : 0 : int res ATTRIBUTE_UNUSED;
4903 : 0 : if (!register_operand (operands[0], i1)
4904 : 0 : || GET_MODE (x1) != i1)
4905 : : return -1;
4906 : 0 : x2 = XEXP (x1, 0);
4907 : 0 : if (GET_MODE (x2) != i1)
4908 : : return -1;
4909 : 0 : x3 = XEXP (x2, 0);
4910 : 0 : if (GET_MODE (x3) != i1)
4911 : : return -1;
4912 : 0 : x4 = XEXP (x3, 0);
4913 : 0 : if (GET_MODE (x4) != i2
4914 : 0 : || !nonimmediate_operand (operands[1], i2)
4915 : 0 : || !nonimm_or_0_operand (operands[3], i1)
4916 : 0 : || !register_operand (operands[2], i1))
4917 : 0 : return -1;
4918 : : return 0;
4919 : : }
4920 : :
4921 : : int
4922 : 1981 : pattern1294 (rtx x1, machine_mode i1, machine_mode i2)
4923 : : {
4924 : 1981 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4925 : 1981 : rtx x2, x3;
4926 : 1981 : int res ATTRIBUTE_UNUSED;
4927 : 1981 : if (!register_operand (operands[0], i1)
4928 : 1981 : || GET_MODE (x1) != i1)
4929 : : return -1;
4930 : 1855 : x2 = XEXP (x1, 0);
4931 : 1855 : if (GET_MODE (x2) != i1)
4932 : : return -1;
4933 : 1855 : x3 = XEXP (x2, 0);
4934 : 1855 : if (GET_MODE (x3) != i1
4935 : 1855 : || !vector_operand (operands[2], i1)
4936 : 3710 : || !register_operand (operands[4], i2))
4937 : 0 : return -1;
4938 : : return 0;
4939 : : }
4940 : :
4941 : : int
4942 : 1131 : pattern1302 (rtx x1)
4943 : : {
4944 : 1131 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4945 : 1131 : rtx x2, x3;
4946 : 1131 : int res ATTRIBUTE_UNUSED;
4947 : 1131 : if (!register_operand (operands[0], E_V8SImode)
4948 : 1131 : || GET_MODE (x1) != E_V8SImode)
4949 : : return -1;
4950 : 1131 : x2 = XVECEXP (x1, 0, 0);
4951 : 1131 : if (GET_MODE (x2) != E_V8SImode)
4952 : : return -1;
4953 : 1131 : x3 = XEXP (x2, 0);
4954 : 1131 : if (GET_MODE (x3) != E_V8SImode
4955 : 1131 : || !nonimm_or_0_operand (operands[2], E_V8SImode)
4956 : 2262 : || !register_operand (operands[3], E_QImode))
4957 : 3 : return -1;
4958 : 1128 : switch (GET_MODE (operands[1]))
4959 : : {
4960 : 0 : case E_V8HFmode:
4961 : 0 : if (!register_operand (operands[1], E_V8HFmode))
4962 : : return -1;
4963 : : return 0;
4964 : :
4965 : 1128 : case E_V8DFmode:
4966 : 1128 : if (!register_operand (operands[1], E_V8DFmode))
4967 : : return -1;
4968 : : return 1;
4969 : :
4970 : : default:
4971 : : return -1;
4972 : : }
4973 : : }
4974 : :
4975 : : int
4976 : 3663 : pattern1311 (rtx x1, machine_mode i1, machine_mode i2)
4977 : : {
4978 : 3663 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4979 : 3663 : rtx x2, x3;
4980 : 3663 : int res ATTRIBUTE_UNUSED;
4981 : 3663 : if (!register_operand (operands[0], i1)
4982 : 3663 : || GET_MODE (x1) != i1)
4983 : : return -1;
4984 : 3574 : x2 = XVECEXP (x1, 0, 0);
4985 : 3574 : if (GET_MODE (x2) != i1)
4986 : : return -1;
4987 : 3574 : x3 = XEXP (x2, 0);
4988 : 3574 : if (GET_MODE (x3) != i1
4989 : 3574 : || !nonimm_or_0_operand (operands[2], i1)
4990 : 7141 : || !register_operand (operands[3], i2))
4991 : 51 : return -1;
4992 : : return 0;
4993 : : }
4994 : :
4995 : : int
4996 : 23474 : pattern1317 (rtx x1)
4997 : : {
4998 : 23474 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4999 : 23474 : rtx x2, x3, x4, x5;
5000 : 23474 : int res ATTRIBUTE_UNUSED;
5001 : 23474 : x2 = XEXP (x1, 0);
5002 : 23474 : if (maybe_ne (SUBREG_BYTE (x2), 0))
5003 : : return -1;
5004 : 23474 : x3 = XEXP (x2, 0);
5005 : 23474 : operands[0] = x3;
5006 : 23474 : if (!register_operand (operands[0], E_QImode))
5007 : : return -1;
5008 : 23271 : x4 = XEXP (x1, 1);
5009 : 23271 : x5 = XEXP (x4, 2);
5010 : 23271 : operands[2] = x5;
5011 : 23271 : if (!register_operand (operands[2], E_QImode))
5012 : : return -1;
5013 : 5978 : switch (GET_MODE (x2))
5014 : : {
5015 : 2392 : case E_SImode:
5016 : 2392 : if (GET_MODE (x4) != E_SImode
5017 : 2392 : || !register_operand (operands[1], E_SImode))
5018 : 1061 : return -1;
5019 : : return 0;
5020 : :
5021 : 3374 : case E_DImode:
5022 : 3374 : if (GET_MODE (x4) != E_DImode
5023 : 3374 : || !register_operand (operands[1], E_DImode))
5024 : 1503 : return -1;
5025 : : return 1;
5026 : :
5027 : : default:
5028 : : return -1;
5029 : : }
5030 : : }
5031 : :
5032 : : int
5033 : 110 : pattern1327 (rtx x1)
5034 : : {
5035 : 110 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5036 : 110 : rtx x2, x3, x4;
5037 : 110 : int res ATTRIBUTE_UNUSED;
5038 : 110 : x2 = XEXP (x1, 0);
5039 : 110 : x3 = XEXP (x2, 0);
5040 : 110 : operands[0] = x3;
5041 : 110 : switch (GET_MODE (operands[0]))
5042 : : {
5043 : 104 : case E_QImode:
5044 : 104 : x4 = XEXP (x1, 1);
5045 : 104 : return pattern1326 (x4,
5046 : 104 : E_QImode); /* [-1, 0] */
5047 : :
5048 : 6 : case E_HImode:
5049 : 6 : x4 = XEXP (x1, 1);
5050 : 6 : if (pattern1326 (x4,
5051 : : E_HImode) != 0)
5052 : : return -1;
5053 : : return 1;
5054 : :
5055 : : default:
5056 : : return -1;
5057 : : }
5058 : : }
5059 : :
5060 : : int
5061 : 164638 : pattern1336 (rtx x1, machine_mode i1)
5062 : : {
5063 : 164638 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5064 : 164638 : int res ATTRIBUTE_UNUSED;
5065 : 164638 : if (!register_operand (operands[0], i1)
5066 : 159118 : || GET_MODE (x1) != i1
5067 : 159118 : || !register_operand (operands[1], i1)
5068 : 321264 : || !nonmemory_operand (operands[2], E_QImode))
5069 : 10940 : return -1;
5070 : : return 0;
5071 : : }
5072 : :
5073 : : int
5074 : 2150990 : pattern1342 (rtx x1, machine_mode i1)
5075 : : {
5076 : 2150990 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5077 : 2150990 : int res ATTRIBUTE_UNUSED;
5078 : 2150990 : if (!mask_reg_operand (operands[0], i1)
5079 : 48 : || GET_MODE (x1) != i1
5080 : 48 : || !mask_reg_operand (operands[1], i1)
5081 : 2151038 : || !const_int_operand (operands[2], E_VOIDmode))
5082 : 2150942 : return -1;
5083 : : return 0;
5084 : : }
5085 : :
5086 : : int
5087 : 6210 : pattern1348 (rtx x1, machine_mode i1)
5088 : : {
5089 : 6210 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5090 : 6210 : rtx x2, x3, x4, x5, x6, x7, x8;
5091 : 6210 : int res ATTRIBUTE_UNUSED;
5092 : 6210 : x2 = XVECEXP (x1, 0, 0);
5093 : 6210 : x3 = XEXP (x2, 1);
5094 : 6210 : if (GET_MODE (x3) != i1)
5095 : : return -1;
5096 : 5688 : x4 = XVECEXP (x1, 0, 1);
5097 : 5688 : if (GET_CODE (x4) != CLOBBER)
5098 : : return -1;
5099 : 5688 : x5 = XEXP (x4, 0);
5100 : 5688 : if (GET_CODE (x5) != REG
5101 : 5688 : || REGNO (x5) != 17
5102 : 11376 : || GET_MODE (x5) != E_CCmode)
5103 : : return -1;
5104 : 5688 : x6 = XEXP (x3, 0);
5105 : 5688 : if (!rtx_equal_p (x6, operands[0]))
5106 : : return -1;
5107 : 5636 : x7 = XEXP (x2, 0);
5108 : 5636 : if (!rtx_equal_p (x7, operands[0]))
5109 : : return -1;
5110 : 5636 : x8 = PATTERN (peep2_next_insn (2));
5111 : 5636 : return pattern1347 (x8); /* [-1, 0] */
5112 : : }
5113 : :
5114 : : int
5115 : 708873 : pattern1358 (rtx x1, machine_mode i1)
5116 : : {
5117 : 708873 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5118 : 708873 : int res ATTRIBUTE_UNUSED;
5119 : 708873 : if (!register_operand (operands[0], i1)
5120 : 704094 : || GET_MODE (x1) != i1
5121 : 704094 : || !nonimmediate_operand (operands[1], i1)
5122 : 1396138 : || !const_int_operand (operands[2], i1))
5123 : 81333 : return -1;
5124 : : return 0;
5125 : : }
5126 : :
5127 : : int
5128 : 472 : pattern1363 (rtx x1, machine_mode i1)
5129 : : {
5130 : 472 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5131 : 472 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5132 : 472 : int res ATTRIBUTE_UNUSED;
5133 : 472 : if (GET_MODE (x1) != i1)
5134 : : return -1;
5135 : 330 : x2 = XVECEXP (x1, 0, 0);
5136 : 330 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5137 : : return -1;
5138 : 330 : x3 = XVECEXP (x1, 0, 1);
5139 : 330 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5140 : : return -1;
5141 : 330 : x4 = XVECEXP (x1, 0, 2);
5142 : 330 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5143 : : return -1;
5144 : 330 : x5 = XVECEXP (x1, 0, 3);
5145 : 330 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5146 : : return -1;
5147 : 330 : x6 = XVECEXP (x1, 0, 4);
5148 : 330 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5149 : : return -1;
5150 : 330 : x7 = XVECEXP (x1, 0, 5);
5151 : 330 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5152 : : return -1;
5153 : 330 : x8 = XVECEXP (x1, 0, 6);
5154 : 330 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5155 : : return -1;
5156 : 330 : x9 = XVECEXP (x1, 0, 7);
5157 : 330 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5158 : 0 : return -1;
5159 : : return 0;
5160 : : }
5161 : :
5162 : : int
5163 : 1814 : pattern1376 (machine_mode i1, machine_mode i2)
5164 : : {
5165 : 1814 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5166 : 1814 : int res ATTRIBUTE_UNUSED;
5167 : 1814 : if (!bcst_vector_operand (operands[2], i1)
5168 : 1808 : || !bcst_vector_operand (operands[3], i1)
5169 : 1808 : || !const0_operand (operands[4], i1)
5170 : 3622 : || !register_operand (operands[5], i2))
5171 : 6 : return -1;
5172 : : return 0;
5173 : : }
5174 : :
5175 : : int
5176 : 499 : pattern1381 (rtx x1, machine_mode i1)
5177 : : {
5178 : 499 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5179 : 499 : rtx x2;
5180 : 499 : int res ATTRIBUTE_UNUSED;
5181 : 499 : if (!register_operand (operands[0], i1)
5182 : 499 : || GET_MODE (x1) != i1)
5183 : : return -1;
5184 : 479 : x2 = XEXP (x1, 0);
5185 : 479 : if (GET_MODE (x2) != i1
5186 : 479 : || !nonimmediate_operand (operands[1], i1)
5187 : 476 : || !nonimmediate_operand (operands[2], i1)
5188 : 947 : || !nonimmediate_operand (operands[3], i1))
5189 : 11 : return -1;
5190 : : return 0;
5191 : : }
5192 : :
5193 : : int
5194 : 279 : pattern1390 (rtx x1, machine_mode i1, machine_mode i2)
5195 : : {
5196 : 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5197 : 279 : rtx x2, x3;
5198 : 279 : int res ATTRIBUTE_UNUSED;
5199 : 279 : if (!register_operand (operands[0], i2)
5200 : 279 : || GET_MODE (x1) != i2)
5201 : : return -1;
5202 : 273 : x2 = XEXP (x1, 0);
5203 : 273 : if (GET_MODE (x2) != i2)
5204 : : return -1;
5205 : 273 : x3 = XEXP (x2, 0);
5206 : 273 : if (GET_MODE (x3) != i2
5207 : 273 : || !nonimmediate_operand (operands[1], i2)
5208 : 546 : || pattern1378 (
5209 : : i1,
5210 : : i2) != 0)
5211 : 0 : return -1;
5212 : : return 0;
5213 : : }
5214 : :
5215 : : int
5216 : 1952 : pattern1399 (rtx x1, machine_mode i1)
5217 : : {
5218 : 1952 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5219 : 1952 : rtx x2, x3, x4;
5220 : 1952 : int res ATTRIBUTE_UNUSED;
5221 : 1952 : if (!register_operand (operands[0], i1)
5222 : 1952 : || GET_MODE (x1) != i1)
5223 : : return -1;
5224 : 1866 : x2 = XVECEXP (x1, 0, 0);
5225 : 1866 : if (GET_MODE (x2) != i1)
5226 : : return -1;
5227 : 1866 : x3 = XEXP (x2, 0);
5228 : 1866 : if (GET_MODE (x3) != i1)
5229 : : return -1;
5230 : 1866 : x4 = XEXP (x3, 0);
5231 : 1866 : if (GET_MODE (x4) != i1
5232 : 1866 : || !register_operand (operands[1], i1)
5233 : 1866 : || !register_operand (operands[2], i1)
5234 : 3732 : || !nonimm_or_0_operand (operands[4], i1))
5235 : 11 : return -1;
5236 : : return 0;
5237 : : }
5238 : :
5239 : : int
5240 : 2567 : pattern1409 (rtx x1, machine_mode i1)
5241 : : {
5242 : 2567 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5243 : 2567 : rtx x2, x3;
5244 : 2567 : int res ATTRIBUTE_UNUSED;
5245 : 2567 : if (!register_operand (operands[0], i1)
5246 : 2567 : || GET_MODE (x1) != i1)
5247 : : return -1;
5248 : 2455 : x2 = XVECEXP (x1, 0, 0);
5249 : 2455 : if (GET_MODE (x2) != i1)
5250 : : return -1;
5251 : 2455 : x3 = XEXP (x2, 0);
5252 : 2455 : if (GET_MODE (x3) != i1
5253 : 2455 : || !register_operand (operands[1], i1)
5254 : 4817 : || !register_operand (operands[2], i1))
5255 : 149 : return -1;
5256 : : return 0;
5257 : : }
5258 : :
5259 : : int
5260 : 126708 : pattern1418 (rtx x1, machine_mode i1, machine_mode i2)
5261 : : {
5262 : 126708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5263 : 126708 : rtx x2;
5264 : 126708 : int res ATTRIBUTE_UNUSED;
5265 : 126708 : if (!register_operand (operands[0], i1)
5266 : 126708 : || GET_MODE (x1) != i1)
5267 : : return -1;
5268 : 125219 : x2 = XEXP (x1, 0);
5269 : 125219 : if (GET_MODE (x2) != i2
5270 : 125101 : || !register_operand (operands[1], i1)
5271 : 248072 : || !nonimmediate_operand (operands[2], i1))
5272 : 2979 : return -1;
5273 : : return 0;
5274 : : }
5275 : :
5276 : : int
5277 : 86878 : pattern1422 (rtx x1)
5278 : : {
5279 : 86878 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5280 : 86878 : rtx x2, x3;
5281 : 86878 : int res ATTRIBUTE_UNUSED;
5282 : 86878 : x2 = XEXP (x1, 1);
5283 : 86878 : if (maybe_ne (SUBREG_BYTE (x2), 0)
5284 : 86878 : || GET_MODE (x2) != E_QImode)
5285 : : return -1;
5286 : 86878 : x3 = XEXP (x2, 0);
5287 : 86878 : if (GET_CODE (x3) != AND)
5288 : : return -1;
5289 : 12040 : return pattern810 (x1); /* [-1, 1] */
5290 : : }
5291 : :
5292 : : int
5293 : 594 : pattern1429 (rtx x1, rtx_code i1)
5294 : : {
5295 : 594 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5296 : 594 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5297 : 594 : int res ATTRIBUTE_UNUSED;
5298 : 594 : x2 = XVECEXP (x1, 0, 1);
5299 : 594 : x3 = XEXP (x2, 1);
5300 : 594 : if (GET_MODE (x3) != E_DImode)
5301 : : return -1;
5302 : 526 : x4 = XEXP (x3, 0);
5303 : 526 : if (GET_CODE (x4) != i1
5304 : 86 : || GET_MODE (x4) != E_SImode)
5305 : : return -1;
5306 : 62 : x5 = XVECEXP (x1, 0, 0);
5307 : 62 : x6 = XEXP (x5, 1);
5308 : 62 : x7 = XEXP (x6, 0);
5309 : 62 : if (GET_MODE (x7) != E_SImode
5310 : 62 : || !nonimmediate_operand (operands[1], E_SImode)
5311 : 62 : || !x86_64_general_operand (operands[2], E_SImode)
5312 : 124 : || !register_operand (operands[0], E_DImode))
5313 : 0 : return -1;
5314 : 62 : x8 = XEXP (x4, 0);
5315 : 62 : if (!rtx_equal_p (x8, operands[1]))
5316 : : return -1;
5317 : 62 : x9 = XEXP (x4, 1);
5318 : 62 : if (!rtx_equal_p (x9, operands[2]))
5319 : : return -1;
5320 : : return 0;
5321 : : }
5322 : :
5323 : : int
5324 : 54866 : pattern1444 (rtx x1, machine_mode i1, machine_mode i2)
5325 : : {
5326 : 54866 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5327 : 54866 : int res ATTRIBUTE_UNUSED;
5328 : 54866 : if (!nonimmediate_operand (operands[0], i2)
5329 : 54779 : || GET_MODE (x1) != i2
5330 : 54779 : || !register_operand (operands[1], i1)
5331 : 109143 : || !scratch_operand (operands[2], i1))
5332 : 589 : return -1;
5333 : : return 0;
5334 : : }
5335 : :
5336 : : int
5337 : 1232 : pattern1451 (rtx x1, int i1)
5338 : : {
5339 : 1232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5340 : 1232 : rtx x2, x3, x4;
5341 : 1232 : int res ATTRIBUTE_UNUSED;
5342 : 1232 : x2 = XEXP (x1, 1);
5343 : 1232 : x3 = XEXP (x2, 1);
5344 : 1232 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5345 : : return -1;
5346 : 783 : x4 = XEXP (x1, 0);
5347 : 783 : if (GET_CODE (x4) != REG
5348 : 783 : || REGNO (x4) != 17
5349 : 1566 : || GET_MODE (x4) != E_CCZmode)
5350 : 0 : return -1;
5351 : : return 0;
5352 : : }
5353 : :
5354 : : int
5355 : 0 : pattern1457 (rtx x1, machine_mode i1)
5356 : : {
5357 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5358 : 0 : rtx x2, x3, x4;
5359 : 0 : int res ATTRIBUTE_UNUSED;
5360 : 0 : if (!register_operand (operands[0], i1)
5361 : 0 : || GET_MODE (x1) != i1)
5362 : : return -1;
5363 : 0 : x2 = XEXP (x1, 0);
5364 : 0 : if (GET_MODE (x2) != i1
5365 : 0 : || !nonimmediate_operand (operands[1], i1))
5366 : 0 : return -1;
5367 : 0 : x3 = XEXP (x1, 1);
5368 : 0 : if (GET_MODE (x3) != i1)
5369 : : return -1;
5370 : 0 : x4 = XEXP (x3, 0);
5371 : 0 : if (GET_MODE (x4) != i1)
5372 : : return -1;
5373 : : return 0;
5374 : : }
5375 : :
5376 : : int
5377 : 284 : pattern1465 (rtx x1, machine_mode i1)
5378 : : {
5379 : 284 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5380 : 284 : rtx x2, x3, x4;
5381 : 284 : int res ATTRIBUTE_UNUSED;
5382 : 284 : if (!register_operand (operands[0], i1)
5383 : 284 : || GET_MODE (x1) != i1)
5384 : : return -1;
5385 : 250 : x2 = XEXP (x1, 0);
5386 : 250 : if (GET_MODE (x2) != i1)
5387 : : return -1;
5388 : 250 : x3 = XEXP (x2, 0);
5389 : 250 : if (GET_MODE (x3) != i1
5390 : 250 : || !nonimmediate_operand (operands[1], i1)
5391 : 485 : || !nonimmediate_operand (operands[2], i1))
5392 : 19 : return -1;
5393 : 231 : x4 = XEXP (x3, 2);
5394 : 231 : if (GET_MODE (x4) != i1
5395 : 231 : || !nonimmediate_operand (operands[3], i1))
5396 : 0 : return -1;
5397 : : return 0;
5398 : : }
5399 : :
5400 : : int
5401 : 0 : pattern1475 (rtx x1, machine_mode i1, machine_mode i2)
5402 : : {
5403 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5404 : 0 : rtx x2;
5405 : 0 : int res ATTRIBUTE_UNUSED;
5406 : 0 : if (!register_operand (operands[0], i1)
5407 : 0 : || GET_MODE (x1) != i1
5408 : 0 : || !vector_all_ones_operand (operands[1], i1))
5409 : 0 : return -1;
5410 : 0 : x2 = XEXP (x1, 2);
5411 : 0 : return pattern1474 (x2,
5412 : : i1,
5413 : 0 : i2); /* [-1, 0] */
5414 : : }
5415 : :
5416 : : int
5417 : 1188 : pattern1480 (rtx x1, machine_mode i1, machine_mode i2)
5418 : : {
5419 : 1188 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5420 : 1188 : rtx x2, x3;
5421 : 1188 : int res ATTRIBUTE_UNUSED;
5422 : 1188 : if (!register_operand (operands[0], i1)
5423 : 1188 : || GET_MODE (x1) != i1)
5424 : : return -1;
5425 : 1152 : x2 = XVECEXP (x1, 0, 0);
5426 : 1152 : if (GET_MODE (x2) != i1)
5427 : : return -1;
5428 : 1152 : x3 = XEXP (x2, 0);
5429 : 1152 : if (GET_MODE (x3) != i1
5430 : 1152 : || !register_operand (operands[1], i1)
5431 : 1144 : || !nonimm_or_0_operand (operands[2], i1)
5432 : 2293 : || !register_operand (operands[3], i2))
5433 : 23 : return -1;
5434 : : return 0;
5435 : : }
5436 : :
5437 : : int
5438 : 86577 : pattern1487 (rtx x1, machine_mode i1, machine_mode i2)
5439 : : {
5440 : 86577 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5441 : 86577 : rtx x2;
5442 : 86577 : int res ATTRIBUTE_UNUSED;
5443 : 86577 : if (!nonimmediate_operand (operands[0], i1)
5444 : 86577 : || GET_MODE (x1) != i1)
5445 : : return -1;
5446 : 86577 : x2 = XEXP (x1, 0);
5447 : 86577 : if (GET_MODE (x2) != i2
5448 : 86577 : || !nonimmediate_operand (operands[1], i1)
5449 : 173134 : || !nonimmediate_operand (operands[2], i1))
5450 : 199 : return -1;
5451 : : return 0;
5452 : : }
5453 : :
5454 : : int
5455 : 49727 : pattern1494 (rtx x1, machine_mode i1)
5456 : : {
5457 : 49727 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5458 : 49727 : int res ATTRIBUTE_UNUSED;
5459 : 49727 : if (!nonimmediate_operand (operands[1], i1)
5460 : 49719 : || !x86_64_general_operand (operands[2], i1)
5461 : 49520 : || !nonimmediate_operand (operands[0], i1)
5462 : 99247 : || GET_MODE (x1) != i1)
5463 : 207 : return -1;
5464 : : return 0;
5465 : : }
5466 : :
5467 : : int
5468 : 144891 : pattern1500 (rtx x1, machine_mode i1)
5469 : : {
5470 : 144891 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5471 : 144891 : int res ATTRIBUTE_UNUSED;
5472 : 144891 : if (!register_operand (operands[0], i1)
5473 : 144891 : || GET_MODE (x1) != i1
5474 : 144891 : || !memory_operand (operands[1], i1)
5475 : 284428 : || !register_operand (operands[2], i1))
5476 : 5354 : return -1;
5477 : : return 0;
5478 : : }
5479 : :
5480 : : int
5481 : 92 : pattern1505 (rtx x1, rtx_code i1)
5482 : : {
5483 : 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5484 : 92 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5485 : 92 : rtx x10;
5486 : 92 : int res ATTRIBUTE_UNUSED;
5487 : 92 : x2 = XVECEXP (x1, 0, 1);
5488 : 92 : x3 = XEXP (x2, 1);
5489 : 92 : if (GET_CODE (x3) != i1)
5490 : : return -1;
5491 : 92 : x4 = XVECEXP (x1, 0, 0);
5492 : 92 : x5 = XEXP (x4, 0);
5493 : 92 : operands[1] = x5;
5494 : 92 : x6 = XEXP (x4, 1);
5495 : 92 : x7 = XEXP (x6, 0);
5496 : 92 : x8 = XEXP (x7, 0);
5497 : 92 : operands[2] = x8;
5498 : 92 : if (!register_operand (operands[2], E_SImode))
5499 : : return -1;
5500 : 92 : x9 = XEXP (x7, 1);
5501 : 92 : operands[3] = x9;
5502 : 92 : if (!nonimmediate_operand (operands[3], E_SImode))
5503 : : return -1;
5504 : 92 : x10 = XEXP (x2, 0);
5505 : 92 : operands[0] = x10;
5506 : 92 : return pattern1503 (x1); /* [-1, 1] */
5507 : : }
5508 : :
5509 : : int
5510 : 228 : pattern1515 (rtx x1, machine_mode i1)
5511 : : {
5512 : 228 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5513 : 228 : rtx x2, x3, x4;
5514 : 228 : int res ATTRIBUTE_UNUSED;
5515 : 228 : if (GET_MODE (x1) != i1)
5516 : : return -1;
5517 : 228 : x2 = XEXP (x1, 0);
5518 : 228 : if (GET_MODE (x2) != i1)
5519 : : return -1;
5520 : 228 : x3 = XEXP (x2, 0);
5521 : 228 : if (GET_MODE (x3) != i1)
5522 : : return -1;
5523 : 228 : x4 = XEXP (x3, 0);
5524 : 228 : if (GET_MODE (x4) != i1)
5525 : 0 : return -1;
5526 : : return 0;
5527 : : }
5528 : :
5529 : : int
5530 : 5450 : pattern1521 (rtx x1)
5531 : : {
5532 : 5450 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5533 : 5450 : rtx x2, x3, x4, x5, x6, x7;
5534 : 5450 : int res ATTRIBUTE_UNUSED;
5535 : 5450 : x2 = XVECEXP (x1, 0, 0);
5536 : 5450 : x3 = XEXP (x2, 0);
5537 : 5450 : x4 = XEXP (x3, 1);
5538 : 5450 : switch (GET_CODE (x4))
5539 : : {
5540 : 3784 : case REG:
5541 : 3784 : case SUBREG:
5542 : 3784 : case MEM:
5543 : 3784 : x5 = XEXP (x3, 2);
5544 : 3784 : operands[4] = x5;
5545 : 3784 : x6 = XVECEXP (x1, 0, 1);
5546 : 3784 : operands[5] = x6;
5547 : 3784 : switch (GET_MODE (operands[0]))
5548 : : {
5549 : : case E_V8HFmode:
5550 : : return 0;
5551 : :
5552 : : case E_V4SFmode:
5553 : : return 1;
5554 : :
5555 : : case E_V2DFmode:
5556 : : return 2;
5557 : :
5558 : : default:
5559 : : return -1;
5560 : : }
5561 : :
5562 : 1666 : case CONST_INT:
5563 : 1666 : case CONST_DOUBLE:
5564 : 1666 : case CONST_VECTOR:
5565 : 1666 : operands[4] = x4;
5566 : 1666 : x5 = XEXP (x3, 2);
5567 : 1666 : operands[5] = x5;
5568 : 1666 : x6 = XVECEXP (x1, 0, 1);
5569 : 1666 : operands[6] = x6;
5570 : 1666 : x7 = XEXP (x2, 1);
5571 : 1666 : if (!rtx_equal_p (x7, operands[1]))
5572 : : return -1;
5573 : 1666 : switch (GET_MODE (operands[0]))
5574 : : {
5575 : : case E_V8HFmode:
5576 : : return 3;
5577 : :
5578 : : case E_V4SFmode:
5579 : : return 4;
5580 : :
5581 : : case E_V2DFmode:
5582 : : return 5;
5583 : :
5584 : : default:
5585 : : return -1;
5586 : : }
5587 : :
5588 : : default:
5589 : : return -1;
5590 : : }
5591 : : }
5592 : :
5593 : : int
5594 : 3 : pattern1542 (rtx x1, machine_mode i1)
5595 : : {
5596 : 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5597 : 3 : int res ATTRIBUTE_UNUSED;
5598 : 3 : if (GET_MODE (x1) != i1
5599 : 3 : || !ix86_carry_flag_operator (operands[3], i1)
5600 : 3 : || !nonimmediate_operand (operands[1], i1)
5601 : 6 : || !x86_64_general_operand (operands[2], i1))
5602 : 0 : return -1;
5603 : : return 0;
5604 : : }
5605 : :
5606 : : int
5607 : 12 : pattern1548 (rtx x1, machine_mode i1)
5608 : : {
5609 : 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5610 : 12 : rtx x2, x3, x4, x5;
5611 : 12 : int res ATTRIBUTE_UNUSED;
5612 : 12 : if (!register_operand (operands[0], i1)
5613 : 12 : || GET_MODE (x1) != i1)
5614 : : return -1;
5615 : 6 : x2 = XEXP (x1, 0);
5616 : 6 : if (GET_MODE (x2) != i1)
5617 : : return -1;
5618 : 6 : x3 = XEXP (x2, 0);
5619 : 6 : if (GET_MODE (x3) != i1)
5620 : : return -1;
5621 : 6 : x4 = XEXP (x3, 0);
5622 : 6 : if (GET_MODE (x4) != i1
5623 : 6 : || !nonimmediate_operand (operands[2], i1)
5624 : 12 : || !nonimmediate_operand (operands[1], i1))
5625 : 0 : return -1;
5626 : 6 : x5 = XEXP (x3, 2);
5627 : 6 : if (GET_MODE (x5) != i1
5628 : 6 : || !nonimmediate_operand (operands[3], i1)
5629 : 12 : || !const0_operand (operands[4], i1))
5630 : 0 : return -1;
5631 : : return 0;
5632 : : }
5633 : :
5634 : : int
5635 : 440 : pattern1559 ()
5636 : : {
5637 : 440 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5638 : 440 : int res ATTRIBUTE_UNUSED;
5639 : 440 : if (!const0_operand (operands[4], E_V4HFmode))
5640 : : return -1;
5641 : 440 : switch (GET_MODE (operands[1]))
5642 : : {
5643 : 220 : case E_V4DFmode:
5644 : 220 : if (!vector_operand (operands[1], E_V4DFmode))
5645 : : return -1;
5646 : : return 0;
5647 : :
5648 : 220 : case E_V4SFmode:
5649 : 220 : if (!vector_operand (operands[1], E_V4SFmode))
5650 : : return -1;
5651 : : return 1;
5652 : :
5653 : : default:
5654 : : return -1;
5655 : : }
5656 : : }
5657 : :
5658 : : int
5659 : 24153 : pattern1566 (rtx x1, machine_mode i1, machine_mode i2)
5660 : : {
5661 : 24153 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5662 : 24153 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5663 : 24153 : int res ATTRIBUTE_UNUSED;
5664 : 24153 : x2 = XVECEXP (x1, 0, 0);
5665 : 24153 : x3 = XEXP (x2, 1);
5666 : 24153 : x4 = XEXP (x3, 0);
5667 : 24153 : x5 = XEXP (x4, 0);
5668 : 24153 : if (GET_MODE (x5) != i2
5669 : 24153 : || !nonimmediate_operand (operands[1], i1)
5670 : 48065 : || !const_int_operand (operands[3], i2))
5671 : 241 : return -1;
5672 : 23912 : x6 = XEXP (x3, 1);
5673 : 23912 : if (GET_MODE (x6) != i2)
5674 : : return -1;
5675 : 23912 : x7 = XEXP (x6, 0);
5676 : 23912 : if (GET_MODE (x7) != i1
5677 : 23912 : || !x86_64_immediate_operand (operands[2], i1)
5678 : 47824 : || !nonimmediate_operand (operands[0], i1))
5679 : 0 : return -1;
5680 : 23912 : x8 = XVECEXP (x1, 0, 1);
5681 : 23912 : x9 = XEXP (x8, 1);
5682 : 23912 : if (GET_MODE (x9) != i1)
5683 : : return -1;
5684 : : return 0;
5685 : : }
5686 : :
5687 : : int
5688 : 1374 : pattern1581 (rtx x1)
5689 : : {
5690 : 1374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5691 : 1374 : rtx x2, x3, x4;
5692 : 1374 : int res ATTRIBUTE_UNUSED;
5693 : 1374 : x2 = XEXP (x1, 2);
5694 : 1374 : operands[3] = x2;
5695 : 1374 : x3 = XEXP (x1, 1);
5696 : 1374 : x4 = XEXP (x3, 0);
5697 : 1374 : if (!rtx_equal_p (x4, operands[2]))
5698 : : return -1;
5699 : 1236 : switch (GET_MODE (operands[0]))
5700 : : {
5701 : 17 : case E_HImode:
5702 : 17 : return pattern1580 (x1,
5703 : 17 : E_HImode); /* [-1, 0] */
5704 : :
5705 : 1202 : case E_SImode:
5706 : 1202 : if (pattern1580 (x1,
5707 : : E_SImode) != 0)
5708 : : return -1;
5709 : : return 1;
5710 : :
5711 : 17 : case E_DImode:
5712 : 17 : if (pattern1580 (x1,
5713 : : E_DImode) != 0)
5714 : : return -1;
5715 : : return 2;
5716 : :
5717 : : default:
5718 : : return -1;
5719 : : }
5720 : : }
5721 : :
5722 : : int
5723 : 0 : pattern1589 (rtx x1, machine_mode i1, machine_mode i2)
5724 : : {
5725 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5726 : 0 : rtx x2, x3, x4;
5727 : 0 : int res ATTRIBUTE_UNUSED;
5728 : 0 : if (!register_operand (operands[0], i1)
5729 : 0 : || GET_MODE (x1) != i1)
5730 : : return -1;
5731 : 0 : x2 = XVECEXP (x1, 0, 0);
5732 : 0 : if (GET_MODE (x2) != i1)
5733 : : return -1;
5734 : 0 : x3 = XEXP (x2, 0);
5735 : 0 : if (GET_MODE (x3) != i1)
5736 : : return -1;
5737 : 0 : x4 = XEXP (x3, 0);
5738 : 0 : if (GET_MODE (x4) != i2
5739 : 0 : || !register_operand (operands[2], i2)
5740 : 0 : || !register_operand (operands[1], i1))
5741 : 0 : return -1;
5742 : : return 0;
5743 : : }
5744 : :
5745 : : int
5746 : 1223 : pattern1599 (rtx x1, machine_mode i1, machine_mode i2)
5747 : : {
5748 : 1223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5749 : 1223 : rtx x2, x3, x4;
5750 : 1223 : int res ATTRIBUTE_UNUSED;
5751 : 1223 : if (!register_operand (operands[0], i2)
5752 : 1223 : || GET_MODE (x1) != i2)
5753 : : return -1;
5754 : 1200 : x2 = XVECEXP (x1, 0, 0);
5755 : 1200 : if (GET_MODE (x2) != i2)
5756 : : return -1;
5757 : 1200 : x3 = XEXP (x2, 0);
5758 : 1200 : if (GET_MODE (x3) != i2
5759 : 1200 : || !register_operand (operands[2], i2))
5760 : 10 : return -1;
5761 : 1190 : x4 = XEXP (x3, 2);
5762 : 1190 : if (GET_MODE (x4) != i2
5763 : 1190 : || !register_operand (operands[4], i1))
5764 : 0 : return -1;
5765 : : return 0;
5766 : : }
5767 : :
5768 : : int
5769 : 327 : pattern1607 (machine_mode i1)
5770 : : {
5771 : 327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5772 : 327 : int res ATTRIBUTE_UNUSED;
5773 : 327 : if (!vsib_address_operand (operands[0], i1))
5774 : : return -1;
5775 : 273 : switch (GET_MODE (operands[2]))
5776 : : {
5777 : 159 : case E_V8SImode:
5778 : 159 : if (!register_operand (operands[2], E_V8SImode))
5779 : : return -1;
5780 : : return 0;
5781 : :
5782 : 114 : case E_V8DImode:
5783 : 114 : if (!register_operand (operands[2], E_V8DImode))
5784 : : return -1;
5785 : : return 1;
5786 : :
5787 : : default:
5788 : : return -1;
5789 : : }
5790 : : }
5791 : :
5792 : : int
5793 : 189 : pattern1614 (rtx x1, machine_mode i1, machine_mode i2)
5794 : : {
5795 : 189 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5796 : 189 : int res ATTRIBUTE_UNUSED;
5797 : 189 : if (!register_operand (operands[6], i2)
5798 : 189 : || !register_operand (operands[2], i1))
5799 : 58 : return -1;
5800 : 131 : switch (GET_MODE (x1))
5801 : : {
5802 : 0 : case E_SImode:
5803 : 0 : if (!vsib_address_operand (operands[3], E_SImode))
5804 : : return -1;
5805 : : return 0;
5806 : :
5807 : 131 : case E_DImode:
5808 : 131 : if (!vsib_address_operand (operands[3], E_DImode))
5809 : : return -1;
5810 : : return 1;
5811 : :
5812 : : default:
5813 : : return -1;
5814 : : }
5815 : : }
5816 : :
5817 : : int
5818 : 206 : pattern1623 (rtx x1, machine_mode i1, machine_mode i2)
5819 : : {
5820 : 206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5821 : 206 : rtx x2, x3;
5822 : 206 : int res ATTRIBUTE_UNUSED;
5823 : 206 : if (!register_operand (operands[0], i2)
5824 : 188 : || GET_MODE (x1) != i2
5825 : 188 : || !register_operand (operands[6], E_QImode)
5826 : 242 : || !vsib_mem_operator (operands[5], i1))
5827 : 170 : return -1;
5828 : 36 : x2 = XVECEXP (x1, 0, 2);
5829 : 36 : x3 = XEXP (x2, 0);
5830 : 36 : switch (GET_MODE (x3))
5831 : : {
5832 : 0 : case E_SImode:
5833 : 0 : return pattern1622 (
5834 : 0 : E_SImode); /* [-1, 1] */
5835 : :
5836 : 36 : case E_DImode:
5837 : 36 : res = pattern1622 (
5838 : : E_DImode);
5839 : 36 : if (res >= 0)
5840 : 30 : return res + 2; /* [2, 3] */
5841 : : return -1;
5842 : :
5843 : : default:
5844 : : return -1;
5845 : : }
5846 : : }
5847 : :
5848 : : int
5849 : 13 : pattern1635 (rtx x1, int *pnum_clobbers)
5850 : : {
5851 : 13 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5852 : 13 : rtx x2, x3, x4, x5, x6;
5853 : 13 : int res ATTRIBUTE_UNUSED;
5854 : 13 : x2 = XVECEXP (x1, 0, 1);
5855 : 13 : x3 = XEXP (x2, 1);
5856 : 13 : x4 = XEXP (x3, 0);
5857 : 13 : if (!rtx_equal_p (x4, operands[2]))
5858 : : return -1;
5859 : 13 : x5 = XEXP (x3, 1);
5860 : 13 : if (!rtx_equal_p (x5, operands[3]))
5861 : : return -1;
5862 : 13 : x6 = XVECEXP (x1, 0, 2);
5863 : 13 : return pattern1575 (x6, pnum_clobbers); /* [-1, 2] */
5864 : : }
5865 : :
5866 : : int
5867 : 82 : pattern1644 ()
5868 : : {
5869 : 82 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5870 : 82 : int res ATTRIBUTE_UNUSED;
5871 : 82 : switch (GET_MODE (operands[3]))
5872 : : {
5873 : 5 : case E_HImode:
5874 : 5 : if (!extract_high_operator (operands[3], E_HImode))
5875 : : return -1;
5876 : : return 0;
5877 : :
5878 : 55 : case E_SImode:
5879 : 55 : if (!extract_high_operator (operands[3], E_SImode))
5880 : : return -1;
5881 : : return 1;
5882 : :
5883 : 22 : case E_DImode:
5884 : 22 : if (!extract_high_operator (operands[3], E_DImode))
5885 : : return -1;
5886 : : return 2;
5887 : :
5888 : : default:
5889 : : return -1;
5890 : : }
5891 : : }
5892 : :
5893 : : int
5894 : 1407 : pattern1652 (rtx x1, machine_mode i1, machine_mode i2)
5895 : : {
5896 : 1407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5897 : 1407 : rtx x2, x3;
5898 : 1407 : int res ATTRIBUTE_UNUSED;
5899 : 1407 : if (!register_operand (operands[0], i1)
5900 : 1407 : || GET_MODE (x1) != i1)
5901 : : return -1;
5902 : 1227 : x2 = XEXP (x1, 0);
5903 : 1227 : if (GET_MODE (x2) != i1)
5904 : : return -1;
5905 : 1227 : x3 = XEXP (x2, 0);
5906 : 1227 : if (GET_MODE (x3) != i2
5907 : 1227 : || !register_operand (operands[1], i1)
5908 : 2452 : || !nonimmediate_operand (operands[2], i1))
5909 : 139 : return -1;
5910 : : return 0;
5911 : : }
5912 : :
5913 : : int
5914 : 231 : pattern1660 (rtx x1, machine_mode i1)
5915 : : {
5916 : 231 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5917 : 231 : rtx x2, x3, x4;
5918 : 231 : int res ATTRIBUTE_UNUSED;
5919 : 231 : if (!register_operand (operands[0], i1)
5920 : 231 : || GET_MODE (x1) != i1)
5921 : : return -1;
5922 : 198 : x2 = XVECEXP (x1, 0, 0);
5923 : 198 : if (GET_MODE (x2) != i1)
5924 : : return -1;
5925 : 198 : x3 = XEXP (x2, 0);
5926 : 198 : if (GET_MODE (x3) != i1
5927 : 198 : || !nonimmediate_operand (operands[1], i1)
5928 : 390 : || !register_operand (operands[2], i1))
5929 : 25 : return -1;
5930 : 173 : x4 = XEXP (x3, 2);
5931 : 173 : if (GET_MODE (x4) != i1
5932 : 173 : || !register_operand (operands[3], i1))
5933 : 6 : return -1;
5934 : : return 0;
5935 : : }
5936 : :
5937 : : int
5938 : 4759 : pattern1670 (rtx x1)
5939 : : {
5940 : 4759 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5941 : 4759 : rtx x2, x3, x4, x5, x6, x7;
5942 : 4759 : int res ATTRIBUTE_UNUSED;
5943 : 4759 : x2 = XVECEXP (x1, 0, 2);
5944 : 4759 : if (XWINT (x2, 0) != 2L)
5945 : : return -1;
5946 : 799 : x3 = XVECEXP (x1, 0, 3);
5947 : 799 : if (XWINT (x3, 0) != 2L)
5948 : : return -1;
5949 : 799 : x4 = XVECEXP (x1, 0, 4);
5950 : 799 : if (XWINT (x4, 0) != 4L)
5951 : : return -1;
5952 : 799 : x5 = XVECEXP (x1, 0, 5);
5953 : 799 : if (XWINT (x5, 0) != 4L)
5954 : : return -1;
5955 : 799 : x6 = XVECEXP (x1, 0, 6);
5956 : 799 : if (XWINT (x6, 0) != 6L)
5957 : : return -1;
5958 : 799 : x7 = XVECEXP (x1, 0, 7);
5959 : 799 : if (XWINT (x7, 0) != 6L)
5960 : 0 : return -1;
5961 : : return 0;
5962 : : }
5963 : :
5964 : : int
5965 : 1273 : pattern1680 (machine_mode i1)
5966 : : {
5967 : 1273 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5968 : 1273 : int res ATTRIBUTE_UNUSED;
5969 : 1273 : if (!register_operand (operands[1], i1)
5970 : 475 : || !const_0_to_15_operand (operands[2], E_VOIDmode)
5971 : 475 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
5972 : 475 : || !const_0_to_15_operand (operands[4], E_VOIDmode)
5973 : 1748 : || !const_0_to_15_operand (operands[5], E_VOIDmode))
5974 : 798 : return -1;
5975 : : return 0;
5976 : : }
5977 : :
5978 : : int
5979 : 5705 : pattern1687 (rtx x1, machine_mode i1, machine_mode i2)
5980 : : {
5981 : 5705 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5982 : 5705 : rtx x2;
5983 : 5705 : int res ATTRIBUTE_UNUSED;
5984 : 5705 : if (!register_operand (operands[0], i1)
5985 : 5705 : || GET_MODE (x1) != i1)
5986 : : return -1;
5987 : 5684 : x2 = XEXP (x1, 0);
5988 : 5684 : if (GET_MODE (x2) != i2
5989 : 5684 : || !register_operand (operands[1], i1)
5990 : 5606 : || !nonimmediate_operand (operands[2], i1)
5991 : 5570 : || !const_0_to_7_operand (operands[3], E_VOIDmode)
5992 : 10133 : || pattern1686 () != 0)
5993 : 4041 : return -1;
5994 : : return 0;
5995 : : }
5996 : :
5997 : : int
5998 : 11 : pattern1696 (rtx x1, machine_mode i1)
5999 : : {
6000 : 11 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6001 : 11 : int res ATTRIBUTE_UNUSED;
6002 : 11 : if (!nonimmediate_operand (operands[1], i1)
6003 : 11 : || !register_operand (operands[0], i1)
6004 : 11 : || GET_MODE (x1) != i1
6005 : 22 : || !register_operand (operands[2], i1))
6006 : 0 : return -1;
6007 : : return 0;
6008 : : }
6009 : :
6010 : : int
6011 : 18 : pattern1700 (rtx x1, machine_mode i1)
6012 : : {
6013 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6014 : 18 : rtx x2, x3, x4, x5;
6015 : 18 : int res ATTRIBUTE_UNUSED;
6016 : 18 : x2 = XVECEXP (x1, 0, 0);
6017 : 18 : x3 = XEXP (x2, 0);
6018 : 18 : if (GET_MODE (x3) != i1
6019 : 18 : || !register_operand (operands[1], i1)
6020 : 36 : || !register_operand (operands[2], i1))
6021 : 0 : return -1;
6022 : 18 : x4 = XVECEXP (x1, 0, 1);
6023 : 18 : if (GET_MODE (x4) != i1)
6024 : : return -1;
6025 : 18 : x5 = XEXP (x4, 0);
6026 : 18 : if (GET_MODE (x5) != i1)
6027 : : return -1;
6028 : : return 0;
6029 : : }
6030 : :
6031 : : int
6032 : 447 : pattern1709 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6033 : : {
6034 : 447 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6035 : 447 : rtx x2, x3;
6036 : 447 : int res ATTRIBUTE_UNUSED;
6037 : 447 : if (!register_operand (operands[0], i2)
6038 : 447 : || GET_MODE (x1) != i2)
6039 : : return -1;
6040 : 441 : x2 = XVECEXP (x1, 0, 0);
6041 : 441 : if (GET_MODE (x2) != i2)
6042 : : return -1;
6043 : 441 : x3 = XEXP (x2, 0);
6044 : 441 : if (GET_MODE (x3) != i2
6045 : 441 : || !register_operand (operands[1], i2)
6046 : 441 : || !register_operand (operands[2], i2)
6047 : 441 : || !nonimmediate_operand (operands[3], i1)
6048 : 882 : || !register_operand (operands[5], i3))
6049 : 0 : return -1;
6050 : : return 0;
6051 : : }
6052 : :
6053 : : int
6054 : 96046 : pattern1718 (rtx x1)
6055 : : {
6056 : 96046 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6057 : 96046 : rtx x2, x3, x4, x5, x6, x7, x8;
6058 : 96046 : int res ATTRIBUTE_UNUSED;
6059 : 96046 : x2 = XEXP (x1, 1);
6060 : 96046 : x3 = XVECEXP (x2, 0, 4);
6061 : 96046 : if (XWINT (x3, 0) != 6L)
6062 : : return -1;
6063 : 96046 : x4 = XVECEXP (x2, 0, 5);
6064 : 96046 : if (XWINT (x4, 0) != 14L)
6065 : : return -1;
6066 : 96046 : x5 = XVECEXP (x2, 0, 6);
6067 : 96046 : if (XWINT (x5, 0) != 7L)
6068 : : return -1;
6069 : 96046 : x6 = XVECEXP (x2, 0, 7);
6070 : 96046 : if (XWINT (x6, 0) != 15L)
6071 : : return -1;
6072 : 96046 : x7 = XEXP (x1, 0);
6073 : 96046 : x8 = XEXP (x7, 1);
6074 : 96046 : operands[2] = x8;
6075 : 96046 : return 0;
6076 : : }
6077 : :
6078 : : int
6079 : 829 : pattern1727 (rtx x1, machine_mode i1, machine_mode i2)
6080 : : {
6081 : 829 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6082 : 829 : int res ATTRIBUTE_UNUSED;
6083 : 829 : if (!register_operand (operands[6], i1)
6084 : 829 : || !register_operand (operands[2], i2)
6085 : 1608 : || !scratch_operand (operands[1], i1))
6086 : 50 : return -1;
6087 : 779 : switch (GET_MODE (x1))
6088 : : {
6089 : 0 : case E_SImode:
6090 : 0 : if (!vsib_address_operand (operands[3], E_SImode))
6091 : : return -1;
6092 : : return 0;
6093 : :
6094 : 779 : case E_DImode:
6095 : 779 : if (!vsib_address_operand (operands[3], E_DImode))
6096 : : return -1;
6097 : : return 1;
6098 : :
6099 : : default:
6100 : : return -1;
6101 : : }
6102 : : }
6103 : :
6104 : : int
6105 : 214 : pattern1735 (machine_mode i1)
6106 : : {
6107 : 214 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6108 : 214 : int res ATTRIBUTE_UNUSED;
6109 : 214 : if (!vsib_address_operand (operands[3], i1))
6110 : : return -1;
6111 : 214 : switch (GET_MODE (operands[2]))
6112 : : {
6113 : 68 : case E_V4SImode:
6114 : 68 : if (!register_operand (operands[2], E_V4SImode))
6115 : : return -1;
6116 : : return 0;
6117 : :
6118 : 146 : case E_V2DImode:
6119 : 146 : if (!register_operand (operands[2], E_V2DImode))
6120 : : return -1;
6121 : : return 1;
6122 : :
6123 : : default:
6124 : : return -1;
6125 : : }
6126 : : }
6127 : :
6128 : : int
6129 : 517 : pattern1745 (rtx x1, machine_mode i1)
6130 : : {
6131 : 517 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6132 : 517 : rtx x2, x3, x4;
6133 : 517 : int res ATTRIBUTE_UNUSED;
6134 : 517 : if (!register_operand (operands[0], i1)
6135 : 517 : || GET_MODE (x1) != i1)
6136 : : return -1;
6137 : 492 : x2 = XVECEXP (x1, 0, 0);
6138 : 492 : if (GET_MODE (x2) != i1)
6139 : : return -1;
6140 : 492 : x3 = XEXP (x2, 0);
6141 : 492 : if (GET_MODE (x3) != i1)
6142 : : return -1;
6143 : 492 : x4 = XEXP (x3, 0);
6144 : 492 : if (GET_MODE (x4) != i1
6145 : 492 : || !register_operand (operands[2], i1)
6146 : 492 : || !nonimm_or_0_operand (operands[4], i1)
6147 : 981 : || !register_operand (operands[1], i1))
6148 : 3 : return -1;
6149 : : return 0;
6150 : : }
6151 : :
6152 : : int
6153 : 276 : pattern1752 (machine_mode i1)
6154 : : {
6155 : 276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6156 : 276 : int res ATTRIBUTE_UNUSED;
6157 : 276 : if (!vsib_address_operand (operands[3], i1))
6158 : : return -1;
6159 : 236 : switch (GET_MODE (operands[4]))
6160 : : {
6161 : 85 : case E_V4SImode:
6162 : 85 : if (!register_operand (operands[4], E_V4SImode))
6163 : : return -1;
6164 : : return 0;
6165 : :
6166 : 151 : case E_V2DImode:
6167 : 151 : if (!register_operand (operands[4], E_V2DImode))
6168 : : return -1;
6169 : : return 1;
6170 : :
6171 : : default:
6172 : : return -1;
6173 : : }
6174 : : }
6175 : :
6176 : : int
6177 : 580 : pattern1758 (rtx x1, machine_mode i1, machine_mode i2)
6178 : : {
6179 : 580 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6180 : 580 : int res ATTRIBUTE_UNUSED;
6181 : 580 : if (!register_operand (operands[0], i2)
6182 : 580 : || GET_MODE (x1) != i2
6183 : 580 : || !register_operand (operands[7], E_QImode)
6184 : 580 : || !vsib_mem_operator (operands[6], i1)
6185 : 1160 : || !scratch_operand (operands[2], E_QImode))
6186 : 0 : return -1;
6187 : : return 0;
6188 : : }
6189 : :
6190 : : int
6191 : 178 : pattern1765 (rtx x1, machine_mode i1)
6192 : : {
6193 : 178 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6194 : 178 : int res ATTRIBUTE_UNUSED;
6195 : 178 : if (!nonimmediate_operand (operands[1], i1)
6196 : 178 : || !ix86_carry_flag_operator (operands[2], i1)
6197 : 178 : || !nonimmediate_operand (operands[0], i1)
6198 : 356 : || GET_MODE (x1) != i1)
6199 : 0 : return -1;
6200 : : return 0;
6201 : : }
6202 : :
6203 : : int
6204 : 792 : pattern1773 (rtx x1, machine_mode i1, machine_mode i2)
6205 : : {
6206 : 792 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6207 : 792 : rtx x2;
6208 : 792 : int res ATTRIBUTE_UNUSED;
6209 : 792 : if (!register_operand (operands[1], i1)
6210 : 792 : || GET_MODE (x1) != i2)
6211 : : return -1;
6212 : 792 : x2 = XEXP (x1, 0);
6213 : 792 : if (GET_MODE (x2) != i2
6214 : 792 : || !x86_64_dwzext_immediate_operand (operands[2], i2)
6215 : 864 : || !scratch_operand (operands[0], i1))
6216 : 720 : return -1;
6217 : : return 0;
6218 : : }
6219 : :
6220 : : int
6221 : 439 : pattern1779 (rtx x1, machine_mode i1)
6222 : : {
6223 : 439 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6224 : 439 : int res ATTRIBUTE_UNUSED;
6225 : 439 : if (!register_operand (operands[1], i1))
6226 : : return -1;
6227 : 221 : switch (GET_MODE (x1))
6228 : : {
6229 : 0 : case E_HImode:
6230 : 0 : if (!register_operand (operands[2], E_HImode))
6231 : : return -1;
6232 : : return 0;
6233 : :
6234 : 201 : case E_SImode:
6235 : 201 : if (!register_operand (operands[2], E_SImode))
6236 : : return -1;
6237 : : return 1;
6238 : :
6239 : 20 : case E_DImode:
6240 : 20 : if (!register_operand (operands[2], E_DImode))
6241 : : return -1;
6242 : : return 2;
6243 : :
6244 : : default:
6245 : : return -1;
6246 : : }
6247 : : }
6248 : :
6249 : : int
6250 : 1016 : pattern1788 (machine_mode i1)
6251 : : {
6252 : 1016 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6253 : 1016 : int res ATTRIBUTE_UNUSED;
6254 : 1016 : if (!vsib_address_operand (operands[2], i1))
6255 : : return -1;
6256 : 976 : switch (GET_MODE (operands[3]))
6257 : : {
6258 : 377 : case E_V4SImode:
6259 : 377 : if (!register_operand (operands[3], E_V4SImode))
6260 : : return -1;
6261 : : return 0;
6262 : :
6263 : 599 : case E_V2DImode:
6264 : 599 : if (!register_operand (operands[3], E_V2DImode))
6265 : : return -1;
6266 : : return 1;
6267 : :
6268 : : default:
6269 : : return -1;
6270 : : }
6271 : : }
6272 : :
6273 : : int
6274 : 3323 : pattern1796 (rtx x1)
6275 : : {
6276 : 3323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6277 : 3323 : rtx x2, x3, x4, x5, x6, x7;
6278 : 3323 : int res ATTRIBUTE_UNUSED;
6279 : 3323 : x2 = XEXP (x1, 1);
6280 : 3323 : x3 = XEXP (x2, 0);
6281 : 3323 : x4 = XEXP (x3, 0);
6282 : 3323 : if (GET_CODE (x4) != REG
6283 : 3323 : || REGNO (x4) != 17
6284 : 6646 : || GET_MODE (x4) != E_CCZmode)
6285 : : return -1;
6286 : 3323 : x5 = XEXP (x3, 1);
6287 : 3323 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6288 : : return -1;
6289 : 3323 : x6 = XEXP (x2, 2);
6290 : 3323 : if (GET_CODE (x6) != PC)
6291 : : return -1;
6292 : 3276 : x7 = XEXP (x1, 0);
6293 : 3276 : if (GET_CODE (x7) != PC)
6294 : 0 : return -1;
6295 : : return 0;
6296 : : }
6297 : :
6298 : : int
6299 : 1020 : pattern1806 (machine_mode i1)
6300 : : {
6301 : 1020 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6302 : 1020 : int res ATTRIBUTE_UNUSED;
6303 : 1020 : if (!vsib_address_operand (operands[3], i1))
6304 : : return -1;
6305 : 988 : switch (GET_MODE (operands[4]))
6306 : : {
6307 : 441 : case E_V4SImode:
6308 : 441 : if (!register_operand (operands[4], E_V4SImode))
6309 : : return -1;
6310 : : return 0;
6311 : :
6312 : 547 : case E_V2DImode:
6313 : 547 : if (!register_operand (operands[4], E_V2DImode))
6314 : : return -1;
6315 : : return 1;
6316 : :
6317 : : default:
6318 : : return -1;
6319 : : }
6320 : : }
6321 : :
6322 : : int
6323 : 0 : pattern1812 (rtx x1, machine_mode i1)
6324 : : {
6325 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6326 : 0 : rtx x2, x3, x4, x5, x6, x7;
6327 : 0 : int res ATTRIBUTE_UNUSED;
6328 : 0 : x2 = XVECEXP (x1, 0, 0);
6329 : 0 : x3 = XEXP (x2, 1);
6330 : 0 : x4 = XEXP (x3, 0);
6331 : 0 : x5 = XEXP (x4, 0);
6332 : 0 : if (GET_MODE (x5) != i1
6333 : 0 : || !ix86_carry_flag_operator (operands[4], i1)
6334 : 0 : || !nonimmediate_operand (operands[1], i1))
6335 : 0 : return -1;
6336 : 0 : x6 = XVECEXP (x1, 0, 1);
6337 : 0 : x7 = XEXP (x6, 1);
6338 : 0 : return pattern1811 (x7,
6339 : 0 : i1); /* [-1, 0] */
6340 : : }
6341 : :
6342 : : int
6343 : 18642 : pattern1820 (rtx x1, machine_mode i1, machine_mode i2)
6344 : : {
6345 : 18642 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6346 : 18642 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6347 : 18642 : int res ATTRIBUTE_UNUSED;
6348 : 18642 : x2 = XVECEXP (x1, 0, 0);
6349 : 18642 : x3 = XEXP (x2, 1);
6350 : 18642 : x4 = XEXP (x3, 0);
6351 : 18642 : x5 = XEXP (x4, 0);
6352 : 18642 : if (GET_MODE (x5) != i2
6353 : 18642 : || !nonimmediate_operand (operands[1], i1)
6354 : 37132 : || !const_int_operand (operands[3], i2))
6355 : 152 : return -1;
6356 : 18490 : x6 = XEXP (x3, 1);
6357 : 18490 : if (GET_MODE (x6) != i2)
6358 : : return -1;
6359 : 18490 : x7 = XEXP (x6, 0);
6360 : 18490 : if (GET_MODE (x7) != i1
6361 : 18490 : || !x86_64_immediate_operand (operands[2], i1)
6362 : 32048 : || !register_operand (operands[0], i1))
6363 : 4932 : return -1;
6364 : 13558 : x8 = XVECEXP (x1, 0, 1);
6365 : 13558 : x9 = XEXP (x8, 1);
6366 : 13558 : if (GET_MODE (x9) != i1)
6367 : : return -1;
6368 : : return 0;
6369 : : }
6370 : :
6371 : : int
6372 : 313 : pattern1831 (rtx x1, machine_mode i1)
6373 : : {
6374 : 313 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6375 : 313 : rtx x2, x3, x4, x5, x6, x7, x8;
6376 : 313 : int res ATTRIBUTE_UNUSED;
6377 : 313 : x2 = XEXP (x1, 0);
6378 : 313 : x3 = XEXP (x2, 0);
6379 : 313 : x4 = XEXP (x3, 0);
6380 : 313 : x5 = XEXP (x4, 0);
6381 : 313 : operands[1] = x5;
6382 : 313 : if (!nonimmediate_operand (operands[1], i1))
6383 : : return -1;
6384 : 307 : x6 = XEXP (x3, 2);
6385 : 307 : if (GET_MODE (x6) != i1
6386 : 307 : || !register_operand (operands[3], i1))
6387 : 1 : return -1;
6388 : 306 : x7 = XEXP (x2, 1);
6389 : 306 : if (!rtx_equal_p (x7, operands[1]))
6390 : : return -1;
6391 : 78 : x8 = XEXP (x1, 1);
6392 : 78 : if (!rtx_equal_p (x8, operands[1]))
6393 : : return -1;
6394 : : return 0;
6395 : : }
6396 : :
6397 : : int
6398 : 13455 : pattern1841 (rtx x1)
6399 : : {
6400 : 13455 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6401 : 13455 : rtx x2, x3, x4, x5;
6402 : 13455 : int res ATTRIBUTE_UNUSED;
6403 : 13455 : x2 = XEXP (x1, 1);
6404 : 13455 : if (GET_CODE (x2) != COMPARE)
6405 : : return -1;
6406 : 3717 : x3 = XEXP (x2, 1);
6407 : 3717 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6408 : : return -1;
6409 : 460 : x4 = XEXP (x1, 0);
6410 : 460 : if (GET_CODE (x4) != REG
6411 : 460 : || REGNO (x4) != 17)
6412 : : return -1;
6413 : 460 : x5 = XEXP (x2, 0);
6414 : 460 : if (!rtx_equal_p (x5, operands[0]))
6415 : : return -1;
6416 : : return 0;
6417 : : }
6418 : :
6419 : : int
6420 : 75638 : pattern1847 (rtx x1, machine_mode i1)
6421 : : {
6422 : 75638 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6423 : 75638 : rtx x2, x3, x4, x5;
6424 : 75638 : int res ATTRIBUTE_UNUSED;
6425 : 75638 : if (!register_operand (operands[2], i1)
6426 : 75638 : || !register_operand (operands[0], i1))
6427 : 0 : return -1;
6428 : 75638 : x2 = XVECEXP (x1, 0, 1);
6429 : 75638 : x3 = XEXP (x2, 1);
6430 : 75638 : if (GET_MODE (x3) != i1
6431 : 75638 : || !register_operand (operands[3], i1)
6432 : 75638 : || !register_operand (operands[5], i1)
6433 : 145099 : || !register_operand (operands[1], i1))
6434 : 6177 : return -1;
6435 : 69461 : x4 = XVECEXP (x1, 0, 2);
6436 : 69461 : x5 = XEXP (x4, 1);
6437 : 69461 : if (GET_MODE (x5) != i1
6438 : 69461 : || !register_operand (operands[4], i1))
6439 : 767 : return -1;
6440 : : return 0;
6441 : : }
6442 : :
6443 : : int
6444 : 194 : pattern1855 (machine_mode i1)
6445 : : {
6446 : 194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6447 : 194 : int res ATTRIBUTE_UNUSED;
6448 : 194 : if (!vsib_address_operand (operands[2], i1))
6449 : : return -1;
6450 : 186 : switch (GET_MODE (operands[3]))
6451 : : {
6452 : 106 : case E_V8SImode:
6453 : 106 : if (!register_operand (operands[3], E_V8SImode)
6454 : 106 : || !register_operand (operands[4], E_V8SImode))
6455 : 40 : return -1;
6456 : : return 0;
6457 : :
6458 : 80 : case E_V4DImode:
6459 : 80 : if (!register_operand (operands[3], E_V4DImode)
6460 : 80 : || !register_operand (operands[4], E_V4SImode))
6461 : 16 : return -1;
6462 : : return 1;
6463 : :
6464 : : default:
6465 : : return -1;
6466 : : }
6467 : : }
6468 : :
6469 : : int
6470 : 38102 : pattern1862 (rtx x1, machine_mode i1, machine_mode i2)
6471 : : {
6472 : 38102 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6473 : 38102 : rtx x2, x3, x4, x5, x6, x7, x8;
6474 : 38102 : int res ATTRIBUTE_UNUSED;
6475 : 38102 : if (!nonimmediate_operand (operands[1], i1))
6476 : : return -1;
6477 : 38102 : x2 = XVECEXP (x1, 0, 0);
6478 : 38102 : x3 = XEXP (x2, 1);
6479 : 38102 : x4 = XEXP (x3, 1);
6480 : 38102 : if (GET_MODE (x4) != i2
6481 : 38102 : || !ix86_carry_flag_operator (operands[4], i2))
6482 : 0 : return -1;
6483 : 38102 : x5 = XEXP (x4, 1);
6484 : 38102 : if (GET_MODE (x5) != i2
6485 : 38102 : || !nonimmediate_operand (operands[2], i1)
6486 : 74555 : || !nonimmediate_operand (operands[0], i1))
6487 : 1649 : return -1;
6488 : 36453 : x6 = XVECEXP (x1, 0, 1);
6489 : 36453 : x7 = XEXP (x6, 1);
6490 : 36453 : if (GET_MODE (x7) != i1)
6491 : : return -1;
6492 : 36453 : x8 = XEXP (x7, 0);
6493 : 36453 : if (GET_MODE (x8) != i1
6494 : 36453 : || !ix86_carry_flag_operator (operands[5], i1))
6495 : 0 : return -1;
6496 : : return 0;
6497 : : }
6498 : :
6499 : : int
6500 : 38 : pattern1872 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6501 : : {
6502 : 38 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6503 : 38 : rtx x2, x3, x4;
6504 : 38 : int res ATTRIBUTE_UNUSED;
6505 : 38 : if (!register_operand (operands[0], i2)
6506 : 38 : || GET_MODE (x1) != i2)
6507 : : return -1;
6508 : 36 : x2 = XEXP (x1, 0);
6509 : 36 : if (GET_MODE (x2) != i1
6510 : 36 : || !register_operand (operands[2], i2)
6511 : 36 : || !vsib_mem_operator (operands[7], i3)
6512 : 36 : || !register_operand (operands[5], i2)
6513 : 68 : || !scratch_operand (operands[1], i1))
6514 : 4 : return -1;
6515 : 32 : x3 = XVECEXP (x2, 0, 1);
6516 : 32 : x4 = XEXP (x3, 0);
6517 : 32 : switch (GET_MODE (x4))
6518 : : {
6519 : 0 : case E_SImode:
6520 : 0 : if (!vsib_address_operand (operands[3], E_SImode))
6521 : : return -1;
6522 : : return 0;
6523 : :
6524 : 32 : case E_DImode:
6525 : 32 : if (!vsib_address_operand (operands[3], E_DImode))
6526 : : return -1;
6527 : : return 1;
6528 : :
6529 : : default:
6530 : : return -1;
6531 : : }
6532 : : }
6533 : :
6534 : : int
6535 : 24 : pattern1881 (rtx x1, machine_mode i1)
6536 : : {
6537 : 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6538 : 24 : rtx x2, x3, x4, x5, x6, x7, x8;
6539 : 24 : int res ATTRIBUTE_UNUSED;
6540 : 24 : if (!x86_64_general_operand (operands[1], i1))
6541 : : return -1;
6542 : 24 : x2 = XVECEXP (x1, 0, 1);
6543 : 24 : x3 = XEXP (x2, 1);
6544 : 24 : if (XINT (x3, 1) != 112
6545 : 24 : || GET_MODE (x3) != i1)
6546 : : return -1;
6547 : 24 : x4 = XVECEXP (x1, 0, 2);
6548 : 24 : x5 = XEXP (x4, 1);
6549 : 24 : if (GET_CODE (x5) != COMPARE
6550 : 24 : || GET_MODE (x5) != E_CCmode
6551 : 24 : || !memory_operand (operands[2], i1)
6552 : 48 : || !register_operand (operands[3], i1))
6553 : 0 : return -1;
6554 : 24 : x6 = XEXP (x4, 0);
6555 : 24 : if (GET_MODE (x6) != E_CCmode)
6556 : : return -1;
6557 : 24 : x7 = XEXP (x5, 0);
6558 : 24 : if (!rtx_equal_p (x7, operands[2]))
6559 : : return -1;
6560 : 24 : x8 = XEXP (x5, 1);
6561 : 24 : if (!rtx_equal_p (x8, operands[0])
6562 : 24 : || !register_operand (operands[5], i1)
6563 : 48 : || !x86_64_general_operand (operands[6], i1))
6564 : 0 : return -1;
6565 : : return 0;
6566 : : }
6567 : :
6568 : : int
6569 : 17 : pattern1888 (rtx x1, machine_mode i1)
6570 : : {
6571 : 17 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6572 : 17 : rtx x2, x3, x4, x5, x6, x7;
6573 : 17 : int res ATTRIBUTE_UNUSED;
6574 : 17 : if (!register_operand (operands[4], E_SImode)
6575 : 17 : || GET_MODE (x1) != E_SImode
6576 : 34 : || !nonmemory_operand (operands[2], E_SImode))
6577 : 0 : return -1;
6578 : 17 : x2 = PATTERN (peep2_next_insn (3));
6579 : 17 : x3 = XEXP (x2, 1);
6580 : 17 : operands[5] = x3;
6581 : 17 : if (!register_operand (operands[5], i1))
6582 : : return -1;
6583 : 17 : x4 = PATTERN (peep2_next_insn (4));
6584 : 17 : x5 = XEXP (x4, 1);
6585 : 17 : x6 = XEXP (x5, 0);
6586 : 17 : operands[6] = x6;
6587 : 17 : x7 = XEXP (x5, 1);
6588 : 17 : operands[7] = x7;
6589 : 17 : return 0;
6590 : : }
6591 : :
6592 : : int
6593 : 321 : pattern1896 (rtx x1, machine_mode i1, machine_mode i2)
6594 : : {
6595 : 321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6596 : 321 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6597 : 321 : rtx x10, x11;
6598 : 321 : int res ATTRIBUTE_UNUSED;
6599 : 321 : x2 = XVECEXP (x1, 0, 0);
6600 : 321 : x3 = XEXP (x2, 1);
6601 : 321 : x4 = XEXP (x3, 0);
6602 : 321 : x5 = XEXP (x4, 0);
6603 : 321 : if (GET_MODE (x5) != i2
6604 : 321 : || !ix86_carry_flag_operator (operands[4], i2))
6605 : 0 : return -1;
6606 : 321 : x6 = XEXP (x5, 1);
6607 : 321 : if (GET_MODE (x6) != i2
6608 : 321 : || !nonimmediate_operand (operands[1], i1)
6609 : 642 : || !const_int_operand (operands[6], i2))
6610 : 0 : return -1;
6611 : 321 : x7 = XEXP (x3, 1);
6612 : 321 : if (GET_MODE (x7) != i2)
6613 : : return -1;
6614 : 321 : x8 = XEXP (x7, 0);
6615 : 321 : if (GET_MODE (x8) != i1)
6616 : : return -1;
6617 : 321 : x9 = XEXP (x8, 0);
6618 : 321 : if (GET_MODE (x9) != i1
6619 : 321 : || !ix86_carry_flag_operator (operands[5], i1))
6620 : 0 : return -1;
6621 : 321 : x10 = XVECEXP (x1, 0, 1);
6622 : 321 : x11 = XEXP (x10, 1);
6623 : 321 : return pattern1895 (x11,
6624 : 321 : i1); /* [-1, 0] */
6625 : : }
6626 : :
6627 : : int
6628 : 5632 : pattern1904 (rtx x1)
6629 : : {
6630 : 5632 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6631 : 5632 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6632 : 5632 : int res ATTRIBUTE_UNUSED;
6633 : 5632 : x2 = XVECEXP (x1, 0, 8);
6634 : 5632 : if (XWINT (x2, 0) != 12L)
6635 : : return -1;
6636 : 5632 : x3 = XVECEXP (x1, 0, 9);
6637 : 5632 : if (XWINT (x3, 0) != 44L)
6638 : : return -1;
6639 : 5632 : x4 = XVECEXP (x1, 0, 10);
6640 : 5632 : if (XWINT (x4, 0) != 13L)
6641 : : return -1;
6642 : 5632 : x5 = XVECEXP (x1, 0, 11);
6643 : 5632 : if (XWINT (x5, 0) != 45L)
6644 : : return -1;
6645 : 5632 : x6 = XVECEXP (x1, 0, 12);
6646 : 5632 : if (XWINT (x6, 0) != 14L)
6647 : : return -1;
6648 : 5632 : x7 = XVECEXP (x1, 0, 13);
6649 : 5632 : if (XWINT (x7, 0) != 46L)
6650 : : return -1;
6651 : 5632 : x8 = XVECEXP (x1, 0, 14);
6652 : 5632 : if (XWINT (x8, 0) != 15L)
6653 : : return -1;
6654 : 5632 : x9 = XVECEXP (x1, 0, 15);
6655 : 5632 : if (XWINT (x9, 0) != 47L)
6656 : 0 : return -1;
6657 : : return 0;
6658 : : }
6659 : :
6660 : : int
6661 : 56392125 : recog_3 (rtx x1 ATTRIBUTE_UNUSED,
6662 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6663 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6664 : : {
6665 : 56392125 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6666 : 56392125 : rtx x2, x3, x4, x5, x6;
6667 : 56392125 : int res ATTRIBUTE_UNUSED;
6668 : 56392125 : x2 = XEXP (x1, 1);
6669 : 56392125 : x3 = XEXP (x2, 1);
6670 : 56392125 : operands[1] = x3;
6671 : 56392125 : switch (GET_MODE (operands[0]))
6672 : : {
6673 : 8814040 : case E_QImode:
6674 : 8814040 : if (nonimmediate_operand (operands[0], E_QImode))
6675 : : {
6676 : 8712926 : if (const0_operand (operands[1], E_QImode))
6677 : : {
6678 : 5818132 : if ((
6679 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6680 : : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6681 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6682 : : (TARGET_AVX512DQ)))
6683 : : return 5; /* *cmpqi_ccz_1 */
6684 : : if (
6685 : : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6686 : : (ix86_match_ccmode (insn, CCNOmode)))
6687 : : return 9; /* *cmpqi_ccno_1 */
6688 : : }
6689 : : if (general_operand (operands[1], E_QImode)
6690 : : &&
6691 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6692 : : (ix86_match_ccmode (insn, CCmode)))
6693 : : return 13; /* *cmpqi_1 */
6694 : : }
6695 : : break;
6696 : :
6697 : : case E_HImode:
6698 : : if (nonimmediate_operand (operands[0], E_HImode))
6699 : : {
6700 : : if (const0_operand (operands[1], E_HImode))
6701 : : {
6702 : : if (
6703 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6704 : : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)))
6705 : : return 6; /* *cmphi_ccz_1 */
6706 : : if (
6707 : : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6708 : : (ix86_match_ccmode (insn, CCNOmode)))
6709 : : return 10; /* *cmphi_ccno_1 */
6710 : : }
6711 : : if (general_operand (operands[1], E_HImode)
6712 : : &&
6713 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6714 : : (ix86_match_ccmode (insn, CCmode)))
6715 : : return 14; /* *cmphi_1 */
6716 : : }
6717 : : break;
6718 : :
6719 : : case E_SImode:
6720 : : if (nonimmediate_operand (operands[0], E_SImode))
6721 : : {
6722 : : if (const0_operand (operands[1], E_SImode))
6723 : : {
6724 : : if ((
6725 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6726 : : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6727 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6728 : : (TARGET_AVX512BW)))
6729 : : return 7; /* *cmpsi_ccz_1 */
6730 : : if (
6731 : : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6732 : : (ix86_match_ccmode (insn, CCNOmode)))
6733 : : return 11; /* *cmpsi_ccno_1 */
6734 : : }
6735 : : if (x86_64_general_operand (operands[1], E_SImode)
6736 : : &&
6737 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6738 : : (ix86_match_ccmode (insn, CCmode)))
6739 : : return 15; /* *cmpsi_1 */
6740 : : }
6741 : : break;
6742 : :
6743 : : case E_DImode:
6744 : : if (nonimmediate_operand (operands[0], E_DImode))
6745 : : {
6746 : : if (const0_operand (operands[1], E_DImode))
6747 : : {
6748 : : if ((
6749 : : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6750 : : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6751 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6752 : : (TARGET_AVX512BW && TARGET_64BIT)))
6753 : : return 8; /* *cmpdi_ccz_1 */
6754 : : if ((
6755 : : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6756 : : (ix86_match_ccmode (insn, CCNOmode)) &&
6757 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6758 : : (TARGET_64BIT)))
6759 : : return 12; /* *cmpdi_ccno_1 */
6760 : : }
6761 : : if (x86_64_general_operand (operands[1], E_DImode)
6762 : : && (
6763 : : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6764 : : (ix86_match_ccmode (insn, CCmode)) &&
6765 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6766 : : (TARGET_64BIT)))
6767 : : return 16; /* *cmpdi_1 */
6768 : : }
6769 : : break;
6770 : :
6771 : : default:
6772 : : break;
6773 : : }
6774 : : x4 = XEXP (x1, 0);
6775 : : switch (GET_MODE (x4))
6776 : : {
6777 : : case E_CCZmode:
6778 : : if (GET_MODE (x2) == E_CCZmode)
6779 : : {
6780 : : switch (pattern844 ())
6781 : : {
6782 : : case 0:
6783 : : if ((
6784 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6785 : : (ix86_pre_reload_split ()) &&
6786 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6787 : : (!TARGET_64BIT)))
6788 : : return 37; /* *cmpdi_doubleword */
6789 : : break;
6790 : :
6791 : : case 1:
6792 : : if ((
6793 : : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6794 : : (ix86_pre_reload_split ()) &&
6795 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6796 : : (TARGET_64BIT)))
6797 : : return 38; /* *cmpti_doubleword */
6798 : : break;
6799 : :
6800 : : default:
6801 : : break;
6802 : : }
6803 : : }
6804 : : break;
6805 : :
6806 : : case E_CCFPmode:
6807 : : if (GET_MODE (x2) == E_CCFPmode)
6808 : : {
6809 : : switch (GET_MODE (operands[0]))
6810 : : {
6811 : : case E_XFmode:
6812 : : if (register_operand (operands[0], E_XFmode)
6813 : : && register_operand (operands[1], E_XFmode)
6814 : : &&
6815 : : #line 2034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6816 : : (TARGET_80387 && TARGET_CMOVE))
6817 : : return 52; /* *cmpixf_i387 */
6818 : : break;
6819 : :
6820 : : case E_SFmode:
6821 : : if (register_operand (operands[0], E_SFmode)
6822 : : && register_ssemem_operand (operands[1], E_SFmode)
6823 : : &&
6824 : : #line 2074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6825 : : ((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
6826 : : || (TARGET_80387 && TARGET_CMOVE)))
6827 : : return 60; /* *cmpisf */
6828 : : break;
6829 : :
6830 : : case E_DFmode:
6831 : : if (register_operand (operands[0], E_DFmode)
6832 : : && register_ssemem_operand (operands[1], E_DFmode)
6833 : : &&
6834 : : #line 2074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6835 : : ((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
6836 : : || (TARGET_80387 && TARGET_CMOVE)))
6837 : : return 62; /* *cmpidf */
6838 : : break;
6839 : :
6840 : : case E_HFmode:
6841 : : if (register_operand (operands[0], E_HFmode)
6842 : : && nonimmediate_operand (operands[1], E_HFmode)
6843 : : &&
6844 : : #line 2111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6845 : : (TARGET_AVX512FP16))
6846 : : return 64; /* *cmpihf */
6847 : : break;
6848 : :
6849 : : case E_BFmode:
6850 : : if (register_operand (operands[0], E_BFmode)
6851 : : && nonimmediate_operand (operands[1], E_BFmode)
6852 : : &&
6853 : : #line 2122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6854 : : (TARGET_AVX10_2))
6855 : : return 66; /* *cmpibf */
6856 : : break;
6857 : :
6858 : : default:
6859 : : break;
6860 : : }
6861 : : }
6862 : : break;
6863 : :
6864 : : default:
6865 : : break;
6866 : : }
6867 : : if (!nonimmediate_operand (operands[0], E_QImode)
6868 : : || pattern602 (x3) != 0)
6869 : : return -1;
6870 : : x5 = XEXP (x3, 0);
6871 : : operands[2] = x5;
6872 : : x6 = XEXP (x5, 0);
6873 : : operands[1] = x6;
6874 : : if (!int248_register_operand (operands[1], E_VOIDmode))
6875 : : return -1;
6876 : : switch (GET_MODE (operands[2]))
6877 : : {
6878 : : case E_HImode:
6879 : : if (!extract_high_operator (operands[2], E_HImode)
6880 : : || !
6881 : : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6882 : : (ix86_match_ccmode (insn, CCmode)))
6883 : : return -1;
6884 : : return 25; /* *cmpqi_exthi_1 */
6885 : :
6886 : : case E_SImode:
6887 : : if (!extract_high_operator (operands[2], E_SImode)
6888 : : || !
6889 : : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6890 : : (ix86_match_ccmode (insn, CCmode)))
6891 : : return -1;
6892 : : return 26; /* *cmpqi_extsi_1 */
6893 : :
6894 : : case E_DImode:
6895 : : if (!extract_high_operator (operands[2], E_DImode)
6896 : : || !(
6897 : : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6898 : : (ix86_match_ccmode (insn, CCmode)) &&
6899 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6900 : : (TARGET_64BIT)))
6901 : : return -1;
6902 : : return 27; /* *cmpqi_extdi_1 */
6903 : :
6904 : : default:
6905 : : return -1;
6906 : : }
6907 : : }
6908 : :
6909 : : int
6910 : : recog_18 (rtx x1 ATTRIBUTE_UNUSED,
6911 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6912 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6913 : : {
6914 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6915 : : rtx x2, x3, x4;
6916 : : int res ATTRIBUTE_UNUSED;
6917 : : x2 = XEXP (x1, 0);
6918 : : x3 = XEXP (x2, 0);
6919 : : operands[0] = x3;
6920 : : x4 = XEXP (x1, 1);
6921 : : operands[1] = x4;
6922 : : switch (GET_MODE (operands[0]))
6923 : : {
6924 : : case E_QImode:
6925 : : if (!register_operand (operands[0], E_QImode))
6926 : : return -1;
6927 : : if (general_operand (operands[1], E_QImode)
6928 : : &&
6929 : : #line 3458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6930 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6931 : : return 115; /* *movstrictqi_1 */
6932 : : if (pnum_clobbers == NULL
6933 : : || !const0_operand (operands[1], E_QImode)
6934 : : || !
6935 : : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6936 : : (reload_completed))
6937 : : return -1;
6938 : : *pnum_clobbers = 1;
6939 : : return 117; /* *movstrictqi_xor */
6940 : :
6941 : : case E_HImode:
6942 : : if (!register_operand (operands[0], E_HImode))
6943 : : return -1;
6944 : : if (general_operand (operands[1], E_HImode)
6945 : : &&
6946 : : #line 3458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6947 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6948 : : return 116; /* *movstricthi_1 */
6949 : : if (pnum_clobbers == NULL
6950 : : || !const0_operand (operands[1], E_HImode)
6951 : : || !
6952 : : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6953 : : (reload_completed))
6954 : : return -1;
6955 : : *pnum_clobbers = 1;
6956 : : return 118; /* *movstricthi_xor */
6957 : :
6958 : : default:
6959 : : return -1;
6960 : : }
6961 : : }
6962 : :
6963 : : int
6964 : : recog_20 (rtx x1 ATTRIBUTE_UNUSED,
6965 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6966 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6967 : : {
6968 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6969 : : rtx x2, x3, x4, x5, x6;
6970 : : int res ATTRIBUTE_UNUSED;
6971 : : x2 = XEXP (x1, 1);
6972 : : if (GET_MODE (x2) != E_QImode)
6973 : : return -1;
6974 : : x3 = XEXP (x2, 0);
6975 : : x4 = XEXP (x3, 0);
6976 : : operands[1] = x4;
6977 : : if (!int248_register_operand (operands[1], E_VOIDmode))
6978 : : return -1;
6979 : : x5 = XEXP (x1, 0);
6980 : : switch (GET_CODE (x5))
6981 : : {
6982 : : case STRICT_LOW_PART:
6983 : : x6 = XEXP (x5, 0);
6984 : : operands[0] = x6;
6985 : : if (!register_operand (operands[0], E_QImode))
6986 : : return -1;
6987 : : switch (pattern1203 ())
6988 : : {
6989 : : case 0:
6990 : : if (!
6991 : : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6992 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6993 : : return -1;
6994 : : return 119; /* *movstrictqi_exthi_1 */
6995 : :
6996 : : case 1:
6997 : : if (!
6998 : : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6999 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7000 : : return -1;
7001 : : return 120; /* *movstrictqi_extsi_1 */
7002 : :
7003 : : case 2:
7004 : : if (!(
7005 : : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7006 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
7007 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7008 : : (TARGET_64BIT)))
7009 : : return -1;
7010 : : return 121; /* *movstrictqi_extdi_1 */
7011 : :
7012 : : default:
7013 : : return -1;
7014 : : }
7015 : :
7016 : : case REG:
7017 : : case SUBREG:
7018 : : case MEM:
7019 : : operands[0] = x5;
7020 : : if (!nonimmediate_operand (operands[0], E_QImode))
7021 : : return -1;
7022 : : switch (pattern1203 ())
7023 : : {
7024 : : case 0:
7025 : : return 129; /* *extzvqi */
7026 : :
7027 : : case 1:
7028 : : return 130; /* *extzvqi */
7029 : :
7030 : : case 2:
7031 : : if (!
7032 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7033 : : (TARGET_64BIT))
7034 : : return -1;
7035 : : return 131; /* *extzvqi */
7036 : :
7037 : : default:
7038 : : return -1;
7039 : : }
7040 : :
7041 : : default:
7042 : : return -1;
7043 : : }
7044 : : }
7045 : :
7046 : : int
7047 : : recog_22 (rtx x1 ATTRIBUTE_UNUSED,
7048 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7049 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7050 : : {
7051 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7052 : : rtx x2, x3, x4, x5, x6;
7053 : : int res ATTRIBUTE_UNUSED;
7054 : : x2 = XEXP (x1, 1);
7055 : : x3 = XEXP (x2, 1);
7056 : : if (GET_CODE (x3) != CONST_INT)
7057 : : return -1;
7058 : : x4 = XEXP (x2, 2);
7059 : : if (GET_CODE (x4) != CONST_INT)
7060 : : return -1;
7061 : : x5 = XEXP (x1, 0);
7062 : : operands[0] = x5;
7063 : : x6 = XEXP (x2, 0);
7064 : : operands[1] = x6;
7065 : : switch (XWINT (x3, 0))
7066 : : {
7067 : : case 8L:
7068 : : if (XWINT (x4, 0) != 8L
7069 : : || !int248_register_operand (operands[1], E_VOIDmode))
7070 : : return -1;
7071 : : switch (GET_MODE (operands[0]))
7072 : : {
7073 : : case E_HImode:
7074 : : if (!register_operand (operands[0], E_HImode)
7075 : : || GET_MODE (x2) != E_HImode)
7076 : : return -1;
7077 : : return 122; /* *extvhi */
7078 : :
7079 : : case E_SImode:
7080 : : if (!register_operand (operands[0], E_SImode)
7081 : : || GET_MODE (x2) != E_SImode)
7082 : : return -1;
7083 : : return 123; /* *extvsi */
7084 : :
7085 : : default:
7086 : : return -1;
7087 : : }
7088 : :
7089 : : case 1L:
7090 : : if (pnum_clobbers == NULL
7091 : : || XWINT (x4, 0) != 0L)
7092 : : return -1;
7093 : : switch (GET_MODE (operands[0]))
7094 : : {
7095 : : case E_SImode:
7096 : : if (!register_operand (operands[0], E_SImode)
7097 : : || GET_MODE (x2) != E_SImode
7098 : : || !register_operand (operands[1], E_SImode))
7099 : : return -1;
7100 : : *pnum_clobbers = 1;
7101 : : return 124; /* *extvsi_1_0 */
7102 : :
7103 : : case E_DImode:
7104 : : if (!register_operand (operands[0], E_DImode)
7105 : : || GET_MODE (x2) != E_DImode
7106 : : || !register_operand (operands[1], E_DImode)
7107 : : || !
7108 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7109 : : (TARGET_64BIT))
7110 : : return -1;
7111 : : *pnum_clobbers = 1;
7112 : : return 125; /* *extvdi_1_0 */
7113 : :
7114 : : default:
7115 : : return -1;
7116 : : }
7117 : :
7118 : : default:
7119 : : return -1;
7120 : : }
7121 : : }
7122 : :
7123 : : int
7124 : : recog_23 (rtx x1 ATTRIBUTE_UNUSED,
7125 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7126 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7127 : : {
7128 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7129 : : rtx x2, x3, x4, x5, x6;
7130 : : int res ATTRIBUTE_UNUSED;
7131 : : x2 = XEXP (x1, 1);
7132 : : x3 = XEXP (x2, 1);
7133 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7134 : : return -1;
7135 : : x4 = XEXP (x2, 2);
7136 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7137 : : return -1;
7138 : : x5 = XEXP (x1, 0);
7139 : : operands[0] = x5;
7140 : : x6 = XEXP (x2, 0);
7141 : : operands[1] = x6;
7142 : : if (!int248_register_operand (operands[1], E_VOIDmode))
7143 : : return -1;
7144 : : switch (GET_MODE (operands[0]))
7145 : : {
7146 : : case E_HImode:
7147 : : if (!register_operand (operands[0], E_HImode)
7148 : : || GET_MODE (x2) != E_HImode)
7149 : : return -1;
7150 : : return 126; /* *extzvhi */
7151 : :
7152 : : case E_SImode:
7153 : : if (!register_operand (operands[0], E_SImode)
7154 : : || GET_MODE (x2) != E_SImode)
7155 : : return -1;
7156 : : return 127; /* *extzvsi */
7157 : :
7158 : : case E_DImode:
7159 : : if (!register_operand (operands[0], E_DImode)
7160 : : || GET_MODE (x2) != E_DImode
7161 : : || !
7162 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7163 : : (TARGET_64BIT))
7164 : : return -1;
7165 : : return 128; /* *extzvdi */
7166 : :
7167 : : default:
7168 : : return -1;
7169 : : }
7170 : : }
7171 : :
7172 : : int
7173 : : recog_24 (rtx x1 ATTRIBUTE_UNUSED,
7174 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7175 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7176 : : {
7177 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7178 : : rtx x2, x3;
7179 : : int res ATTRIBUTE_UNUSED;
7180 : : switch (pattern38 (x1, pnum_clobbers))
7181 : : {
7182 : : case 0:
7183 : : if (pnum_clobbers != NULL
7184 : : && pattern291 (x1,
7185 : : E_TImode) == 0
7186 : : && (
7187 : : #line 16876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7188 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7189 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7190 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7191 : : && ix86_pre_reload_split ()) &&
7192 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7193 : : (TARGET_64BIT)))
7194 : : {
7195 : : *pnum_clobbers = 1;
7196 : : return 1156; /* *lshrti3_doubleword_mask */
7197 : : }
7198 : : x2 = XEXP (x1, 1);
7199 : : x3 = XEXP (x2, 1);
7200 : : operands[2] = x3;
7201 : : switch (pattern425 (x1, pnum_clobbers))
7202 : : {
7203 : : case 0:
7204 : : switch (GET_MODE (operands[0]))
7205 : : {
7206 : : case E_TImode:
7207 : : if (pnum_clobbers == NULL
7208 : : || pattern849 (x2,
7209 : : E_TImode,
7210 : : E_QImode) != 0
7211 : : || !
7212 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7213 : : (TARGET_64BIT))
7214 : : return -1;
7215 : : *pnum_clobbers = 1;
7216 : : return 1164; /* lshrti3_doubleword */
7217 : :
7218 : : case E_QImode:
7219 : : if (pattern628 (x2,
7220 : : E_QImode) != 0)
7221 : : return -1;
7222 : : if (
7223 : : #line 17855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7224 : : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
7225 : : && TARGET_APX_NF))
7226 : : return 1244; /* *lshrqi3_1_nf */
7227 : : if (pnum_clobbers == NULL
7228 : : || !
7229 : : #line 17855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7230 : : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
7231 : : && true))
7232 : : return -1;
7233 : : *pnum_clobbers = 1;
7234 : : return 1245; /* *lshrqi3_1 */
7235 : :
7236 : : case E_HImode:
7237 : : if (pattern628 (x2,
7238 : : E_HImode) != 0)
7239 : : return -1;
7240 : : if (
7241 : : #line 17893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7242 : : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
7243 : : && TARGET_APX_NF))
7244 : : return 1246; /* *lshrhi3_1_nf */
7245 : : if (pnum_clobbers == NULL
7246 : : || !
7247 : : #line 17893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7248 : : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
7249 : : && true))
7250 : : return -1;
7251 : : *pnum_clobbers = 1;
7252 : : return 1247; /* *lshrhi3_1 */
7253 : :
7254 : : case E_V4HImode:
7255 : : if (pattern849 (x2,
7256 : : E_V4HImode,
7257 : : E_DImode) != 0
7258 : : || !
7259 : : #line 3914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7260 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7261 : : return -1;
7262 : : return 2260; /* mmx_lshrv4hi3 */
7263 : :
7264 : : case E_V2SImode:
7265 : : if (pattern849 (x2,
7266 : : E_V2SImode,
7267 : : E_DImode) != 0
7268 : : || !
7269 : : #line 3914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7270 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7271 : : return -1;
7272 : : return 2262; /* mmx_lshrv2si3 */
7273 : :
7274 : : case E_V1DImode:
7275 : : if (pattern849 (x2,
7276 : : E_V1DImode,
7277 : : E_DImode) != 0
7278 : : || !
7279 : : #line 3914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7280 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7281 : : return -1;
7282 : : return 2264; /* mmx_lshrv1di3 */
7283 : :
7284 : : case E_V1SImode:
7285 : : if (pattern849 (x2,
7286 : : E_V1SImode,
7287 : : E_DImode) != 0
7288 : : || !
7289 : : #line 3951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7290 : : (TARGET_SSE2))
7291 : : return -1;
7292 : : return 2266; /* mmx_lshrv1si3 */
7293 : :
7294 : : case E_V2HImode:
7295 : : if (pattern849 (x2,
7296 : : E_V2HImode,
7297 : : E_DImode) != 0
7298 : : || !
7299 : : #line 3968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7300 : : (TARGET_SSE2))
7301 : : return -1;
7302 : : return 2268; /* lshrv2hi3 */
7303 : :
7304 : : case E_V2QImode:
7305 : : if (pnum_clobbers == NULL
7306 : : || pattern849 (x2,
7307 : : E_V2QImode,
7308 : : E_QImode) != 0
7309 : : || !
7310 : : #line 4030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7311 : : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7312 : : return -1;
7313 : : *pnum_clobbers = 1;
7314 : : return 2272; /* lshrv2qi3 */
7315 : :
7316 : : default:
7317 : : return -1;
7318 : : }
7319 : :
7320 : : case 1:
7321 : : if (!
7322 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7323 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7324 : : return -1;
7325 : : *pnum_clobbers = 1;
7326 : : return 1248; /* *lshrqi3_1_slp */
7327 : :
7328 : : case 2:
7329 : : if (!
7330 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7331 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7332 : : return -1;
7333 : : *pnum_clobbers = 1;
7334 : : return 1250; /* *lshrhi3_1_slp */
7335 : :
7336 : : default:
7337 : : return -1;
7338 : : }
7339 : :
7340 : : case 1:
7341 : : if (!(
7342 : : #line 16937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7343 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7344 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7345 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7346 : : && ix86_pre_reload_split ()) &&
7347 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7348 : : (TARGET_64BIT)))
7349 : : return -1;
7350 : : *pnum_clobbers = 1;
7351 : : return 1160; /* *lshrti3_doubleword_mask_1 */
7352 : :
7353 : : default:
7354 : : return -1;
7355 : : }
7356 : : }
7357 : :
7358 : : int
7359 : : recog_25 (rtx x1 ATTRIBUTE_UNUSED,
7360 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7361 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7362 : : {
7363 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7364 : : rtx x2, x3, x4, x5, x6, x7;
7365 : : int res ATTRIBUTE_UNUSED;
7366 : : x2 = XEXP (x1, 1);
7367 : : x3 = XEXP (x2, 0);
7368 : : switch (GET_CODE (x3))
7369 : : {
7370 : : case REG:
7371 : : case SUBREG:
7372 : : case MEM:
7373 : : switch (pattern38 (x1, pnum_clobbers))
7374 : : {
7375 : : case 0:
7376 : : if (pnum_clobbers != NULL
7377 : : && pattern291 (x1,
7378 : : E_TImode) == 0
7379 : : && (
7380 : : #line 16876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7381 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7382 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7383 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7384 : : && ix86_pre_reload_split ()) &&
7385 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7386 : : (TARGET_64BIT)))
7387 : : {
7388 : : *pnum_clobbers = 1;
7389 : : return 1157; /* *ashrti3_doubleword_mask */
7390 : : }
7391 : : x4 = XEXP (x2, 1);
7392 : : operands[2] = x4;
7393 : : switch (pattern425 (x1, pnum_clobbers))
7394 : : {
7395 : : case 0:
7396 : : switch (GET_MODE (operands[0]))
7397 : : {
7398 : : case E_TImode:
7399 : : if (pnum_clobbers == NULL
7400 : : || pattern849 (x2,
7401 : : E_TImode,
7402 : : E_QImode) != 0
7403 : : || !
7404 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7405 : : (TARGET_64BIT))
7406 : : return -1;
7407 : : *pnum_clobbers = 1;
7408 : : return 1165; /* ashrti3_doubleword */
7409 : :
7410 : : case E_QImode:
7411 : : if (pattern628 (x2,
7412 : : E_QImode) != 0)
7413 : : return -1;
7414 : : if (
7415 : : #line 17826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7416 : : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
7417 : : && TARGET_APX_NF))
7418 : : return 1240; /* *ashrqi3_1_nf */
7419 : : if (pnum_clobbers == NULL
7420 : : || !
7421 : : #line 17826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7422 : : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
7423 : : && true))
7424 : : return -1;
7425 : : *pnum_clobbers = 1;
7426 : : return 1241; /* *ashrqi3_1 */
7427 : :
7428 : : case E_HImode:
7429 : : if (pattern628 (x2,
7430 : : E_HImode) != 0)
7431 : : return -1;
7432 : : if (
7433 : : #line 17826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7434 : : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
7435 : : && TARGET_APX_NF))
7436 : : return 1242; /* *ashrhi3_1_nf */
7437 : : if (pnum_clobbers == NULL
7438 : : || !
7439 : : #line 17826 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7440 : : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
7441 : : && true))
7442 : : return -1;
7443 : : *pnum_clobbers = 1;
7444 : : return 1243; /* *ashrhi3_1 */
7445 : :
7446 : : case E_V4HImode:
7447 : : if (pattern849 (x2,
7448 : : E_V4HImode,
7449 : : E_DImode) != 0
7450 : : || !
7451 : : #line 3877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7452 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7453 : : return -1;
7454 : : return 2255; /* mmx_ashrv4hi3 */
7455 : :
7456 : : case E_V2SImode:
7457 : : if (pattern849 (x2,
7458 : : E_V2SImode,
7459 : : E_DImode) != 0
7460 : : || !
7461 : : #line 3877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7462 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7463 : : return -1;
7464 : : return 2256; /* mmx_ashrv2si3 */
7465 : :
7466 : : case E_V2HImode:
7467 : : if (pattern849 (x2,
7468 : : E_V2HImode,
7469 : : E_DImode) != 0
7470 : : || !
7471 : : #line 3968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7472 : : (TARGET_SSE2))
7473 : : return -1;
7474 : : return 2269; /* ashrv2hi3 */
7475 : :
7476 : : case E_V2QImode:
7477 : : if (pnum_clobbers == NULL
7478 : : || pattern849 (x2,
7479 : : E_V2QImode,
7480 : : E_QImode) != 0
7481 : : || !
7482 : : #line 4030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7483 : : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7484 : : return -1;
7485 : : *pnum_clobbers = 1;
7486 : : return 2273; /* ashrv2qi3 */
7487 : :
7488 : : default:
7489 : : return -1;
7490 : : }
7491 : :
7492 : : case 1:
7493 : : if (!
7494 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7495 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7496 : : return -1;
7497 : : *pnum_clobbers = 1;
7498 : : return 1249; /* *ashrqi3_1_slp */
7499 : :
7500 : : case 2:
7501 : : if (!
7502 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7503 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7504 : : return -1;
7505 : : *pnum_clobbers = 1;
7506 : : return 1251; /* *ashrhi3_1_slp */
7507 : :
7508 : : default:
7509 : : return -1;
7510 : : }
7511 : :
7512 : : case 1:
7513 : : if (!(
7514 : : #line 16937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7515 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7516 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7517 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7518 : : && ix86_pre_reload_split ()) &&
7519 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7520 : : (TARGET_64BIT)))
7521 : : return -1;
7522 : : *pnum_clobbers = 1;
7523 : : return 1161; /* *ashrti3_doubleword_mask_1 */
7524 : :
7525 : : default:
7526 : : return -1;
7527 : : }
7528 : :
7529 : : case ASHIFT:
7530 : : x5 = XEXP (x1, 0);
7531 : : operands[0] = x5;
7532 : : x6 = XEXP (x3, 0);
7533 : : operands[1] = x6;
7534 : : x7 = XEXP (x3, 1);
7535 : : operands[2] = x7;
7536 : : if (!const_int_operand (operands[2], E_QImode))
7537 : : return -1;
7538 : : x4 = XEXP (x2, 1);
7539 : : operands[3] = x4;
7540 : : if (!const_int_operand (operands[3], E_QImode))
7541 : : return -1;
7542 : : switch (GET_MODE (operands[0]))
7543 : : {
7544 : : case E_TImode:
7545 : : if (pnum_clobbers == NULL
7546 : : || pattern753 (x2,
7547 : : E_TImode) != 0
7548 : : || !(
7549 : : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7550 : : (INTVAL (operands[2]) == INTVAL (operands[3])
7551 : : && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
7552 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7553 : : (TARGET_64BIT)))
7554 : : return -1;
7555 : : *pnum_clobbers = 1;
7556 : : return 1313; /* *extendti2_doubleword_highpart */
7557 : :
7558 : : case E_V2DImode:
7559 : : if (pattern753 (x2,
7560 : : E_V2DImode) != 0)
7561 : : return -1;
7562 : : if (
7563 : : #line 18298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7564 : : (!TARGET_64BIT && TARGET_STV && TARGET_AVX512VL
7565 : : && INTVAL (operands[2]) == INTVAL (operands[3])
7566 : : && UINTVAL (operands[2]) < 32))
7567 : : return 1314; /* *extendv2di2_highpart_stv */
7568 : : if (!
7569 : : #line 18315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7570 : : (!TARGET_AVX512VL
7571 : : && INTVAL (operands[2]) == INTVAL (operands[3])
7572 : : && UINTVAL (operands[2]) < 32
7573 : : && ix86_pre_reload_split ()))
7574 : : return -1;
7575 : : return 1315; /* *extendv2di2_highpart_stv_noavx512vl */
7576 : :
7577 : : default:
7578 : : return -1;
7579 : : }
7580 : :
7581 : : default:
7582 : : return -1;
7583 : : }
7584 : : }
7585 : :
7586 : : int
7587 : : recog_30 (rtx x1 ATTRIBUTE_UNUSED,
7588 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7589 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7590 : : {
7591 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7592 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7593 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
7594 : : int res ATTRIBUTE_UNUSED;
7595 : : x2 = XEXP (x1, 0);
7596 : : operands[0] = x2;
7597 : : x3 = XEXP (x1, 1);
7598 : : x4 = XEXP (x3, 0);
7599 : : switch (GET_CODE (x4))
7600 : : {
7601 : : case CONST_INT:
7602 : : case CONST:
7603 : : case REG:
7604 : : case SUBREG:
7605 : : case MEM:
7606 : : case LABEL_REF:
7607 : : case SYMBOL_REF:
7608 : : operands[1] = x4;
7609 : : switch (GET_MODE (operands[0]))
7610 : : {
7611 : : case E_TImode:
7612 : : if (!nonimmediate_operand (operands[0], E_TImode)
7613 : : || GET_MODE (x3) != E_TImode
7614 : : || !nonimmediate_operand (operands[1], E_DImode)
7615 : : || !
7616 : : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7617 : : (TARGET_64BIT))
7618 : : return -1;
7619 : : return 178; /* zero_extendditi2 */
7620 : :
7621 : : case E_DImode:
7622 : : if (GET_MODE (x3) != E_DImode)
7623 : : return -1;
7624 : : if (nonimmediate_operand (operands[0], E_DImode)
7625 : : && x86_64_zext_operand (operands[1], E_SImode))
7626 : : return 179; /* *zero_extendsidi2 */
7627 : : if (!register_operand (operands[0], E_DImode))
7628 : : return -1;
7629 : : switch (GET_MODE (operands[1]))
7630 : : {
7631 : : case E_QImode:
7632 : : if (!nonimmediate_operand (operands[1], E_QImode)
7633 : : || !
7634 : : #line 4823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7635 : : (TARGET_64BIT))
7636 : : return -1;
7637 : : return 180; /* zero_extendqidi2 */
7638 : :
7639 : : case E_HImode:
7640 : : if (!nonimmediate_operand (operands[1], E_HImode)
7641 : : || !
7642 : : #line 4823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7643 : : (TARGET_64BIT))
7644 : : return -1;
7645 : : return 181; /* zero_extendhidi2 */
7646 : :
7647 : : default:
7648 : : return -1;
7649 : : }
7650 : :
7651 : : case E_SImode:
7652 : : if (!register_operand (operands[0], E_SImode)
7653 : : || GET_MODE (x3) != E_SImode)
7654 : : return -1;
7655 : : switch (GET_MODE (operands[1]))
7656 : : {
7657 : : case E_QImode:
7658 : : if (!nonimmediate_operand (operands[1], E_QImode))
7659 : : return -1;
7660 : : if (pnum_clobbers != NULL
7661 : : &&
7662 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7663 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7664 : : {
7665 : : *pnum_clobbers = 1;
7666 : : return 182; /* zero_extendqisi2_and */
7667 : : }
7668 : : if (!
7669 : : #line 4878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7670 : : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7671 : : return -1;
7672 : : return 184; /* *zero_extendqisi2 */
7673 : :
7674 : : case E_HImode:
7675 : : if (!nonimmediate_operand (operands[1], E_HImode))
7676 : : return -1;
7677 : : if (pnum_clobbers != NULL
7678 : : &&
7679 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7680 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7681 : : {
7682 : : *pnum_clobbers = 1;
7683 : : return 183; /* zero_extendhisi2_and */
7684 : : }
7685 : : if (!
7686 : : #line 4878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7687 : : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7688 : : return -1;
7689 : : return 185; /* *zero_extendhisi2 */
7690 : :
7691 : : default:
7692 : : return -1;
7693 : : }
7694 : :
7695 : : case E_HImode:
7696 : : if (!register_operand (operands[0], E_HImode)
7697 : : || GET_MODE (x3) != E_HImode
7698 : : || !nonimmediate_operand (operands[1], E_QImode))
7699 : : return -1;
7700 : : if (pnum_clobbers != NULL
7701 : : &&
7702 : : #line 4904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7703 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7704 : : {
7705 : : *pnum_clobbers = 1;
7706 : : return 186; /* zero_extendqihi2_and */
7707 : : }
7708 : : if (!
7709 : : #line 4932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7710 : : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7711 : : return -1;
7712 : : return 187; /* *zero_extendqihi2 */
7713 : :
7714 : : default:
7715 : : return -1;
7716 : : }
7717 : :
7718 : : case SIGN_EXTEND:
7719 : : if (GET_MODE (x4) != E_SImode
7720 : : || !register_operand (operands[0], E_DImode)
7721 : : || GET_MODE (x3) != E_DImode)
7722 : : return -1;
7723 : : x5 = XEXP (x4, 0);
7724 : : operands[1] = x5;
7725 : : switch (GET_MODE (operands[1]))
7726 : : {
7727 : : case E_HImode:
7728 : : if (!nonimmediate_operand (operands[1], E_HImode)
7729 : : || !
7730 : : #line 5181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7731 : : (TARGET_64BIT))
7732 : : return -1;
7733 : : return 194; /* *extendhisi2_zext */
7734 : :
7735 : : case E_QImode:
7736 : : if (!nonimmediate_operand (operands[1], E_QImode)
7737 : : || !
7738 : : #line 5216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7739 : : (TARGET_64BIT))
7740 : : return -1;
7741 : : return 196; /* *extendqisi2_zext */
7742 : :
7743 : : default:
7744 : : return -1;
7745 : : }
7746 : :
7747 : : case UNSIGNED_FIX:
7748 : : if (GET_MODE (x4) != E_SImode
7749 : : || !register_operand (operands[0], E_DImode)
7750 : : || GET_MODE (x3) != E_DImode)
7751 : : return -1;
7752 : : x5 = XEXP (x4, 0);
7753 : : operands[1] = x5;
7754 : : switch (GET_MODE (operands[1]))
7755 : : {
7756 : : case E_HFmode:
7757 : : if (!nonimmediate_operand (operands[1], E_HFmode)
7758 : : || !
7759 : : #line 5896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7760 : : (TARGET_64BIT && TARGET_AVX512FP16))
7761 : : return -1;
7762 : : return 224; /* *fixuns_trunchfsi2zext */
7763 : :
7764 : : case E_SFmode:
7765 : : if (!nonimmediate_operand (operands[1], E_SFmode)
7766 : : || !
7767 : : #line 5907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7768 : : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
7769 : : return -1;
7770 : : return 225; /* *fixuns_truncsfsi2_avx512f_zext */
7771 : :
7772 : : case E_DFmode:
7773 : : if (!nonimmediate_operand (operands[1], E_DFmode)
7774 : : || !
7775 : : #line 5907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7776 : : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
7777 : : return -1;
7778 : : return 226; /* *fixuns_truncdfsi2_avx512f_zext */
7779 : :
7780 : : default:
7781 : : return -1;
7782 : : }
7783 : :
7784 : : case PLUS:
7785 : : if (GET_MODE (x4) != E_QImode
7786 : : || !register_operand (operands[0], E_HImode)
7787 : : || GET_MODE (x3) != E_HImode)
7788 : : return -1;
7789 : : x5 = XEXP (x4, 0);
7790 : : switch (GET_CODE (x5))
7791 : : {
7792 : : case REG:
7793 : : case SUBREG:
7794 : : case MEM:
7795 : : operands[1] = x5;
7796 : : if (!nonimmediate_operand (operands[1], E_QImode))
7797 : : return -1;
7798 : : x6 = XEXP (x4, 1);
7799 : : operands[2] = x6;
7800 : : if (!general_operand (operands[2], E_QImode))
7801 : : return -1;
7802 : : if (
7803 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7804 : : (TARGET_APX_NDD && TARGET_APX_NF
7805 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7806 : : return 290; /* *addqi_1_zexthi_nf */
7807 : : if (pnum_clobbers == NULL
7808 : : || !
7809 : : #line 6686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7810 : : (TARGET_APX_NDD && true
7811 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7812 : : return -1;
7813 : : *pnum_clobbers = 1;
7814 : : return 291; /* *addqi_1_zexthi */
7815 : :
7816 : : case PLUS:
7817 : : if (pnum_clobbers == NULL
7818 : : || GET_MODE (x5) != E_QImode)
7819 : : return -1;
7820 : : x7 = XEXP (x5, 0);
7821 : : if (!ix86_carry_flag_operator (x7, E_QImode))
7822 : : return -1;
7823 : : operands[3] = x7;
7824 : : x8 = XEXP (x7, 0);
7825 : : if (GET_CODE (x8) != REG
7826 : : || REGNO (x8) != 17)
7827 : : return -1;
7828 : : x9 = XEXP (x7, 1);
7829 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7830 : : return -1;
7831 : : x10 = XEXP (x5, 1);
7832 : : operands[1] = x10;
7833 : : if (!nonimmediate_operand (operands[1], E_QImode))
7834 : : return -1;
7835 : : x6 = XEXP (x4, 1);
7836 : : operands[2] = x6;
7837 : : if (!x86_64_general_operand (operands[2], E_QImode)
7838 : : || !
7839 : : #line 8969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7840 : : (TARGET_APX_NDD
7841 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7842 : : return -1;
7843 : : *pnum_clobbers = 1;
7844 : : return 481; /* *addqi3_carry_zexthi */
7845 : :
7846 : : case LTU:
7847 : : case UNLT:
7848 : : if (pnum_clobbers == NULL)
7849 : : return -1;
7850 : : operands[2] = x5;
7851 : : if (!ix86_carry_flag_operator (operands[2], E_QImode)
7852 : : || pattern1077 (x4) != 0
7853 : : || !
7854 : : #line 9026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7855 : : (TARGET_APX_NDD))
7856 : : return -1;
7857 : : *pnum_clobbers = 1;
7858 : : return 487; /* *addqi3_carry_zexthi_0 */
7859 : :
7860 : : case GE:
7861 : : case GEU:
7862 : : if (pnum_clobbers == NULL)
7863 : : return -1;
7864 : : operands[2] = x5;
7865 : : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
7866 : : || pattern1077 (x4) != 0
7867 : : || !
7868 : : #line 9071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7869 : : (TARGET_APX_NDD))
7870 : : return -1;
7871 : : *pnum_clobbers = 1;
7872 : : return 493; /* *addqi3_carry_zexthi_0r */
7873 : :
7874 : : default:
7875 : : return -1;
7876 : : }
7877 : :
7878 : : case MINUS:
7879 : : if (GET_MODE (x4) != E_QImode
7880 : : || !register_operand (operands[0], E_HImode)
7881 : : || GET_MODE (x3) != E_HImode)
7882 : : return -1;
7883 : : x6 = XEXP (x4, 1);
7884 : : operands[2] = x6;
7885 : : x5 = XEXP (x4, 0);
7886 : : switch (GET_CODE (x5))
7887 : : {
7888 : : case REG:
7889 : : case SUBREG:
7890 : : case MEM:
7891 : : operands[1] = x5;
7892 : : if (!nonimmediate_operand (operands[1], E_QImode))
7893 : : return -1;
7894 : : switch (GET_CODE (operands[2]))
7895 : : {
7896 : : case CONST_INT:
7897 : : case CONST_WIDE_INT:
7898 : : case CONST_POLY_INT:
7899 : : case CONST_FIXED:
7900 : : case CONST_DOUBLE:
7901 : : case CONST_VECTOR:
7902 : : case CONST:
7903 : : case REG:
7904 : : case SUBREG:
7905 : : case MEM:
7906 : : case LABEL_REF:
7907 : : case SYMBOL_REF:
7908 : : case HIGH:
7909 : : if (!x86_64_general_operand (operands[2], E_QImode))
7910 : : return -1;
7911 : : if (
7912 : : #line 8135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7913 : : (TARGET_APX_NDD && TARGET_APX_NF
7914 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7915 : : return 396; /* *subqi_1_zexthi_nf */
7916 : : if (pnum_clobbers == NULL
7917 : : || !
7918 : : #line 8135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7919 : : (TARGET_APX_NDD && true
7920 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7921 : : return -1;
7922 : : *pnum_clobbers = 1;
7923 : : return 397; /* *subqi_1_zexthi */
7924 : :
7925 : : case LTU:
7926 : : case UNLT:
7927 : : if (pnum_clobbers == NULL
7928 : : || !ix86_carry_flag_operator (operands[2], E_QImode))
7929 : : return -1;
7930 : : x11 = XEXP (x6, 0);
7931 : : if (GET_CODE (x11) != REG
7932 : : || REGNO (x11) != 17)
7933 : : return -1;
7934 : : x12 = XEXP (x6, 1);
7935 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7936 : : || !
7937 : : #line 9695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7938 : : (TARGET_APX_NDD))
7939 : : return -1;
7940 : : *pnum_clobbers = 1;
7941 : : return 533; /* *subqi3_carry_zexthi_0 */
7942 : :
7943 : : case GE:
7944 : : case GEU:
7945 : : if (pnum_clobbers == NULL
7946 : : || !ix86_carry_flag_unset_operator (operands[2], E_QImode))
7947 : : return -1;
7948 : : x11 = XEXP (x6, 0);
7949 : : if (GET_CODE (x11) != REG
7950 : : || REGNO (x11) != 17)
7951 : : return -1;
7952 : : x12 = XEXP (x6, 1);
7953 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7954 : : || !
7955 : : #line 9743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7956 : : (TARGET_APX_NDD))
7957 : : return -1;
7958 : : *pnum_clobbers = 1;
7959 : : return 539; /* *subqi3_carry_zexthi_0r */
7960 : :
7961 : : default:
7962 : : return -1;
7963 : : }
7964 : :
7965 : : case MINUS:
7966 : : if (pnum_clobbers == NULL
7967 : : || GET_MODE (x5) != E_QImode)
7968 : : return -1;
7969 : : x10 = XEXP (x5, 1);
7970 : : if (!ix86_carry_flag_operator (x10, E_QImode))
7971 : : return -1;
7972 : : operands[3] = x10;
7973 : : x13 = XEXP (x10, 0);
7974 : : if (GET_CODE (x13) != REG
7975 : : || REGNO (x13) != 17)
7976 : : return -1;
7977 : : x14 = XEXP (x10, 1);
7978 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7979 : : return -1;
7980 : : x7 = XEXP (x5, 0);
7981 : : operands[1] = x7;
7982 : : if (!nonimmediate_operand (operands[1], E_QImode)
7983 : : || !x86_64_general_operand (operands[2], E_QImode)
7984 : : || !
7985 : : #line 9635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7986 : : (TARGET_APX_NDD
7987 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7988 : : return -1;
7989 : : *pnum_clobbers = 1;
7990 : : return 527; /* *subqi3_carry_zexthi */
7991 : :
7992 : : default:
7993 : : return -1;
7994 : : }
7995 : :
7996 : : case AND:
7997 : : if (!register_operand (operands[0], E_HImode)
7998 : : || GET_MODE (x3) != E_HImode)
7999 : : return -1;
8000 : : x5 = XEXP (x4, 0);
8001 : : switch (GET_CODE (x5))
8002 : : {
8003 : : case REG:
8004 : : case SUBREG:
8005 : : case MEM:
8006 : : operands[1] = x5;
8007 : : if (!nonimmediate_operand (operands[1], E_QImode)
8008 : : || GET_MODE (x4) != E_QImode)
8009 : : return -1;
8010 : : x6 = XEXP (x4, 1);
8011 : : operands[2] = x6;
8012 : : if (!x86_64_general_operand (operands[2], E_QImode))
8013 : : return -1;
8014 : : if (
8015 : : #line 12926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8016 : : (TARGET_APX_NDD && TARGET_APX_NF
8017 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8018 : : return 736; /* *andqi_1_zexthi_nf */
8019 : : if (pnum_clobbers == NULL
8020 : : || !
8021 : : #line 12926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8022 : : (TARGET_APX_NDD && true
8023 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8024 : : return -1;
8025 : : *pnum_clobbers = 1;
8026 : : return 737; /* *andqi_1_zexthi */
8027 : :
8028 : : case UNSPEC:
8029 : : if (XVECLEN (x5, 0) != 2)
8030 : : return -1;
8031 : : x15 = XVECEXP (x5, 0, 0);
8032 : : operands[1] = x15;
8033 : : x16 = XVECEXP (x5, 0, 1);
8034 : : operands[2] = x16;
8035 : : x6 = XEXP (x4, 1);
8036 : : operands[3] = x6;
8037 : : switch (XINT (x5, 1))
8038 : : {
8039 : : case 159:
8040 : : switch (pattern1088 (x4))
8041 : : {
8042 : : case 0:
8043 : : if (!(
8044 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8045 : : (TARGET_AVX512BW
8046 : : && (2
8047 : : > GET_MODE_SIZE (DImode))) &&
8048 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8049 : : (TARGET_AVX512BW)))
8050 : : return -1;
8051 : : return 8232; /* *avx512bw_testmv64qi3_zext_mask */
8052 : :
8053 : : case 1:
8054 : : if (!(
8055 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8056 : : (TARGET_AVX512BW
8057 : : && (2
8058 : : > GET_MODE_SIZE (SImode))) &&
8059 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8060 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
8061 : : return -1;
8062 : : return 8235; /* *avx512vl_testmv32qi3_zext_mask */
8063 : :
8064 : : case 2:
8065 : : if (!(
8066 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8067 : : (TARGET_AVX512BW
8068 : : && (2
8069 : : > GET_MODE_SIZE (SImode))) &&
8070 : : #line 498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8071 : : (TARGET_AVX512BW)))
8072 : : return -1;
8073 : : return 8241; /* *avx512bw_testmv32hi3_zext_mask */
8074 : :
8075 : : case 3:
8076 : : if (!(
8077 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8078 : : (TARGET_AVX512BW
8079 : : && (2
8080 : : > GET_MODE_SIZE (HImode))) &&
8081 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8082 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
8083 : : return -1;
8084 : : return 8238; /* *avx512vl_testmv16qi3_zext_mask */
8085 : :
8086 : : case 4:
8087 : : if (!(
8088 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8089 : : (TARGET_AVX512BW
8090 : : && (2
8091 : : > GET_MODE_SIZE (HImode))) &&
8092 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8093 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
8094 : : return -1;
8095 : : return 8244; /* *avx512vl_testmv16hi3_zext_mask */
8096 : :
8097 : : case 5:
8098 : : if (!
8099 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8100 : : (TARGET_AVX512BW
8101 : : && (2
8102 : : > GET_MODE_SIZE (HImode))))
8103 : : return -1;
8104 : : return 8250; /* *avx512f_testmv16si3_zext_mask */
8105 : :
8106 : : case 6:
8107 : : if (!(
8108 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8109 : : (TARGET_AVX512BW
8110 : : && (2
8111 : : > GET_MODE_SIZE (QImode))) &&
8112 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8113 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
8114 : : return -1;
8115 : : return 8247; /* *avx512vl_testmv8hi3_zext_mask */
8116 : :
8117 : : case 7:
8118 : : if (!(
8119 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8120 : : (TARGET_AVX512BW
8121 : : && (2
8122 : : > GET_MODE_SIZE (QImode))) &&
8123 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8124 : : (TARGET_AVX512VL)))
8125 : : return -1;
8126 : : return 8253; /* *avx512vl_testmv8si3_zext_mask */
8127 : :
8128 : : case 8:
8129 : : if (!(
8130 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8131 : : (TARGET_AVX512BW
8132 : : && (2
8133 : : > GET_MODE_SIZE (QImode))) &&
8134 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8135 : : (TARGET_AVX512VL)))
8136 : : return -1;
8137 : : return 8256; /* *avx512vl_testmv4si3_zext_mask */
8138 : :
8139 : : case 9:
8140 : : if (!
8141 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8142 : : (TARGET_AVX512BW
8143 : : && (2
8144 : : > GET_MODE_SIZE (QImode))))
8145 : : return -1;
8146 : : return 8259; /* *avx512f_testmv8di3_zext_mask */
8147 : :
8148 : : case 10:
8149 : : if (!(
8150 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8151 : : (TARGET_AVX512BW
8152 : : && (2
8153 : : > GET_MODE_SIZE (QImode))) &&
8154 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8155 : : (TARGET_AVX512VL)))
8156 : : return -1;
8157 : : return 8262; /* *avx512vl_testmv4di3_zext_mask */
8158 : :
8159 : : case 11:
8160 : : if (!(
8161 : : #line 19377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8162 : : (TARGET_AVX512BW
8163 : : && (2
8164 : : > GET_MODE_SIZE (QImode))) &&
8165 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8166 : : (TARGET_AVX512VL)))
8167 : : return -1;
8168 : : return 8265; /* *avx512vl_testmv2di3_zext_mask */
8169 : :
8170 : : default:
8171 : : return -1;
8172 : : }
8173 : :
8174 : : case 160:
8175 : : switch (pattern1088 (x4))
8176 : : {
8177 : : case 0:
8178 : : if (!(
8179 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8180 : : (TARGET_AVX512BW
8181 : : && (2
8182 : : > GET_MODE_SIZE (DImode))) &&
8183 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8184 : : (TARGET_AVX512BW)))
8185 : : return -1;
8186 : : return 8304; /* *avx512bw_testnmv64qi3_zext_mask */
8187 : :
8188 : : case 1:
8189 : : if (!(
8190 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8191 : : (TARGET_AVX512BW
8192 : : && (2
8193 : : > GET_MODE_SIZE (SImode))) &&
8194 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8195 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
8196 : : return -1;
8197 : : return 8307; /* *avx512vl_testnmv32qi3_zext_mask */
8198 : :
8199 : : case 2:
8200 : : if (!(
8201 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8202 : : (TARGET_AVX512BW
8203 : : && (2
8204 : : > GET_MODE_SIZE (SImode))) &&
8205 : : #line 498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8206 : : (TARGET_AVX512BW)))
8207 : : return -1;
8208 : : return 8313; /* *avx512bw_testnmv32hi3_zext_mask */
8209 : :
8210 : : case 3:
8211 : : if (!(
8212 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8213 : : (TARGET_AVX512BW
8214 : : && (2
8215 : : > GET_MODE_SIZE (HImode))) &&
8216 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8217 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
8218 : : return -1;
8219 : : return 8310; /* *avx512vl_testnmv16qi3_zext_mask */
8220 : :
8221 : : case 4:
8222 : : if (!(
8223 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8224 : : (TARGET_AVX512BW
8225 : : && (2
8226 : : > GET_MODE_SIZE (HImode))) &&
8227 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8228 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
8229 : : return -1;
8230 : : return 8316; /* *avx512vl_testnmv16hi3_zext_mask */
8231 : :
8232 : : case 5:
8233 : : if (!
8234 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8235 : : (TARGET_AVX512BW
8236 : : && (2
8237 : : > GET_MODE_SIZE (HImode))))
8238 : : return -1;
8239 : : return 8322; /* *avx512f_testnmv16si3_zext_mask */
8240 : :
8241 : : case 6:
8242 : : if (!(
8243 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8244 : : (TARGET_AVX512BW
8245 : : && (2
8246 : : > GET_MODE_SIZE (QImode))) &&
8247 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8248 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
8249 : : return -1;
8250 : : return 8319; /* *avx512vl_testnmv8hi3_zext_mask */
8251 : :
8252 : : case 7:
8253 : : if (!(
8254 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8255 : : (TARGET_AVX512BW
8256 : : && (2
8257 : : > GET_MODE_SIZE (QImode))) &&
8258 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8259 : : (TARGET_AVX512VL)))
8260 : : return -1;
8261 : : return 8325; /* *avx512vl_testnmv8si3_zext_mask */
8262 : :
8263 : : case 8:
8264 : : if (!(
8265 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8266 : : (TARGET_AVX512BW
8267 : : && (2
8268 : : > GET_MODE_SIZE (QImode))) &&
8269 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8270 : : (TARGET_AVX512VL)))
8271 : : return -1;
8272 : : return 8328; /* *avx512vl_testnmv4si3_zext_mask */
8273 : :
8274 : : case 9:
8275 : : if (!
8276 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8277 : : (TARGET_AVX512BW
8278 : : && (2
8279 : : > GET_MODE_SIZE (QImode))))
8280 : : return -1;
8281 : : return 8331; /* *avx512f_testnmv8di3_zext_mask */
8282 : :
8283 : : case 10:
8284 : : if (!(
8285 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8286 : : (TARGET_AVX512BW
8287 : : && (2
8288 : : > GET_MODE_SIZE (QImode))) &&
8289 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8290 : : (TARGET_AVX512VL)))
8291 : : return -1;
8292 : : return 8334; /* *avx512vl_testnmv4di3_zext_mask */
8293 : :
8294 : : case 11:
8295 : : if (!(
8296 : : #line 19407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8297 : : (TARGET_AVX512BW
8298 : : && (2
8299 : : > GET_MODE_SIZE (QImode))) &&
8300 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8301 : : (TARGET_AVX512VL)))
8302 : : return -1;
8303 : : return 8337; /* *avx512vl_testnmv2di3_zext_mask */
8304 : :
8305 : : default:
8306 : : return -1;
8307 : : }
8308 : :
8309 : : default:
8310 : : return -1;
8311 : : }
8312 : :
8313 : : default:
8314 : : return -1;
8315 : : }
8316 : :
8317 : : case IOR:
8318 : : if (pattern85 (x3) != 0)
8319 : : return -1;
8320 : : if (
8321 : : #line 13993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8322 : : (TARGET_APX_NDD && TARGET_APX_NF
8323 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8324 : : return 871; /* *iorqi_1_zexthi_nf */
8325 : : if (pnum_clobbers == NULL
8326 : : || !
8327 : : #line 13993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8328 : : (TARGET_APX_NDD && true
8329 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8330 : : return -1;
8331 : : *pnum_clobbers = 1;
8332 : : return 872; /* *iorqi_1_zexthi */
8333 : :
8334 : : case XOR:
8335 : : if (pattern85 (x3) != 0)
8336 : : return -1;
8337 : : if (
8338 : : #line 13993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8339 : : (TARGET_APX_NDD && TARGET_APX_NF
8340 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8341 : : return 873; /* *xorqi_1_zexthi_nf */
8342 : : if (pnum_clobbers == NULL
8343 : : || !
8344 : : #line 13993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8345 : : (TARGET_APX_NDD && true
8346 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8347 : : return -1;
8348 : : *pnum_clobbers = 1;
8349 : : return 874; /* *xorqi_1_zexthi */
8350 : :
8351 : : case NEG:
8352 : : if (pattern86 (x3) != 0)
8353 : : return -1;
8354 : : if (
8355 : : #line 14654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8356 : : (TARGET_APX_NDD && TARGET_APX_NF))
8357 : : return 994; /* *negqi_1_zexthi_nf */
8358 : : if (pnum_clobbers == NULL
8359 : : || !
8360 : : #line 14654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8361 : : (TARGET_APX_NDD && true))
8362 : : return -1;
8363 : : *pnum_clobbers = 1;
8364 : : return 995; /* *negqi_1_zexthi */
8365 : :
8366 : : case NOT:
8367 : : if (pattern86 (x3) != 0
8368 : : || !
8369 : : #line 15305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8370 : : (TARGET_APX_NDD))
8371 : : return -1;
8372 : : return 1067; /* *one_cmplqi2_1_zexthi */
8373 : :
8374 : : case ASHIFT:
8375 : : if (pattern87 (x3) != 0)
8376 : : return -1;
8377 : : if (
8378 : : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8379 : : (TARGET_APX_NDD && TARGET_APX_NF))
8380 : : return 1125; /* *ashlqi3_1_zexthi_nf */
8381 : : if (pnum_clobbers == NULL
8382 : : || !
8383 : : #line 16304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8384 : : (TARGET_APX_NDD && true))
8385 : : return -1;
8386 : : *pnum_clobbers = 1;
8387 : : return 1126; /* *ashlqi3_1_zexthi */
8388 : :
8389 : : case LSHIFTRT:
8390 : : if (pattern87 (x3) != 0)
8391 : : return -1;
8392 : : if (
8393 : : #line 17749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8394 : : (TARGET_APX_NDD && TARGET_APX_NF))
8395 : : return 1218; /* *lshrqi3_1_zexthi_nf */
8396 : : if (pnum_clobbers == NULL
8397 : : || !
8398 : : #line 17749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8399 : : (TARGET_APX_NDD && true))
8400 : : return -1;
8401 : : *pnum_clobbers = 1;
8402 : : return 1219; /* *lshrqi3_1_zexthi */
8403 : :
8404 : : case ASHIFTRT:
8405 : : if (pattern87 (x3) != 0)
8406 : : return -1;
8407 : : if (
8408 : : #line 17749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8409 : : (TARGET_APX_NDD && TARGET_APX_NF))
8410 : : return 1220; /* *ashrqi3_1_zexthi_nf */
8411 : : if (pnum_clobbers == NULL
8412 : : || !
8413 : : #line 17749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8414 : : (TARGET_APX_NDD && true))
8415 : : return -1;
8416 : : *pnum_clobbers = 1;
8417 : : return 1221; /* *ashrqi3_1_zexthi */
8418 : :
8419 : : case ROTATE:
8420 : : if (pattern87 (x3) != 0)
8421 : : return -1;
8422 : : if (
8423 : : #line 18880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8424 : : (TARGET_APX_NDD && TARGET_APX_NF))
8425 : : return 1383; /* *rotlqi3_1_zexthi_nf */
8426 : : if (pnum_clobbers == NULL
8427 : : || !
8428 : : #line 18880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8429 : : (TARGET_APX_NDD && true))
8430 : : return -1;
8431 : : *pnum_clobbers = 1;
8432 : : return 1384; /* *rotlqi3_1_zexthi */
8433 : :
8434 : : case ROTATERT:
8435 : : if (pattern87 (x3) != 0)
8436 : : return -1;
8437 : : if (
8438 : : #line 18880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8439 : : (TARGET_APX_NDD && TARGET_APX_NF))
8440 : : return 1385; /* *rotrqi3_1_zexthi_nf */
8441 : : if (pnum_clobbers == NULL
8442 : : || !
8443 : : #line 18880 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8444 : : (TARGET_APX_NDD && true))
8445 : : return -1;
8446 : : *pnum_clobbers = 1;
8447 : : return 1386; /* *rotrqi3_1_zexthi */
8448 : :
8449 : : case VEC_SELECT:
8450 : : x6 = XEXP (x4, 1);
8451 : : if (GET_CODE (x6) != PARALLEL)
8452 : : return -1;
8453 : : x5 = XEXP (x4, 0);
8454 : : operands[1] = x5;
8455 : : switch (XVECLEN (x6, 0))
8456 : : {
8457 : : case 4:
8458 : : if (pattern612 (x3) != 0
8459 : : || !
8460 : : #line 5034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8461 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8462 : : return -1;
8463 : : return 2362; /* sse4_1_zero_extendv4qiv4hi2 */
8464 : :
8465 : : case 2:
8466 : : switch (pattern613 (x3))
8467 : : {
8468 : : case 0:
8469 : : if (!
8470 : : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8471 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8472 : : return -1;
8473 : : return 2364; /* sse4_1_zero_extendv2hiv2si2 */
8474 : :
8475 : : case 1:
8476 : : if (!
8477 : : #line 5098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8478 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8479 : : return -1;
8480 : : return 2366; /* sse4_1_zero_extendv2qiv2si2 */
8481 : :
8482 : : case 2:
8483 : : if (!
8484 : : #line 5124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8485 : : (TARGET_SSE4_1))
8486 : : return -1;
8487 : : return 2368; /* sse4_1_zero_extendv2qiv2hi2 */
8488 : :
8489 : : default:
8490 : : return -1;
8491 : : }
8492 : :
8493 : : case 1:
8494 : : if (!register_operand (operands[0], E_HImode)
8495 : : || GET_MODE (x3) != E_HImode
8496 : : || GET_MODE (x4) != E_QImode)
8497 : : return -1;
8498 : : x17 = XVECEXP (x6, 0, 0);
8499 : : operands[2] = x17;
8500 : : switch (pattern982 ())
8501 : : {
8502 : : case 0:
8503 : : if (!
8504 : : #line 5497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8505 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8506 : : return -1;
8507 : : return 2384; /* *mmx_pextrb_zext */
8508 : :
8509 : : case 1:
8510 : : if (!
8511 : : #line 6153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8512 : : (TARGET_SSE4_1))
8513 : : return -1;
8514 : : return 2422; /* *pextrb_zext */
8515 : :
8516 : : case 2:
8517 : : if (!
8518 : : #line 21422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8519 : : (TARGET_SSE4_1))
8520 : : return -1;
8521 : : return 8501; /* *vec_extractv16qi_zext */
8522 : :
8523 : : default:
8524 : : return -1;
8525 : : }
8526 : :
8527 : : default:
8528 : : return -1;
8529 : : }
8530 : :
8531 : : case UNSPEC:
8532 : : return recog_29 (x1, insn, pnum_clobbers);
8533 : :
8534 : : default:
8535 : : return -1;
8536 : : }
8537 : : }
8538 : :
8539 : : int
8540 : : recog_65 (rtx x1 ATTRIBUTE_UNUSED,
8541 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8542 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8543 : : {
8544 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8545 : : rtx x2, x3, x4, x5, x6, x7;
8546 : : int res ATTRIBUTE_UNUSED;
8547 : : x2 = XEXP (x1, 0);
8548 : : operands[0] = x2;
8549 : : x3 = XEXP (x1, 1);
8550 : : x4 = XEXP (x3, 0);
8551 : : switch (GET_CODE (x4))
8552 : : {
8553 : : case REG:
8554 : : case SUBREG:
8555 : : operands[2] = x4;
8556 : : x5 = XEXP (x3, 2);
8557 : : if (GET_CODE (x5) != CONST_INT)
8558 : : return -1;
8559 : : operands[3] = x5;
8560 : : x6 = XEXP (x3, 1);
8561 : : operands[1] = x6;
8562 : : switch (GET_MODE (operands[0]))
8563 : : {
8564 : : case E_V2SFmode:
8565 : : if (register_operand (operands[0], E_V2SFmode)
8566 : : && GET_MODE (x3) == E_V2SFmode
8567 : : && register_operand (operands[2], E_V2SFmode)
8568 : : && register_operand (operands[1], E_V2SFmode)
8569 : : && const_0_to_3_operand (operands[3], E_SImode)
8570 : : &&
8571 : : #line 1320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8572 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8573 : : return 2131; /* *mmx_blendps */
8574 : : break;
8575 : :
8576 : : case E_V4HFmode:
8577 : : if (pattern861 (x3,
8578 : : E_V4HFmode) == 0
8579 : : &&
8580 : : #line 5620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8581 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8582 : : return 2393; /* *mmx_pblendw64 */
8583 : : break;
8584 : :
8585 : : case E_V4BFmode:
8586 : : if (pattern861 (x3,
8587 : : E_V4BFmode) == 0
8588 : : &&
8589 : : #line 5620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8590 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8591 : : return 2394; /* *mmx_pblendw64 */
8592 : : break;
8593 : :
8594 : : case E_V4HImode:
8595 : : if (pattern861 (x3,
8596 : : E_V4HImode) == 0
8597 : : &&
8598 : : #line 5620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8599 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8600 : : return 2395; /* *mmx_pblendw64 */
8601 : : break;
8602 : :
8603 : : case E_V2HFmode:
8604 : : if (pattern862 (x3,
8605 : : E_V2HFmode) == 0
8606 : : &&
8607 : : #line 5638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8608 : : (TARGET_SSE4_1))
8609 : : return 2396; /* *mmx_pblendw32 */
8610 : : break;
8611 : :
8612 : : case E_V2BFmode:
8613 : : if (pattern862 (x3,
8614 : : E_V2BFmode) == 0
8615 : : &&
8616 : : #line 5638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8617 : : (TARGET_SSE4_1))
8618 : : return 2397; /* *mmx_pblendw32 */
8619 : : break;
8620 : :
8621 : : case E_V2HImode:
8622 : : if (pattern862 (x3,
8623 : : E_V2HImode) == 0
8624 : : &&
8625 : : #line 5638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8626 : : (TARGET_SSE4_1))
8627 : : return 2398; /* *mmx_pblendw32 */
8628 : : break;
8629 : :
8630 : : default:
8631 : : break;
8632 : : }
8633 : : if (XWINT (x5, 0) != 1L)
8634 : : return -1;
8635 : : operands[1] = x6;
8636 : : switch (GET_MODE (operands[0]))
8637 : : {
8638 : : case E_V2SFmode:
8639 : : if (pattern863 (x3,
8640 : : E_V2SFmode) != 0
8641 : : || !
8642 : : #line 1764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8643 : : (TARGET_MMX_WITH_SSE))
8644 : : return -1;
8645 : : return 2147; /* *mmx_movss_v2sf */
8646 : :
8647 : : case E_V2SImode:
8648 : : if (pattern863 (x3,
8649 : : E_V2SImode) != 0
8650 : : || !
8651 : : #line 1764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8652 : : (TARGET_MMX_WITH_SSE))
8653 : : return -1;
8654 : : return 2148; /* *mmx_movss_v2si */
8655 : :
8656 : : default:
8657 : : return -1;
8658 : : }
8659 : :
8660 : : case VEC_DUPLICATE:
8661 : : x7 = XEXP (x4, 0);
8662 : : operands[2] = x7;
8663 : : x6 = XEXP (x3, 1);
8664 : : operands[1] = x6;
8665 : : x5 = XEXP (x3, 2);
8666 : : operands[3] = x5;
8667 : : if (!const_int_operand (operands[3], E_SImode))
8668 : : return -1;
8669 : : switch (GET_MODE (operands[0]))
8670 : : {
8671 : : case E_V2SImode:
8672 : : if (pattern864 (x3,
8673 : : E_V2SImode,
8674 : : E_SImode) != 0
8675 : : || !
8676 : : #line 5285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8677 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE
8678 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8679 : : < GET_MODE_NUNITS (V2SImode))))
8680 : : return -1;
8681 : : return 2373; /* *mmx_pinsrd */
8682 : :
8683 : : case E_V4HFmode:
8684 : : if (pattern864 (x3,
8685 : : E_V4HFmode,
8686 : : E_HFmode) != 0
8687 : : || !
8688 : : #line 5315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8689 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8690 : : && (TARGET_SSE || TARGET_3DNOW_A)
8691 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8692 : : < GET_MODE_NUNITS (V4HImode))))
8693 : : return -1;
8694 : : return 2374; /* *mmx_pinsrw */
8695 : :
8696 : : case E_V4BFmode:
8697 : : if (pattern864 (x3,
8698 : : E_V4BFmode,
8699 : : E_BFmode) != 0
8700 : : || !
8701 : : #line 5315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8702 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8703 : : && (TARGET_SSE || TARGET_3DNOW_A)
8704 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8705 : : < GET_MODE_NUNITS (V4HImode))))
8706 : : return -1;
8707 : : return 2375; /* *mmx_pinsrw */
8708 : :
8709 : : case E_V4HImode:
8710 : : if (pattern864 (x3,
8711 : : E_V4HImode,
8712 : : E_HImode) != 0
8713 : : || !
8714 : : #line 5315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8715 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8716 : : && (TARGET_SSE || TARGET_3DNOW_A)
8717 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8718 : : < GET_MODE_NUNITS (V4HImode))))
8719 : : return -1;
8720 : : return 2376; /* *mmx_pinsrw */
8721 : :
8722 : : case E_V8QImode:
8723 : : if (pattern864 (x3,
8724 : : E_V8QImode,
8725 : : E_QImode) != 0
8726 : : || !
8727 : : #line 5370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8728 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE
8729 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8730 : : < GET_MODE_NUNITS (V8QImode))))
8731 : : return -1;
8732 : : return 2377; /* *mmx_pinsrb */
8733 : :
8734 : : case E_V2HFmode:
8735 : : if (pattern864 (x3,
8736 : : E_V2HFmode,
8737 : : E_HFmode) != 0
8738 : : || !
8739 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8740 : : (TARGET_SSE2
8741 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8742 : : < GET_MODE_NUNITS (V2HImode))))
8743 : : return -1;
8744 : : return 2412; /* *pinsrw */
8745 : :
8746 : : case E_V2BFmode:
8747 : : if (pattern864 (x3,
8748 : : E_V2BFmode,
8749 : : E_BFmode) != 0
8750 : : || !
8751 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8752 : : (TARGET_SSE2
8753 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8754 : : < GET_MODE_NUNITS (V2HImode))))
8755 : : return -1;
8756 : : return 2413; /* *pinsrw */
8757 : :
8758 : : case E_V2HImode:
8759 : : if (pattern864 (x3,
8760 : : E_V2HImode,
8761 : : E_HImode) != 0
8762 : : || !
8763 : : #line 5983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8764 : : (TARGET_SSE2
8765 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8766 : : < GET_MODE_NUNITS (V2HImode))))
8767 : : return -1;
8768 : : return 2414; /* *pinsrw */
8769 : :
8770 : : case E_V4QImode:
8771 : : if (pattern864 (x3,
8772 : : E_V4QImode,
8773 : : E_QImode) != 0
8774 : : || !
8775 : : #line 6036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8776 : : (TARGET_SSE4_1
8777 : : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8778 : : < GET_MODE_NUNITS (V4QImode))))
8779 : : return -1;
8780 : : return 2415; /* *pinsrb */
8781 : :
8782 : : default:
8783 : : return -1;
8784 : : }
8785 : :
8786 : : case SS_TRUNCATE:
8787 : : switch (pattern107 (x3))
8788 : : {
8789 : : case 0:
8790 : : if (!
8791 : : #line 15743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8792 : : (TARGET_AVX512VL))
8793 : : return -1;
8794 : : return 7336; /* avx512vl_ss_truncatev2div2qi2_mask_store_1 */
8795 : :
8796 : : case 1:
8797 : : if (!
8798 : : #line 15838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8799 : : (TARGET_AVX512VL))
8800 : : return -1;
8801 : : return 7363; /* avx512vl_ss_truncatev4siv4qi2_mask_store_1 */
8802 : :
8803 : : case 2:
8804 : : if (!
8805 : : #line 15838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8806 : : (TARGET_AVX512VL))
8807 : : return -1;
8808 : : return 7366; /* avx512vl_ss_truncatev4div4qi2_mask_store_1 */
8809 : :
8810 : : case 3:
8811 : : if (!(
8812 : : #line 15936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8813 : : (TARGET_AVX512VL) &&
8814 : : #line 15860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8815 : : (TARGET_AVX512BW)))
8816 : : return -1;
8817 : : return 7393; /* avx512vl_ss_truncatev8hiv8qi2_mask_store_1 */
8818 : :
8819 : : case 4:
8820 : : if (!
8821 : : #line 15936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8822 : : (TARGET_AVX512VL))
8823 : : return -1;
8824 : : return 7396; /* avx512vl_ss_truncatev8siv8qi2_mask_store_1 */
8825 : :
8826 : : case 5:
8827 : : if (!
8828 : : #line 16452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8829 : : (TARGET_AVX512F))
8830 : : return -1;
8831 : : return 7488; /* avx512f_ss_truncatev8div16qi2_mask_store_1 */
8832 : :
8833 : : case 6:
8834 : : if (!
8835 : : #line 16090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8836 : : (TARGET_AVX512VL))
8837 : : return -1;
8838 : : return 7433; /* avx512vl_ss_truncatev4siv4hi2_mask_store_1 */
8839 : :
8840 : : case 7:
8841 : : if (!
8842 : : #line 16090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8843 : : (TARGET_AVX512VL))
8844 : : return -1;
8845 : : return 7436; /* avx512vl_ss_truncatev4div4hi2_mask_store_1 */
8846 : :
8847 : : case 8:
8848 : : if (!
8849 : : #line 16181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8850 : : (TARGET_AVX512VL))
8851 : : return -1;
8852 : : return 7451; /* avx512vl_ss_truncatev2div2hi2_mask_store_1 */
8853 : :
8854 : : case 9:
8855 : : if (!
8856 : : #line 16327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8857 : : (TARGET_AVX512VL))
8858 : : return -1;
8859 : : return 7470; /* avx512vl_ss_truncatev2div2si2_mask_store_1 */
8860 : :
8861 : : default:
8862 : : return -1;
8863 : : }
8864 : :
8865 : : case TRUNCATE:
8866 : : switch (pattern107 (x3))
8867 : : {
8868 : : case 0:
8869 : : if (!
8870 : : #line 15743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8871 : : (TARGET_AVX512VL))
8872 : : return -1;
8873 : : return 7337; /* avx512vl_truncatev2div2qi2_mask_store_1 */
8874 : :
8875 : : case 1:
8876 : : if (!
8877 : : #line 15838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8878 : : (TARGET_AVX512VL))
8879 : : return -1;
8880 : : return 7364; /* avx512vl_truncatev4siv4qi2_mask_store_1 */
8881 : :
8882 : : case 2:
8883 : : if (!
8884 : : #line 15838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8885 : : (TARGET_AVX512VL))
8886 : : return -1;
8887 : : return 7367; /* avx512vl_truncatev4div4qi2_mask_store_1 */
8888 : :
8889 : : case 3:
8890 : : if (!(
8891 : : #line 15936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8892 : : (TARGET_AVX512VL) &&
8893 : : #line 15860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8894 : : (TARGET_AVX512BW)))
8895 : : return -1;
8896 : : return 7394; /* avx512vl_truncatev8hiv8qi2_mask_store_1 */
8897 : :
8898 : : case 4:
8899 : : if (!
8900 : : #line 15936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8901 : : (TARGET_AVX512VL))
8902 : : return -1;
8903 : : return 7397; /* avx512vl_truncatev8siv8qi2_mask_store_1 */
8904 : :
8905 : : case 5:
8906 : : if (!
8907 : : #line 16452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8908 : : (TARGET_AVX512F))
8909 : : return -1;
8910 : : return 7489; /* avx512f_truncatev8div16qi2_mask_store_1 */
8911 : :
8912 : : case 6:
8913 : : if (!
8914 : : #line 16090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8915 : : (TARGET_AVX512VL))
8916 : : return -1;
8917 : : return 7434; /* avx512vl_truncatev4siv4hi2_mask_store_1 */
8918 : :
8919 : : case 7:
8920 : : if (!
8921 : : #line 16090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8922 : : (TARGET_AVX512VL))
8923 : : return -1;
8924 : : return 7437; /* avx512vl_truncatev4div4hi2_mask_store_1 */
8925 : :
8926 : : case 8:
8927 : : if (!
8928 : : #line 16181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8929 : : (TARGET_AVX512VL))
8930 : : return -1;
8931 : : return 7452; /* avx512vl_truncatev2div2hi2_mask_store_1 */
8932 : :
8933 : : case 9:
8934 : : if (!
8935 : : #line 16327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8936 : : (TARGET_AVX512VL))
8937 : : return -1;
8938 : : return 7471; /* avx512vl_truncatev2div2si2_mask_store_1 */
8939 : :
8940 : : default:
8941 : : return -1;
8942 : : }
8943 : :
8944 : : case US_TRUNCATE:
8945 : : switch (pattern107 (x3))
8946 : : {
8947 : : case 0:
8948 : : if (!
8949 : : #line 15743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8950 : : (TARGET_AVX512VL))
8951 : : return -1;
8952 : : return 7338; /* avx512vl_us_truncatev2div2qi2_mask_store_1 */
8953 : :
8954 : : case 1:
8955 : : if (!
8956 : : #line 15838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8957 : : (TARGET_AVX512VL))
8958 : : return -1;
8959 : : return 7365; /* avx512vl_us_truncatev4siv4qi2_mask_store_1 */
8960 : :
8961 : : case 2:
8962 : : if (!
8963 : : #line 15838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8964 : : (TARGET_AVX512VL))
8965 : : return -1;
8966 : : return 7368; /* avx512vl_us_truncatev4div4qi2_mask_store_1 */
8967 : :
8968 : : case 3:
8969 : : if (!(
8970 : : #line 15936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8971 : : (TARGET_AVX512VL) &&
8972 : : #line 15860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8973 : : (TARGET_AVX512BW)))
8974 : : return -1;
8975 : : return 7395; /* avx512vl_us_truncatev8hiv8qi2_mask_store_1 */
8976 : :
8977 : : case 4:
8978 : : if (!
8979 : : #line 15936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8980 : : (TARGET_AVX512VL))
8981 : : return -1;
8982 : : return 7398; /* avx512vl_us_truncatev8siv8qi2_mask_store_1 */
8983 : :
8984 : : case 5:
8985 : : if (!
8986 : : #line 16452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8987 : : (TARGET_AVX512F))
8988 : : return -1;
8989 : : return 7490; /* avx512f_us_truncatev8div16qi2_mask_store_1 */
8990 : :
8991 : : case 6:
8992 : : if (!
8993 : : #line 16090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8994 : : (TARGET_AVX512VL))
8995 : : return -1;
8996 : : return 7435; /* avx512vl_us_truncatev4siv4hi2_mask_store_1 */
8997 : :
8998 : : case 7:
8999 : : if (!
9000 : : #line 16090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9001 : : (TARGET_AVX512VL))
9002 : : return -1;
9003 : : return 7438; /* avx512vl_us_truncatev4div4hi2_mask_store_1 */
9004 : :
9005 : : case 8:
9006 : : if (!
9007 : : #line 16181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9008 : : (TARGET_AVX512VL))
9009 : : return -1;
9010 : : return 7453; /* avx512vl_us_truncatev2div2hi2_mask_store_1 */
9011 : :
9012 : : case 9:
9013 : : if (!
9014 : : #line 16327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9015 : : (TARGET_AVX512VL))
9016 : : return -1;
9017 : : return 7472; /* avx512vl_us_truncatev2div2si2_mask_store_1 */
9018 : :
9019 : : default:
9020 : : return -1;
9021 : : }
9022 : :
9023 : : default:
9024 : : return -1;
9025 : : }
9026 : : }
9027 : :
9028 : : int
9029 : : recog_77 (rtx x1 ATTRIBUTE_UNUSED,
9030 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9031 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9032 : : {
9033 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9034 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9035 : : rtx x10, x11;
9036 : : int res ATTRIBUTE_UNUSED;
9037 : : x2 = XEXP (x1, 1);
9038 : : x3 = XEXP (x2, 0);
9039 : : x4 = XEXP (x3, 0);
9040 : : switch (GET_CODE (x4))
9041 : : {
9042 : : case REG:
9043 : : case SUBREG:
9044 : : case MEM:
9045 : : operands[1] = x4;
9046 : : x5 = XEXP (x3, 1);
9047 : : operands[2] = x5;
9048 : : switch (GET_CODE (operands[2]))
9049 : : {
9050 : : case CONST_INT:
9051 : : case CONST_WIDE_INT:
9052 : : case CONST_POLY_INT:
9053 : : case CONST_FIXED:
9054 : : case CONST_DOUBLE:
9055 : : case CONST_VECTOR:
9056 : : case CONST:
9057 : : case REG:
9058 : : case SUBREG:
9059 : : case MEM:
9060 : : case LABEL_REF:
9061 : : case SYMBOL_REF:
9062 : : case HIGH:
9063 : : switch (pattern114 (x2, pnum_clobbers))
9064 : : {
9065 : : case 0:
9066 : : if (
9067 : : #line 8135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9068 : : (TARGET_APX_NDD && TARGET_APX_NF
9069 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9070 : : return 398; /* *subqi_1_zextsi_nf */
9071 : : if (pnum_clobbers == NULL
9072 : : || !
9073 : : #line 8135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9074 : : (TARGET_APX_NDD && true
9075 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9076 : : return -1;
9077 : : *pnum_clobbers = 1;
9078 : : return 399; /* *subqi_1_zextsi */
9079 : :
9080 : : case 1:
9081 : : if (
9082 : : #line 8149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9083 : : (TARGET_APX_NDD && TARGET_APX_NF
9084 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9085 : : return 402; /* *subhi_1_zextsi_nf */
9086 : : if (pnum_clobbers == NULL
9087 : : || !
9088 : : #line 8149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9089 : : (TARGET_APX_NDD && true
9090 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9091 : : return -1;
9092 : : *pnum_clobbers = 1;
9093 : : return 403; /* *subhi_1_zextsi */
9094 : :
9095 : : case 2:
9096 : : if (
9097 : : #line 8135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9098 : : (TARGET_APX_NDD && TARGET_APX_NF
9099 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9100 : : return 400; /* *subqi_1_zextdi_nf */
9101 : : if (pnum_clobbers == NULL
9102 : : || !
9103 : : #line 8135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9104 : : (TARGET_APX_NDD && true
9105 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9106 : : return -1;
9107 : : *pnum_clobbers = 1;
9108 : : return 401; /* *subqi_1_zextdi */
9109 : :
9110 : : case 3:
9111 : : if (
9112 : : #line 8149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9113 : : (TARGET_APX_NDD && TARGET_APX_NF
9114 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9115 : : return 404; /* *subhi_1_zextdi_nf */
9116 : : if (pnum_clobbers == NULL
9117 : : || !
9118 : : #line 8149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9119 : : (TARGET_APX_NDD && true
9120 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9121 : : return -1;
9122 : : *pnum_clobbers = 1;
9123 : : return 405; /* *subhi_1_zextdi */
9124 : :
9125 : : case 4:
9126 : : if (!
9127 : : #line 8164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9128 : : (TARGET_64BIT
9129 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9130 : : return -1;
9131 : : *pnum_clobbers = 1;
9132 : : return 406; /* *subsi_1_zext */
9133 : :
9134 : : default:
9135 : : return -1;
9136 : : }
9137 : :
9138 : : case LTU:
9139 : : case UNLT:
9140 : : switch (pattern751 (x2, pnum_clobbers))
9141 : : {
9142 : : case 0:
9143 : : if (!nonimmediate_operand (operands[1], E_QImode)
9144 : : || !ix86_carry_flag_operator (operands[2], E_QImode)
9145 : : || !
9146 : : #line 9695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9147 : : (TARGET_APX_NDD))
9148 : : return -1;
9149 : : *pnum_clobbers = 1;
9150 : : return 534; /* *subqi3_carry_zextsi_0 */
9151 : :
9152 : : case 1:
9153 : : if (!nonimmediate_operand (operands[1], E_HImode)
9154 : : || !ix86_carry_flag_operator (operands[2], E_HImode)
9155 : : || !
9156 : : #line 9710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9157 : : (TARGET_APX_NDD))
9158 : : return -1;
9159 : : *pnum_clobbers = 1;
9160 : : return 536; /* *subhi3_carry_zextsi_0 */
9161 : :
9162 : : case 2:
9163 : : if (!nonimmediate_operand (operands[1], E_QImode)
9164 : : || !ix86_carry_flag_operator (operands[2], E_QImode)
9165 : : || !
9166 : : #line 9695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9167 : : (TARGET_APX_NDD))
9168 : : return -1;
9169 : : *pnum_clobbers = 1;
9170 : : return 535; /* *subqi3_carry_zextdi_0 */
9171 : :
9172 : : case 3:
9173 : : if (!nonimmediate_operand (operands[1], E_HImode)
9174 : : || !ix86_carry_flag_operator (operands[2], E_HImode)
9175 : : || !
9176 : : #line 9710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9177 : : (TARGET_APX_NDD))
9178 : : return -1;
9179 : : *pnum_clobbers = 1;
9180 : : return 537; /* *subhi3_carry_zextdi_0 */
9181 : :
9182 : : case 4:
9183 : : if (!nonimmediate_operand (operands[1], E_SImode)
9184 : : || !ix86_carry_flag_operator (operands[2], E_SImode)
9185 : : || !
9186 : : #line 9725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9187 : : (TARGET_64BIT))
9188 : : return -1;
9189 : : *pnum_clobbers = 1;
9190 : : return 538; /* *subsi3_carry_zext_0 */
9191 : :
9192 : : default:
9193 : : return -1;
9194 : : }
9195 : :
9196 : : case GE:
9197 : : case GEU:
9198 : : switch (pattern751 (x2, pnum_clobbers))
9199 : : {
9200 : : case 0:
9201 : : if (!nonimmediate_operand (operands[1], E_QImode)
9202 : : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
9203 : : || !
9204 : : #line 9743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9205 : : (TARGET_APX_NDD))
9206 : : return -1;
9207 : : *pnum_clobbers = 1;
9208 : : return 540; /* *subqi3_carry_zextsi_0r */
9209 : :
9210 : : case 1:
9211 : : if (!nonimmediate_operand (operands[1], E_HImode)
9212 : : || !ix86_carry_flag_unset_operator (operands[2], E_HImode)
9213 : : || !
9214 : : #line 9758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9215 : : (TARGET_APX_NDD))
9216 : : return -1;
9217 : : *pnum_clobbers = 1;
9218 : : return 542; /* *subhi3_carry_zextsi_0r */
9219 : :
9220 : : case 2:
9221 : : if (!nonimmediate_operand (operands[1], E_QImode)
9222 : : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
9223 : : || !
9224 : : #line 9743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9225 : : (TARGET_APX_NDD))
9226 : : return -1;
9227 : : *pnum_clobbers = 1;
9228 : : return 541; /* *subqi3_carry_zextdi_0r */
9229 : :
9230 : : case 3:
9231 : : if (!nonimmediate_operand (operands[1], E_HImode)
9232 : : || !ix86_carry_flag_unset_operator (operands[2], E_HImode)
9233 : : || !
9234 : : #line 9758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9235 : : (TARGET_APX_NDD))
9236 : : return -1;
9237 : : *pnum_clobbers = 1;
9238 : : return 543; /* *subhi3_carry_zextdi_0r */
9239 : :
9240 : : case 4:
9241 : : if (!nonimmediate_operand (operands[1], E_SImode)
9242 : : || !ix86_carry_flag_unset_operator (operands[2], E_SImode)
9243 : : || !
9244 : : #line 9773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9245 : : (TARGET_64BIT))
9246 : : return -1;
9247 : : *pnum_clobbers = 1;
9248 : : return 544; /* *subsi3_carry_zext_0r */
9249 : :
9250 : : default:
9251 : : return -1;
9252 : : }
9253 : :
9254 : : default:
9255 : : return -1;
9256 : : }
9257 : :
9258 : : case MINUS:
9259 : : if (pnum_clobbers == NULL)
9260 : : return -1;
9261 : : x6 = XEXP (x4, 1);
9262 : : switch (GET_CODE (x6))
9263 : : {
9264 : : case LTU:
9265 : : case UNLT:
9266 : : operands[3] = x6;
9267 : : x7 = XEXP (x6, 0);
9268 : : if (GET_CODE (x7) != REG
9269 : : || REGNO (x7) != 17)
9270 : : return -1;
9271 : : x8 = XEXP (x6, 1);
9272 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9273 : : return -1;
9274 : : x9 = XEXP (x4, 0);
9275 : : operands[1] = x9;
9276 : : x5 = XEXP (x3, 1);
9277 : : operands[2] = x5;
9278 : : switch (pattern278 (x2))
9279 : : {
9280 : : case 0:
9281 : : if (pattern1543 (x4,
9282 : : E_QImode) != 0
9283 : : || !
9284 : : #line 9635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9285 : : (TARGET_APX_NDD
9286 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9287 : : return -1;
9288 : : *pnum_clobbers = 1;
9289 : : return 528; /* *subqi3_carry_zextsi */
9290 : :
9291 : : case 1:
9292 : : if (pattern1543 (x4,
9293 : : E_HImode) != 0
9294 : : || !
9295 : : #line 9655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9296 : : (TARGET_APX_NDD
9297 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9298 : : return -1;
9299 : : *pnum_clobbers = 1;
9300 : : return 530; /* *subhi3_carry_zextsi */
9301 : :
9302 : : case 2:
9303 : : if (pattern1543 (x4,
9304 : : E_QImode) != 0
9305 : : || !
9306 : : #line 9635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9307 : : (TARGET_APX_NDD
9308 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9309 : : return -1;
9310 : : *pnum_clobbers = 1;
9311 : : return 529; /* *subqi3_carry_zextdi */
9312 : :
9313 : : case 3:
9314 : : if (pattern1543 (x4,
9315 : : E_HImode) != 0
9316 : : || !
9317 : : #line 9655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9318 : : (TARGET_APX_NDD
9319 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9320 : : return -1;
9321 : : *pnum_clobbers = 1;
9322 : : return 531; /* *subhi3_carry_zextdi */
9323 : :
9324 : : case 4:
9325 : : if (pattern1543 (x4,
9326 : : E_SImode) != 0
9327 : : || !
9328 : : #line 9675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9329 : : (TARGET_64BIT
9330 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9331 : : return -1;
9332 : : *pnum_clobbers = 1;
9333 : : return 532; /* *subsi3_carry_zext */
9334 : :
9335 : : default:
9336 : : return -1;
9337 : : }
9338 : :
9339 : : default:
9340 : : return -1;
9341 : : }
9342 : :
9343 : : case CONST_INT:
9344 : : if (pnum_clobbers == NULL
9345 : : || !register_operand (operands[0], E_DImode)
9346 : : || GET_MODE (x2) != E_DImode
9347 : : || GET_MODE (x3) != E_SImode)
9348 : : return -1;
9349 : : x5 = XEXP (x3, 1);
9350 : : if (GET_MODE (x5) != E_SImode)
9351 : : return -1;
9352 : : switch (XWINT (x4, 0))
9353 : : {
9354 : : case 63L:
9355 : : if (GET_CODE (x5) != SUBREG
9356 : : || maybe_ne (SUBREG_BYTE (x5), 0))
9357 : : return -1;
9358 : : x10 = XEXP (x5, 0);
9359 : : if (GET_CODE (x10) != CLZ
9360 : : || GET_MODE (x10) != E_DImode)
9361 : : return -1;
9362 : : x11 = XEXP (x10, 0);
9363 : : operands[1] = x11;
9364 : : if (!nonimmediate_operand (operands[1], E_DImode)
9365 : : || !
9366 : : #line 21560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9367 : : (!TARGET_LZCNT && TARGET_64BIT))
9368 : : return -1;
9369 : : *pnum_clobbers = 1;
9370 : : return 1558; /* bsr_rex64_1_zext */
9371 : :
9372 : : case 31L:
9373 : : if (GET_CODE (x5) != CLZ)
9374 : : return -1;
9375 : : x10 = XEXP (x5, 0);
9376 : : operands[1] = x10;
9377 : : if (!nonimmediate_operand (operands[1], E_SImode)
9378 : : || !
9379 : : #line 21600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9380 : : (!TARGET_LZCNT && TARGET_64BIT))
9381 : : return -1;
9382 : : *pnum_clobbers = 1;
9383 : : return 1561; /* bsr_zext_1 */
9384 : :
9385 : : default:
9386 : : return -1;
9387 : : }
9388 : :
9389 : : default:
9390 : : return -1;
9391 : : }
9392 : : }
9393 : :
9394 : : int
9395 : : recog_88 (rtx x1 ATTRIBUTE_UNUSED,
9396 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9397 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9398 : : {
9399 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9400 : : rtx x2, x3, x4, x5, x6;
9401 : : int res ATTRIBUTE_UNUSED;
9402 : : x2 = XEXP (x1, 0);
9403 : : operands[0] = x2;
9404 : : x3 = XEXP (x1, 1);
9405 : : x4 = XEXP (x3, 0);
9406 : : switch (GET_CODE (x4))
9407 : : {
9408 : : case CONST_INT:
9409 : : case CONST_WIDE_INT:
9410 : : case CONST_POLY_INT:
9411 : : case CONST_FIXED:
9412 : : case CONST_DOUBLE:
9413 : : case CONST_VECTOR:
9414 : : case CONST:
9415 : : case REG:
9416 : : case SUBREG:
9417 : : case MEM:
9418 : : case LABEL_REF:
9419 : : case SYMBOL_REF:
9420 : : case HIGH:
9421 : : operands[1] = x4;
9422 : : res = recog_87 (x1, insn, pnum_clobbers);
9423 : : if (res >= 0)
9424 : : return res;
9425 : : if (pnum_clobbers == NULL
9426 : : || GET_CODE (x4) != CONST_INT)
9427 : : return -1;
9428 : : x5 = XEXP (x3, 1);
9429 : : if (GET_CODE (x5) != CLZ)
9430 : : return -1;
9431 : : x6 = XEXP (x5, 0);
9432 : : operands[1] = x6;
9433 : : switch (XWINT (x4, 0))
9434 : : {
9435 : : case 63L:
9436 : : if (pattern872 (x3,
9437 : : E_DImode) != 0
9438 : : || !
9439 : : #line 21545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9440 : : (!TARGET_LZCNT && TARGET_64BIT))
9441 : : return -1;
9442 : : *pnum_clobbers = 1;
9443 : : return 1557; /* bsr_rex64_1 */
9444 : :
9445 : : case 31L:
9446 : : if (pattern872 (x3,
9447 : : E_SImode) != 0
9448 : : || !
9449 : : #line 21586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9450 : : (!TARGET_LZCNT))
9451 : : return -1;
9452 : : *pnum_clobbers = 1;
9453 : : return 1560; /* bsr_1 */
9454 : :
9455 : : default:
9456 : : return -1;
9457 : : }
9458 : :
9459 : : case MINUS:
9460 : : if (pnum_clobbers == NULL)
9461 : : return -1;
9462 : : switch (pattern289 (x3))
9463 : : {
9464 : : case 0:
9465 : : switch (GET_MODE (operands[0]))
9466 : : {
9467 : : case E_SImode:
9468 : : if (pattern1271 (x3,
9469 : : E_SImode) != 0
9470 : : || !
9471 : : #line 9463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9472 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9473 : : return -1;
9474 : : *pnum_clobbers = 1;
9475 : : return 505; /* subsi3_carry */
9476 : :
9477 : : case E_DImode:
9478 : : if (pattern1271 (x3,
9479 : : E_DImode) != 0
9480 : : || !(
9481 : : #line 9463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9482 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
9483 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9484 : : (TARGET_64BIT)))
9485 : : return -1;
9486 : : *pnum_clobbers = 1;
9487 : : return 506; /* subdi3_carry */
9488 : :
9489 : : default:
9490 : : return -1;
9491 : : }
9492 : :
9493 : : case 1:
9494 : : switch (GET_MODE (operands[0]))
9495 : : {
9496 : : case E_SImode:
9497 : : if (pattern1211 (x3,
9498 : : E_SImode) != 0
9499 : : || !
9500 : : #line 10531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9501 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
9502 : : && ix86_pre_reload_split ()))
9503 : : return -1;
9504 : : *pnum_clobbers = 1;
9505 : : return 600; /* *subsi3_eq */
9506 : :
9507 : : case E_DImode:
9508 : : if (pattern1211 (x3,
9509 : : E_DImode) != 0
9510 : : || !(
9511 : : #line 10531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9512 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
9513 : : && ix86_pre_reload_split ()) &&
9514 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9515 : : (TARGET_64BIT)))
9516 : : return -1;
9517 : : *pnum_clobbers = 1;
9518 : : return 601; /* *subdi3_eq */
9519 : :
9520 : : default:
9521 : : return -1;
9522 : : }
9523 : :
9524 : : default:
9525 : : return -1;
9526 : : }
9527 : :
9528 : : default:
9529 : : return -1;
9530 : : }
9531 : : }
9532 : :
9533 : : int
9534 : : recog_89 (rtx x1 ATTRIBUTE_UNUSED,
9535 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9536 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9537 : : {
9538 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9539 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9540 : : int res ATTRIBUTE_UNUSED;
9541 : : x2 = XEXP (x1, 1);
9542 : : x3 = XEXP (x2, 2);
9543 : : operands[3] = x3;
9544 : : x4 = XEXP (x2, 0);
9545 : : x5 = XEXP (x4, 1);
9546 : : switch (XWINT (x5, 0))
9547 : : {
9548 : : case 0L:
9549 : : x6 = XEXP (x2, 1);
9550 : : if (GET_CODE (x6) != PLUS)
9551 : : return -1;
9552 : : x7 = XEXP (x6, 1);
9553 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
9554 : : return -1;
9555 : : x8 = XEXP (x4, 0);
9556 : : operands[2] = x8;
9557 : : x9 = XEXP (x6, 0);
9558 : : if (!rtx_equal_p (x9, operands[2]))
9559 : : return -1;
9560 : : switch (GET_MODE (operands[0]))
9561 : : {
9562 : : case E_SImode:
9563 : : if (pattern1517 (x2,
9564 : : E_SImode) != 0
9565 : : || !
9566 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9567 : : (TARGET_CMOVE))
9568 : : return -1;
9569 : : *pnum_clobbers = 1;
9570 : : return 454; /* *dec_cmovsi */
9571 : :
9572 : : case E_DImode:
9573 : : if (pattern1517 (x2,
9574 : : E_DImode) != 0
9575 : : || !(
9576 : : #line 8755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9577 : : (TARGET_CMOVE) &&
9578 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9579 : : (TARGET_64BIT)))
9580 : : return -1;
9581 : : *pnum_clobbers = 1;
9582 : : return 455; /* *dec_cmovdi */
9583 : :
9584 : : default:
9585 : : return -1;
9586 : : }
9587 : :
9588 : : case -1L:
9589 : : x8 = XEXP (x4, 0);
9590 : : operands[4] = x8;
9591 : : x6 = XEXP (x2, 1);
9592 : : operands[2] = x6;
9593 : : switch (GET_MODE (operands[0]))
9594 : : {
9595 : : case E_SImode:
9596 : : switch (pattern1369 (x2,
9597 : : E_SImode))
9598 : : {
9599 : : case 0:
9600 : : if (!(
9601 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9602 : : (TARGET_AVX512BW && TARGET_CMOVE
9603 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9604 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9605 : : (TARGET_AVX512DQ)))
9606 : : return -1;
9607 : : *pnum_clobbers = 1;
9608 : : return 2702; /* *kortest_cmpqi_movsicc */
9609 : :
9610 : : case 1:
9611 : : if (!
9612 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9613 : : (TARGET_AVX512BW && TARGET_CMOVE
9614 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9615 : : return -1;
9616 : : *pnum_clobbers = 1;
9617 : : return 2705; /* *kortest_cmphi_movsicc */
9618 : :
9619 : : case 2:
9620 : : if (!(
9621 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9622 : : (TARGET_AVX512BW && TARGET_CMOVE
9623 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9624 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9625 : : (TARGET_AVX512BW)))
9626 : : return -1;
9627 : : *pnum_clobbers = 1;
9628 : : return 2708; /* *kortest_cmpsi_movsicc */
9629 : :
9630 : : case 3:
9631 : : if (!(
9632 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9633 : : (TARGET_AVX512BW && TARGET_CMOVE
9634 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9635 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9636 : : (TARGET_AVX512BW && TARGET_64BIT)))
9637 : : return -1;
9638 : : *pnum_clobbers = 1;
9639 : : return 2711; /* *kortest_cmpdi_movsicc */
9640 : :
9641 : : default:
9642 : : return -1;
9643 : : }
9644 : :
9645 : : case E_DImode:
9646 : : switch (pattern1369 (x2,
9647 : : E_DImode))
9648 : : {
9649 : : case 0:
9650 : : if (!(
9651 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9652 : : (TARGET_AVX512BW && TARGET_CMOVE
9653 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9654 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9655 : : (TARGET_64BIT) &&
9656 : : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9657 : : (TARGET_AVX512DQ)) &&
9658 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9659 : : (TARGET_64BIT)) &&
9660 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9661 : : (TARGET_64BIT)) &&
9662 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9663 : : (TARGET_64BIT))))
9664 : : return -1;
9665 : : *pnum_clobbers = 1;
9666 : : return 2703; /* *kortest_cmpqi_movdicc */
9667 : :
9668 : : case 1:
9669 : : if (!(
9670 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9671 : : (TARGET_AVX512BW && TARGET_CMOVE
9672 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9673 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9674 : : (TARGET_64BIT)))
9675 : : return -1;
9676 : : *pnum_clobbers = 1;
9677 : : return 2706; /* *kortest_cmphi_movdicc */
9678 : :
9679 : : case 2:
9680 : : if (!(
9681 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9682 : : (TARGET_AVX512BW && TARGET_CMOVE
9683 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9684 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9685 : : (TARGET_64BIT) &&
9686 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9687 : : (TARGET_AVX512BW)) &&
9688 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9689 : : (TARGET_64BIT)) &&
9690 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9691 : : (TARGET_64BIT)) &&
9692 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9693 : : (TARGET_64BIT))))
9694 : : return -1;
9695 : : *pnum_clobbers = 1;
9696 : : return 2709; /* *kortest_cmpsi_movdicc */
9697 : :
9698 : : case 3:
9699 : : if (!(
9700 : : #line 2516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9701 : : (TARGET_AVX512BW && TARGET_CMOVE
9702 : : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9703 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9704 : : (TARGET_64BIT) &&
9705 : : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9706 : : (TARGET_AVX512BW && TARGET_64BIT)) &&
9707 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9708 : : (TARGET_64BIT)) &&
9709 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9710 : : (TARGET_64BIT)) &&
9711 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9712 : : (TARGET_64BIT))))
9713 : : return -1;
9714 : : *pnum_clobbers = 1;
9715 : : return 2712; /* *kortest_cmpdi_movdicc */
9716 : :
9717 : : default:
9718 : : return -1;
9719 : : }
9720 : :
9721 : : default:
9722 : : return -1;
9723 : : }
9724 : :
9725 : : default:
9726 : : return -1;
9727 : : }
9728 : : }
9729 : :
9730 : : int
9731 : : recog_93 (rtx x1 ATTRIBUTE_UNUSED,
9732 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9733 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9734 : : {
9735 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9736 : : rtx x2, x3, x4, x5, x6, x7;
9737 : : int res ATTRIBUTE_UNUSED;
9738 : : if (pnum_clobbers == NULL)
9739 : : return -1;
9740 : : x2 = XEXP (x1, 1);
9741 : : x3 = XEXP (x2, 0);
9742 : : if (GET_CODE (x3) != LSHIFTRT)
9743 : : return -1;
9744 : : x4 = XEXP (x3, 0);
9745 : : if (GET_CODE (x4) != MULT)
9746 : : return -1;
9747 : : x5 = XEXP (x3, 1);
9748 : : if (GET_CODE (x5) != CONST_INT)
9749 : : return -1;
9750 : : x6 = XEXP (x1, 0);
9751 : : operands[0] = x6;
9752 : : x7 = XEXP (x4, 0);
9753 : : switch (GET_CODE (x7))
9754 : : {
9755 : : case SIGN_EXTEND:
9756 : : switch (pattern758 (x2,
9757 : : SIGN_EXTEND))
9758 : : {
9759 : : case 0:
9760 : : if (!
9761 : : #line 11475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9762 : : (TARGET_64BIT
9763 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9764 : : return -1;
9765 : : *pnum_clobbers = 2;
9766 : : return 661; /* *smuldi3_highpart_1 */
9767 : :
9768 : : case 1:
9769 : : if (!
9770 : : #line 11524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9771 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9772 : : return -1;
9773 : : *pnum_clobbers = 2;
9774 : : return 665; /* *smulsi3_highpart_1 */
9775 : :
9776 : : default:
9777 : : return -1;
9778 : : }
9779 : :
9780 : : case ZERO_EXTEND:
9781 : : switch (pattern758 (x2,
9782 : : ZERO_EXTEND))
9783 : : {
9784 : : case 0:
9785 : : if (!
9786 : : #line 11475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9787 : : (TARGET_64BIT
9788 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9789 : : return -1;
9790 : : *pnum_clobbers = 2;
9791 : : return 662; /* *umuldi3_highpart_1 */
9792 : :
9793 : : case 1:
9794 : : if (!
9795 : : #line 11524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9796 : : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9797 : : return -1;
9798 : : *pnum_clobbers = 2;
9799 : : return 666; /* *umulsi3_highpart_1 */
9800 : :
9801 : : default:
9802 : : return -1;
9803 : : }
9804 : :
9805 : : default:
9806 : : return -1;
9807 : : }
9808 : : }
9809 : :
9810 : : int
9811 : : recog_95 (rtx x1 ATTRIBUTE_UNUSED,
9812 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9813 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9814 : : {
9815 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9816 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9817 : : rtx x10, x11, x12, x13;
9818 : : int res ATTRIBUTE_UNUSED;
9819 : : x2 = XEXP (x1, 0);
9820 : : operands[0] = x2;
9821 : : x3 = XEXP (x1, 1);
9822 : : x4 = XEXP (x3, 0);
9823 : : switch (GET_CODE (x4))
9824 : : {
9825 : : case REG:
9826 : : case SUBREG:
9827 : : case MEM:
9828 : : operands[1] = x4;
9829 : : res = recog_94 (x1, insn, pnum_clobbers);
9830 : : if (res >= 0)
9831 : : return res;
9832 : : if (pnum_clobbers == NULL
9833 : : || GET_CODE (x4) != SUBREG
9834 : : || maybe_ne (SUBREG_BYTE (x4), 0)
9835 : : || GET_MODE (x4) != E_DImode)
9836 : : return -1;
9837 : : x5 = XEXP (x3, 1);
9838 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
9839 : : || !register_operand (operands[0], E_DImode)
9840 : : || GET_MODE (x3) != E_DImode)
9841 : : return -1;
9842 : : x6 = XEXP (x4, 0);
9843 : : if (GET_MODE (x6) != E_SImode)
9844 : : return -1;
9845 : : switch (GET_CODE (x6))
9846 : : {
9847 : : case CTZ:
9848 : : x7 = XEXP (x6, 0);
9849 : : operands[1] = x7;
9850 : : if (!nonimmediate_operand (operands[1], E_SImode)
9851 : : || !
9852 : : #line 21428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9853 : : (TARGET_BMI && TARGET_64BIT))
9854 : : return -1;
9855 : : *pnum_clobbers = 1;
9856 : : return 1550; /* *ctzsi2_zext */
9857 : :
9858 : : case CLZ:
9859 : : x7 = XEXP (x6, 0);
9860 : : operands[1] = x7;
9861 : : if (!nonimmediate_operand (operands[1], E_SImode)
9862 : : || !
9863 : : #line 21868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9864 : : (TARGET_LZCNT && TARGET_64BIT))
9865 : : return -1;
9866 : : *pnum_clobbers = 1;
9867 : : return 1574; /* *clzsi2_lzcnt_zext */
9868 : :
9869 : : case POPCOUNT:
9870 : : x7 = XEXP (x6, 0);
9871 : : operands[1] = x7;
9872 : : if (!nonimmediate_operand (operands[1], E_SImode)
9873 : : || !
9874 : : #line 22693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9875 : : (TARGET_POPCNT && TARGET_64BIT))
9876 : : return -1;
9877 : : *pnum_clobbers = 1;
9878 : : return 1666; /* *popcountsi2_zext */
9879 : :
9880 : : default:
9881 : : return -1;
9882 : : }
9883 : :
9884 : : case NOT:
9885 : : if (pnum_clobbers == NULL)
9886 : : return -1;
9887 : : x6 = XEXP (x4, 0);
9888 : : switch (GET_CODE (x6))
9889 : : {
9890 : : case REG:
9891 : : case SUBREG:
9892 : : operands[1] = x6;
9893 : : x5 = XEXP (x3, 1);
9894 : : operands[2] = x5;
9895 : : switch (GET_MODE (operands[0]))
9896 : : {
9897 : : case E_DImode:
9898 : : if (pattern736 (x3,
9899 : : E_DImode) != 0)
9900 : : return -1;
9901 : : if ((
9902 : : #line 13590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9903 : : (TARGET_BMI) &&
9904 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9905 : : (!TARGET_64BIT)))
9906 : : {
9907 : : *pnum_clobbers = 1;
9908 : : return 837; /* *andndi3_doubleword_bmi */
9909 : : }
9910 : : if ((
9911 : : #line 13608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9912 : : (!TARGET_BMI
9913 : : && ix86_pre_reload_split ()) &&
9914 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9915 : : (!TARGET_64BIT)))
9916 : : {
9917 : : *pnum_clobbers = 1;
9918 : : return 839; /* *andndi3_doubleword */
9919 : : }
9920 : : if (!(
9921 : : #line 13624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9922 : : (TARGET_BMI || TARGET_AVX512BW) &&
9923 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9924 : : (TARGET_64BIT)))
9925 : : return -1;
9926 : : *pnum_clobbers = 1;
9927 : : return 842; /* *andndi_1 */
9928 : :
9929 : : case E_SImode:
9930 : : if (pattern736 (x3,
9931 : : E_SImode) != 0
9932 : : || !
9933 : : #line 13624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9934 : : (TARGET_BMI || TARGET_AVX512BW))
9935 : : return -1;
9936 : : *pnum_clobbers = 1;
9937 : : return 841; /* *andnsi_1 */
9938 : :
9939 : : default:
9940 : : return -1;
9941 : : }
9942 : :
9943 : : case LSHIFTRT:
9944 : : x5 = XEXP (x3, 1);
9945 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
9946 : : return -1;
9947 : : x7 = XEXP (x6, 0);
9948 : : operands[1] = x7;
9949 : : x8 = XEXP (x6, 1);
9950 : : operands[2] = x8;
9951 : : if (!register_operand (operands[2], E_QImode))
9952 : : return -1;
9953 : : switch (GET_MODE (operands[0]))
9954 : : {
9955 : : case E_SImode:
9956 : : if (pattern1095 (x3,
9957 : : E_SImode) != 0
9958 : : || !
9959 : : #line 19672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9960 : : (TARGET_USE_BT && ix86_pre_reload_split ()))
9961 : : return -1;
9962 : : *pnum_clobbers = 1;
9963 : : return 1470; /* *btsi_setncsi */
9964 : :
9965 : : case E_DImode:
9966 : : if (pattern1095 (x3,
9967 : : E_DImode) != 0
9968 : : || !(
9969 : : #line 19672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9970 : : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
9971 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9972 : : (TARGET_64BIT)))
9973 : : return -1;
9974 : : *pnum_clobbers = 1;
9975 : : return 1471; /* *btdi_setncdi */
9976 : :
9977 : : default:
9978 : : return -1;
9979 : : }
9980 : :
9981 : : case ASHIFT:
9982 : : x7 = XEXP (x6, 0);
9983 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
9984 : : return -1;
9985 : : switch (pattern625 (x3))
9986 : : {
9987 : : case 0:
9988 : : if (!
9989 : : #line 22395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9990 : : (TARGET_BMI2))
9991 : : return -1;
9992 : : *pnum_clobbers = 1;
9993 : : return 1630; /* *bmi2_bzhi_si3_3 */
9994 : :
9995 : : case 1:
9996 : : if (!(
9997 : : #line 22395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9998 : : (TARGET_BMI2) &&
9999 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10000 : : (TARGET_64BIT)))
10001 : : return -1;
10002 : : *pnum_clobbers = 1;
10003 : : return 1631; /* *bmi2_bzhi_di3_3 */
10004 : :
10005 : : default:
10006 : : return -1;
10007 : : }
10008 : :
10009 : : default:
10010 : : return -1;
10011 : : }
10012 : :
10013 : : case ROTATE:
10014 : : if (pnum_clobbers == NULL)
10015 : : return -1;
10016 : : x6 = XEXP (x4, 0);
10017 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
10018 : : return -1;
10019 : : switch (pattern285 (x3))
10020 : : {
10021 : : case 0:
10022 : : x9 = XEXP (x4, 1);
10023 : : operands[2] = x9;
10024 : : if (register_operand (operands[2], E_QImode))
10025 : : {
10026 : : switch (pattern750 (x3))
10027 : : {
10028 : : case 0:
10029 : : if (
10030 : : #line 19183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10031 : : (TARGET_USE_BT))
10032 : : {
10033 : : *pnum_clobbers = 1;
10034 : : return 1435; /* *btrsi */
10035 : : }
10036 : : break;
10037 : :
10038 : : case 1:
10039 : : if ((
10040 : : #line 19183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10041 : : (TARGET_USE_BT) &&
10042 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10043 : : (TARGET_64BIT)))
10044 : : {
10045 : : *pnum_clobbers = 1;
10046 : : return 1436; /* *btrdi */
10047 : : }
10048 : : break;
10049 : :
10050 : : default:
10051 : : break;
10052 : : }
10053 : : }
10054 : : if (GET_CODE (x9) != SUBREG)
10055 : : return -1;
10056 : : switch (pattern759 (x3))
10057 : : {
10058 : : case 0:
10059 : : if (!
10060 : : #line 19202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10061 : : (TARGET_USE_BT
10062 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
10063 : : == GET_MODE_BITSIZE (SImode)-1
10064 : : && ix86_pre_reload_split ()))
10065 : : return -1;
10066 : : *pnum_clobbers = 1;
10067 : : return 1437; /* *btrsi_mask */
10068 : :
10069 : : case 1:
10070 : : if (!(
10071 : : #line 19202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10072 : : (TARGET_USE_BT
10073 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
10074 : : == GET_MODE_BITSIZE (DImode)-1
10075 : : && ix86_pre_reload_split ()) &&
10076 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10077 : : (TARGET_64BIT)))
10078 : : return -1;
10079 : : *pnum_clobbers = 1;
10080 : : return 1438; /* *btrdi_mask */
10081 : :
10082 : : default:
10083 : : return -1;
10084 : : }
10085 : :
10086 : : case 1:
10087 : : if (!
10088 : : #line 19230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10089 : : (TARGET_USE_BT
10090 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
10091 : : == GET_MODE_BITSIZE (SImode)-1
10092 : : && ix86_pre_reload_split ()))
10093 : : return -1;
10094 : : *pnum_clobbers = 1;
10095 : : return 1439; /* *btrsi_mask_1 */
10096 : :
10097 : : case 2:
10098 : : if (!(
10099 : : #line 19230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10100 : : (TARGET_USE_BT
10101 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
10102 : : == GET_MODE_BITSIZE (DImode)-1
10103 : : && ix86_pre_reload_split ()) &&
10104 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10105 : : (TARGET_64BIT)))
10106 : : return -1;
10107 : : *pnum_clobbers = 1;
10108 : : return 1440; /* *btrdi_mask_1 */
10109 : :
10110 : : default:
10111 : : return -1;
10112 : : }
10113 : :
10114 : : case NEG:
10115 : : if (pnum_clobbers == NULL)
10116 : : return -1;
10117 : : x6 = XEXP (x4, 0);
10118 : : operands[1] = x6;
10119 : : x5 = XEXP (x3, 1);
10120 : : if (!rtx_equal_p (x5, operands[1]))
10121 : : return -1;
10122 : : switch (GET_MODE (operands[0]))
10123 : : {
10124 : : case E_SImode:
10125 : : if (pattern753 (x3,
10126 : : E_SImode) != 0
10127 : : || !
10128 : : #line 22072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10129 : : (TARGET_BMI))
10130 : : return -1;
10131 : : *pnum_clobbers = 1;
10132 : : return 1604; /* *bmi_blsi_si */
10133 : :
10134 : : case E_DImode:
10135 : : if (pattern753 (x3,
10136 : : E_DImode) != 0
10137 : : || !(
10138 : : #line 22072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10139 : : (TARGET_BMI) &&
10140 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10141 : : (TARGET_64BIT)))
10142 : : return -1;
10143 : : *pnum_clobbers = 1;
10144 : : return 1605; /* *bmi_blsi_di */
10145 : :
10146 : : default:
10147 : : return -1;
10148 : : }
10149 : :
10150 : : case PLUS:
10151 : : if (pnum_clobbers == NULL)
10152 : : return -1;
10153 : : x9 = XEXP (x4, 1);
10154 : : if (GET_CODE (x9) != CONST_INT)
10155 : : return -1;
10156 : : x6 = XEXP (x4, 0);
10157 : : switch (GET_CODE (x6))
10158 : : {
10159 : : case REG:
10160 : : case SUBREG:
10161 : : case MEM:
10162 : : operands[1] = x6;
10163 : : switch (XWINT (x9, 0))
10164 : : {
10165 : : case -1L:
10166 : : switch (pattern755 (x3))
10167 : : {
10168 : : case 0:
10169 : : if (!
10170 : : #line 22217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10171 : : (TARGET_BMI))
10172 : : return -1;
10173 : : *pnum_clobbers = 1;
10174 : : return 1616; /* *bmi_blsr_si */
10175 : :
10176 : : case 1:
10177 : : if (!(
10178 : : #line 22217 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10179 : : (TARGET_BMI) &&
10180 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10181 : : (TARGET_64BIT)))
10182 : : return -1;
10183 : : *pnum_clobbers = 1;
10184 : : return 1617; /* *bmi_blsr_di */
10185 : :
10186 : : case 2:
10187 : : if (!
10188 : : #line 22588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10189 : : (TARGET_TBM))
10190 : : return -1;
10191 : : *pnum_clobbers = 1;
10192 : : return 1656; /* *tbm_tzmsk_si */
10193 : :
10194 : : case 3:
10195 : : if (!(
10196 : : #line 22588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10197 : : (TARGET_TBM) &&
10198 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10199 : : (TARGET_64BIT)))
10200 : : return -1;
10201 : : *pnum_clobbers = 1;
10202 : : return 1657; /* *tbm_tzmsk_di */
10203 : :
10204 : : default:
10205 : : return -1;
10206 : : }
10207 : :
10208 : : case 1L:
10209 : : switch (pattern755 (x3))
10210 : : {
10211 : : case 0:
10212 : : if (!
10213 : : #line 22479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10214 : : (TARGET_TBM))
10215 : : return -1;
10216 : : *pnum_clobbers = 1;
10217 : : return 1640; /* *tbm_blcfill_si */
10218 : :
10219 : : case 1:
10220 : : if (!(
10221 : : #line 22479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10222 : : (TARGET_TBM) &&
10223 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10224 : : (TARGET_64BIT)))
10225 : : return -1;
10226 : : *pnum_clobbers = 1;
10227 : : return 1641; /* *tbm_blcfill_di */
10228 : :
10229 : : case 2:
10230 : : if (!
10231 : : #line 22507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10232 : : (TARGET_TBM))
10233 : : return -1;
10234 : : *pnum_clobbers = 1;
10235 : : return 1644; /* *tbm_blcic_si */
10236 : :
10237 : : case 3:
10238 : : if (!(
10239 : : #line 22507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10240 : : (TARGET_TBM) &&
10241 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10242 : : (TARGET_64BIT)))
10243 : : return -1;
10244 : : *pnum_clobbers = 1;
10245 : : return 1645; /* *tbm_blcic_di */
10246 : :
10247 : : default:
10248 : : return -1;
10249 : : }
10250 : :
10251 : : default:
10252 : : return -1;
10253 : : }
10254 : :
10255 : : case ASHIFT:
10256 : : x7 = XEXP (x6, 0);
10257 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
10258 : : || XWINT (x9, 0) != -1L)
10259 : : return -1;
10260 : : switch (pattern625 (x3))
10261 : : {
10262 : : case 0:
10263 : : if (!
10264 : : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10265 : : (TARGET_BMI2))
10266 : : return -1;
10267 : : *pnum_clobbers = 1;
10268 : : return 1628; /* *bmi2_bzhi_si3_2 */
10269 : :
10270 : : case 1:
10271 : : if (!(
10272 : : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10273 : : (TARGET_BMI2) &&
10274 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10275 : : (TARGET_64BIT)))
10276 : : return -1;
10277 : : *pnum_clobbers = 1;
10278 : : return 1629; /* *bmi2_bzhi_di3_2 */
10279 : :
10280 : : default:
10281 : : return -1;
10282 : : }
10283 : :
10284 : : default:
10285 : : return -1;
10286 : : }
10287 : :
10288 : : case ZERO_EXTEND:
10289 : : if (pnum_clobbers == NULL
10290 : : || GET_MODE (x4) != E_DImode)
10291 : : return -1;
10292 : : x6 = XEXP (x4, 0);
10293 : : if (GET_CODE (x6) != PLUS
10294 : : || pattern440 (x6) != 0)
10295 : : return -1;
10296 : : x8 = XEXP (x6, 1);
10297 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
10298 : : || !register_operand (operands[0], E_DImode)
10299 : : || GET_MODE (x3) != E_DImode)
10300 : : return -1;
10301 : : x7 = XEXP (x6, 0);
10302 : : x10 = XEXP (x7, 1);
10303 : : operands[2] = x10;
10304 : : if (!register_operand (operands[2], E_QImode))
10305 : : return -1;
10306 : : x5 = XEXP (x3, 1);
10307 : : operands[1] = x5;
10308 : : if (!nonimmediate_operand (operands[1], E_DImode)
10309 : : || !
10310 : : #line 22427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10311 : : (TARGET_64BIT && TARGET_BMI2))
10312 : : return -1;
10313 : : *pnum_clobbers = 1;
10314 : : return 1633; /* *bmi2_bzhi_zero_extendsidi_5 */
10315 : :
10316 : : case UNSPEC:
10317 : : switch (XVECLEN (x4, 0))
10318 : : {
10319 : : case 3:
10320 : : x11 = XVECEXP (x4, 0, 2);
10321 : : if (GET_CODE (x11) != CONST_INT)
10322 : : return -1;
10323 : : x12 = XVECEXP (x4, 0, 0);
10324 : : operands[1] = x12;
10325 : : x13 = XVECEXP (x4, 0, 1);
10326 : : operands[2] = x13;
10327 : : switch (XINT (x4, 1))
10328 : : {
10329 : : case 60:
10330 : : operands[3] = x11;
10331 : : x5 = XEXP (x3, 1);
10332 : : operands[4] = x5;
10333 : : switch (GET_MODE (operands[0]))
10334 : : {
10335 : : case E_SImode:
10336 : : if (pattern1078 (x3,
10337 : : E_SImode) == 0)
10338 : : {
10339 : : switch (GET_MODE (operands[1]))
10340 : : {
10341 : : case E_V32HFmode:
10342 : : if (register_operand (operands[1], E_V32HFmode)
10343 : : && nonimmediate_operand (operands[2], E_V32HFmode)
10344 : : && const_0_to_31_operand (operands[3], E_SImode)
10345 : : && (
10346 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10347 : : (TARGET_AVX512F) && (
10348 : : #line 4570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10349 : : (TARGET_AVX512F && 1) &&
10350 : : #line 315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10351 : : (TARGET_AVX512FP16))))
10352 : : return 3332; /* avx512bw_cmpv32hf3_mask */
10353 : : break;
10354 : :
10355 : : case E_V32QImode:
10356 : : if (register_operand (operands[1], E_V32QImode)
10357 : : && nonimmediate_operand (operands[2], E_V32QImode)
10358 : : && const_0_to_7_operand (operands[3], E_SImode)
10359 : : && (
10360 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10361 : : (TARGET_AVX512F) && (
10362 : : #line 4764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10363 : : (TARGET_AVX512BW) &&
10364 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10365 : : (TARGET_AVX512VL))))
10366 : : return 3479; /* avx512vl_cmpv32qi3_mask */
10367 : : break;
10368 : :
10369 : : case E_V32HImode:
10370 : : if (register_operand (operands[1], E_V32HImode)
10371 : : && nonimmediate_operand (operands[2], E_V32HImode)
10372 : : && const_0_to_7_operand (operands[3], E_SImode)
10373 : : && (
10374 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10375 : : (TARGET_AVX512F) &&
10376 : : #line 4764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10377 : : (TARGET_AVX512BW)))
10378 : : return 3481; /* avx512bw_cmpv32hi3_mask */
10379 : : break;
10380 : :
10381 : : case E_V32BFmode:
10382 : : if (register_operand (operands[1], E_V32BFmode)
10383 : : && nonimmediate_operand (operands[2], E_V32BFmode)
10384 : : && const_0_to_31_operand (operands[3], E_VOIDmode)
10385 : : && (
10386 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10387 : : (TARGET_AVX512F) &&
10388 : : #line 32873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10389 : : (TARGET_AVX10_2)))
10390 : : return 10789; /* avx10_2_cmpbf16_v32bf_mask */
10391 : : break;
10392 : :
10393 : : default:
10394 : : break;
10395 : : }
10396 : : }
10397 : : break;
10398 : :
10399 : : case E_DImode:
10400 : : if (pattern987 (x3) == 0
10401 : : && register_operand (operands[4], E_DImode)
10402 : : && (
10403 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10404 : : (TARGET_AVX512F) &&
10405 : : #line 4764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10406 : : (TARGET_AVX512BW)))
10407 : : return 3475; /* avx512bw_cmpv64qi3_mask */
10408 : : break;
10409 : :
10410 : : default:
10411 : : break;
10412 : : }
10413 : : if (XWINT (x11, 0) != 0L)
10414 : : return -1;
10415 : : switch (pattern985 (x3))
10416 : : {
10417 : : case 0:
10418 : : if (!(
10419 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10420 : : (TARGET_AVX512F) &&
10421 : : #line 4883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10422 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10423 : : return -1;
10424 : : return 3559; /* *avx512bw_eqv64qi3_mask_1 */
10425 : :
10426 : : case 1:
10427 : : if (!(
10428 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10429 : : (TARGET_AVX512F) && (
10430 : : #line 4883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10431 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
10432 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10433 : : (TARGET_AVX512VL))))
10434 : : return -1;
10435 : : return 3567; /* *avx512vl_eqv32qi3_mask_1 */
10436 : :
10437 : : case 2:
10438 : : if (!(
10439 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10440 : : (TARGET_AVX512F) &&
10441 : : #line 4883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10442 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10443 : : return -1;
10444 : : return 3571; /* *avx512bw_eqv32hi3_mask_1 */
10445 : :
10446 : : default:
10447 : : return -1;
10448 : : }
10449 : :
10450 : : case 158:
10451 : : if (XWINT (x11, 0) == 0L)
10452 : : {
10453 : : switch (pattern985 (x3))
10454 : : {
10455 : : case 0:
10456 : : if ((
10457 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10458 : : (TARGET_AVX512F) &&
10459 : : #line 4883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10460 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10461 : : return 3561; /* *avx512bw_eqv64qi3_mask_1 */
10462 : : break;
10463 : :
10464 : : case 1:
10465 : : if ((
10466 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10467 : : (TARGET_AVX512F) && (
10468 : : #line 4883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10469 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
10470 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10471 : : (TARGET_AVX512VL))))
10472 : : return 3569; /* *avx512vl_eqv32qi3_mask_1 */
10473 : : break;
10474 : :
10475 : : case 2:
10476 : : if ((
10477 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10478 : : (TARGET_AVX512F) &&
10479 : : #line 4883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10480 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10481 : : return 3573; /* *avx512bw_eqv32hi3_mask_1 */
10482 : : break;
10483 : :
10484 : : default:
10485 : : break;
10486 : : }
10487 : : }
10488 : : operands[3] = x11;
10489 : : if (!const_0_to_7_operand (operands[3], E_SImode))
10490 : : return -1;
10491 : : x5 = XEXP (x3, 1);
10492 : : operands[4] = x5;
10493 : : switch (GET_MODE (operands[0]))
10494 : : {
10495 : : case E_DImode:
10496 : : if (pattern1096 (x3,
10497 : : E_V64QImode,
10498 : : E_DImode) != 0
10499 : : || !register_operand (operands[4], E_DImode)
10500 : : || !(
10501 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10502 : : (TARGET_AVX512F) &&
10503 : : #line 4898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10504 : : (TARGET_AVX512BW)))
10505 : : return -1;
10506 : : return 3583; /* avx512bw_ucmpv64qi3_mask */
10507 : :
10508 : : case E_SImode:
10509 : : if (pattern1078 (x3,
10510 : : E_SImode) != 0)
10511 : : return -1;
10512 : : switch (pattern870 ())
10513 : : {
10514 : : case 0:
10515 : : if (!(
10516 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10517 : : (TARGET_AVX512F) && (
10518 : : #line 4898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10519 : : (TARGET_AVX512BW) &&
10520 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10521 : : (TARGET_AVX512VL))))
10522 : : return -1;
10523 : : return 3587; /* avx512vl_ucmpv32qi3_mask */
10524 : :
10525 : : case 1:
10526 : : if (!(
10527 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10528 : : (TARGET_AVX512F) &&
10529 : : #line 4898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10530 : : (TARGET_AVX512BW)))
10531 : : return -1;
10532 : : return 3589; /* avx512bw_ucmpv32hi3_mask */
10533 : :
10534 : : default:
10535 : : return -1;
10536 : : }
10537 : :
10538 : : default:
10539 : : return -1;
10540 : : }
10541 : :
10542 : : default:
10543 : : return -1;
10544 : : }
10545 : :
10546 : : case 2:
10547 : : x12 = XVECEXP (x4, 0, 0);
10548 : : operands[1] = x12;
10549 : : x13 = XVECEXP (x4, 0, 1);
10550 : : operands[2] = x13;
10551 : : x5 = XEXP (x3, 1);
10552 : : operands[3] = x5;
10553 : : switch (XINT (x4, 1))
10554 : : {
10555 : : case 159:
10556 : : switch (pattern874 (x3))
10557 : : {
10558 : : case 0:
10559 : : if (!(
10560 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10561 : : (TARGET_AVX512F) && (
10562 : : #line 19338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10563 : : (TARGET_AVX512F) &&
10564 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10565 : : (TARGET_AVX512BW))))
10566 : : return -1;
10567 : : return 8147; /* avx512bw_testmv64qi3_mask */
10568 : :
10569 : : case 1:
10570 : : if (!(
10571 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10572 : : (TARGET_AVX512F) && (
10573 : : #line 19338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10574 : : (TARGET_AVX512F) &&
10575 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10576 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
10577 : : return -1;
10578 : : return 8149; /* avx512vl_testmv32qi3_mask */
10579 : :
10580 : : case 2:
10581 : : if (!(
10582 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10583 : : (TARGET_AVX512F) && (
10584 : : #line 19338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10585 : : (TARGET_AVX512F) &&
10586 : : #line 498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10587 : : (TARGET_AVX512BW))))
10588 : : return -1;
10589 : : return 8153; /* avx512bw_testmv32hi3_mask */
10590 : :
10591 : : default:
10592 : : return -1;
10593 : : }
10594 : :
10595 : : case 160:
10596 : : switch (pattern874 (x3))
10597 : : {
10598 : : case 0:
10599 : : if (!(
10600 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10601 : : (TARGET_AVX512F) && (
10602 : : #line 19349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10603 : : (TARGET_AVX512F) &&
10604 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10605 : : (TARGET_AVX512BW))))
10606 : : return -1;
10607 : : return 8171; /* avx512bw_testnmv64qi3_mask */
10608 : :
10609 : : case 1:
10610 : : if (!(
10611 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10612 : : (TARGET_AVX512F) && (
10613 : : #line 19349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10614 : : (TARGET_AVX512F) &&
10615 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10616 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
10617 : : return -1;
10618 : : return 8173; /* avx512vl_testnmv32qi3_mask */
10619 : :
10620 : : case 2:
10621 : : if (!(
10622 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10623 : : (TARGET_AVX512F) && (
10624 : : #line 19349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10625 : : (TARGET_AVX512F) &&
10626 : : #line 498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10627 : : (TARGET_AVX512BW))))
10628 : : return -1;
10629 : : return 8177; /* avx512bw_testnmv32hi3_mask */
10630 : :
10631 : : default:
10632 : : return -1;
10633 : : }
10634 : :
10635 : : case 194:
10636 : : if (GET_MODE (x4) != E_SImode
10637 : : || !register_operand (operands[0], E_SImode)
10638 : : || GET_MODE (x3) != E_SImode
10639 : : || !vector_operand (operands[1], E_V32HFmode)
10640 : : || !const_0_to_255_operand (operands[2], E_VOIDmode)
10641 : : || !register_operand (operands[3], E_SImode)
10642 : : || !(
10643 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10644 : : (TARGET_AVX512F) && (
10645 : : #line 30264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10646 : : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V32HFmode)) &&
10647 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10648 : : (TARGET_AVX512FP16))))
10649 : : return -1;
10650 : : return 10047; /* avx512dq_fpclassv32hf_mask */
10651 : :
10652 : : case 215:
10653 : : switch (GET_MODE (operands[0]))
10654 : : {
10655 : : case E_DImode:
10656 : : if (pattern873 (x3,
10657 : : E_DImode,
10658 : : E_V64QImode) != 0
10659 : : || !(
10660 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10661 : : (TARGET_AVX512F) &&
10662 : : #line 31347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10663 : : (TARGET_AVX512BITALG)))
10664 : : return -1;
10665 : : return 10389; /* avx512vl_vpshufbitqmbv64qi_mask */
10666 : :
10667 : : case E_SImode:
10668 : : if (pattern873 (x3,
10669 : : E_SImode,
10670 : : E_V32QImode) != 0
10671 : : || !(
10672 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10673 : : (TARGET_AVX512F) && (
10674 : : #line 31347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10675 : : (TARGET_AVX512BITALG) &&
10676 : : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10677 : : (TARGET_AVX512VL))))
10678 : : return -1;
10679 : : return 10393; /* avx512vl_vpshufbitqmbv32qi_mask */
10680 : :
10681 : : default:
10682 : : return -1;
10683 : : }
10684 : :
10685 : : case 263:
10686 : : if (GET_MODE (x4) != E_SImode
10687 : : || !register_operand (operands[0], E_SImode)
10688 : : || GET_MODE (x3) != E_SImode
10689 : : || !nonimmediate_operand (operands[1], E_V32BFmode)
10690 : : || !const_0_to_255_operand (operands[2], E_VOIDmode)
10691 : : || !register_operand (operands[3], E_SImode)
10692 : : || !(
10693 : : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10694 : : (TARGET_AVX512F) &&
10695 : : #line 32862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10696 : : (TARGET_AVX10_2)))
10697 : : return -1;
10698 : : return 10783; /* avx10_2_fpclassbf16_v32bf_mask */
10699 : :
10700 : : default:
10701 : : return -1;
10702 : : }
10703 : :
10704 : : default:
10705 : : return -1;
10706 : : }
10707 : :
10708 : : default:
10709 : : return -1;
10710 : : }
10711 : : }
10712 : :
10713 : : int
10714 : : recog_129 (rtx x1 ATTRIBUTE_UNUSED,
10715 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10716 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10717 : : {
10718 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10719 : : rtx x2;
10720 : : int res ATTRIBUTE_UNUSED;
10721 : : x2 = XEXP (x1, 1);
10722 : : switch (pattern634 (x2))
10723 : : {
10724 : : case 0:
10725 : : if (pattern637 (x2,
10726 : : E_V32HImode,
10727 : : E_SImode,
10728 : : E_V32HFmode) != 0
10729 : : || !(
10730 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10731 : : (TARGET_AVX512F) &&
10732 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10733 : : (TARGET_AVX512FP16)))
10734 : : return -1;
10735 : : return 4440; /* avx512fp16_vcvtph2uw_v32hi_mask */
10736 : :
10737 : : case 1:
10738 : : if (pattern142 (x2,
10739 : : E_V16SImode,
10740 : : E_HImode) != 0)
10741 : : return -1;
10742 : : switch (GET_MODE (operands[1]))
10743 : : {
10744 : : case E_V16HFmode:
10745 : : if (!vector_operand (operands[1], E_V16HFmode)
10746 : : || !(
10747 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10748 : : (TARGET_AVX512F) &&
10749 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10750 : : (TARGET_AVX512FP16)))
10751 : : return -1;
10752 : : return 4448; /* avx512fp16_vcvtph2udq_v16si_mask */
10753 : :
10754 : : case E_V16SFmode:
10755 : : if (!nonimmediate_operand (operands[1], E_V16SFmode)
10756 : : || !
10757 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10758 : : (TARGET_AVX512F))
10759 : : return -1;
10760 : : return 4876; /* avx512f_fixuns_notruncv16sfv16si_mask */
10761 : :
10762 : : default:
10763 : : return -1;
10764 : : }
10765 : :
10766 : : case 2:
10767 : : switch (pattern1105 (x2,
10768 : : E_V8DImode))
10769 : : {
10770 : : case 0:
10771 : : if (!(
10772 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10773 : : (TARGET_AVX512F) &&
10774 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10775 : : (TARGET_AVX512FP16)))
10776 : : return -1;
10777 : : return 4456; /* avx512fp16_vcvtph2uqq_v8di_mask */
10778 : :
10779 : : case 1:
10780 : : if (!(
10781 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10782 : : (TARGET_AVX512F) &&
10783 : : #line 9021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10784 : : (TARGET_AVX512DQ && 1)))
10785 : : return -1;
10786 : : return 4896; /* avx512dq_cvtps2uqqv8di_mask */
10787 : :
10788 : : case 2:
10789 : : if (!(
10790 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10791 : : (TARGET_AVX512F) &&
10792 : : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10793 : : (TARGET_AVX512DQ && 1)))
10794 : : return -1;
10795 : : return 5122; /* fixuns_notruncv8dfv8di2_mask */
10796 : :
10797 : : default:
10798 : : return -1;
10799 : : }
10800 : :
10801 : : case 3:
10802 : : if (pattern637 (x2,
10803 : : E_V16HImode,
10804 : : E_HImode,
10805 : : E_V16HFmode) != 0
10806 : : || !(
10807 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10808 : : (TARGET_AVX512F) && (
10809 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10810 : : (TARGET_AVX512FP16) &&
10811 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10812 : : (TARGET_AVX512VL))))
10813 : : return -1;
10814 : : return 4464; /* avx512fp16_vcvtph2uw_v16hi_mask */
10815 : :
10816 : : case 4:
10817 : : switch (pattern1105 (x2,
10818 : : E_V8SImode))
10819 : : {
10820 : : case 0:
10821 : : if (!(
10822 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10823 : : (TARGET_AVX512F) && (
10824 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10825 : : (TARGET_AVX512FP16) &&
10826 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10827 : : (TARGET_AVX512VL))))
10828 : : return -1;
10829 : : return 4472; /* avx512fp16_vcvtph2udq_v8si_mask */
10830 : :
10831 : : case 1:
10832 : : if (!(
10833 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10834 : : (TARGET_AVX512F) && (
10835 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10836 : : (TARGET_AVX512F) &&
10837 : : #line 663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10838 : : (TARGET_AVX512VL))))
10839 : : return -1;
10840 : : return 4880; /* avx512vl_fixuns_notruncv8sfv8si_mask */
10841 : :
10842 : : case 2:
10843 : : if (!
10844 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10845 : : (TARGET_AVX512F))
10846 : : return -1;
10847 : : return 5042; /* fixuns_notruncv8dfv8si2_mask */
10848 : :
10849 : : default:
10850 : : return -1;
10851 : : }
10852 : :
10853 : : case 5:
10854 : : switch (pattern1106 (x2,
10855 : : E_V4DImode))
10856 : : {
10857 : : case 0:
10858 : : if (!(
10859 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10860 : : (TARGET_AVX512F) && (
10861 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10862 : : (TARGET_AVX512FP16) &&
10863 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10864 : : (TARGET_AVX512VL))))
10865 : : return -1;
10866 : : return 4480; /* avx512fp16_vcvtph2uqq_v4di_mask */
10867 : :
10868 : : case 1:
10869 : : if (!(
10870 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10871 : : (TARGET_AVX512F) && (
10872 : : #line 9021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10873 : : (TARGET_AVX512DQ && 1) &&
10874 : : #line 615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10875 : : (TARGET_AVX512VL))))
10876 : : return -1;
10877 : : return 4899; /* avx512dq_cvtps2uqqv4di_mask */
10878 : :
10879 : : case 2:
10880 : : if (!(
10881 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10882 : : (TARGET_AVX512F) && (
10883 : : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10884 : : (TARGET_AVX512DQ && 1) &&
10885 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10886 : : (TARGET_AVX512VL))))
10887 : : return -1;
10888 : : return 5125; /* fixuns_notruncv4dfv4di2_mask */
10889 : :
10890 : : default:
10891 : : return -1;
10892 : : }
10893 : :
10894 : : case 6:
10895 : : if (pattern637 (x2,
10896 : : E_V8HImode,
10897 : : E_QImode,
10898 : : E_V8HFmode) != 0
10899 : : || !(
10900 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10901 : : (TARGET_AVX512F) && (
10902 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10903 : : (TARGET_AVX512FP16) &&
10904 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10905 : : (TARGET_AVX512VL))))
10906 : : return -1;
10907 : : return 4488; /* avx512fp16_vcvtph2uw_v8hi_mask */
10908 : :
10909 : : case 7:
10910 : : switch (pattern1106 (x2,
10911 : : E_V4SImode))
10912 : : {
10913 : : case 0:
10914 : : if (!(
10915 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10916 : : (TARGET_AVX512F) && (
10917 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10918 : : (TARGET_AVX512FP16) &&
10919 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10920 : : (TARGET_AVX512VL))))
10921 : : return -1;
10922 : : return 4496; /* avx512fp16_vcvtph2udq_v4si_mask */
10923 : :
10924 : : case 1:
10925 : : if (!(
10926 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10927 : : (TARGET_AVX512F) && (
10928 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10929 : : (TARGET_AVX512F) &&
10930 : : #line 663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10931 : : (TARGET_AVX512VL))))
10932 : : return -1;
10933 : : return 4884; /* avx512vl_fixuns_notruncv4sfv4si_mask */
10934 : :
10935 : : case 2:
10936 : : if (!(
10937 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10938 : : (TARGET_AVX512F) && (
10939 : : #line 9780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10940 : : (TARGET_AVX512F) &&
10941 : : #line 464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10942 : : (TARGET_AVX512VL))))
10943 : : return -1;
10944 : : return 5046; /* fixuns_notruncv4dfv4si2_mask */
10945 : :
10946 : : default:
10947 : : return -1;
10948 : : }
10949 : :
10950 : : case 8:
10951 : : switch (pattern1107 (x2))
10952 : : {
10953 : : case 0:
10954 : : if (!vector_operand (operands[1], E_V8HFmode)
10955 : : || !(
10956 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10957 : : (TARGET_AVX512F) && (
10958 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10959 : : (TARGET_AVX512FP16) &&
10960 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10961 : : (TARGET_AVX512VL))))
10962 : : return -1;
10963 : : return 4504; /* avx512fp16_vcvtph2uqq_v2di_mask */
10964 : :
10965 : : case 1:
10966 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
10967 : : || !(
10968 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10969 : : (TARGET_AVX512F) && (
10970 : : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10971 : : (TARGET_AVX512DQ && 1) &&
10972 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10973 : : (TARGET_AVX512VL))))
10974 : : return -1;
10975 : : return 5127; /* fixuns_notruncv2dfv2di2_mask */
10976 : :
10977 : : default:
10978 : : return -1;
10979 : : }
10980 : :
10981 : : case 9:
10982 : : if (!(
10983 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10984 : : (TARGET_AVX512F) &&
10985 : : #line 9034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10986 : : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10987 : : return -1;
10988 : : return 4901; /* avx512dq_cvtps2uqqv2di_mask */
10989 : :
10990 : : default:
10991 : : return -1;
10992 : : }
10993 : : }
10994 : :
10995 : : int
10996 : : recog_137 (rtx x1 ATTRIBUTE_UNUSED,
10997 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10998 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10999 : : {
11000 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11001 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
11002 : : int res ATTRIBUTE_UNUSED;
11003 : : x2 = XEXP (x1, 1);
11004 : : x3 = XEXP (x2, 0);
11005 : : x4 = XVECEXP (x3, 0, 0);
11006 : : operands[1] = x4;
11007 : : x5 = XVECEXP (x3, 0, 1);
11008 : : operands[2] = x5;
11009 : : x6 = XVECEXP (x3, 0, 2);
11010 : : switch (GET_CODE (x6))
11011 : : {
11012 : : case REG:
11013 : : case SUBREG:
11014 : : case MEM:
11015 : : operands[3] = x6;
11016 : : x7 = XEXP (x2, 1);
11017 : : switch (GET_CODE (x7))
11018 : : {
11019 : : case CONST_INT:
11020 : : case CONST_DOUBLE:
11021 : : case CONST_VECTOR:
11022 : : operands[4] = x7;
11023 : : x8 = XEXP (x2, 2);
11024 : : operands[5] = x8;
11025 : : switch (GET_MODE (operands[0]))
11026 : : {
11027 : : case E_V32HFmode:
11028 : : if (pattern1370 (x2,
11029 : : E_V32HFmode,
11030 : : E_SImode) != 0
11031 : : || !(
11032 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11033 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11034 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11035 : : (TARGET_AVX512FP16)))
11036 : : return -1;
11037 : : return 4127; /* fma_fmaddsub_v32hf_maskz_1 */
11038 : :
11039 : : case E_V16HFmode:
11040 : : if (pattern1370 (x2,
11041 : : E_V16HFmode,
11042 : : E_HImode) != 0
11043 : : || !(
11044 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11045 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11046 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11047 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11048 : : return -1;
11049 : : return 4131; /* fma_fmaddsub_v16hf_maskz_1 */
11050 : :
11051 : : case E_V8HFmode:
11052 : : if (pattern1370 (x2,
11053 : : E_V8HFmode,
11054 : : E_QImode) != 0
11055 : : || !(
11056 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11057 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11058 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11059 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11060 : : return -1;
11061 : : return 4133; /* fma_fmaddsub_v8hf_maskz_1 */
11062 : :
11063 : : case E_V16SFmode:
11064 : : if (pattern1370 (x2,
11065 : : E_V16SFmode,
11066 : : E_HImode) != 0
11067 : : || !
11068 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11069 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11070 : : return -1;
11071 : : return 4135; /* fma_fmaddsub_v16sf_maskz_1 */
11072 : :
11073 : : case E_V8SFmode:
11074 : : if (pattern1370 (x2,
11075 : : E_V8SFmode,
11076 : : E_QImode) != 0
11077 : : || !(
11078 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11079 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11080 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11081 : : (TARGET_AVX512VL)))
11082 : : return -1;
11083 : : return 4139; /* fma_fmaddsub_v8sf_maskz_1 */
11084 : :
11085 : : case E_V4SFmode:
11086 : : if (pattern1370 (x2,
11087 : : E_V4SFmode,
11088 : : E_QImode) != 0
11089 : : || !(
11090 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11091 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11092 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11093 : : (TARGET_AVX512VL)))
11094 : : return -1;
11095 : : return 4141; /* fma_fmaddsub_v4sf_maskz_1 */
11096 : :
11097 : : case E_V8DFmode:
11098 : : if (pattern1370 (x2,
11099 : : E_V8DFmode,
11100 : : E_QImode) != 0
11101 : : || !
11102 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11103 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11104 : : return -1;
11105 : : return 4143; /* fma_fmaddsub_v8df_maskz_1 */
11106 : :
11107 : : case E_V4DFmode:
11108 : : if (pattern1370 (x2,
11109 : : E_V4DFmode,
11110 : : E_QImode) != 0
11111 : : || !(
11112 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11113 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11114 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11115 : : (TARGET_AVX512VL)))
11116 : : return -1;
11117 : : return 4147; /* fma_fmaddsub_v4df_maskz_1 */
11118 : :
11119 : : case E_V2DFmode:
11120 : : if (pattern1370 (x2,
11121 : : E_V2DFmode,
11122 : : E_QImode) != 0
11123 : : || !(
11124 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11125 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11126 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11127 : : (TARGET_AVX512VL)))
11128 : : return -1;
11129 : : return 4149; /* fma_fmaddsub_v2df_maskz_1 */
11130 : :
11131 : : default:
11132 : : return -1;
11133 : : }
11134 : :
11135 : : case REG:
11136 : : case SUBREG:
11137 : : case MEM:
11138 : : x8 = XEXP (x2, 2);
11139 : : operands[4] = x8;
11140 : : switch (GET_MODE (operands[0]))
11141 : : {
11142 : : case E_V32HFmode:
11143 : : if (pattern1273 (x2,
11144 : : E_V32HFmode,
11145 : : E_SImode) != 0)
11146 : : return -1;
11147 : : if (register_operand (operands[1], E_V32HFmode)
11148 : : && vector_operand (operands[3], E_V32HFmode)
11149 : : && rtx_equal_p (x7, operands[1])
11150 : : && (
11151 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11152 : : (TARGET_AVX512F) &&
11153 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11154 : : (TARGET_AVX512FP16)))
11155 : : return 4150; /* avx512bw_fmaddsub_v32hf_mask */
11156 : : if (!nonimmediate_operand (operands[1], E_V32HFmode)
11157 : : || !nonimmediate_operand (operands[3], E_V32HFmode)
11158 : : || !rtx_equal_p (x7, operands[3])
11159 : : || !(
11160 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11161 : : (TARGET_AVX512F) &&
11162 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11163 : : (TARGET_AVX512FP16)))
11164 : : return -1;
11165 : : return 4168; /* avx512bw_fmaddsub_v32hf_mask3 */
11166 : :
11167 : : case E_V16HFmode:
11168 : : if (pattern1273 (x2,
11169 : : E_V16HFmode,
11170 : : E_HImode) != 0)
11171 : : return -1;
11172 : : if (register_operand (operands[1], E_V16HFmode)
11173 : : && vector_operand (operands[3], E_V16HFmode)
11174 : : && rtx_equal_p (x7, operands[1])
11175 : : && (
11176 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11177 : : (TARGET_AVX512F) &&
11178 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11179 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11180 : : return 4152; /* avx512vl_fmaddsub_v16hf_mask */
11181 : : if (!nonimmediate_operand (operands[1], E_V16HFmode)
11182 : : || !nonimmediate_operand (operands[3], E_V16HFmode)
11183 : : || !rtx_equal_p (x7, operands[3])
11184 : : || !(
11185 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11186 : : (TARGET_AVX512F) &&
11187 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11188 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11189 : : return -1;
11190 : : return 4170; /* avx512vl_fmaddsub_v16hf_mask3 */
11191 : :
11192 : : case E_V8HFmode:
11193 : : if (pattern1273 (x2,
11194 : : E_V8HFmode,
11195 : : E_QImode) != 0)
11196 : : return -1;
11197 : : if (register_operand (operands[1], E_V8HFmode)
11198 : : && vector_operand (operands[3], E_V8HFmode)
11199 : : && rtx_equal_p (x7, operands[1])
11200 : : && (
11201 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11202 : : (TARGET_AVX512F) &&
11203 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11204 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11205 : : return 4154; /* avx512fp16_fmaddsub_v8hf_mask */
11206 : : if (!nonimmediate_operand (operands[1], E_V8HFmode)
11207 : : || !nonimmediate_operand (operands[3], E_V8HFmode)
11208 : : || !rtx_equal_p (x7, operands[3])
11209 : : || !(
11210 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11211 : : (TARGET_AVX512F) &&
11212 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11213 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11214 : : return -1;
11215 : : return 4172; /* avx512fp16_fmaddsub_v8hf_mask3 */
11216 : :
11217 : : case E_V16SFmode:
11218 : : if (pattern1273 (x2,
11219 : : E_V16SFmode,
11220 : : E_HImode) != 0)
11221 : : return -1;
11222 : : if (register_operand (operands[1], E_V16SFmode)
11223 : : && vector_operand (operands[3], E_V16SFmode)
11224 : : && rtx_equal_p (x7, operands[1])
11225 : : &&
11226 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11227 : : (TARGET_AVX512F))
11228 : : return 4156; /* avx512f_fmaddsub_v16sf_mask */
11229 : : if (!nonimmediate_operand (operands[1], E_V16SFmode)
11230 : : || !nonimmediate_operand (operands[3], E_V16SFmode)
11231 : : || !rtx_equal_p (x7, operands[3])
11232 : : || !
11233 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11234 : : (TARGET_AVX512F))
11235 : : return -1;
11236 : : return 4174; /* avx512f_fmaddsub_v16sf_mask3 */
11237 : :
11238 : : case E_V8SFmode:
11239 : : if (pattern1273 (x2,
11240 : : E_V8SFmode,
11241 : : E_QImode) != 0)
11242 : : return -1;
11243 : : if (register_operand (operands[1], E_V8SFmode)
11244 : : && vector_operand (operands[3], E_V8SFmode)
11245 : : && rtx_equal_p (x7, operands[1])
11246 : : && (
11247 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11248 : : (TARGET_AVX512F) &&
11249 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11250 : : (TARGET_AVX512VL)))
11251 : : return 4158; /* avx512vl_fmaddsub_v8sf_mask */
11252 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
11253 : : || !nonimmediate_operand (operands[3], E_V8SFmode)
11254 : : || !rtx_equal_p (x7, operands[3])
11255 : : || !(
11256 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11257 : : (TARGET_AVX512F) &&
11258 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11259 : : (TARGET_AVX512VL)))
11260 : : return -1;
11261 : : return 4176; /* avx512vl_fmaddsub_v8sf_mask3 */
11262 : :
11263 : : case E_V4SFmode:
11264 : : if (pattern1273 (x2,
11265 : : E_V4SFmode,
11266 : : E_QImode) != 0)
11267 : : return -1;
11268 : : if (register_operand (operands[1], E_V4SFmode)
11269 : : && vector_operand (operands[3], E_V4SFmode)
11270 : : && rtx_equal_p (x7, operands[1])
11271 : : && (
11272 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11273 : : (TARGET_AVX512F) &&
11274 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11275 : : (TARGET_AVX512VL)))
11276 : : return 4160; /* avx512vl_fmaddsub_v4sf_mask */
11277 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
11278 : : || !nonimmediate_operand (operands[3], E_V4SFmode)
11279 : : || !rtx_equal_p (x7, operands[3])
11280 : : || !(
11281 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11282 : : (TARGET_AVX512F) &&
11283 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11284 : : (TARGET_AVX512VL)))
11285 : : return -1;
11286 : : return 4178; /* avx512vl_fmaddsub_v4sf_mask3 */
11287 : :
11288 : : case E_V8DFmode:
11289 : : if (pattern1273 (x2,
11290 : : E_V8DFmode,
11291 : : E_QImode) != 0)
11292 : : return -1;
11293 : : if (register_operand (operands[1], E_V8DFmode)
11294 : : && vector_operand (operands[3], E_V8DFmode)
11295 : : && rtx_equal_p (x7, operands[1])
11296 : : &&
11297 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11298 : : (TARGET_AVX512F))
11299 : : return 4162; /* avx512f_fmaddsub_v8df_mask */
11300 : : if (!nonimmediate_operand (operands[1], E_V8DFmode)
11301 : : || !nonimmediate_operand (operands[3], E_V8DFmode)
11302 : : || !rtx_equal_p (x7, operands[3])
11303 : : || !
11304 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11305 : : (TARGET_AVX512F))
11306 : : return -1;
11307 : : return 4180; /* avx512f_fmaddsub_v8df_mask3 */
11308 : :
11309 : : case E_V4DFmode:
11310 : : if (pattern1273 (x2,
11311 : : E_V4DFmode,
11312 : : E_QImode) != 0)
11313 : : return -1;
11314 : : if (register_operand (operands[1], E_V4DFmode)
11315 : : && vector_operand (operands[3], E_V4DFmode)
11316 : : && rtx_equal_p (x7, operands[1])
11317 : : && (
11318 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11319 : : (TARGET_AVX512F) &&
11320 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11321 : : (TARGET_AVX512VL)))
11322 : : return 4164; /* avx512vl_fmaddsub_v4df_mask */
11323 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
11324 : : || !nonimmediate_operand (operands[3], E_V4DFmode)
11325 : : || !rtx_equal_p (x7, operands[3])
11326 : : || !(
11327 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11328 : : (TARGET_AVX512F) &&
11329 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11330 : : (TARGET_AVX512VL)))
11331 : : return -1;
11332 : : return 4182; /* avx512vl_fmaddsub_v4df_mask3 */
11333 : :
11334 : : case E_V2DFmode:
11335 : : if (pattern1273 (x2,
11336 : : E_V2DFmode,
11337 : : E_QImode) != 0)
11338 : : return -1;
11339 : : if (register_operand (operands[1], E_V2DFmode)
11340 : : && vector_operand (operands[3], E_V2DFmode)
11341 : : && rtx_equal_p (x7, operands[1])
11342 : : && (
11343 : : #line 6735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11344 : : (TARGET_AVX512F) &&
11345 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11346 : : (TARGET_AVX512VL)))
11347 : : return 4166; /* avx512vl_fmaddsub_v2df_mask */
11348 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
11349 : : || !nonimmediate_operand (operands[3], E_V2DFmode)
11350 : : || !rtx_equal_p (x7, operands[3])
11351 : : || !(
11352 : : #line 6753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11353 : : (TARGET_AVX512F) &&
11354 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11355 : : (TARGET_AVX512VL)))
11356 : : return -1;
11357 : : return 4184; /* avx512vl_fmaddsub_v2df_mask3 */
11358 : :
11359 : : default:
11360 : : return -1;
11361 : : }
11362 : :
11363 : : default:
11364 : : return -1;
11365 : : }
11366 : :
11367 : : case NEG:
11368 : : x9 = XEXP (x6, 0);
11369 : : operands[3] = x9;
11370 : : x7 = XEXP (x2, 1);
11371 : : switch (GET_CODE (x7))
11372 : : {
11373 : : case CONST_INT:
11374 : : case CONST_DOUBLE:
11375 : : case CONST_VECTOR:
11376 : : operands[4] = x7;
11377 : : x8 = XEXP (x2, 2);
11378 : : operands[5] = x8;
11379 : : switch (GET_MODE (operands[0]))
11380 : : {
11381 : : case E_V32HFmode:
11382 : : if (pattern1371 (x2,
11383 : : E_V32HFmode,
11384 : : E_SImode) != 0
11385 : : || !(
11386 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11387 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11388 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11389 : : (TARGET_AVX512FP16)))
11390 : : return -1;
11391 : : return 4191; /* fma_fmsubadd_v32hf_maskz_1 */
11392 : :
11393 : : case E_V16HFmode:
11394 : : if (pattern1371 (x2,
11395 : : E_V16HFmode,
11396 : : E_HImode) != 0
11397 : : || !(
11398 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11399 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11400 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11401 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11402 : : return -1;
11403 : : return 4195; /* fma_fmsubadd_v16hf_maskz_1 */
11404 : :
11405 : : case E_V8HFmode:
11406 : : if (pattern1371 (x2,
11407 : : E_V8HFmode,
11408 : : E_QImode) != 0
11409 : : || !(
11410 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11411 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11412 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11413 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11414 : : return -1;
11415 : : return 4197; /* fma_fmsubadd_v8hf_maskz_1 */
11416 : :
11417 : : case E_V16SFmode:
11418 : : if (pattern1371 (x2,
11419 : : E_V16SFmode,
11420 : : E_HImode) != 0
11421 : : || !
11422 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11423 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11424 : : return -1;
11425 : : return 4199; /* fma_fmsubadd_v16sf_maskz_1 */
11426 : :
11427 : : case E_V8SFmode:
11428 : : if (pattern1371 (x2,
11429 : : E_V8SFmode,
11430 : : E_QImode) != 0
11431 : : || !(
11432 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11433 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11434 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11435 : : (TARGET_AVX512VL)))
11436 : : return -1;
11437 : : return 4203; /* fma_fmsubadd_v8sf_maskz_1 */
11438 : :
11439 : : case E_V4SFmode:
11440 : : if (pattern1371 (x2,
11441 : : E_V4SFmode,
11442 : : E_QImode) != 0
11443 : : || !(
11444 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11445 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11446 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11447 : : (TARGET_AVX512VL)))
11448 : : return -1;
11449 : : return 4205; /* fma_fmsubadd_v4sf_maskz_1 */
11450 : :
11451 : : case E_V8DFmode:
11452 : : if (pattern1371 (x2,
11453 : : E_V8DFmode,
11454 : : E_QImode) != 0
11455 : : || !
11456 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11457 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11458 : : return -1;
11459 : : return 4207; /* fma_fmsubadd_v8df_maskz_1 */
11460 : :
11461 : : case E_V4DFmode:
11462 : : if (pattern1371 (x2,
11463 : : E_V4DFmode,
11464 : : E_QImode) != 0
11465 : : || !(
11466 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11467 : : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11468 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11469 : : (TARGET_AVX512VL)))
11470 : : return -1;
11471 : : return 4211; /* fma_fmsubadd_v4df_maskz_1 */
11472 : :
11473 : : case E_V2DFmode:
11474 : : if (pattern1371 (x2,
11475 : : E_V2DFmode,
11476 : : E_QImode) != 0
11477 : : || !(
11478 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11479 : : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11480 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11481 : : (TARGET_AVX512VL)))
11482 : : return -1;
11483 : : return 4213; /* fma_fmsubadd_v2df_maskz_1 */
11484 : :
11485 : : default:
11486 : : return -1;
11487 : : }
11488 : :
11489 : : case REG:
11490 : : case SUBREG:
11491 : : case MEM:
11492 : : x8 = XEXP (x2, 2);
11493 : : operands[4] = x8;
11494 : : switch (GET_MODE (operands[0]))
11495 : : {
11496 : : case E_V32HFmode:
11497 : : if (pattern1274 (x2,
11498 : : E_V32HFmode,
11499 : : E_SImode) != 0)
11500 : : return -1;
11501 : : if (vector_operand (operands[3], E_V32HFmode)
11502 : : && rtx_equal_p (x7, operands[1])
11503 : : && (
11504 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11505 : : (TARGET_AVX512F) &&
11506 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11507 : : (TARGET_AVX512FP16)))
11508 : : return 4214; /* avx512bw_fmsubadd_v32hf_mask */
11509 : : if (!nonimmediate_operand (operands[3], E_V32HFmode)
11510 : : || !rtx_equal_p (x7, operands[3])
11511 : : || !(
11512 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11513 : : (TARGET_AVX512F) &&
11514 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11515 : : (TARGET_AVX512FP16)))
11516 : : return -1;
11517 : : return 4232; /* avx512bw_fmsubadd_v32hf_mask3 */
11518 : :
11519 : : case E_V16HFmode:
11520 : : if (pattern1274 (x2,
11521 : : E_V16HFmode,
11522 : : E_HImode) != 0)
11523 : : return -1;
11524 : : if (vector_operand (operands[3], E_V16HFmode)
11525 : : && rtx_equal_p (x7, operands[1])
11526 : : && (
11527 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11528 : : (TARGET_AVX512F) &&
11529 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11530 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11531 : : return 4216; /* avx512vl_fmsubadd_v16hf_mask */
11532 : : if (!nonimmediate_operand (operands[3], E_V16HFmode)
11533 : : || !rtx_equal_p (x7, operands[3])
11534 : : || !(
11535 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11536 : : (TARGET_AVX512F) &&
11537 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11538 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11539 : : return -1;
11540 : : return 4234; /* avx512vl_fmsubadd_v16hf_mask3 */
11541 : :
11542 : : case E_V8HFmode:
11543 : : if (pattern1274 (x2,
11544 : : E_V8HFmode,
11545 : : E_QImode) != 0)
11546 : : return -1;
11547 : : if (vector_operand (operands[3], E_V8HFmode)
11548 : : && rtx_equal_p (x7, operands[1])
11549 : : && (
11550 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11551 : : (TARGET_AVX512F) &&
11552 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11553 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11554 : : return 4218; /* avx512fp16_fmsubadd_v8hf_mask */
11555 : : if (!nonimmediate_operand (operands[3], E_V8HFmode)
11556 : : || !rtx_equal_p (x7, operands[3])
11557 : : || !(
11558 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11559 : : (TARGET_AVX512F) &&
11560 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11561 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11562 : : return -1;
11563 : : return 4236; /* avx512fp16_fmsubadd_v8hf_mask3 */
11564 : :
11565 : : case E_V16SFmode:
11566 : : if (pattern1274 (x2,
11567 : : E_V16SFmode,
11568 : : E_HImode) != 0)
11569 : : return -1;
11570 : : if (vector_operand (operands[3], E_V16SFmode)
11571 : : && rtx_equal_p (x7, operands[1])
11572 : : &&
11573 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11574 : : (TARGET_AVX512F))
11575 : : return 4220; /* avx512f_fmsubadd_v16sf_mask */
11576 : : if (!nonimmediate_operand (operands[3], E_V16SFmode)
11577 : : || !rtx_equal_p (x7, operands[3])
11578 : : || !
11579 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11580 : : (TARGET_AVX512F))
11581 : : return -1;
11582 : : return 4238; /* avx512f_fmsubadd_v16sf_mask3 */
11583 : :
11584 : : case E_V8SFmode:
11585 : : if (pattern1274 (x2,
11586 : : E_V8SFmode,
11587 : : E_QImode) != 0)
11588 : : return -1;
11589 : : if (vector_operand (operands[3], E_V8SFmode)
11590 : : && rtx_equal_p (x7, operands[1])
11591 : : && (
11592 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11593 : : (TARGET_AVX512F) &&
11594 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11595 : : (TARGET_AVX512VL)))
11596 : : return 4222; /* avx512vl_fmsubadd_v8sf_mask */
11597 : : if (!nonimmediate_operand (operands[3], E_V8SFmode)
11598 : : || !rtx_equal_p (x7, operands[3])
11599 : : || !(
11600 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11601 : : (TARGET_AVX512F) &&
11602 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11603 : : (TARGET_AVX512VL)))
11604 : : return -1;
11605 : : return 4240; /* avx512vl_fmsubadd_v8sf_mask3 */
11606 : :
11607 : : case E_V4SFmode:
11608 : : if (pattern1274 (x2,
11609 : : E_V4SFmode,
11610 : : E_QImode) != 0)
11611 : : return -1;
11612 : : if (vector_operand (operands[3], E_V4SFmode)
11613 : : && rtx_equal_p (x7, operands[1])
11614 : : && (
11615 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11616 : : (TARGET_AVX512F) &&
11617 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11618 : : (TARGET_AVX512VL)))
11619 : : return 4224; /* avx512vl_fmsubadd_v4sf_mask */
11620 : : if (!nonimmediate_operand (operands[3], E_V4SFmode)
11621 : : || !rtx_equal_p (x7, operands[3])
11622 : : || !(
11623 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11624 : : (TARGET_AVX512F) &&
11625 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11626 : : (TARGET_AVX512VL)))
11627 : : return -1;
11628 : : return 4242; /* avx512vl_fmsubadd_v4sf_mask3 */
11629 : :
11630 : : case E_V8DFmode:
11631 : : if (pattern1274 (x2,
11632 : : E_V8DFmode,
11633 : : E_QImode) != 0)
11634 : : return -1;
11635 : : if (vector_operand (operands[3], E_V8DFmode)
11636 : : && rtx_equal_p (x7, operands[1])
11637 : : &&
11638 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11639 : : (TARGET_AVX512F))
11640 : : return 4226; /* avx512f_fmsubadd_v8df_mask */
11641 : : if (!nonimmediate_operand (operands[3], E_V8DFmode)
11642 : : || !rtx_equal_p (x7, operands[3])
11643 : : || !
11644 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11645 : : (TARGET_AVX512F))
11646 : : return -1;
11647 : : return 4244; /* avx512f_fmsubadd_v8df_mask3 */
11648 : :
11649 : : case E_V4DFmode:
11650 : : if (pattern1274 (x2,
11651 : : E_V4DFmode,
11652 : : E_QImode) != 0)
11653 : : return -1;
11654 : : if (vector_operand (operands[3], E_V4DFmode)
11655 : : && rtx_equal_p (x7, operands[1])
11656 : : && (
11657 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11658 : : (TARGET_AVX512F) &&
11659 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11660 : : (TARGET_AVX512VL)))
11661 : : return 4228; /* avx512vl_fmsubadd_v4df_mask */
11662 : : if (!nonimmediate_operand (operands[3], E_V4DFmode)
11663 : : || !rtx_equal_p (x7, operands[3])
11664 : : || !(
11665 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11666 : : (TARGET_AVX512F) &&
11667 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11668 : : (TARGET_AVX512VL)))
11669 : : return -1;
11670 : : return 4246; /* avx512vl_fmsubadd_v4df_mask3 */
11671 : :
11672 : : case E_V2DFmode:
11673 : : if (pattern1274 (x2,
11674 : : E_V2DFmode,
11675 : : E_QImode) != 0)
11676 : : return -1;
11677 : : if (vector_operand (operands[3], E_V2DFmode)
11678 : : && rtx_equal_p (x7, operands[1])
11679 : : && (
11680 : : #line 6806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11681 : : (TARGET_AVX512F) &&
11682 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11683 : : (TARGET_AVX512VL)))
11684 : : return 4230; /* avx512vl_fmsubadd_v2df_mask */
11685 : : if (!nonimmediate_operand (operands[3], E_V2DFmode)
11686 : : || !rtx_equal_p (x7, operands[3])
11687 : : || !(
11688 : : #line 6825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11689 : : (TARGET_AVX512F) &&
11690 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11691 : : (TARGET_AVX512VL)))
11692 : : return -1;
11693 : : return 4248; /* avx512vl_fmsubadd_v2df_mask3 */
11694 : :
11695 : : default:
11696 : : return -1;
11697 : : }
11698 : :
11699 : : default:
11700 : : return -1;
11701 : : }
11702 : :
11703 : : default:
11704 : : return -1;
11705 : : }
11706 : : }
11707 : :
11708 : : int
11709 : : recog_161 (rtx x1 ATTRIBUTE_UNUSED,
11710 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11711 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11712 : : {
11713 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11714 : : rtx x2, x3, x4;
11715 : : int res ATTRIBUTE_UNUSED;
11716 : : switch (GET_CODE (operands[4]))
11717 : : {
11718 : : case REG:
11719 : : case SUBREG:
11720 : : case MEM:
11721 : : x2 = XEXP (x1, 1);
11722 : : switch (pattern1287 (x2))
11723 : : {
11724 : : case 0:
11725 : : if ((
11726 : : #line 4293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11727 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11728 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11729 : : (TARGET_AVX)))
11730 : : return 3274; /* *avx_cmpv8sf3_1 */
11731 : : break;
11732 : :
11733 : : case 1:
11734 : : if (
11735 : : #line 4293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11736 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
11737 : : return 3275; /* *avx_cmpv4sf3_1 */
11738 : : break;
11739 : :
11740 : : case 2:
11741 : : if ((
11742 : : #line 4293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11743 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11744 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11745 : : (TARGET_AVX)))
11746 : : return 3276; /* *avx_cmpv4df3_1 */
11747 : : break;
11748 : :
11749 : : case 3:
11750 : : if ((
11751 : : #line 4293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11752 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11753 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11754 : : (TARGET_SSE2)))
11755 : : return 3277; /* *avx_cmpv2df3_1 */
11756 : : break;
11757 : :
11758 : : default:
11759 : : break;
11760 : : }
11761 : : break;
11762 : :
11763 : : case CONST_INT:
11764 : : case CONST_DOUBLE:
11765 : : case CONST_VECTOR:
11766 : : x2 = XEXP (x1, 1);
11767 : : x3 = XEXP (x2, 2);
11768 : : x4 = XVECEXP (x3, 0, 2);
11769 : : if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 1])
11770 : : {
11771 : : switch (GET_MODE (operands[0]))
11772 : : {
11773 : : case E_V32HImode:
11774 : : if (pattern1475 (x2,
11775 : : E_V32HImode,
11776 : : E_SImode) == 0
11777 : : && (
11778 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11779 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11780 : : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11781 : : (TARGET_AVX512BW)))
11782 : : return 7663; /* *avx512_ashrv32hi3_1 */
11783 : : break;
11784 : :
11785 : : case E_V16HImode:
11786 : : if (pattern1475 (x2,
11787 : : E_V16HImode,
11788 : : E_HImode) == 0
11789 : : && (
11790 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11791 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11792 : : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11793 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
11794 : : return 7664; /* *avx512_ashrv16hi3_1 */
11795 : : break;
11796 : :
11797 : : case E_V8HImode:
11798 : : if (pattern1475 (x2,
11799 : : E_V8HImode,
11800 : : E_QImode) == 0
11801 : : && (
11802 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11803 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11804 : : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11805 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
11806 : : return 7665; /* *avx512_ashrv8hi3_1 */
11807 : : break;
11808 : :
11809 : : case E_V16SImode:
11810 : : if (pattern1475 (x2,
11811 : : E_V16SImode,
11812 : : E_HImode) == 0
11813 : : &&
11814 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11815 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
11816 : : return 7666; /* *avx512_ashrv16si3_1 */
11817 : : break;
11818 : :
11819 : : case E_V8SImode:
11820 : : if (pattern1475 (x2,
11821 : : E_V8SImode,
11822 : : E_QImode) == 0
11823 : : && (
11824 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11825 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11826 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11827 : : (TARGET_AVX512VL)))
11828 : : return 7667; /* *avx512_ashrv8si3_1 */
11829 : : break;
11830 : :
11831 : : case E_V4SImode:
11832 : : if (pattern1475 (x2,
11833 : : E_V4SImode,
11834 : : E_QImode) == 0
11835 : : && (
11836 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11837 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11838 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11839 : : (TARGET_AVX512VL)))
11840 : : return 7668; /* *avx512_ashrv4si3_1 */
11841 : : break;
11842 : :
11843 : : case E_V8DImode:
11844 : : if (pattern1475 (x2,
11845 : : E_V8DImode,
11846 : : E_QImode) == 0
11847 : : &&
11848 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11849 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
11850 : : return 7669; /* *avx512_ashrv8di3_1 */
11851 : : break;
11852 : :
11853 : : case E_V4DImode:
11854 : : if (pattern1475 (x2,
11855 : : E_V4DImode,
11856 : : E_QImode) == 0
11857 : : && (
11858 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11859 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11860 : : #line 755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11861 : : (TARGET_AVX512VL)))
11862 : : return 7670; /* *avx512_ashrv4di3_1 */
11863 : : break;
11864 : :
11865 : : case E_V2DImode:
11866 : : if (pattern1475 (x2,
11867 : : E_V2DImode,
11868 : : E_QImode) == 0
11869 : : && (
11870 : : #line 17430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11871 : : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11872 : : #line 755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11873 : : (TARGET_AVX512VL)))
11874 : : return 7671; /* *avx512_ashrv2di3_1 */
11875 : : break;
11876 : :
11877 : : default:
11878 : : break;
11879 : : }
11880 : : }
11881 : : break;
11882 : :
11883 : : default:
11884 : : break;
11885 : : }
11886 : : x2 = XEXP (x1, 1);
11887 : : x3 = XEXP (x2, 2);
11888 : : x4 = XVECEXP (x3, 0, 2);
11889 : : operands[5] = x4;
11890 : : switch (pattern1288 (x2))
11891 : : {
11892 : : case 0:
11893 : : if (vector_all_ones_operand (operands[1], E_V16QImode)
11894 : : && const0_operand (operands[2], E_V16QImode))
11895 : : {
11896 : : if (nonimm_or_0_operand (operands[3], E_V16QImode)
11897 : : && nonimm_or_0_operand (operands[4], E_V16QImode)
11898 : : &&
11899 : : #line 18247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11900 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
11901 : : /* EQ is commutative. */
11902 : : && ((INTVAL (operands[5]) == 0
11903 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11904 : : /* NLE aka GT, 3 must be register. */
11905 : : || (INTVAL (operands[5]) == 6
11906 : : && !MEM_P (operands[3]))
11907 : : /* LT, 4 must be register and we swap operands. */
11908 : : || (INTVAL (operands[5]) == 1
11909 : : && !MEM_P (operands[4])))))
11910 : : return 7927; /* *avx2_pcmpv16qi3_1 */
11911 : : if (nonimmediate_operand (operands[3], E_V16QImode)
11912 : : && nonimmediate_operand (operands[4], E_V16QImode)
11913 : : &&
11914 : : #line 18411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11915 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
11916 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11917 : : return 7949; /* *avx2_pcmpv16qi3_6 */
11918 : : }
11919 : : if (!const0_operand (operands[1], E_V16QImode)
11920 : : || !vector_all_ones_operand (operands[2], E_V16QImode)
11921 : : || !nonimmediate_operand (operands[3], E_V16QImode)
11922 : : || !nonimmediate_operand (operands[4], E_V16QImode)
11923 : : || !
11924 : : #line 18437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11925 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
11926 : : /* NE is commutative. */
11927 : : && (INTVAL (operands[5]) == 4
11928 : : /* LE, 3 must be register. */
11929 : : || INTVAL (operands[5]) == 2
11930 : : /* NLT aka GE, 4 must be register and we swap operands. */
11931 : : || INTVAL (operands[5]) == 5)))
11932 : : return -1;
11933 : : return 7965; /* *avx2_pcmpv16qi3_7 */
11934 : :
11935 : : case 1:
11936 : : if (vector_all_ones_operand (operands[1], E_V8HImode)
11937 : : && const0_operand (operands[2], E_V8HImode))
11938 : : {
11939 : : if (nonimm_or_0_operand (operands[3], E_V8HImode)
11940 : : && nonimm_or_0_operand (operands[4], E_V8HImode)
11941 : : &&
11942 : : #line 18247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11943 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
11944 : : /* EQ is commutative. */
11945 : : && ((INTVAL (operands[5]) == 0
11946 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11947 : : /* NLE aka GT, 3 must be register. */
11948 : : || (INTVAL (operands[5]) == 6
11949 : : && !MEM_P (operands[3]))
11950 : : /* LT, 4 must be register and we swap operands. */
11951 : : || (INTVAL (operands[5]) == 1
11952 : : && !MEM_P (operands[4])))))
11953 : : return 7928; /* *avx2_pcmpv8hi3_1 */
11954 : : if (nonimmediate_operand (operands[3], E_V8HImode)
11955 : : && nonimmediate_operand (operands[4], E_V8HImode)
11956 : : &&
11957 : : #line 18411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11958 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
11959 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11960 : : return 7951; /* *avx2_pcmpv8hi3_6 */
11961 : : }
11962 : : if (!const0_operand (operands[1], E_V8HImode)
11963 : : || !vector_all_ones_operand (operands[2], E_V8HImode)
11964 : : || !nonimmediate_operand (operands[3], E_V8HImode)
11965 : : || !nonimmediate_operand (operands[4], E_V8HImode)
11966 : : || !
11967 : : #line 18437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11968 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
11969 : : /* NE is commutative. */
11970 : : && (INTVAL (operands[5]) == 4
11971 : : /* LE, 3 must be register. */
11972 : : || INTVAL (operands[5]) == 2
11973 : : /* NLT aka GE, 4 must be register and we swap operands. */
11974 : : || INTVAL (operands[5]) == 5)))
11975 : : return -1;
11976 : : return 7966; /* *avx2_pcmpv8hi3_7 */
11977 : :
11978 : : case 2:
11979 : : if (vector_all_ones_operand (operands[1], E_V4SImode)
11980 : : && const0_operand (operands[2], E_V4SImode))
11981 : : {
11982 : : if (nonimm_or_0_operand (operands[3], E_V4SImode)
11983 : : && nonimm_or_0_operand (operands[4], E_V4SImode)
11984 : : &&
11985 : : #line 18247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11986 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
11987 : : /* EQ is commutative. */
11988 : : && ((INTVAL (operands[5]) == 0
11989 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11990 : : /* NLE aka GT, 3 must be register. */
11991 : : || (INTVAL (operands[5]) == 6
11992 : : && !MEM_P (operands[3]))
11993 : : /* LT, 4 must be register and we swap operands. */
11994 : : || (INTVAL (operands[5]) == 1
11995 : : && !MEM_P (operands[4])))))
11996 : : return 7929; /* *avx2_pcmpv4si3_1 */
11997 : : if (nonimmediate_operand (operands[3], E_V4SImode)
11998 : : && nonimmediate_operand (operands[4], E_V4SImode)
11999 : : &&
12000 : : #line 18411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12001 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12002 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12003 : : return 7953; /* *avx2_pcmpv4si3_6 */
12004 : : }
12005 : : if (!const0_operand (operands[1], E_V4SImode)
12006 : : || !vector_all_ones_operand (operands[2], E_V4SImode)
12007 : : || !nonimmediate_operand (operands[3], E_V4SImode)
12008 : : || !nonimmediate_operand (operands[4], E_V4SImode)
12009 : : || !
12010 : : #line 18437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12011 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12012 : : /* NE is commutative. */
12013 : : && (INTVAL (operands[5]) == 4
12014 : : /* LE, 3 must be register. */
12015 : : || INTVAL (operands[5]) == 2
12016 : : /* NLT aka GE, 4 must be register and we swap operands. */
12017 : : || INTVAL (operands[5]) == 5)))
12018 : : return -1;
12019 : : return 7967; /* *avx2_pcmpv4si3_7 */
12020 : :
12021 : : case 3:
12022 : : if (vector_all_ones_operand (operands[1], E_V2DImode)
12023 : : && const0_operand (operands[2], E_V2DImode))
12024 : : {
12025 : : if (nonimm_or_0_operand (operands[3], E_V2DImode)
12026 : : && nonimm_or_0_operand (operands[4], E_V2DImode)
12027 : : &&
12028 : : #line 18247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12029 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12030 : : /* EQ is commutative. */
12031 : : && ((INTVAL (operands[5]) == 0
12032 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12033 : : /* NLE aka GT, 3 must be register. */
12034 : : || (INTVAL (operands[5]) == 6
12035 : : && !MEM_P (operands[3]))
12036 : : /* LT, 4 must be register and we swap operands. */
12037 : : || (INTVAL (operands[5]) == 1
12038 : : && !MEM_P (operands[4])))))
12039 : : return 7930; /* *avx2_pcmpv2di3_1 */
12040 : : if (nonimmediate_operand (operands[3], E_V2DImode)
12041 : : && nonimmediate_operand (operands[4], E_V2DImode)
12042 : : &&
12043 : : #line 18411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12044 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12045 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12046 : : return 7955; /* *avx2_pcmpv2di3_6 */
12047 : : }
12048 : : if (!const0_operand (operands[1], E_V2DImode)
12049 : : || !vector_all_ones_operand (operands[2], E_V2DImode)
12050 : : || !nonimmediate_operand (operands[3], E_V2DImode)
12051 : : || !nonimmediate_operand (operands[4], E_V2DImode)
12052 : : || !
12053 : : #line 18437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12054 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12055 : : /* NE is commutative. */
12056 : : && (INTVAL (operands[5]) == 4
12057 : : /* LE, 3 must be register. */
12058 : : || INTVAL (operands[5]) == 2
12059 : : /* NLT aka GE, 4 must be register and we swap operands. */
12060 : : || INTVAL (operands[5]) == 5)))
12061 : : return -1;
12062 : : return 7968; /* *avx2_pcmpv2di3_7 */
12063 : :
12064 : : case 4:
12065 : : if (vector_all_ones_operand (operands[1], E_V32QImode)
12066 : : && const0_operand (operands[2], E_V32QImode))
12067 : : {
12068 : : if (nonimm_or_0_operand (operands[3], E_V32QImode)
12069 : : && nonimm_or_0_operand (operands[4], E_V32QImode)
12070 : : &&
12071 : : #line 18247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12072 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12073 : : /* EQ is commutative. */
12074 : : && ((INTVAL (operands[5]) == 0
12075 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12076 : : /* NLE aka GT, 3 must be register. */
12077 : : || (INTVAL (operands[5]) == 6
12078 : : && !MEM_P (operands[3]))
12079 : : /* LT, 4 must be register and we swap operands. */
12080 : : || (INTVAL (operands[5]) == 1
12081 : : && !MEM_P (operands[4])))))
12082 : : return 7931; /* *avx2_pcmpv32qi3_1 */
12083 : : if (nonimmediate_operand (operands[3], E_V32QImode)
12084 : : && nonimmediate_operand (operands[4], E_V32QImode)
12085 : : &&
12086 : : #line 18411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12087 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12088 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12089 : : return 7957; /* *avx2_pcmpv32qi3_6 */
12090 : : }
12091 : : if (!const0_operand (operands[1], E_V32QImode)
12092 : : || !vector_all_ones_operand (operands[2], E_V32QImode)
12093 : : || !nonimmediate_operand (operands[3], E_V32QImode)
12094 : : || !nonimmediate_operand (operands[4], E_V32QImode)
12095 : : || !
12096 : : #line 18437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12097 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12098 : : /* NE is commutative. */
12099 : : && (INTVAL (operands[5]) == 4
12100 : : /* LE, 3 must be register. */
12101 : : || INTVAL (operands[5]) == 2
12102 : : /* NLT aka GE, 4 must be register and we swap operands. */
12103 : : || INTVAL (operands[5]) == 5)))
12104 : : return -1;
12105 : : return 7969; /* *avx2_pcmpv32qi3_7 */
12106 : :
12107 : : case 5:
12108 : : if (vector_all_ones_operand (operands[1], E_V16HImode)
12109 : : && const0_operand (operands[2], E_V16HImode))
12110 : : {
12111 : : if (nonimm_or_0_operand (operands[3], E_V16HImode)
12112 : : && nonimm_or_0_operand (operands[4], E_V16HImode)
12113 : : &&
12114 : : #line 18247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12115 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12116 : : /* EQ is commutative. */
12117 : : && ((INTVAL (operands[5]) == 0
12118 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12119 : : /* NLE aka GT, 3 must be register. */
12120 : : || (INTVAL (operands[5]) == 6
12121 : : && !MEM_P (operands[3]))
12122 : : /* LT, 4 must be register and we swap operands. */
12123 : : || (INTVAL (operands[5]) == 1
12124 : : && !MEM_P (operands[4])))))
12125 : : return 7932; /* *avx2_pcmpv16hi3_1 */
12126 : : if (nonimmediate_operand (operands[3], E_V16HImode)
12127 : : && nonimmediate_operand (operands[4], E_V16HImode)
12128 : : &&
12129 : : #line 18411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12130 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12131 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12132 : : return 7959; /* *avx2_pcmpv16hi3_6 */
12133 : : }
12134 : : if (!const0_operand (operands[1], E_V16HImode)
12135 : : || !vector_all_ones_operand (operands[2], E_V16HImode)
12136 : : || !nonimmediate_operand (operands[3], E_V16HImode)
12137 : : || !nonimmediate_operand (operands[4], E_V16HImode)
12138 : : || !
12139 : : #line 18437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12140 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12141 : : /* NE is commutative. */
12142 : : && (INTVAL (operands[5]) == 4
12143 : : /* LE, 3 must be register. */
12144 : : || INTVAL (operands[5]) == 2
12145 : : /* NLT aka GE, 4 must be register and we swap operands. */
12146 : : || INTVAL (operands[5]) == 5)))
12147 : : return -1;
12148 : : return 7970; /* *avx2_pcmpv16hi3_7 */
12149 : :
12150 : : case 6:
12151 : : if (vector_all_ones_operand (operands[1], E_V8SImode)
12152 : : && const0_operand (operands[2], E_V8SImode))
12153 : : {
12154 : : if (nonimm_or_0_operand (operands[3], E_V8SImode)
12155 : : && nonimm_or_0_operand (operands[4], E_V8SImode)
12156 : : &&
12157 : : #line 18247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12158 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12159 : : /* EQ is commutative. */
12160 : : && ((INTVAL (operands[5]) == 0
12161 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12162 : : /* NLE aka GT, 3 must be register. */
12163 : : || (INTVAL (operands[5]) == 6
12164 : : && !MEM_P (operands[3]))
12165 : : /* LT, 4 must be register and we swap operands. */
12166 : : || (INTVAL (operands[5]) == 1
12167 : : && !MEM_P (operands[4])))))
12168 : : return 7933; /* *avx2_pcmpv8si3_1 */
12169 : : if (nonimmediate_operand (operands[3], E_V8SImode)
12170 : : && nonimmediate_operand (operands[4], E_V8SImode)
12171 : : &&
12172 : : #line 18411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12173 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12174 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12175 : : return 7961; /* *avx2_pcmpv8si3_6 */
12176 : : }
12177 : : if (!const0_operand (operands[1], E_V8SImode)
12178 : : || !vector_all_ones_operand (operands[2], E_V8SImode)
12179 : : || !nonimmediate_operand (operands[3], E_V8SImode)
12180 : : || !nonimmediate_operand (operands[4], E_V8SImode)
12181 : : || !
12182 : : #line 18437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12183 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12184 : : /* NE is commutative. */
12185 : : && (INTVAL (operands[5]) == 4
12186 : : /* LE, 3 must be register. */
12187 : : || INTVAL (operands[5]) == 2
12188 : : /* NLT aka GE, 4 must be register and we swap operands. */
12189 : : || INTVAL (operands[5]) == 5)))
12190 : : return -1;
12191 : : return 7971; /* *avx2_pcmpv8si3_7 */
12192 : :
12193 : : case 7:
12194 : : if (vector_all_ones_operand (operands[1], E_V4DImode)
12195 : : && const0_operand (operands[2], E_V4DImode))
12196 : : {
12197 : : if (nonimm_or_0_operand (operands[3], E_V4DImode)
12198 : : && nonimm_or_0_operand (operands[4], E_V4DImode)
12199 : : &&
12200 : : #line 18247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12201 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12202 : : /* EQ is commutative. */
12203 : : && ((INTVAL (operands[5]) == 0
12204 : : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12205 : : /* NLE aka GT, 3 must be register. */
12206 : : || (INTVAL (operands[5]) == 6
12207 : : && !MEM_P (operands[3]))
12208 : : /* LT, 4 must be register and we swap operands. */
12209 : : || (INTVAL (operands[5]) == 1
12210 : : && !MEM_P (operands[4])))))
12211 : : return 7934; /* *avx2_pcmpv4di3_1 */
12212 : : if (nonimmediate_operand (operands[3], E_V4DImode)
12213 : : && nonimmediate_operand (operands[4], E_V4DImode)
12214 : : &&
12215 : : #line 18411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12216 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12217 : : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12218 : : return 7963; /* *avx2_pcmpv4di3_6 */
12219 : : }
12220 : : if (!const0_operand (operands[1], E_V4DImode)
12221 : : || !vector_all_ones_operand (operands[2], E_V4DImode)
12222 : : || !nonimmediate_operand (operands[3], E_V4DImode)
12223 : : || !nonimmediate_operand (operands[4], E_V4DImode)
12224 : : || !
12225 : : #line 18437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12226 : : (TARGET_AVX512VL && ix86_pre_reload_split ()
12227 : : /* NE is commutative. */
12228 : : && (INTVAL (operands[5]) == 4
12229 : : /* LE, 3 must be register. */
12230 : : || INTVAL (operands[5]) == 2
12231 : : /* NLT aka GE, 4 must be register and we swap operands. */
12232 : : || INTVAL (operands[5]) == 5)))
12233 : : return -1;
12234 : : return 7972; /* *avx2_pcmpv4di3_7 */
12235 : :
12236 : : default:
12237 : : return -1;
12238 : : }
12239 : : }
12240 : :
12241 : : int
12242 : : recog_169 (rtx x1 ATTRIBUTE_UNUSED,
12243 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12244 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12245 : : {
12246 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12247 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12248 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12249 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
12250 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
12251 : : rtx x34, x35, x36, x37, x38, x39, x40, x41;
12252 : : rtx x42, x43, x44, x45, x46, x47, x48, x49;
12253 : : rtx x50, x51, x52, x53, x54, x55, x56, x57;
12254 : : rtx x58, x59, x60, x61, x62, x63, x64, x65;
12255 : : rtx x66, x67, x68, x69, x70;
12256 : : int res ATTRIBUTE_UNUSED;
12257 : : x2 = XEXP (x1, 1);
12258 : : x3 = XEXP (x2, 0);
12259 : : x4 = XEXP (x3, 1);
12260 : : if (pattern896 (x4) != 0)
12261 : : return -1;
12262 : : x5 = XVECEXP (x4, 0, 32);
12263 : : if (GET_CODE (x5) != CONST_INT)
12264 : : return -1;
12265 : : x6 = XVECEXP (x4, 0, 33);
12266 : : if (GET_CODE (x6) != CONST_INT)
12267 : : return -1;
12268 : : x7 = XVECEXP (x4, 0, 34);
12269 : : if (GET_CODE (x7) != CONST_INT)
12270 : : return -1;
12271 : : x8 = XVECEXP (x4, 0, 35);
12272 : : if (GET_CODE (x8) != CONST_INT)
12273 : : return -1;
12274 : : x9 = XVECEXP (x4, 0, 36);
12275 : : if (GET_CODE (x9) != CONST_INT)
12276 : : return -1;
12277 : : x10 = XVECEXP (x4, 0, 37);
12278 : : if (GET_CODE (x10) != CONST_INT)
12279 : : return -1;
12280 : : x11 = XVECEXP (x4, 0, 38);
12281 : : if (GET_CODE (x11) != CONST_INT)
12282 : : return -1;
12283 : : x12 = XVECEXP (x4, 0, 39);
12284 : : if (GET_CODE (x12) != CONST_INT)
12285 : : return -1;
12286 : : x13 = XVECEXP (x4, 0, 40);
12287 : : if (GET_CODE (x13) != CONST_INT)
12288 : : return -1;
12289 : : x14 = XVECEXP (x4, 0, 41);
12290 : : if (GET_CODE (x14) != CONST_INT)
12291 : : return -1;
12292 : : x15 = XVECEXP (x4, 0, 42);
12293 : : if (GET_CODE (x15) != CONST_INT)
12294 : : return -1;
12295 : : x16 = XVECEXP (x4, 0, 43);
12296 : : if (GET_CODE (x16) != CONST_INT)
12297 : : return -1;
12298 : : x17 = XVECEXP (x4, 0, 44);
12299 : : if (GET_CODE (x17) != CONST_INT)
12300 : : return -1;
12301 : : x18 = XVECEXP (x4, 0, 45);
12302 : : if (GET_CODE (x18) != CONST_INT)
12303 : : return -1;
12304 : : x19 = XVECEXP (x4, 0, 46);
12305 : : if (GET_CODE (x19) != CONST_INT)
12306 : : return -1;
12307 : : x20 = XVECEXP (x4, 0, 47);
12308 : : if (GET_CODE (x20) != CONST_INT)
12309 : : return -1;
12310 : : x21 = XVECEXP (x4, 0, 48);
12311 : : if (GET_CODE (x21) != CONST_INT)
12312 : : return -1;
12313 : : x22 = XVECEXP (x4, 0, 49);
12314 : : if (GET_CODE (x22) != CONST_INT)
12315 : : return -1;
12316 : : x23 = XVECEXP (x4, 0, 50);
12317 : : if (GET_CODE (x23) != CONST_INT)
12318 : : return -1;
12319 : : x24 = XVECEXP (x4, 0, 51);
12320 : : if (GET_CODE (x24) != CONST_INT)
12321 : : return -1;
12322 : : x25 = XVECEXP (x4, 0, 52);
12323 : : if (GET_CODE (x25) != CONST_INT)
12324 : : return -1;
12325 : : x26 = XVECEXP (x4, 0, 53);
12326 : : if (GET_CODE (x26) != CONST_INT)
12327 : : return -1;
12328 : : x27 = XVECEXP (x4, 0, 54);
12329 : : if (GET_CODE (x27) != CONST_INT)
12330 : : return -1;
12331 : : x28 = XVECEXP (x4, 0, 55);
12332 : : if (GET_CODE (x28) != CONST_INT)
12333 : : return -1;
12334 : : x29 = XVECEXP (x4, 0, 56);
12335 : : if (GET_CODE (x29) != CONST_INT)
12336 : : return -1;
12337 : : x30 = XVECEXP (x4, 0, 57);
12338 : : if (GET_CODE (x30) != CONST_INT)
12339 : : return -1;
12340 : : x31 = XVECEXP (x4, 0, 58);
12341 : : if (GET_CODE (x31) != CONST_INT)
12342 : : return -1;
12343 : : x32 = XVECEXP (x4, 0, 59);
12344 : : if (GET_CODE (x32) != CONST_INT)
12345 : : return -1;
12346 : : x33 = XVECEXP (x4, 0, 60);
12347 : : if (GET_CODE (x33) != CONST_INT)
12348 : : return -1;
12349 : : x34 = XVECEXP (x4, 0, 61);
12350 : : if (GET_CODE (x34) != CONST_INT)
12351 : : return -1;
12352 : : x35 = XVECEXP (x4, 0, 62);
12353 : : if (GET_CODE (x35) != CONST_INT)
12354 : : return -1;
12355 : : x36 = XVECEXP (x4, 0, 63);
12356 : : if (GET_CODE (x36) != CONST_INT
12357 : : || pattern1219 (x2,
12358 : : E_V64QImode,
12359 : : E_V128QImode) != 0)
12360 : : return -1;
12361 : : x37 = XEXP (x2, 1);
12362 : : operands[3] = x37;
12363 : : if (!nonimm_or_0_operand (operands[3], E_V64QImode))
12364 : : return -1;
12365 : : x38 = XEXP (x2, 2);
12366 : : operands[4] = x38;
12367 : : if (!register_operand (operands[4], E_DImode))
12368 : : return -1;
12369 : : x39 = XVECEXP (x4, 0, 0);
12370 : : switch (XWINT (x39, 0))
12371 : : {
12372 : : case 8L:
12373 : : x40 = XVECEXP (x4, 0, 1);
12374 : : if (XWINT (x40, 0) != 72L)
12375 : : return -1;
12376 : : x41 = XVECEXP (x4, 0, 2);
12377 : : if (XWINT (x41, 0) != 9L)
12378 : : return -1;
12379 : : x42 = XVECEXP (x4, 0, 3);
12380 : : if (XWINT (x42, 0) != 73L)
12381 : : return -1;
12382 : : x43 = XVECEXP (x4, 0, 4);
12383 : : if (XWINT (x43, 0) != 10L)
12384 : : return -1;
12385 : : x44 = XVECEXP (x4, 0, 5);
12386 : : if (XWINT (x44, 0) != 74L)
12387 : : return -1;
12388 : : x45 = XVECEXP (x4, 0, 6);
12389 : : if (XWINT (x45, 0) != 11L)
12390 : : return -1;
12391 : : x46 = XVECEXP (x4, 0, 7);
12392 : : if (XWINT (x46, 0) != 75L)
12393 : : return -1;
12394 : : x47 = XVECEXP (x4, 0, 8);
12395 : : if (XWINT (x47, 0) != 12L)
12396 : : return -1;
12397 : : x48 = XVECEXP (x4, 0, 9);
12398 : : if (XWINT (x48, 0) != 76L)
12399 : : return -1;
12400 : : x49 = XVECEXP (x4, 0, 10);
12401 : : if (XWINT (x49, 0) != 13L)
12402 : : return -1;
12403 : : x50 = XVECEXP (x4, 0, 11);
12404 : : if (XWINT (x50, 0) != 77L)
12405 : : return -1;
12406 : : x51 = XVECEXP (x4, 0, 12);
12407 : : if (XWINT (x51, 0) != 14L)
12408 : : return -1;
12409 : : x52 = XVECEXP (x4, 0, 13);
12410 : : if (XWINT (x52, 0) != 78L)
12411 : : return -1;
12412 : : x53 = XVECEXP (x4, 0, 14);
12413 : : if (XWINT (x53, 0) != 15L)
12414 : : return -1;
12415 : : x54 = XVECEXP (x4, 0, 15);
12416 : : if (XWINT (x54, 0) != 79L)
12417 : : return -1;
12418 : : x55 = XVECEXP (x4, 0, 16);
12419 : : if (XWINT (x55, 0) != 24L)
12420 : : return -1;
12421 : : x56 = XVECEXP (x4, 0, 17);
12422 : : if (XWINT (x56, 0) != 88L)
12423 : : return -1;
12424 : : x57 = XVECEXP (x4, 0, 18);
12425 : : if (XWINT (x57, 0) != 25L)
12426 : : return -1;
12427 : : x58 = XVECEXP (x4, 0, 19);
12428 : : if (XWINT (x58, 0) != 89L)
12429 : : return -1;
12430 : : x59 = XVECEXP (x4, 0, 20);
12431 : : if (XWINT (x59, 0) != 26L)
12432 : : return -1;
12433 : : x60 = XVECEXP (x4, 0, 21);
12434 : : if (XWINT (x60, 0) != 90L)
12435 : : return -1;
12436 : : x61 = XVECEXP (x4, 0, 22);
12437 : : if (XWINT (x61, 0) != 27L)
12438 : : return -1;
12439 : : x62 = XVECEXP (x4, 0, 23);
12440 : : if (XWINT (x62, 0) != 91L)
12441 : : return -1;
12442 : : x63 = XVECEXP (x4, 0, 24);
12443 : : if (XWINT (x63, 0) != 28L)
12444 : : return -1;
12445 : : x64 = XVECEXP (x4, 0, 25);
12446 : : if (XWINT (x64, 0) != 92L)
12447 : : return -1;
12448 : : x65 = XVECEXP (x4, 0, 26);
12449 : : if (XWINT (x65, 0) != 29L)
12450 : : return -1;
12451 : : x66 = XVECEXP (x4, 0, 27);
12452 : : if (XWINT (x66, 0) != 93L)
12453 : : return -1;
12454 : : x67 = XVECEXP (x4, 0, 28);
12455 : : if (XWINT (x67, 0) != 30L)
12456 : : return -1;
12457 : : x68 = XVECEXP (x4, 0, 29);
12458 : : if (XWINT (x68, 0) != 94L)
12459 : : return -1;
12460 : : x69 = XVECEXP (x4, 0, 30);
12461 : : if (XWINT (x69, 0) != 31L)
12462 : : return -1;
12463 : : x70 = XVECEXP (x4, 0, 31);
12464 : : if (XWINT (x70, 0) != 95L
12465 : : || XWINT (x5, 0) != 40L
12466 : : || XWINT (x6, 0) != 104L
12467 : : || XWINT (x7, 0) != 41L
12468 : : || XWINT (x8, 0) != 105L
12469 : : || XWINT (x9, 0) != 42L
12470 : : || XWINT (x10, 0) != 106L
12471 : : || XWINT (x11, 0) != 43L
12472 : : || XWINT (x12, 0) != 107L
12473 : : || XWINT (x13, 0) != 44L
12474 : : || XWINT (x14, 0) != 108L
12475 : : || XWINT (x15, 0) != 45L
12476 : : || XWINT (x16, 0) != 109L
12477 : : || XWINT (x17, 0) != 46L
12478 : : || XWINT (x18, 0) != 110L
12479 : : || XWINT (x19, 0) != 47L
12480 : : || XWINT (x20, 0) != 111L
12481 : : || XWINT (x21, 0) != 56L
12482 : : || XWINT (x22, 0) != 120L
12483 : : || XWINT (x23, 0) != 57L
12484 : : || XWINT (x24, 0) != 121L
12485 : : || XWINT (x25, 0) != 58L
12486 : : || XWINT (x26, 0) != 122L
12487 : : || XWINT (x27, 0) != 59L
12488 : : || XWINT (x28, 0) != 123L
12489 : : || XWINT (x29, 0) != 60L
12490 : : || XWINT (x30, 0) != 124L
12491 : : || XWINT (x31, 0) != 61L
12492 : : || XWINT (x32, 0) != 125L
12493 : : || XWINT (x33, 0) != 62L
12494 : : || XWINT (x34, 0) != 126L
12495 : : || XWINT (x35, 0) != 63L
12496 : : || XWINT (x36, 0) != 127L
12497 : : || !(
12498 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12499 : : (TARGET_AVX512F) &&
12500 : : #line 19710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12501 : : (TARGET_AVX512BW)))
12502 : : return -1;
12503 : : return 8357; /* avx512bw_interleave_highv64qi_mask */
12504 : :
12505 : : case 0L:
12506 : : x40 = XVECEXP (x4, 0, 1);
12507 : : if (XWINT (x40, 0) != 64L)
12508 : : return -1;
12509 : : x41 = XVECEXP (x4, 0, 2);
12510 : : if (XWINT (x41, 0) != 1L)
12511 : : return -1;
12512 : : x42 = XVECEXP (x4, 0, 3);
12513 : : if (XWINT (x42, 0) != 65L)
12514 : : return -1;
12515 : : x43 = XVECEXP (x4, 0, 4);
12516 : : if (XWINT (x43, 0) != 2L)
12517 : : return -1;
12518 : : x44 = XVECEXP (x4, 0, 5);
12519 : : if (XWINT (x44, 0) != 66L)
12520 : : return -1;
12521 : : x45 = XVECEXP (x4, 0, 6);
12522 : : if (XWINT (x45, 0) != 3L)
12523 : : return -1;
12524 : : x46 = XVECEXP (x4, 0, 7);
12525 : : if (XWINT (x46, 0) != 67L)
12526 : : return -1;
12527 : : x47 = XVECEXP (x4, 0, 8);
12528 : : if (XWINT (x47, 0) != 4L)
12529 : : return -1;
12530 : : x48 = XVECEXP (x4, 0, 9);
12531 : : if (XWINT (x48, 0) != 68L)
12532 : : return -1;
12533 : : x49 = XVECEXP (x4, 0, 10);
12534 : : if (XWINT (x49, 0) != 5L)
12535 : : return -1;
12536 : : x50 = XVECEXP (x4, 0, 11);
12537 : : if (XWINT (x50, 0) != 69L)
12538 : : return -1;
12539 : : x51 = XVECEXP (x4, 0, 12);
12540 : : if (XWINT (x51, 0) != 6L)
12541 : : return -1;
12542 : : x52 = XVECEXP (x4, 0, 13);
12543 : : if (XWINT (x52, 0) != 70L)
12544 : : return -1;
12545 : : x53 = XVECEXP (x4, 0, 14);
12546 : : if (XWINT (x53, 0) != 7L)
12547 : : return -1;
12548 : : x54 = XVECEXP (x4, 0, 15);
12549 : : if (XWINT (x54, 0) != 71L)
12550 : : return -1;
12551 : : x55 = XVECEXP (x4, 0, 16);
12552 : : if (XWINT (x55, 0) != 16L)
12553 : : return -1;
12554 : : x56 = XVECEXP (x4, 0, 17);
12555 : : if (XWINT (x56, 0) != 80L)
12556 : : return -1;
12557 : : x57 = XVECEXP (x4, 0, 18);
12558 : : if (XWINT (x57, 0) != 17L)
12559 : : return -1;
12560 : : x58 = XVECEXP (x4, 0, 19);
12561 : : if (XWINT (x58, 0) != 81L)
12562 : : return -1;
12563 : : x59 = XVECEXP (x4, 0, 20);
12564 : : if (XWINT (x59, 0) != 18L)
12565 : : return -1;
12566 : : x60 = XVECEXP (x4, 0, 21);
12567 : : if (XWINT (x60, 0) != 82L)
12568 : : return -1;
12569 : : x61 = XVECEXP (x4, 0, 22);
12570 : : if (XWINT (x61, 0) != 19L)
12571 : : return -1;
12572 : : x62 = XVECEXP (x4, 0, 23);
12573 : : if (XWINT (x62, 0) != 83L)
12574 : : return -1;
12575 : : x63 = XVECEXP (x4, 0, 24);
12576 : : if (XWINT (x63, 0) != 20L)
12577 : : return -1;
12578 : : x64 = XVECEXP (x4, 0, 25);
12579 : : if (XWINT (x64, 0) != 84L)
12580 : : return -1;
12581 : : x65 = XVECEXP (x4, 0, 26);
12582 : : if (XWINT (x65, 0) != 21L)
12583 : : return -1;
12584 : : x66 = XVECEXP (x4, 0, 27);
12585 : : if (XWINT (x66, 0) != 85L)
12586 : : return -1;
12587 : : x67 = XVECEXP (x4, 0, 28);
12588 : : if (XWINT (x67, 0) != 22L)
12589 : : return -1;
12590 : : x68 = XVECEXP (x4, 0, 29);
12591 : : if (XWINT (x68, 0) != 86L)
12592 : : return -1;
12593 : : x69 = XVECEXP (x4, 0, 30);
12594 : : if (XWINT (x69, 0) != 23L)
12595 : : return -1;
12596 : : x70 = XVECEXP (x4, 0, 31);
12597 : : if (XWINT (x70, 0) != 87L
12598 : : || XWINT (x5, 0) != 32L
12599 : : || XWINT (x6, 0) != 96L
12600 : : || XWINT (x7, 0) != 33L
12601 : : || XWINT (x8, 0) != 97L
12602 : : || XWINT (x9, 0) != 34L
12603 : : || XWINT (x10, 0) != 98L
12604 : : || XWINT (x11, 0) != 35L
12605 : : || XWINT (x12, 0) != 99L
12606 : : || XWINT (x13, 0) != 36L
12607 : : || XWINT (x14, 0) != 100L
12608 : : || XWINT (x15, 0) != 37L
12609 : : || XWINT (x16, 0) != 101L
12610 : : || XWINT (x17, 0) != 38L
12611 : : || XWINT (x18, 0) != 102L
12612 : : || XWINT (x19, 0) != 39L
12613 : : || XWINT (x20, 0) != 103L
12614 : : || XWINT (x21, 0) != 48L
12615 : : || XWINT (x22, 0) != 112L
12616 : : || XWINT (x23, 0) != 49L
12617 : : || XWINT (x24, 0) != 113L
12618 : : || XWINT (x25, 0) != 50L
12619 : : || XWINT (x26, 0) != 114L
12620 : : || XWINT (x27, 0) != 51L
12621 : : || XWINT (x28, 0) != 115L
12622 : : || XWINT (x29, 0) != 52L
12623 : : || XWINT (x30, 0) != 116L
12624 : : || XWINT (x31, 0) != 53L
12625 : : || XWINT (x32, 0) != 117L
12626 : : || XWINT (x33, 0) != 54L
12627 : : || XWINT (x34, 0) != 118L
12628 : : || XWINT (x35, 0) != 55L
12629 : : || XWINT (x36, 0) != 119L
12630 : : || !(
12631 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12632 : : (TARGET_AVX512F) &&
12633 : : #line 19806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12634 : : (TARGET_AVX512BW)))
12635 : : return -1;
12636 : : return 8363; /* avx512bw_interleave_lowv64qi_mask */
12637 : :
12638 : : default:
12639 : : return -1;
12640 : : }
12641 : : }
12642 : :
12643 : : int
12644 : : recog_188 (rtx x1 ATTRIBUTE_UNUSED,
12645 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12646 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12647 : : {
12648 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12649 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12650 : : int res ATTRIBUTE_UNUSED;
12651 : : x2 = XEXP (x1, 1);
12652 : : x3 = XEXP (x2, 0);
12653 : : switch (XVECLEN (x3, 0))
12654 : : {
12655 : : case 1:
12656 : : return recog_149 (x1, insn, pnum_clobbers);
12657 : :
12658 : : case 2:
12659 : : return recog_148 (x1, insn, pnum_clobbers);
12660 : :
12661 : : case 3:
12662 : : return recog_147 (x1, insn, pnum_clobbers);
12663 : :
12664 : : case 4:
12665 : : x4 = XVECEXP (x3, 0, 0);
12666 : : operands[1] = x4;
12667 : : x5 = XVECEXP (x3, 0, 1);
12668 : : operands[2] = x5;
12669 : : x6 = XVECEXP (x3, 0, 2);
12670 : : operands[3] = x6;
12671 : : x7 = XVECEXP (x3, 0, 3);
12672 : : operands[4] = x7;
12673 : : if (!const_0_to_255_operand (operands[4], E_SImode))
12674 : : return -1;
12675 : : switch (XINT (x3, 1))
12676 : : {
12677 : : case 165:
12678 : : x8 = XEXP (x2, 1);
12679 : : switch (GET_CODE (x8))
12680 : : {
12681 : : case CONST_INT:
12682 : : case CONST_DOUBLE:
12683 : : case CONST_VECTOR:
12684 : : operands[5] = x8;
12685 : : x9 = XEXP (x2, 2);
12686 : : operands[6] = x9;
12687 : : switch (GET_MODE (operands[0]))
12688 : : {
12689 : : case E_V16SImode:
12690 : : if (pattern1460 (x2,
12691 : : E_V16SImode,
12692 : : E_HImode) != 0
12693 : : || !
12694 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12695 : : (TARGET_AVX512F))
12696 : : return -1;
12697 : : return 5471; /* avx512f_vternlogv16si_maskz_1 */
12698 : :
12699 : : case E_V8SImode:
12700 : : if (pattern1460 (x2,
12701 : : E_V8SImode,
12702 : : E_QImode) != 0
12703 : : || !(
12704 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12705 : : (TARGET_AVX512F) &&
12706 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12707 : : (TARGET_AVX512VL)))
12708 : : return -1;
12709 : : return 5473; /* avx512vl_vternlogv8si_maskz_1 */
12710 : :
12711 : : case E_V4SImode:
12712 : : if (pattern1460 (x2,
12713 : : E_V4SImode,
12714 : : E_QImode) != 0
12715 : : || !(
12716 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12717 : : (TARGET_AVX512F) &&
12718 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12719 : : (TARGET_AVX512VL)))
12720 : : return -1;
12721 : : return 5475; /* avx512vl_vternlogv4si_maskz_1 */
12722 : :
12723 : : case E_V8DImode:
12724 : : if (pattern1460 (x2,
12725 : : E_V8DImode,
12726 : : E_QImode) != 0
12727 : : || !
12728 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12729 : : (TARGET_AVX512F))
12730 : : return -1;
12731 : : return 5477; /* avx512f_vternlogv8di_maskz_1 */
12732 : :
12733 : : case E_V4DImode:
12734 : : if (pattern1460 (x2,
12735 : : E_V4DImode,
12736 : : E_QImode) != 0
12737 : : || !(
12738 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12739 : : (TARGET_AVX512F) &&
12740 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12741 : : (TARGET_AVX512VL)))
12742 : : return -1;
12743 : : return 5479; /* avx512vl_vternlogv4di_maskz_1 */
12744 : :
12745 : : case E_V2DImode:
12746 : : if (pattern1460 (x2,
12747 : : E_V2DImode,
12748 : : E_QImode) != 0
12749 : : || !(
12750 : : #line 13924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12751 : : (TARGET_AVX512F) &&
12752 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12753 : : (TARGET_AVX512VL)))
12754 : : return -1;
12755 : : return 5481; /* avx512vl_vternlogv2di_maskz_1 */
12756 : :
12757 : : default:
12758 : : return -1;
12759 : : }
12760 : :
12761 : : case REG:
12762 : : case SUBREG:
12763 : : if (!rtx_equal_p (x8, operands[1]))
12764 : : return -1;
12765 : : x9 = XEXP (x2, 2);
12766 : : operands[5] = x9;
12767 : : switch (GET_MODE (operands[0]))
12768 : : {
12769 : : case E_V16SImode:
12770 : : if (pattern1461 (x2,
12771 : : E_V16SImode,
12772 : : E_HImode) != 0
12773 : : || !
12774 : : #line 14294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12775 : : (TARGET_AVX512F))
12776 : : return -1;
12777 : : return 7042; /* *avx512f_vternlogv16si_mask */
12778 : :
12779 : : case E_V8SImode:
12780 : : if (pattern1461 (x2,
12781 : : E_V8SImode,
12782 : : E_QImode) != 0
12783 : : || !(
12784 : : #line 14294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12785 : : (TARGET_AVX512F) &&
12786 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12787 : : (TARGET_AVX512VL)))
12788 : : return -1;
12789 : : return 7043; /* *avx512vl_vternlogv8si_mask */
12790 : :
12791 : : case E_V4SImode:
12792 : : if (pattern1461 (x2,
12793 : : E_V4SImode,
12794 : : E_QImode) != 0
12795 : : || !(
12796 : : #line 14294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12797 : : (TARGET_AVX512F) &&
12798 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12799 : : (TARGET_AVX512VL)))
12800 : : return -1;
12801 : : return 7044; /* *avx512vl_vternlogv4si_mask */
12802 : :
12803 : : case E_V8DImode:
12804 : : if (pattern1461 (x2,
12805 : : E_V8DImode,
12806 : : E_QImode) != 0
12807 : : || !
12808 : : #line 14294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12809 : : (TARGET_AVX512F))
12810 : : return -1;
12811 : : return 7045; /* *avx512f_vternlogv8di_mask */
12812 : :
12813 : : case E_V4DImode:
12814 : : if (pattern1461 (x2,
12815 : : E_V4DImode,
12816 : : E_QImode) != 0
12817 : : || !(
12818 : : #line 14294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12819 : : (TARGET_AVX512F) &&
12820 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12821 : : (TARGET_AVX512VL)))
12822 : : return -1;
12823 : : return 7046; /* *avx512vl_vternlogv4di_mask */
12824 : :
12825 : : case E_V2DImode:
12826 : : if (pattern1461 (x2,
12827 : : E_V2DImode,
12828 : : E_QImode) != 0
12829 : : || !(
12830 : : #line 14294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12831 : : (TARGET_AVX512F) &&
12832 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12833 : : (TARGET_AVX512VL)))
12834 : : return -1;
12835 : : return 7047; /* *avx512vl_vternlogv2di_mask */
12836 : :
12837 : : default:
12838 : : return -1;
12839 : : }
12840 : :
12841 : : default:
12842 : : return -1;
12843 : : }
12844 : :
12845 : : case 164:
12846 : : x8 = XEXP (x2, 1);
12847 : : switch (GET_CODE (x8))
12848 : : {
12849 : : case CONST_INT:
12850 : : case CONST_DOUBLE:
12851 : : case CONST_VECTOR:
12852 : : operands[5] = x8;
12853 : : x9 = XEXP (x2, 2);
12854 : : operands[6] = x9;
12855 : : switch (GET_MODE (operands[0]))
12856 : : {
12857 : : case E_V16SFmode:
12858 : : if (pattern1462 (x2,
12859 : : E_V16SFmode,
12860 : : E_V16SImode,
12861 : : E_HImode) != 0
12862 : : || !
12863 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12864 : : (TARGET_AVX512F))
12865 : : return -1;
12866 : : return 7118; /* avx512f_fixupimmv16sf_maskz_1 */
12867 : :
12868 : : case E_V8SFmode:
12869 : : if (pattern1462 (x2,
12870 : : E_V8SFmode,
12871 : : E_V8SImode,
12872 : : E_QImode) != 0
12873 : : || !(
12874 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12875 : : (TARGET_AVX512F) &&
12876 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12877 : : (TARGET_AVX512VL)))
12878 : : return -1;
12879 : : return 7122; /* avx512vl_fixupimmv8sf_maskz_1 */
12880 : :
12881 : : case E_V4SFmode:
12882 : : if (pattern1462 (x2,
12883 : : E_V4SFmode,
12884 : : E_V4SImode,
12885 : : E_QImode) != 0
12886 : : || !(
12887 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12888 : : (TARGET_AVX512F) &&
12889 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12890 : : (TARGET_AVX512VL)))
12891 : : return -1;
12892 : : return 7126; /* avx512vl_fixupimmv4sf_maskz_1 */
12893 : :
12894 : : case E_V8DFmode:
12895 : : if (pattern1462 (x2,
12896 : : E_V8DFmode,
12897 : : E_V8DImode,
12898 : : E_QImode) != 0
12899 : : || !
12900 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12901 : : (TARGET_AVX512F))
12902 : : return -1;
12903 : : return 7130; /* avx512f_fixupimmv8df_maskz_1 */
12904 : :
12905 : : case E_V4DFmode:
12906 : : if (pattern1462 (x2,
12907 : : E_V4DFmode,
12908 : : E_V4DImode,
12909 : : E_QImode) != 0
12910 : : || !(
12911 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12912 : : (TARGET_AVX512F) &&
12913 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12914 : : (TARGET_AVX512VL)))
12915 : : return -1;
12916 : : return 7134; /* avx512vl_fixupimmv4df_maskz_1 */
12917 : :
12918 : : case E_V2DFmode:
12919 : : if (pattern1462 (x2,
12920 : : E_V2DFmode,
12921 : : E_V2DImode,
12922 : : E_QImode) != 0
12923 : : || !(
12924 : : #line 14419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12925 : : (TARGET_AVX512F) &&
12926 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12927 : : (TARGET_AVX512VL)))
12928 : : return -1;
12929 : : return 7138; /* avx512vl_fixupimmv2df_maskz_1 */
12930 : :
12931 : : default:
12932 : : return -1;
12933 : : }
12934 : :
12935 : : case REG:
12936 : : case SUBREG:
12937 : : x9 = XEXP (x2, 2);
12938 : : switch (GET_CODE (x9))
12939 : : {
12940 : : case REG:
12941 : : case SUBREG:
12942 : : operands[5] = x9;
12943 : : if (!rtx_equal_p (x8, operands[1]))
12944 : : return -1;
12945 : : switch (GET_MODE (operands[0]))
12946 : : {
12947 : : case E_V16SFmode:
12948 : : if (pattern1518 (x2,
12949 : : E_V16SImode,
12950 : : E_V16SFmode,
12951 : : E_HImode) != 0
12952 : : || !
12953 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12954 : : (TARGET_AVX512F))
12955 : : return -1;
12956 : : return 7140; /* avx512f_fixupimmv16sf_mask */
12957 : :
12958 : : case E_V8SFmode:
12959 : : if (pattern1518 (x2,
12960 : : E_V8SImode,
12961 : : E_V8SFmode,
12962 : : E_QImode) != 0
12963 : : || !(
12964 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12965 : : (TARGET_AVX512F) &&
12966 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12967 : : (TARGET_AVX512VL)))
12968 : : return -1;
12969 : : return 7142; /* avx512vl_fixupimmv8sf_mask */
12970 : :
12971 : : case E_V4SFmode:
12972 : : if (pattern1518 (x2,
12973 : : E_V4SImode,
12974 : : E_V4SFmode,
12975 : : E_QImode) != 0
12976 : : || !(
12977 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12978 : : (TARGET_AVX512F) &&
12979 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12980 : : (TARGET_AVX512VL)))
12981 : : return -1;
12982 : : return 7144; /* avx512vl_fixupimmv4sf_mask */
12983 : :
12984 : : case E_V8DFmode:
12985 : : if (pattern1518 (x2,
12986 : : E_V8DImode,
12987 : : E_V8DFmode,
12988 : : E_QImode) != 0
12989 : : || !
12990 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12991 : : (TARGET_AVX512F))
12992 : : return -1;
12993 : : return 7146; /* avx512f_fixupimmv8df_mask */
12994 : :
12995 : : case E_V4DFmode:
12996 : : if (pattern1518 (x2,
12997 : : E_V4DImode,
12998 : : E_V4DFmode,
12999 : : E_QImode) != 0
13000 : : || !(
13001 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13002 : : (TARGET_AVX512F) &&
13003 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13004 : : (TARGET_AVX512VL)))
13005 : : return -1;
13006 : : return 7148; /* avx512vl_fixupimmv4df_mask */
13007 : :
13008 : : case E_V2DFmode:
13009 : : if (pattern1518 (x2,
13010 : : E_V2DImode,
13011 : : E_V2DFmode,
13012 : : E_QImode) != 0
13013 : : || !(
13014 : : #line 14435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13015 : : (TARGET_AVX512F) &&
13016 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13017 : : (TARGET_AVX512VL)))
13018 : : return -1;
13019 : : return 7150; /* avx512vl_fixupimmv2df_mask */
13020 : :
13021 : : default:
13022 : : return -1;
13023 : : }
13024 : :
13025 : : case CONST_INT:
13026 : : if (XWINT (x9, 0) != 1L
13027 : : || !rtx_equal_p (x8, operands[2]))
13028 : : return -1;
13029 : : switch (GET_MODE (operands[0]))
13030 : : {
13031 : : case E_V4SFmode:
13032 : : if (pattern1519 (x2,
13033 : : E_V4SImode,
13034 : : E_V4SFmode) != 0
13035 : : || !
13036 : : #line 14467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13037 : : (TARGET_AVX512F))
13038 : : return -1;
13039 : : return 7152; /* avx512f_sfixupimmv4sf */
13040 : :
13041 : : case E_V2DFmode:
13042 : : if (pattern1519 (x2,
13043 : : E_V2DImode,
13044 : : E_V2DFmode) != 0
13045 : : || !(
13046 : : #line 14467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13047 : : (TARGET_AVX512F) &&
13048 : : #line 468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13049 : : (TARGET_SSE2)))
13050 : : return -1;
13051 : : return 7156; /* avx512f_sfixupimmv2df */
13052 : :
13053 : : default:
13054 : : return -1;
13055 : : }
13056 : :
13057 : : default:
13058 : : return -1;
13059 : : }
13060 : :
13061 : : default:
13062 : : return -1;
13063 : : }
13064 : :
13065 : : default:
13066 : : return -1;
13067 : : }
13068 : :
13069 : : default:
13070 : : return -1;
13071 : : }
13072 : : }
13073 : :
13074 : : int
13075 : : recog_192 (rtx x1 ATTRIBUTE_UNUSED,
13076 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13077 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13078 : : {
13079 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13080 : : rtx x2;
13081 : : int res ATTRIBUTE_UNUSED;
13082 : : x2 = XEXP (x1, 1);
13083 : : switch (pattern148 (x2))
13084 : : {
13085 : : case 0:
13086 : : if (nonimmediate_operand (operands[1], E_V16HImode)
13087 : : && nonmemory_operand (operands[2], E_DImode)
13088 : : && (
13089 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13090 : : (TARGET_AVX512F) && (
13091 : : #line 17563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13092 : : (TARGET_AVX512VL) &&
13093 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13094 : : (TARGET_AVX512BW))))
13095 : : return 7673; /* ashlv16hi3_mask */
13096 : : if (!register_operand (operands[1], E_V16HImode)
13097 : : || !nonimmediate_operand (operands[2], E_V16HImode)
13098 : : || !(
13099 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13100 : : (TARGET_AVX512F) && (
13101 : : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13102 : : (TARGET_AVX512BW) &&
13103 : : #line 674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13104 : : (TARGET_AVX512VL))))
13105 : : return -1;
13106 : : return 9664; /* avx512vl_ashlvv16hi_mask */
13107 : :
13108 : : case 1:
13109 : : if (nonimmediate_operand (operands[1], E_V8HImode)
13110 : : && nonmemory_operand (operands[2], E_DImode)
13111 : : && (
13112 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13113 : : (TARGET_AVX512F) && (
13114 : : #line 17563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13115 : : (TARGET_AVX512VL) &&
13116 : : #line 785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13117 : : (TARGET_AVX512BW))))
13118 : : return 7677; /* ashlv8hi3_mask */
13119 : : if (!register_operand (operands[1], E_V8HImode)
13120 : : || !nonimmediate_operand (operands[2], E_V8HImode)
13121 : : || !(
13122 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13123 : : (TARGET_AVX512F) && (
13124 : : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13125 : : (TARGET_AVX512BW) &&
13126 : : #line 674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13127 : : (TARGET_AVX512VL))))
13128 : : return -1;
13129 : : return 9660; /* avx512vl_ashlvv8hi_mask */
13130 : :
13131 : : case 2:
13132 : : if (nonimmediate_operand (operands[1], E_V8SImode)
13133 : : && nonmemory_operand (operands[2], E_DImode)
13134 : : && (
13135 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13136 : : (TARGET_AVX512F) &&
13137 : : #line 17563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13138 : : (TARGET_AVX512VL)))
13139 : : return 7681; /* ashlv8si3_mask */
13140 : : if (!register_operand (operands[1], E_V8SImode)
13141 : : || !nonimmediate_operand (operands[2], E_V8SImode)
13142 : : || !(
13143 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13144 : : (TARGET_AVX512F) &&
13145 : : #line 29334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13146 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
13147 : : return -1;
13148 : : return 9640; /* avx2_ashlvv8si_mask */
13149 : :
13150 : : case 3:
13151 : : if (nonimmediate_operand (operands[1], E_V4SImode)
13152 : : && nonmemory_operand (operands[2], E_DImode)
13153 : : && (
13154 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13155 : : (TARGET_AVX512F) &&
13156 : : #line 17563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13157 : : (TARGET_AVX512VL)))
13158 : : return 7685; /* ashlv4si3_mask */
13159 : : if (!register_operand (operands[1], E_V4SImode)
13160 : : || !nonimmediate_operand (operands[2], E_V4SImode)
13161 : : || !(
13162 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13163 : : (TARGET_AVX512F) &&
13164 : : #line 29334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13165 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
13166 : : return -1;
13167 : : return 9644; /* avx2_ashlvv4si_mask */
13168 : :
13169 : : case 4:
13170 : : if (nonimmediate_operand (operands[1], E_V4DImode)
13171 : : && nonmemory_operand (operands[2], E_DImode)
13172 : : && (
13173 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13174 : : (TARGET_AVX512F) &&
13175 : : #line 17563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13176 : : (TARGET_AVX512VL)))
13177 : : return 7689; /* ashlv4di3_mask */
13178 : : if (!register_operand (operands[1], E_V4DImode)
13179 : : || !nonimmediate_operand (operands[2], E_V4DImode)
13180 : : || !(
13181 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13182 : : (TARGET_AVX512F) &&
13183 : : #line 29334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13184 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
13185 : : return -1;
13186 : : return 9652; /* avx2_ashlvv4di_mask */
13187 : :
13188 : : case 5:
13189 : : if (nonimmediate_operand (operands[1], E_V2DImode)
13190 : : && nonmemory_operand (operands[2], E_DImode)
13191 : : && (
13192 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13193 : : (TARGET_AVX512F) &&
13194 : : #line 17563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13195 : : (TARGET_AVX512VL)))
13196 : : return 7693; /* ashlv2di3_mask */
13197 : : if (!register_operand (operands[1], E_V2DImode)
13198 : : || !nonimmediate_operand (operands[2], E_V2DImode)
13199 : : || !(
13200 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13201 : : (TARGET_AVX512F) &&
13202 : : #line 29334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13203 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
13204 : : return -1;
13205 : : return 9656; /* avx2_ashlvv2di_mask */
13206 : :
13207 : : case 6:
13208 : : if (nonimmediate_operand (operands[1], E_V32HImode)
13209 : : && nonmemory_operand (operands[2], E_DImode)
13210 : : && (
13211 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13212 : : (TARGET_AVX512F) && (
13213 : : #line 17651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13214 : : (TARGET_AVX512F) &&
13215 : : #line 772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13216 : : (TARGET_AVX512BW))))
13217 : : return 7713; /* ashlv32hi3_mask */
13218 : : if (!register_operand (operands[1], E_V32HImode)
13219 : : || !nonimmediate_operand (operands[2], E_V32HImode)
13220 : : || !(
13221 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13222 : : (TARGET_AVX512F) &&
13223 : : #line 29345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13224 : : (TARGET_AVX512BW)))
13225 : : return -1;
13226 : : return 9668; /* avx512bw_ashlvv32hi_mask */
13227 : :
13228 : : case 7:
13229 : : if (nonimmediate_operand (operands[1], E_V16SImode)
13230 : : && nonmemory_operand (operands[2], E_DImode)
13231 : : &&
13232 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13233 : : (TARGET_AVX512F))
13234 : : return 7717; /* ashlv16si3_mask */
13235 : : if (!register_operand (operands[1], E_V16SImode)
13236 : : || !nonimmediate_operand (operands[2], E_V16SImode)
13237 : : || !(
13238 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13239 : : (TARGET_AVX512F) && (
13240 : : #line 29334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13241 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
13242 : : #line 790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13243 : : (TARGET_AVX512F))))
13244 : : return -1;
13245 : : return 9636; /* avx512f_ashlvv16si_mask */
13246 : :
13247 : : case 8:
13248 : : if (nonimmediate_operand (operands[1], E_V8DImode)
13249 : : && nonmemory_operand (operands[2], E_DImode)
13250 : : &&
13251 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13252 : : (TARGET_AVX512F))
13253 : : return 7721; /* ashlv8di3_mask */
13254 : : if (!register_operand (operands[1], E_V8DImode)
13255 : : || !nonimmediate_operand (operands[2], E_V8DImode)
13256 : : || !(
13257 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13258 : : (TARGET_AVX512F) && (
13259 : : #line 29334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13260 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
13261 : : #line 791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13262 : : (TARGET_AVX512F))))
13263 : : return -1;
13264 : : return 9648; /* avx512f_ashlvv8di_mask */
13265 : :
13266 : : default:
13267 : : return -1;
13268 : : }
13269 : : }
13270 : :
13271 : : int
13272 : : recog_198 (rtx x1 ATTRIBUTE_UNUSED,
13273 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13274 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13275 : : {
13276 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13277 : : rtx x2, x3, x4, x5;
13278 : : int res ATTRIBUTE_UNUSED;
13279 : : x2 = XEXP (x1, 1);
13280 : : switch (pattern157 (x2))
13281 : : {
13282 : : case 0:
13283 : : if (!(
13284 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13285 : : (TARGET_AVX512F) &&
13286 : : #line 24414 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13287 : : (TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
13288 : : return -1;
13289 : : return 8791; /* avx2_sign_extendv16qiv16hi2_mask */
13290 : :
13291 : : case 1:
13292 : : if (!(
13293 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13294 : : (TARGET_AVX512F) &&
13295 : : #line 24468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13296 : : (TARGET_AVX512BW)))
13297 : : return -1;
13298 : : return 8799; /* avx512bw_sign_extendv32qiv32hi2_mask */
13299 : :
13300 : : case 2:
13301 : : if (!(
13302 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13303 : : (TARGET_AVX512F) &&
13304 : : #line 24538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13305 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
13306 : : return -1;
13307 : : return 8811; /* *sse4_1_sign_extendv8qiv8hi2_mask_1 */
13308 : :
13309 : : case 3:
13310 : : if (!
13311 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13312 : : (TARGET_AVX512F))
13313 : : return -1;
13314 : : return 8823; /* avx512f_sign_extendv16qiv16si2_mask */
13315 : :
13316 : : case 4:
13317 : : if (!
13318 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13319 : : (TARGET_AVX512F))
13320 : : return -1;
13321 : : return 8851; /* avx512f_sign_extendv16hiv16si2_mask */
13322 : :
13323 : : case 5:
13324 : : if (!(
13325 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13326 : : (TARGET_AVX512F) &&
13327 : : #line 24695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13328 : : (TARGET_AVX2 && TARGET_AVX512VL)))
13329 : : return -1;
13330 : : return 8831; /* *avx2_sign_extendv8qiv8si2_mask_1 */
13331 : :
13332 : : case 6:
13333 : : if (!(
13334 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13335 : : (TARGET_AVX512F) &&
13336 : : #line 24859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13337 : : (TARGET_AVX2 && TARGET_AVX512VL)))
13338 : : return -1;
13339 : : return 8859; /* avx2_sign_extendv8hiv8si2_mask */
13340 : :
13341 : : case 7:
13342 : : if (!(
13343 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13344 : : (TARGET_AVX512F) &&
13345 : : #line 24756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13346 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13347 : : return -1;
13348 : : return 8843; /* *sse4_1_sign_extendv4qiv4si2_mask_1 */
13349 : :
13350 : : case 8:
13351 : : if (!(
13352 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13353 : : (TARGET_AVX512F) &&
13354 : : #line 24929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13355 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13356 : : return -1;
13357 : : return 8871; /* *sse4_1_sign_extendv4hiv4si2_mask_1 */
13358 : :
13359 : : case 9:
13360 : : if (!
13361 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13362 : : (TARGET_AVX512F))
13363 : : return -1;
13364 : : return 8887; /* *avx512f_sign_extendv8qiv8di2_mask_1 */
13365 : :
13366 : : case 10:
13367 : : if (!
13368 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13369 : : (TARGET_AVX512F))
13370 : : return -1;
13371 : : return 8918; /* avx512f_sign_extendv8hiv8di2_mask */
13372 : :
13373 : : case 11:
13374 : : if (!
13375 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13376 : : (TARGET_AVX512F))
13377 : : return -1;
13378 : : return 8946; /* avx512f_sign_extendv8siv8di2_mask */
13379 : :
13380 : : case 12:
13381 : : if (!(
13382 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13383 : : (TARGET_AVX512F) &&
13384 : : #line 25118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13385 : : (TARGET_AVX2 && TARGET_AVX512VL)))
13386 : : return -1;
13387 : : return 8899; /* *avx2_sign_extendv4qiv4di2_mask_1 */
13388 : :
13389 : : case 13:
13390 : : if (!(
13391 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13392 : : (TARGET_AVX512F) &&
13393 : : #line 25261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13394 : : (TARGET_AVX2 && TARGET_AVX512VL)))
13395 : : return -1;
13396 : : return 8926; /* *avx2_sign_extendv4hiv4di2_mask_1 */
13397 : :
13398 : : case 14:
13399 : : if (!(
13400 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13401 : : (TARGET_AVX512F) &&
13402 : : #line 25419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13403 : : (TARGET_AVX2 && TARGET_AVX512VL)))
13404 : : return -1;
13405 : : return 8952; /* avx2_sign_extendv4siv4di2_mask */
13406 : :
13407 : : case 15:
13408 : : if (!(
13409 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13410 : : (TARGET_AVX512F) &&
13411 : : #line 25180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13412 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13413 : : return -1;
13414 : : return 8911; /* *sse4_1_sign_extendv2qiv2di2_mask_1 */
13415 : :
13416 : : case 16:
13417 : : if (!(
13418 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13419 : : (TARGET_AVX512F) &&
13420 : : #line 25319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13421 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13422 : : return -1;
13423 : : return 8938; /* *sse4_1_sign_extendv2hiv2di2_mask_1 */
13424 : :
13425 : : case 17:
13426 : : if (!(
13427 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13428 : : (TARGET_AVX512F) &&
13429 : : #line 25485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13430 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13431 : : return -1;
13432 : : return 8962; /* *sse4_1_sign_extendv2siv2di2_mask_1 */
13433 : :
13434 : : case 18:
13435 : : x3 = XEXP (x2, 0);
13436 : : x4 = XEXP (x3, 0);
13437 : : x5 = XEXP (x4, 0);
13438 : : operands[1] = x5;
13439 : : switch (pattern898 (x2))
13440 : : {
13441 : : case 0:
13442 : : if ((
13443 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13444 : : (TARGET_AVX512F) &&
13445 : : #line 24526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13446 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
13447 : : return 8807; /* sse4_1_sign_extendv8qiv8hi2_mask */
13448 : : break;
13449 : :
13450 : : case 1:
13451 : : if ((
13452 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13453 : : (TARGET_AVX512F) &&
13454 : : #line 24684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13455 : : (TARGET_AVX2 && TARGET_AVX512VL)))
13456 : : return 8827; /* avx2_sign_extendv8qiv8si2_mask */
13457 : : break;
13458 : :
13459 : : case 2:
13460 : : if (
13461 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13462 : : (TARGET_AVX512F))
13463 : : return 8883; /* avx512f_sign_extendv8qiv8di2_mask */
13464 : : break;
13465 : :
13466 : : case 3:
13467 : : if ((
13468 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13469 : : (TARGET_AVX512F) &&
13470 : : #line 24744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13471 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13472 : : return 8839; /* sse4_1_sign_extendv4qiv4si2_mask */
13473 : : break;
13474 : :
13475 : : case 4:
13476 : : if ((
13477 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13478 : : (TARGET_AVX512F) &&
13479 : : #line 24917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13480 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13481 : : return 8867; /* sse4_1_sign_extendv4hiv4si2_mask */
13482 : : break;
13483 : :
13484 : : case 5:
13485 : : if ((
13486 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13487 : : (TARGET_AVX512F) &&
13488 : : #line 25107 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13489 : : (TARGET_AVX2 && TARGET_AVX512VL)))
13490 : : return 8895; /* avx2_sign_extendv4qiv4di2_mask */
13491 : : break;
13492 : :
13493 : : case 6:
13494 : : if ((
13495 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13496 : : (TARGET_AVX512F) &&
13497 : : #line 25250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13498 : : (TARGET_AVX2 && TARGET_AVX512VL)))
13499 : : return 8922; /* avx2_sign_extendv4hiv4di2_mask */
13500 : : break;
13501 : :
13502 : : case 7:
13503 : : if ((
13504 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13505 : : (TARGET_AVX512F) &&
13506 : : #line 25168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13507 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13508 : : return 8907; /* sse4_1_sign_extendv2qiv2di2_mask */
13509 : : break;
13510 : :
13511 : : case 8:
13512 : : if ((
13513 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13514 : : (TARGET_AVX512F) &&
13515 : : #line 25307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13516 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13517 : : return 8934; /* sse4_1_sign_extendv2hiv2di2_mask */
13518 : : break;
13519 : :
13520 : : case 9:
13521 : : if ((
13522 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13523 : : (TARGET_AVX512F) &&
13524 : : #line 25473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13525 : : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13526 : : return 8958; /* sse4_1_sign_extendv2siv2di2_mask */
13527 : : break;
13528 : :
13529 : : default:
13530 : : break;
13531 : : }
13532 : : if (GET_CODE (x5) != SUBREG)
13533 : : return -1;
13534 : : switch (pattern901 (x2))
13535 : : {
13536 : : case 0:
13537 : : if (!(
13538 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13539 : : (TARGET_AVX512F) &&
13540 : : #line 24562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13541 : : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL
13542 : : && ix86_pre_reload_split ())))
13543 : : return -1;
13544 : : return 8815; /* *sse4_1_sign_extendv8qiv8hi2_mask_2 */
13545 : :
13546 : : case 1:
13547 : : if (!(
13548 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13549 : : (TARGET_AVX512F) &&
13550 : : #line 24714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13551 : : (TARGET_AVX2 && TARGET_AVX512VL
13552 : : && ix86_pre_reload_split ())))
13553 : : return -1;
13554 : : return 8835; /* *avx2_sign_extendv8qiv8si2_mask_2 */
13555 : :
13556 : : case 2:
13557 : : if (!(
13558 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13559 : : (TARGET_AVX512F) &&
13560 : : #line 25078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13561 : : (TARGET_AVX512F && ix86_pre_reload_split ())))
13562 : : return -1;
13563 : : return 8891; /* *avx512f_sign_extendv8qiv8di2_mask_2 */
13564 : :
13565 : : case 3:
13566 : : if (!(
13567 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13568 : : (TARGET_AVX512F) &&
13569 : : #line 24948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13570 : : (TARGET_SSE4_1 && TARGET_AVX512VL
13571 : : && ix86_pre_reload_split ())))
13572 : : return -1;
13573 : : return 8875; /* *sse4_1_sign_extendv4hiv4si2_mask_2 */
13574 : :
13575 : : case 4:
13576 : : if (!(
13577 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13578 : : (TARGET_AVX512F) &&
13579 : : #line 25278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13580 : : (TARGET_AVX2 && TARGET_AVX512VL
13581 : : && ix86_pre_reload_split ())))
13582 : : return -1;
13583 : : return 8930; /* *avx2_sign_extendv4hiv4di2_mask_2 */
13584 : :
13585 : : case 5:
13586 : : if (!(
13587 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13588 : : (TARGET_AVX512F) &&
13589 : : #line 25503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13590 : : (TARGET_SSE4_1 && TARGET_AVX512VL
13591 : : && ix86_pre_reload_split ())))
13592 : : return -1;
13593 : : return 8966; /* *sse4_1_sign_extendv2siv2di2_mask_2 */
13594 : :
13595 : : case 6:
13596 : : if (!(
13597 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13598 : : (TARGET_AVX512F) &&
13599 : : #line 24779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13600 : : (TARGET_SSE4_1 && TARGET_AVX512VL
13601 : : && ix86_pre_reload_split ())))
13602 : : return -1;
13603 : : return 8847; /* *sse4_1_sign_extendv4qiv4si2_mask_2 */
13604 : :
13605 : : case 7:
13606 : : if (!(
13607 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13608 : : (TARGET_AVX512F) &&
13609 : : #line 25139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13610 : : (TARGET_AVX2 && TARGET_AVX512VL
13611 : : && ix86_pre_reload_split ())))
13612 : : return -1;
13613 : : return 8903; /* *avx2_sign_extendv4qiv4di2_mask_2 */
13614 : :
13615 : : case 8:
13616 : : if (!(
13617 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13618 : : (TARGET_AVX512F) &&
13619 : : #line 25341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13620 : : (TARGET_SSE4_1 && TARGET_AVX512VL
13621 : : && ix86_pre_reload_split ())))
13622 : : return -1;
13623 : : return 8942; /* *sse4_1_sign_extendv2hiv2di2_mask_2 */
13624 : :
13625 : : default:
13626 : : return -1;
13627 : : }
13628 : :
13629 : : default:
13630 : : return -1;
13631 : : }
13632 : : }
13633 : :
13634 : : int
13635 : : recog_211 (rtx x1 ATTRIBUTE_UNUSED,
13636 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13637 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13638 : : {
13639 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13640 : : rtx x2, x3;
13641 : : int res ATTRIBUTE_UNUSED;
13642 : : x2 = XEXP (x1, 1);
13643 : : x3 = XVECEXP (x2, 0, 0);
13644 : : operands[1] = x3;
13645 : : switch (GET_MODE (operands[0]))
13646 : : {
13647 : : case E_V64QImode:
13648 : : if (!register_operand (operands[0], E_V64QImode)
13649 : : || GET_MODE (x2) != E_V64QImode
13650 : : || !memory_operand (operands[1], E_V64QImode)
13651 : : || !(
13652 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13653 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13654 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13655 : : (TARGET_AVX512BW)))
13656 : : return -1;
13657 : : return 11016; /* avx10_2_vmovrsbv64qi */
13658 : :
13659 : : case E_V32QImode:
13660 : : if (!register_operand (operands[0], E_V32QImode)
13661 : : || GET_MODE (x2) != E_V32QImode
13662 : : || !memory_operand (operands[1], E_V32QImode)
13663 : : || !(
13664 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13665 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13666 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13667 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
13668 : : return -1;
13669 : : return 11018; /* avx10_2_vmovrsbv32qi */
13670 : :
13671 : : case E_V16QImode:
13672 : : if (!register_operand (operands[0], E_V16QImode)
13673 : : || GET_MODE (x2) != E_V16QImode
13674 : : || !memory_operand (operands[1], E_V16QImode)
13675 : : || !(
13676 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13677 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13678 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13679 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
13680 : : return -1;
13681 : : return 11020; /* avx10_2_vmovrsbv16qi */
13682 : :
13683 : : case E_V32HImode:
13684 : : if (!register_operand (operands[0], E_V32HImode)
13685 : : || GET_MODE (x2) != E_V32HImode
13686 : : || !memory_operand (operands[1], E_V32HImode)
13687 : : || !(
13688 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13689 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13690 : : #line 498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13691 : : (TARGET_AVX512BW)))
13692 : : return -1;
13693 : : return 11022; /* avx10_2_vmovrswv32hi */
13694 : :
13695 : : case E_V16HImode:
13696 : : if (!register_operand (operands[0], E_V16HImode)
13697 : : || GET_MODE (x2) != E_V16HImode
13698 : : || !memory_operand (operands[1], E_V16HImode)
13699 : : || !(
13700 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13701 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13702 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13703 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
13704 : : return -1;
13705 : : return 11024; /* avx10_2_vmovrswv16hi */
13706 : :
13707 : : case E_V8HImode:
13708 : : if (!register_operand (operands[0], E_V8HImode)
13709 : : || GET_MODE (x2) != E_V8HImode
13710 : : || !memory_operand (operands[1], E_V8HImode)
13711 : : || !(
13712 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13713 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13714 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13715 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
13716 : : return -1;
13717 : : return 11026; /* avx10_2_vmovrswv8hi */
13718 : :
13719 : : case E_V16SImode:
13720 : : if (!register_operand (operands[0], E_V16SImode)
13721 : : || GET_MODE (x2) != E_V16SImode
13722 : : || !memory_operand (operands[1], E_V16SImode)
13723 : : || !
13724 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13725 : : (TARGET_AVX10_2 && TARGET_MOVRS))
13726 : : return -1;
13727 : : return 11028; /* avx10_2_vmovrsdv16si */
13728 : :
13729 : : case E_V8SImode:
13730 : : if (!register_operand (operands[0], E_V8SImode)
13731 : : || GET_MODE (x2) != E_V8SImode
13732 : : || !memory_operand (operands[1], E_V8SImode)
13733 : : || !(
13734 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13735 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13736 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13737 : : (TARGET_AVX512VL)))
13738 : : return -1;
13739 : : return 11030; /* avx10_2_vmovrsdv8si */
13740 : :
13741 : : case E_V4SImode:
13742 : : if (!register_operand (operands[0], E_V4SImode)
13743 : : || GET_MODE (x2) != E_V4SImode
13744 : : || !memory_operand (operands[1], E_V4SImode)
13745 : : || !(
13746 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13747 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13748 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13749 : : (TARGET_AVX512VL)))
13750 : : return -1;
13751 : : return 11032; /* avx10_2_vmovrsdv4si */
13752 : :
13753 : : case E_V8DImode:
13754 : : if (!register_operand (operands[0], E_V8DImode)
13755 : : || GET_MODE (x2) != E_V8DImode
13756 : : || !memory_operand (operands[1], E_V8DImode)
13757 : : || !
13758 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13759 : : (TARGET_AVX10_2 && TARGET_MOVRS))
13760 : : return -1;
13761 : : return 11034; /* avx10_2_vmovrsqv8di */
13762 : :
13763 : : case E_V4DImode:
13764 : : if (!register_operand (operands[0], E_V4DImode)
13765 : : || GET_MODE (x2) != E_V4DImode
13766 : : || !memory_operand (operands[1], E_V4DImode)
13767 : : || !(
13768 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13769 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13770 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13771 : : (TARGET_AVX512VL)))
13772 : : return -1;
13773 : : return 11036; /* avx10_2_vmovrsqv4di */
13774 : :
13775 : : case E_V2DImode:
13776 : : if (!register_operand (operands[0], E_V2DImode)
13777 : : || GET_MODE (x2) != E_V2DImode
13778 : : || !memory_operand (operands[1], E_V2DImode)
13779 : : || !(
13780 : : #line 33087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13781 : : (TARGET_AVX10_2 && TARGET_MOVRS) &&
13782 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13783 : : (TARGET_AVX512VL)))
13784 : : return -1;
13785 : : return 11038; /* avx10_2_vmovrsqv2di */
13786 : :
13787 : : default:
13788 : : return -1;
13789 : : }
13790 : : }
13791 : :
13792 : : int
13793 : : recog_219 (rtx x1 ATTRIBUTE_UNUSED,
13794 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13795 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13796 : : {
13797 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13798 : : rtx x2, x3;
13799 : : int res ATTRIBUTE_UNUSED;
13800 : : x2 = XEXP (x1, 1);
13801 : : x3 = XVECEXP (x2, 0, 0);
13802 : : operands[1] = x3;
13803 : : switch (GET_MODE (operands[0]))
13804 : : {
13805 : : case E_V16SImode:
13806 : : if (!register_operand (operands[0], E_V16SImode)
13807 : : || GET_MODE (x2) != E_V16SImode
13808 : : || !nonimmediate_operand (operands[1], E_V16SImode)
13809 : : || !
13810 : : #line 30356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13811 : : (TARGET_AVX512CD))
13812 : : return -1;
13813 : : return 10136; /* *conflictv16si */
13814 : :
13815 : : case E_V8SImode:
13816 : : if (!register_operand (operands[0], E_V8SImode)
13817 : : || GET_MODE (x2) != E_V8SImode
13818 : : || !nonimmediate_operand (operands[1], E_V8SImode)
13819 : : || !(
13820 : : #line 30356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13821 : : (TARGET_AVX512CD) &&
13822 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13823 : : (TARGET_AVX512VL)))
13824 : : return -1;
13825 : : return 10138; /* *conflictv8si */
13826 : :
13827 : : case E_V4SImode:
13828 : : if (!register_operand (operands[0], E_V4SImode)
13829 : : || GET_MODE (x2) != E_V4SImode
13830 : : || !nonimmediate_operand (operands[1], E_V4SImode)
13831 : : || !(
13832 : : #line 30356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13833 : : (TARGET_AVX512CD) &&
13834 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13835 : : (TARGET_AVX512VL)))
13836 : : return -1;
13837 : : return 10140; /* *conflictv4si */
13838 : :
13839 : : case E_V8DImode:
13840 : : if (!register_operand (operands[0], E_V8DImode)
13841 : : || GET_MODE (x2) != E_V8DImode
13842 : : || !nonimmediate_operand (operands[1], E_V8DImode)
13843 : : || !
13844 : : #line 30356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13845 : : (TARGET_AVX512CD))
13846 : : return -1;
13847 : : return 10142; /* *conflictv8di */
13848 : :
13849 : : case E_V4DImode:
13850 : : if (!register_operand (operands[0], E_V4DImode)
13851 : : || GET_MODE (x2) != E_V4DImode
13852 : : || !nonimmediate_operand (operands[1], E_V4DImode)
13853 : : || !(
13854 : : #line 30356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13855 : : (TARGET_AVX512CD) &&
13856 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13857 : : (TARGET_AVX512VL)))
13858 : : return -1;
13859 : : return 10144; /* *conflictv4di */
13860 : :
13861 : : case E_V2DImode:
13862 : : if (!register_operand (operands[0], E_V2DImode)
13863 : : || GET_MODE (x2) != E_V2DImode
13864 : : || !nonimmediate_operand (operands[1], E_V2DImode)
13865 : : || !(
13866 : : #line 30356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13867 : : (TARGET_AVX512CD) &&
13868 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13869 : : (TARGET_AVX512VL)))
13870 : : return -1;
13871 : : return 10146; /* *conflictv2di */
13872 : :
13873 : : default:
13874 : : return -1;
13875 : : }
13876 : : }
13877 : :
13878 : : int
13879 : : recog_224 (rtx x1 ATTRIBUTE_UNUSED,
13880 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13881 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13882 : : {
13883 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13884 : : rtx x2, x3, x4, x5, x6, x7, x8;
13885 : : int res ATTRIBUTE_UNUSED;
13886 : : x2 = XEXP (x1, 1);
13887 : : x3 = XVECEXP (x2, 0, 0);
13888 : : x4 = XEXP (x3, 0);
13889 : : x5 = XVECEXP (x4, 0, 0);
13890 : : operands[1] = x5;
13891 : : x6 = XEXP (x3, 1);
13892 : : operands[2] = x6;
13893 : : x7 = XEXP (x3, 2);
13894 : : operands[3] = x7;
13895 : : x8 = XVECEXP (x2, 0, 1);
13896 : : operands[4] = x8;
13897 : : switch (XINT (x4, 1))
13898 : : {
13899 : : case 157:
13900 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
13901 : : return -1;
13902 : : switch (GET_MODE (operands[0]))
13903 : : {
13904 : : case E_V32HImode:
13905 : : if (pattern1301 (x2,
13906 : : E_SImode,
13907 : : E_V32HImode,
13908 : : E_V32HFmode) != 0
13909 : : || !(
13910 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13911 : : (TARGET_AVX512F) && (
13912 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13913 : : (TARGET_AVX512F) &&
13914 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13915 : : (TARGET_AVX512FP16))))
13916 : : return -1;
13917 : : return 4441; /* avx512fp16_vcvtph2uw_v32hi_mask_round */
13918 : :
13919 : : case E_V16SImode:
13920 : : if (pattern1311 (x2,
13921 : : E_V16SImode,
13922 : : E_HImode) != 0)
13923 : : return -1;
13924 : : switch (GET_MODE (operands[1]))
13925 : : {
13926 : : case E_V16HFmode:
13927 : : if (!register_operand (operands[1], E_V16HFmode)
13928 : : || !(
13929 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13930 : : (TARGET_AVX512F) && (
13931 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13932 : : (TARGET_AVX512F) &&
13933 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13934 : : (TARGET_AVX512FP16))))
13935 : : return -1;
13936 : : return 4449; /* avx512fp16_vcvtph2udq_v16si_mask_round */
13937 : :
13938 : : case E_V16SFmode:
13939 : : if (!nonimmediate_operand (operands[1], E_V16SFmode)
13940 : : || !
13941 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13942 : : (TARGET_AVX512F))
13943 : : return -1;
13944 : : return 4877; /* avx512f_fixuns_notruncv16sfv16si_mask_round */
13945 : :
13946 : : default:
13947 : : return -1;
13948 : : }
13949 : :
13950 : : case E_V8DImode:
13951 : : switch (pattern1479 (x2,
13952 : : E_V8DImode))
13953 : : {
13954 : : case 0:
13955 : : if (!(
13956 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13957 : : (TARGET_AVX512F) && (
13958 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13959 : : (TARGET_AVX512F) &&
13960 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13961 : : (TARGET_AVX512FP16))))
13962 : : return -1;
13963 : : return 4457; /* avx512fp16_vcvtph2uqq_v8di_mask_round */
13964 : :
13965 : : case 1:
13966 : : if (!(
13967 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13968 : : (TARGET_AVX512F) && (
13969 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13970 : : (TARGET_AVX512F) &&
13971 : : #line 9021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13972 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
13973 : : || V8DImode == V8DFmode
13974 : : || V8DImode == V8DImode
13975 : : || V8DImode == V16SImode
13976 : : || V8DImode == V32HFmode)))))
13977 : : return -1;
13978 : : return 4897; /* avx512dq_cvtps2uqqv8di_mask_round */
13979 : :
13980 : : case 2:
13981 : : if (!(
13982 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13983 : : (TARGET_AVX512F) && (
13984 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13985 : : (TARGET_AVX512F) &&
13986 : : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13987 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
13988 : : || V8DFmode == V8DFmode
13989 : : || V8DFmode == V8DImode
13990 : : || V8DFmode == V16SImode
13991 : : || V8DFmode == V32HFmode)))))
13992 : : return -1;
13993 : : return 5123; /* fixuns_notruncv8dfv8di2_mask_round */
13994 : :
13995 : : default:
13996 : : return -1;
13997 : : }
13998 : :
13999 : : case E_V16HImode:
14000 : : if (pattern1301 (x2,
14001 : : E_HImode,
14002 : : E_V16HImode,
14003 : : E_V16HFmode) != 0
14004 : : || !(
14005 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14006 : : (TARGET_AVX512F) && (
14007 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14008 : : (TARGET_AVX512F) && (
14009 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14010 : : (TARGET_AVX512FP16) &&
14011 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14012 : : (TARGET_AVX512VL)))))
14013 : : return -1;
14014 : : return 4465; /* avx512fp16_vcvtph2uw_v16hi_mask_round */
14015 : :
14016 : : case E_V8SImode:
14017 : : switch (pattern1479 (x2,
14018 : : E_V8SImode))
14019 : : {
14020 : : case 0:
14021 : : if (!(
14022 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14023 : : (TARGET_AVX512F) && (
14024 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14025 : : (TARGET_AVX512F) && (
14026 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14027 : : (TARGET_AVX512FP16) &&
14028 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14029 : : (TARGET_AVX512VL)))))
14030 : : return -1;
14031 : : return 4473; /* avx512fp16_vcvtph2udq_v8si_mask_round */
14032 : :
14033 : : case 1:
14034 : : if (!(
14035 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14036 : : (TARGET_AVX512F) && (
14037 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14038 : : (TARGET_AVX512F) && (
14039 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14040 : : (TARGET_AVX512F) &&
14041 : : #line 663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14042 : : (TARGET_AVX512VL)))))
14043 : : return -1;
14044 : : return 4881; /* avx512vl_fixuns_notruncv8sfv8si_mask_round */
14045 : :
14046 : : case 2:
14047 : : if (!
14048 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14049 : : (TARGET_AVX512F))
14050 : : return -1;
14051 : : return 5043; /* fixuns_notruncv8dfv8si2_mask_round */
14052 : :
14053 : : default:
14054 : : return -1;
14055 : : }
14056 : :
14057 : : case E_V4DImode:
14058 : : if (pattern1301 (x2,
14059 : : E_QImode,
14060 : : E_V4DImode,
14061 : : E_V8HFmode) != 0
14062 : : || !(
14063 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14064 : : (TARGET_AVX512F) && (
14065 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14066 : : (TARGET_AVX512F) && (
14067 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14068 : : (TARGET_AVX512FP16) &&
14069 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14070 : : (TARGET_AVX512VL)))))
14071 : : return -1;
14072 : : return 4481; /* avx512fp16_vcvtph2uqq_v4di_mask_round */
14073 : :
14074 : : case E_V8HImode:
14075 : : if (pattern1301 (x2,
14076 : : E_QImode,
14077 : : E_V8HImode,
14078 : : E_V8HFmode) != 0
14079 : : || !(
14080 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14081 : : (TARGET_AVX512F) && (
14082 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14083 : : (TARGET_AVX512F) && (
14084 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14085 : : (TARGET_AVX512FP16) &&
14086 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14087 : : (TARGET_AVX512VL)))))
14088 : : return -1;
14089 : : return 4489; /* avx512fp16_vcvtph2uw_v8hi_mask_round */
14090 : :
14091 : : case E_V4SImode:
14092 : : if (pattern1311 (x2,
14093 : : E_V4SImode,
14094 : : E_QImode) != 0)
14095 : : return -1;
14096 : : switch (GET_MODE (operands[1]))
14097 : : {
14098 : : case E_V8HFmode:
14099 : : if (!register_operand (operands[1], E_V8HFmode)
14100 : : || !(
14101 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14102 : : (TARGET_AVX512F) && (
14103 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14104 : : (TARGET_AVX512F) && (
14105 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14106 : : (TARGET_AVX512FP16) &&
14107 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14108 : : (TARGET_AVX512VL)))))
14109 : : return -1;
14110 : : return 4497; /* avx512fp16_vcvtph2udq_v4si_mask_round */
14111 : :
14112 : : case E_V4SFmode:
14113 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
14114 : : || !(
14115 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14116 : : (TARGET_AVX512F) && (
14117 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14118 : : (TARGET_AVX512F) && (
14119 : : #line 8988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14120 : : (TARGET_AVX512F) &&
14121 : : #line 663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14122 : : (TARGET_AVX512VL)))))
14123 : : return -1;
14124 : : return 4885; /* avx512vl_fixuns_notruncv4sfv4si_mask_round */
14125 : :
14126 : : case E_V4DFmode:
14127 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
14128 : : || !(
14129 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14130 : : (TARGET_AVX512F) && (
14131 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14132 : : (TARGET_AVX512F) && (
14133 : : #line 9780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14134 : : (TARGET_AVX512F) &&
14135 : : #line 464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14136 : : (TARGET_AVX512VL)))))
14137 : : return -1;
14138 : : return 5047; /* fixuns_notruncv4dfv4si2_mask_round */
14139 : :
14140 : : default:
14141 : : return -1;
14142 : : }
14143 : :
14144 : : case E_V2DImode:
14145 : : if (pattern1301 (x2,
14146 : : E_QImode,
14147 : : E_V2DImode,
14148 : : E_V8HFmode) != 0
14149 : : || !(
14150 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14151 : : (TARGET_AVX512F) && (
14152 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14153 : : (TARGET_AVX512F) && (
14154 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14155 : : (TARGET_AVX512FP16) &&
14156 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14157 : : (TARGET_AVX512VL)))))
14158 : : return -1;
14159 : : return 4505; /* avx512fp16_vcvtph2uqq_v2di_mask_round */
14160 : :
14161 : : default:
14162 : : return -1;
14163 : : }
14164 : :
14165 : : case 47:
14166 : : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
14167 : : return -1;
14168 : : switch (GET_MODE (operands[0]))
14169 : : {
14170 : : case E_V32HImode:
14171 : : if (pattern1301 (x2,
14172 : : E_SImode,
14173 : : E_V32HImode,
14174 : : E_V32HFmode) != 0
14175 : : || !(
14176 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14177 : : (TARGET_AVX512F) && (
14178 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14179 : : (TARGET_AVX512F) &&
14180 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14181 : : (TARGET_AVX512FP16))))
14182 : : return -1;
14183 : : return 4445; /* avx512fp16_vcvtph2w_v32hi_mask_round */
14184 : :
14185 : : case E_V16SImode:
14186 : : switch (pattern1303 (x2))
14187 : : {
14188 : : case 0:
14189 : : if (!(
14190 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14191 : : (TARGET_AVX512F) && (
14192 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14193 : : (TARGET_AVX512F) &&
14194 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14195 : : (TARGET_AVX512FP16))))
14196 : : return -1;
14197 : : return 4453; /* avx512fp16_vcvtph2dq_v16si_mask_round */
14198 : :
14199 : : case 1:
14200 : : if (!
14201 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14202 : : (TARGET_AVX512F))
14203 : : return -1;
14204 : : return 4873; /* avx512f_fix_notruncv16sfv16si_mask_round */
14205 : :
14206 : : default:
14207 : : return -1;
14208 : : }
14209 : :
14210 : : case E_V8DImode:
14211 : : if (pattern1311 (x2,
14212 : : E_V8DImode,
14213 : : E_QImode) != 0)
14214 : : return -1;
14215 : : switch (GET_MODE (operands[1]))
14216 : : {
14217 : : case E_V8HFmode:
14218 : : if (!register_operand (operands[1], E_V8HFmode)
14219 : : || !(
14220 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14221 : : (TARGET_AVX512F) && (
14222 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14223 : : (TARGET_AVX512F) &&
14224 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14225 : : (TARGET_AVX512FP16))))
14226 : : return -1;
14227 : : return 4461; /* avx512fp16_vcvtph2qq_v8di_mask_round */
14228 : :
14229 : : case E_V8SFmode:
14230 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
14231 : : || !(
14232 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14233 : : (TARGET_AVX512F) && (
14234 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14235 : : (TARGET_AVX512F) &&
14236 : : #line 8998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14237 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14238 : : || V8DImode == V8DFmode
14239 : : || V8DImode == V8DImode
14240 : : || V8DImode == V16SImode
14241 : : || V8DImode == V32HFmode)))))
14242 : : return -1;
14243 : : return 4889; /* avx512dq_cvtps2qqv8di_mask_round */
14244 : :
14245 : : case E_V8DFmode:
14246 : : if (!register_operand (operands[1], E_V8DFmode)
14247 : : || !(
14248 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14249 : : (TARGET_AVX512F) && (
14250 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14251 : : (TARGET_AVX512F) &&
14252 : : #line 9988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14253 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14254 : : || V8DFmode == V8DFmode
14255 : : || V8DFmode == V8DImode
14256 : : || V8DFmode == V16SImode
14257 : : || V8DFmode == V32HFmode)))))
14258 : : return -1;
14259 : : return 5115; /* fix_notruncv8dfv8di2_mask_round */
14260 : :
14261 : : default:
14262 : : return -1;
14263 : : }
14264 : :
14265 : : case E_V16HImode:
14266 : : if (pattern1301 (x2,
14267 : : E_HImode,
14268 : : E_V16HImode,
14269 : : E_V16HFmode) != 0
14270 : : || !(
14271 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14272 : : (TARGET_AVX512F) && (
14273 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14274 : : (TARGET_AVX512F) && (
14275 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14276 : : (TARGET_AVX512FP16) &&
14277 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14278 : : (TARGET_AVX512VL)))))
14279 : : return -1;
14280 : : return 4469; /* avx512fp16_vcvtph2w_v16hi_mask_round */
14281 : :
14282 : : case E_V8SImode:
14283 : : switch (pattern1302 (x2))
14284 : : {
14285 : : case 0:
14286 : : if (!(
14287 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14288 : : (TARGET_AVX512F) && (
14289 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14290 : : (TARGET_AVX512F) && (
14291 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14292 : : (TARGET_AVX512FP16) &&
14293 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14294 : : (TARGET_AVX512VL)))))
14295 : : return -1;
14296 : : return 4477; /* avx512fp16_vcvtph2dq_v8si_mask_round */
14297 : :
14298 : : case 1:
14299 : : if (!
14300 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14301 : : (TARGET_AVX512F))
14302 : : return -1;
14303 : : return 5033; /* avx512f_cvtpd2dq512_mask_round */
14304 : :
14305 : : default:
14306 : : return -1;
14307 : : }
14308 : :
14309 : : case E_V4DImode:
14310 : : if (pattern1301 (x2,
14311 : : E_QImode,
14312 : : E_V4DImode,
14313 : : E_V8HFmode) != 0
14314 : : || !(
14315 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14316 : : (TARGET_AVX512F) && (
14317 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14318 : : (TARGET_AVX512F) && (
14319 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14320 : : (TARGET_AVX512FP16) &&
14321 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14322 : : (TARGET_AVX512VL)))))
14323 : : return -1;
14324 : : return 4485; /* avx512fp16_vcvtph2qq_v4di_mask_round */
14325 : :
14326 : : case E_V8HImode:
14327 : : if (pattern1301 (x2,
14328 : : E_QImode,
14329 : : E_V8HImode,
14330 : : E_V8HFmode) != 0
14331 : : || !(
14332 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14333 : : (TARGET_AVX512F) && (
14334 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14335 : : (TARGET_AVX512F) && (
14336 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14337 : : (TARGET_AVX512FP16) &&
14338 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14339 : : (TARGET_AVX512VL)))))
14340 : : return -1;
14341 : : return 4493; /* avx512fp16_vcvtph2w_v8hi_mask_round */
14342 : :
14343 : : case E_V4SImode:
14344 : : if (pattern1301 (x2,
14345 : : E_QImode,
14346 : : E_V4SImode,
14347 : : E_V8HFmode) != 0
14348 : : || !(
14349 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14350 : : (TARGET_AVX512F) && (
14351 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14352 : : (TARGET_AVX512F) && (
14353 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14354 : : (TARGET_AVX512FP16) &&
14355 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14356 : : (TARGET_AVX512VL)))))
14357 : : return -1;
14358 : : return 4501; /* avx512fp16_vcvtph2dq_v4si_mask_round */
14359 : :
14360 : : case E_V2DImode:
14361 : : if (pattern1301 (x2,
14362 : : E_QImode,
14363 : : E_V2DImode,
14364 : : E_V8HFmode) != 0
14365 : : || !(
14366 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14367 : : (TARGET_AVX512F) && (
14368 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14369 : : (TARGET_AVX512F) && (
14370 : : #line 7925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14371 : : (TARGET_AVX512FP16) &&
14372 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14373 : : (TARGET_AVX512VL)))))
14374 : : return -1;
14375 : : return 4509; /* avx512fp16_vcvtph2qq_v2di_mask_round */
14376 : :
14377 : : default:
14378 : : return -1;
14379 : : }
14380 : :
14381 : : case 173:
14382 : : switch (pattern1304 (x2))
14383 : : {
14384 : : case 0:
14385 : : if (!(
14386 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14387 : : (TARGET_AVX512F) && (
14388 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14389 : : (TARGET_AVX512F) && (
14390 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14391 : : (TARGET_AVX512FP16) &&
14392 : : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14393 : : (TARGET_AVX512VL)))))
14394 : : return -1;
14395 : : return 4599; /* unspec_avx512fp16_fix_truncv8hi2_mask_round */
14396 : :
14397 : : case 1:
14398 : : if (!(
14399 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14400 : : (TARGET_AVX512F) && (
14401 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14402 : : (TARGET_AVX512F) && (
14403 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14404 : : (TARGET_AVX512FP16) &&
14405 : : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14406 : : (TARGET_AVX512VL)))))
14407 : : return -1;
14408 : : return 4607; /* unspec_avx512fp16_fix_truncv16hi2_mask_round */
14409 : :
14410 : : case 2:
14411 : : if (!(
14412 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14413 : : (TARGET_AVX512F) && (
14414 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14415 : : (TARGET_AVX512F) &&
14416 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14417 : : (TARGET_AVX512FP16))))
14418 : : return -1;
14419 : : return 4615; /* unspec_avx512fp16_fix_truncv32hi2_mask_round */
14420 : :
14421 : : case 3:
14422 : : if (!(
14423 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14424 : : (TARGET_AVX512F) && (
14425 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14426 : : (TARGET_AVX512F) && (
14427 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14428 : : (TARGET_AVX512FP16) &&
14429 : : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14430 : : (TARGET_AVX512VL)))))
14431 : : return -1;
14432 : : return 4623; /* unspec_avx512fp16_fix_truncv8si2_mask_round */
14433 : :
14434 : : case 4:
14435 : : if (!
14436 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14437 : : (TARGET_AVX512F))
14438 : : return -1;
14439 : : return 5054; /* unspec_fix_truncv8dfv8si2_mask_round */
14440 : :
14441 : : case 5:
14442 : : if (!(
14443 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14444 : : (TARGET_AVX512F) && (
14445 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14446 : : (TARGET_AVX512F) &&
14447 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14448 : : (TARGET_AVX512FP16))))
14449 : : return -1;
14450 : : return 4631; /* unspec_avx512fp16_fix_truncv16si2_mask_round */
14451 : :
14452 : : case 6:
14453 : : if (!
14454 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14455 : : (TARGET_AVX512F))
14456 : : return -1;
14457 : : return 4905; /* unspec_fix_truncv16sfv16si2_mask_round */
14458 : :
14459 : : case 7:
14460 : : if (!(
14461 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14462 : : (TARGET_AVX512F) && (
14463 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14464 : : (TARGET_AVX512F) &&
14465 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14466 : : (TARGET_AVX512FP16))))
14467 : : return -1;
14468 : : return 4639; /* unspec_avx512fp16_fix_truncv8di2_mask_round */
14469 : :
14470 : : case 8:
14471 : : if (!(
14472 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14473 : : (TARGET_AVX512F) && (
14474 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14475 : : (TARGET_AVX512F) &&
14476 : : #line 9967 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14477 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14478 : : || V8DFmode == V8DFmode
14479 : : || V8DFmode == V8DImode
14480 : : || V8DFmode == V16SImode
14481 : : || V8DFmode == V32HFmode)))))
14482 : : return -1;
14483 : : return 5083; /* unspec_fix_truncv8dfv8di2_mask_round */
14484 : :
14485 : : case 9:
14486 : : if (!(
14487 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14488 : : (TARGET_AVX512F) && (
14489 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14490 : : (TARGET_AVX512F) &&
14491 : : #line 10010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14492 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14493 : : || V8DImode == V8DFmode
14494 : : || V8DImode == V8DImode
14495 : : || V8DImode == V16SImode
14496 : : || V8DImode == V32HFmode)))))
14497 : : return -1;
14498 : : return 5131; /* unspec_fix_truncv8sfv8di2_mask_round */
14499 : :
14500 : : default:
14501 : : return -1;
14502 : : }
14503 : :
14504 : : case 174:
14505 : : switch (pattern1304 (x2))
14506 : : {
14507 : : case 0:
14508 : : if (!(
14509 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14510 : : (TARGET_AVX512F) && (
14511 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14512 : : (TARGET_AVX512F) && (
14513 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14514 : : (TARGET_AVX512FP16) &&
14515 : : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14516 : : (TARGET_AVX512VL)))))
14517 : : return -1;
14518 : : return 4603; /* unspec_avx512fp16_fixuns_truncv8hi2_mask_round */
14519 : :
14520 : : case 1:
14521 : : if (!(
14522 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14523 : : (TARGET_AVX512F) && (
14524 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14525 : : (TARGET_AVX512F) && (
14526 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14527 : : (TARGET_AVX512FP16) &&
14528 : : #line 682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14529 : : (TARGET_AVX512VL)))))
14530 : : return -1;
14531 : : return 4611; /* unspec_avx512fp16_fixuns_truncv16hi2_mask_round */
14532 : :
14533 : : case 2:
14534 : : if (!(
14535 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14536 : : (TARGET_AVX512F) && (
14537 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14538 : : (TARGET_AVX512F) &&
14539 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14540 : : (TARGET_AVX512FP16))))
14541 : : return -1;
14542 : : return 4619; /* unspec_avx512fp16_fixuns_truncv32hi2_mask_round */
14543 : :
14544 : : case 3:
14545 : : if (!(
14546 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14547 : : (TARGET_AVX512F) && (
14548 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14549 : : (TARGET_AVX512F) && (
14550 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14551 : : (TARGET_AVX512FP16) &&
14552 : : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14553 : : (TARGET_AVX512VL)))))
14554 : : return -1;
14555 : : return 4627; /* unspec_avx512fp16_fixuns_truncv8si2_mask_round */
14556 : :
14557 : : case 4:
14558 : : if (!
14559 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14560 : : (TARGET_AVX512F))
14561 : : return -1;
14562 : : return 5058; /* unspec_fixuns_truncv8dfv8si2_mask_round */
14563 : :
14564 : : case 5:
14565 : : if (!(
14566 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14567 : : (TARGET_AVX512F) && (
14568 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14569 : : (TARGET_AVX512F) &&
14570 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14571 : : (TARGET_AVX512FP16))))
14572 : : return -1;
14573 : : return 4635; /* unspec_avx512fp16_fixuns_truncv16si2_mask_round */
14574 : :
14575 : : case 6:
14576 : : if (!
14577 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14578 : : (TARGET_AVX512F))
14579 : : return -1;
14580 : : return 4909; /* unspec_fixuns_truncv16sfv16si2_mask_round */
14581 : :
14582 : : case 7:
14583 : : if (!(
14584 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14585 : : (TARGET_AVX512F) && (
14586 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14587 : : (TARGET_AVX512F) &&
14588 : : #line 8150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14589 : : (TARGET_AVX512FP16))))
14590 : : return -1;
14591 : : return 4643; /* unspec_avx512fp16_fixuns_truncv8di2_mask_round */
14592 : :
14593 : : case 8:
14594 : : if (!(
14595 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14596 : : (TARGET_AVX512F) && (
14597 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14598 : : (TARGET_AVX512F) &&
14599 : : #line 9967 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14600 : : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
14601 : : || V8DFmode == V8DFmode
14602 : : || V8DFmode == V8DImode
14603 : : || V8DFmode == V16SImode
14604 : : || V8DFmode == V32HFmode)))))
14605 : : return -1;
14606 : : return 5087; /* unspec_fixuns_truncv8dfv8di2_mask_round */
14607 : :
14608 : : case 9:
14609 : : if (!(
14610 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14611 : : (TARGET_AVX512F) && (
14612 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14613 : : (TARGET_AVX512F) &&
14614 : : #line 10010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14615 : : (TARGET_AVX512DQ && (V8DImode == V16SFmode
14616 : : || V8DImode == V8DFmode
14617 : : || V8DImode == V8DImode
14618 : : || V8DImode == V16SImode
14619 : : || V8DImode == V32HFmode)))))
14620 : : return -1;
14621 : : return 5135; /* unspec_fixuns_truncv8sfv8di2_mask_round */
14622 : :
14623 : : default:
14624 : : return -1;
14625 : : }
14626 : :
14627 : : case 166:
14628 : : if (!const48_operand (operands[4], E_SImode))
14629 : : return -1;
14630 : : switch (GET_MODE (operands[0]))
14631 : : {
14632 : : case E_V32HFmode:
14633 : : if (pattern1480 (x2,
14634 : : E_V32HFmode,
14635 : : E_SImode) != 0
14636 : : || !(
14637 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14638 : : (TARGET_AVX512F) && (
14639 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14640 : : (TARGET_AVX512F) && (
14641 : : #line 14304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14642 : : (TARGET_AVX512F) &&
14643 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14644 : : (TARGET_AVX512FP16)))))
14645 : : return -1;
14646 : : return 7051; /* avx512bw_getexpv32hf_mask_round */
14647 : :
14648 : : case E_V16HFmode:
14649 : : if (pattern1480 (x2,
14650 : : E_V16HFmode,
14651 : : E_HImode) != 0
14652 : : || !(
14653 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14654 : : (TARGET_AVX512F) && (
14655 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14656 : : (TARGET_AVX512F) && (
14657 : : #line 14304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14658 : : (TARGET_AVX512F) &&
14659 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14660 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14661 : : return -1;
14662 : : return 7055; /* avx512vl_getexpv16hf_mask_round */
14663 : :
14664 : : case E_V8HFmode:
14665 : : if (pattern1480 (x2,
14666 : : E_V8HFmode,
14667 : : E_QImode) != 0
14668 : : || !(
14669 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14670 : : (TARGET_AVX512F) && (
14671 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14672 : : (TARGET_AVX512F) && (
14673 : : #line 14304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14674 : : (TARGET_AVX512F) &&
14675 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14676 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14677 : : return -1;
14678 : : return 7059; /* avx512fp16_getexpv8hf_mask_round */
14679 : :
14680 : : case E_V16SFmode:
14681 : : if (pattern1480 (x2,
14682 : : E_V16SFmode,
14683 : : E_HImode) != 0
14684 : : || !
14685 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14686 : : (TARGET_AVX512F))
14687 : : return -1;
14688 : : return 7063; /* avx512f_getexpv16sf_mask_round */
14689 : :
14690 : : case E_V8SFmode:
14691 : : if (pattern1480 (x2,
14692 : : E_V8SFmode,
14693 : : E_QImode) != 0
14694 : : || !(
14695 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14696 : : (TARGET_AVX512F) && (
14697 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14698 : : (TARGET_AVX512F) && (
14699 : : #line 14304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14700 : : (TARGET_AVX512F) &&
14701 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14702 : : (TARGET_AVX512VL)))))
14703 : : return -1;
14704 : : return 7067; /* avx512vl_getexpv8sf_mask_round */
14705 : :
14706 : : case E_V4SFmode:
14707 : : if (pattern1480 (x2,
14708 : : E_V4SFmode,
14709 : : E_QImode) != 0
14710 : : || !(
14711 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14712 : : (TARGET_AVX512F) && (
14713 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14714 : : (TARGET_AVX512F) && (
14715 : : #line 14304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14716 : : (TARGET_AVX512F) &&
14717 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14718 : : (TARGET_AVX512VL)))))
14719 : : return -1;
14720 : : return 7071; /* avx512vl_getexpv4sf_mask_round */
14721 : :
14722 : : case E_V8DFmode:
14723 : : if (pattern1480 (x2,
14724 : : E_V8DFmode,
14725 : : E_QImode) != 0
14726 : : || !
14727 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14728 : : (TARGET_AVX512F))
14729 : : return -1;
14730 : : return 7075; /* avx512f_getexpv8df_mask_round */
14731 : :
14732 : : case E_V4DFmode:
14733 : : if (pattern1480 (x2,
14734 : : E_V4DFmode,
14735 : : E_QImode) != 0
14736 : : || !(
14737 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14738 : : (TARGET_AVX512F) && (
14739 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14740 : : (TARGET_AVX512F) && (
14741 : : #line 14304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14742 : : (TARGET_AVX512F) &&
14743 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14744 : : (TARGET_AVX512VL)))))
14745 : : return -1;
14746 : : return 7079; /* avx512vl_getexpv4df_mask_round */
14747 : :
14748 : : case E_V2DFmode:
14749 : : if (pattern1480 (x2,
14750 : : E_V2DFmode,
14751 : : E_QImode) != 0
14752 : : || !(
14753 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14754 : : (TARGET_AVX512F) && (
14755 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14756 : : (TARGET_AVX512F) && (
14757 : : #line 14304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14758 : : (TARGET_AVX512F) &&
14759 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14760 : : (TARGET_AVX512VL)))))
14761 : : return -1;
14762 : : return 7083; /* avx512vl_getexpv2df_mask_round */
14763 : :
14764 : : default:
14765 : : return -1;
14766 : : }
14767 : :
14768 : : case 150:
14769 : : if (pattern1305 (x2,
14770 : : E_HImode,
14771 : : E_V16SFmode,
14772 : : E_V16HImode) != 0
14773 : : || !
14774 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14775 : : (TARGET_AVX512F))
14776 : : return -1;
14777 : : return 9720; /* avx512f_vcvtph2ps512_mask_round */
14778 : :
14779 : : case 266:
14780 : : if (pattern1306 (x2,
14781 : : E_SImode,
14782 : : E_V32HImode,
14783 : : E_V32HFmode) != 0
14784 : : || !(
14785 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14786 : : (TARGET_AVX512F) && (
14787 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14788 : : (TARGET_AVX512F) &&
14789 : : #line 32925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14790 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
14791 : : || V32HFmode == V8DFmode
14792 : : || V32HFmode == V8DImode
14793 : : || V32HFmode == V16SImode
14794 : : || V32HFmode == V32HFmode)))))
14795 : : return -1;
14796 : : return 10821; /* avx10_2_cvtph2ibsv32hf_mask_round */
14797 : :
14798 : : case 267:
14799 : : if (pattern1306 (x2,
14800 : : E_SImode,
14801 : : E_V32HImode,
14802 : : E_V32HFmode) != 0
14803 : : || !(
14804 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14805 : : (TARGET_AVX512F) && (
14806 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14807 : : (TARGET_AVX512F) &&
14808 : : #line 32925 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14809 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
14810 : : || V32HFmode == V8DFmode
14811 : : || V32HFmode == V8DImode
14812 : : || V32HFmode == V16SImode
14813 : : || V32HFmode == V32HFmode)))))
14814 : : return -1;
14815 : : return 10825; /* avx10_2_cvtph2iubsv32hf_mask_round */
14816 : :
14817 : : case 272:
14818 : : if (pattern1305 (x2,
14819 : : E_SImode,
14820 : : E_V32HImode,
14821 : : E_V32HFmode) != 0
14822 : : || !(
14823 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14824 : : (TARGET_AVX512F) && (
14825 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14826 : : (TARGET_AVX512F) &&
14827 : : #line 32940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14828 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
14829 : : || V32HFmode == V8DFmode
14830 : : || V32HFmode == V8DImode
14831 : : || V32HFmode == V16SImode
14832 : : || V32HFmode == V32HFmode)))))
14833 : : return -1;
14834 : : return 10837; /* avx10_2_cvttph2ibsv32hf_mask_round */
14835 : :
14836 : : case 273:
14837 : : if (pattern1305 (x2,
14838 : : E_SImode,
14839 : : E_V32HImode,
14840 : : E_V32HFmode) != 0
14841 : : || !(
14842 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14843 : : (TARGET_AVX512F) && (
14844 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14845 : : (TARGET_AVX512F) &&
14846 : : #line 32940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14847 : : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
14848 : : || V32HFmode == V8DFmode
14849 : : || V32HFmode == V8DImode
14850 : : || V32HFmode == V16SImode
14851 : : || V32HFmode == V32HFmode)))))
14852 : : return -1;
14853 : : return 10841; /* avx10_2_cvttph2iubsv32hf_mask_round */
14854 : :
14855 : : case 268:
14856 : : if (pattern1306 (x2,
14857 : : E_HImode,
14858 : : E_V16SImode,
14859 : : E_V16SFmode) != 0
14860 : : || !(
14861 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14862 : : (TARGET_AVX512F) && (
14863 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14864 : : (TARGET_AVX512F) &&
14865 : : #line 32955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14866 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14867 : : || V16SFmode == V8DFmode
14868 : : || V16SFmode == V8DImode
14869 : : || V16SFmode == V16SImode
14870 : : || V16SFmode == V32HFmode)))))
14871 : : return -1;
14872 : : return 10853; /* avx10_2_cvtps2ibsv16sf_mask_round */
14873 : :
14874 : : case 269:
14875 : : if (pattern1306 (x2,
14876 : : E_HImode,
14877 : : E_V16SImode,
14878 : : E_V16SFmode) != 0
14879 : : || !(
14880 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14881 : : (TARGET_AVX512F) && (
14882 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14883 : : (TARGET_AVX512F) &&
14884 : : #line 32955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14885 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14886 : : || V16SFmode == V8DFmode
14887 : : || V16SFmode == V8DImode
14888 : : || V16SFmode == V16SImode
14889 : : || V16SFmode == V32HFmode)))))
14890 : : return -1;
14891 : : return 10857; /* avx10_2_cvtps2iubsv16sf_mask_round */
14892 : :
14893 : : case 274:
14894 : : if (pattern1305 (x2,
14895 : : E_HImode,
14896 : : E_V16SImode,
14897 : : E_V16SFmode) != 0
14898 : : || !(
14899 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14900 : : (TARGET_AVX512F) && (
14901 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14902 : : (TARGET_AVX512F) &&
14903 : : #line 32970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14904 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14905 : : || V16SFmode == V8DFmode
14906 : : || V16SFmode == V8DImode
14907 : : || V16SFmode == V16SImode
14908 : : || V16SFmode == V32HFmode)))))
14909 : : return -1;
14910 : : return 10869; /* avx10_2_cvttps2ibsv16sf_mask_round */
14911 : :
14912 : : case 275:
14913 : : if (pattern1305 (x2,
14914 : : E_HImode,
14915 : : E_V16SImode,
14916 : : E_V16SFmode) != 0
14917 : : || !(
14918 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14919 : : (TARGET_AVX512F) && (
14920 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14921 : : (TARGET_AVX512F) &&
14922 : : #line 32970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14923 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14924 : : || V16SFmode == V8DFmode
14925 : : || V16SFmode == V8DImode
14926 : : || V16SFmode == V16SImode
14927 : : || V16SFmode == V32HFmode)))))
14928 : : return -1;
14929 : : return 10873; /* avx10_2_cvttps2iubsv16sf_mask_round */
14930 : :
14931 : : case 276:
14932 : : switch (pattern1307 (x2))
14933 : : {
14934 : : case 0:
14935 : : if (!(
14936 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14937 : : (TARGET_AVX512F) && (
14938 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14939 : : (TARGET_AVX512F) && (
14940 : : #line 32989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14941 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
14942 : : || V16SFmode == V8DFmode
14943 : : || V16SFmode == V8DImode
14944 : : || V16SFmode == V16SImode
14945 : : || V16SFmode == V32HFmode)) &&
14946 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14947 : : (TARGET_AVX512F)))))
14948 : : return -1;
14949 : : return 10885; /* avx10_2_vcvttps2dqsv16sf_mask_round */
14950 : :
14951 : : case 1:
14952 : : if (!(
14953 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14954 : : (TARGET_AVX512F) && (
14955 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14956 : : (TARGET_AVX512F) && (
14957 : : #line 32989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14958 : : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
14959 : : || V8DFmode == V8DFmode
14960 : : || V8DFmode == V8DImode
14961 : : || V8DFmode == V16SImode
14962 : : || V8DFmode == V32HFmode)) &&
14963 : : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14964 : : (TARGET_AVX512F)))))
14965 : : return -1;
14966 : : return 10901; /* avx10_2_vcvttpd2dqsv8df_mask_round */
14967 : :
14968 : : case 2:
14969 : : if (!(
14970 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14971 : : (TARGET_AVX512F) && (
14972 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14973 : : (TARGET_AVX512F) && (
14974 : : #line 33000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14975 : : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
14976 : : || V8DFmode == V8DFmode
14977 : : || V8DFmode == V8DImode
14978 : : || V8DFmode == V16SImode
14979 : : || V8DFmode == V32HFmode)) &&
14980 : : #line 446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14981 : : (TARGET_AVX512F)))))
14982 : : return -1;
14983 : : return 10917; /* avx10_2_vcvttpd2qqsv8df_mask_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 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14990 : : (TARGET_AVX512F) && (
14991 : : #line 33011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14992 : : (TARGET_AVX10_2 && (V8DImode == V16SFmode
14993 : : || V8DImode == V8DFmode
14994 : : || V8DImode == V8DImode
14995 : : || V8DImode == V16SImode
14996 : : || V8DImode == V32HFmode)) &&
14997 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14998 : : (TARGET_AVX512F)))))
14999 : : return -1;
15000 : : return 10933; /* avx10_2_vcvttps2qqsv8di_mask_round */
15001 : :
15002 : : default:
15003 : : return -1;
15004 : : }
15005 : :
15006 : : case 277:
15007 : : switch (pattern1307 (x2))
15008 : : {
15009 : : case 0:
15010 : : if (!(
15011 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15012 : : (TARGET_AVX512F) && (
15013 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15014 : : (TARGET_AVX512F) && (
15015 : : #line 32989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15016 : : (TARGET_AVX10_2 && (V16SFmode == V16SFmode
15017 : : || V16SFmode == V8DFmode
15018 : : || V16SFmode == V8DImode
15019 : : || V16SFmode == V16SImode
15020 : : || V16SFmode == V32HFmode)) &&
15021 : : #line 377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15022 : : (TARGET_AVX512F)))))
15023 : : return -1;
15024 : : return 10889; /* avx10_2_vcvttps2udqsv16sf_mask_round */
15025 : :
15026 : : case 1:
15027 : : if (!(
15028 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15029 : : (TARGET_AVX512F) && (
15030 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15031 : : (TARGET_AVX512F) && (
15032 : : #line 32989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15033 : : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
15034 : : || V8DFmode == V8DFmode
15035 : : || V8DFmode == V8DImode
15036 : : || V8DFmode == V16SImode
15037 : : || V8DFmode == V32HFmode)) &&
15038 : : #line 378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15039 : : (TARGET_AVX512F)))))
15040 : : return -1;
15041 : : return 10905; /* avx10_2_vcvttpd2udqsv8df_mask_round */
15042 : :
15043 : : case 2:
15044 : : if (!(
15045 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15046 : : (TARGET_AVX512F) && (
15047 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15048 : : (TARGET_AVX512F) && (
15049 : : #line 33000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15050 : : (TARGET_AVX10_2 && (V8DFmode == V16SFmode
15051 : : || V8DFmode == V8DFmode
15052 : : || V8DFmode == V8DImode
15053 : : || V8DFmode == V16SImode
15054 : : || V8DFmode == V32HFmode)) &&
15055 : : #line 446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15056 : : (TARGET_AVX512F)))))
15057 : : return -1;
15058 : : return 10921; /* avx10_2_vcvttpd2uqqsv8df_mask_round */
15059 : :
15060 : : case 3:
15061 : : if (!(
15062 : : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15063 : : (TARGET_AVX512F) && (
15064 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15065 : : (TARGET_AVX512F) && (
15066 : : #line 33011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15067 : : (TARGET_AVX10_2 && (V8DImode == V16SFmode
15068 : : || V8DImode == V8DFmode
15069 : : || V8DImode == V8DImode
15070 : : || V8DImode == V16SImode
15071 : : || V8DImode == V32HFmode)) &&
15072 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15073 : : (TARGET_AVX512F)))))
15074 : : return -1;
15075 : : return 10937; /* avx10_2_vcvttps2uqqsv8di_mask_round */
15076 : :
15077 : : default:
15078 : : return -1;
15079 : : }
15080 : :
15081 : : default:
15082 : : return -1;
15083 : : }
15084 : : }
15085 : :
15086 : : int
15087 : : recog_244 (rtx x1 ATTRIBUTE_UNUSED,
15088 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15089 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15090 : : {
15091 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15092 : : rtx x2, x3, x4, x5;
15093 : : int res ATTRIBUTE_UNUSED;
15094 : : x2 = XEXP (x1, 0);
15095 : : operands[0] = x2;
15096 : : x3 = XEXP (x1, 1);
15097 : : x4 = XVECEXP (x3, 0, 0);
15098 : : operands[1] = x4;
15099 : : x5 = XVECEXP (x3, 0, 1);
15100 : : operands[2] = x5;
15101 : : if (!const_0_to_255_operand (operands[2], E_SImode))
15102 : : return -1;
15103 : : switch (GET_MODE (operands[0]))
15104 : : {
15105 : : case E_V8HImode:
15106 : : if (GET_MODE (x3) != E_V8HImode
15107 : : || !register_operand (operands[1], E_V8SFmode))
15108 : : return -1;
15109 : : if (register_operand (operands[0], E_V8HImode)
15110 : : &&
15111 : : #line 29577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15112 : : (TARGET_F16C || TARGET_AVX512VL))
15113 : : return 9724; /* vcvtps2ph256 */
15114 : : if (!memory_operand (operands[0], E_V8HImode)
15115 : : || !
15116 : : #line 29589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15117 : : (TARGET_F16C || TARGET_AVX512VL))
15118 : : return -1;
15119 : : return 9726; /* *vcvtps2ph256 */
15120 : :
15121 : : case E_V16HImode:
15122 : : if (GET_MODE (x3) != E_V16HImode
15123 : : || !register_operand (operands[1], E_V16SFmode))
15124 : : return -1;
15125 : : if (register_operand (operands[0], E_V16HImode)
15126 : : &&
15127 : : #line 29628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15128 : : (TARGET_AVX512F))
15129 : : return 9728; /* *avx512f_vcvtps2ph512 */
15130 : : if (!memory_operand (operands[0], E_V16HImode)
15131 : : || !
15132 : : #line 29640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15133 : : (TARGET_AVX512F))
15134 : : return -1;
15135 : : return 9732; /* *avx512f_vcvtps2ph512 */
15136 : :
15137 : : default:
15138 : : return -1;
15139 : : }
15140 : : }
15141 : :
15142 : : int
15143 : : recog_249 (rtx x1 ATTRIBUTE_UNUSED,
15144 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15145 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15146 : : {
15147 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15148 : : rtx x2, x3, x4, x5, x6, x7;
15149 : : int res ATTRIBUTE_UNUSED;
15150 : : x2 = XEXP (x1, 0);
15151 : : operands[0] = x2;
15152 : : x3 = XEXP (x1, 1);
15153 : : x4 = XVECEXP (x3, 0, 0);
15154 : : operands[1] = x4;
15155 : : x5 = XVECEXP (x3, 0, 1);
15156 : : operands[2] = x5;
15157 : : x6 = XVECEXP (x3, 0, 2);
15158 : : switch (GET_CODE (x6))
15159 : : {
15160 : : case REG:
15161 : : case SUBREG:
15162 : : case MEM:
15163 : : operands[3] = x6;
15164 : : switch (GET_MODE (operands[0]))
15165 : : {
15166 : : case E_V8SFmode:
15167 : : if (!register_operand (operands[0], E_V8SFmode)
15168 : : || GET_MODE (x3) != E_V8SFmode)
15169 : : return -1;
15170 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
15171 : : && nonimmediate_operand (operands[2], E_V8SFmode)
15172 : : && nonimmediate_operand (operands[3], E_V8SFmode)
15173 : : && (
15174 : : #line 6698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15175 : : (TARGET_FMA || TARGET_FMA4) &&
15176 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15177 : : (TARGET_AVX)))
15178 : : return 4122; /* *fma_fmaddsub_v8sf */
15179 : : if (!vector_operand (operands[1], E_V8SFmode)
15180 : : || !vector_operand (operands[2], E_V8SFmode)
15181 : : || !vector_operand (operands[3], E_V8SFmode)
15182 : : || !(
15183 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15184 : : (TARGET_AVX512F && 1 && 1) &&
15185 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15186 : : (TARGET_AVX512VL)))
15187 : : return -1;
15188 : : return 4138; /* *fma_fmaddsub_v8sf */
15189 : :
15190 : : case E_V4SFmode:
15191 : : if (!register_operand (operands[0], E_V4SFmode)
15192 : : || GET_MODE (x3) != E_V4SFmode)
15193 : : return -1;
15194 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
15195 : : && nonimmediate_operand (operands[2], E_V4SFmode)
15196 : : && nonimmediate_operand (operands[3], E_V4SFmode)
15197 : : &&
15198 : : #line 6698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15199 : : (TARGET_FMA || TARGET_FMA4))
15200 : : return 4123; /* *fma_fmaddsub_v4sf */
15201 : : if (!vector_operand (operands[1], E_V4SFmode)
15202 : : || !vector_operand (operands[2], E_V4SFmode)
15203 : : || !vector_operand (operands[3], E_V4SFmode)
15204 : : || !(
15205 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15206 : : (TARGET_AVX512F && 1 && 1) &&
15207 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15208 : : (TARGET_AVX512VL)))
15209 : : return -1;
15210 : : return 4140; /* *fma_fmaddsub_v4sf */
15211 : :
15212 : : case E_V4DFmode:
15213 : : if (!register_operand (operands[0], E_V4DFmode)
15214 : : || GET_MODE (x3) != E_V4DFmode)
15215 : : return -1;
15216 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
15217 : : && nonimmediate_operand (operands[2], E_V4DFmode)
15218 : : && nonimmediate_operand (operands[3], E_V4DFmode)
15219 : : && (
15220 : : #line 6698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15221 : : (TARGET_FMA || TARGET_FMA4) &&
15222 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15223 : : (TARGET_AVX)))
15224 : : return 4124; /* *fma_fmaddsub_v4df */
15225 : : if (!vector_operand (operands[1], E_V4DFmode)
15226 : : || !vector_operand (operands[2], E_V4DFmode)
15227 : : || !vector_operand (operands[3], E_V4DFmode)
15228 : : || !(
15229 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15230 : : (TARGET_AVX512F && 1 && 1) &&
15231 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15232 : : (TARGET_AVX512VL)))
15233 : : return -1;
15234 : : return 4146; /* *fma_fmaddsub_v4df */
15235 : :
15236 : : case E_V2DFmode:
15237 : : if (!register_operand (operands[0], E_V2DFmode)
15238 : : || GET_MODE (x3) != E_V2DFmode)
15239 : : return -1;
15240 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
15241 : : && nonimmediate_operand (operands[2], E_V2DFmode)
15242 : : && nonimmediate_operand (operands[3], E_V2DFmode)
15243 : : && (
15244 : : #line 6698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15245 : : (TARGET_FMA || TARGET_FMA4) &&
15246 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15247 : : (TARGET_SSE2)))
15248 : : return 4125; /* *fma_fmaddsub_v2df */
15249 : : if (!vector_operand (operands[1], E_V2DFmode)
15250 : : || !vector_operand (operands[2], E_V2DFmode)
15251 : : || !vector_operand (operands[3], E_V2DFmode)
15252 : : || !(
15253 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15254 : : (TARGET_AVX512F && 1 && 1) &&
15255 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15256 : : (TARGET_AVX512VL)))
15257 : : return -1;
15258 : : return 4148; /* *fma_fmaddsub_v2df */
15259 : :
15260 : : case E_V32HFmode:
15261 : : if (pattern669 (x3,
15262 : : E_V32HFmode) != 0
15263 : : || !(
15264 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15265 : : (TARGET_AVX512F && 1 && 1) &&
15266 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15267 : : (TARGET_AVX512FP16)))
15268 : : return -1;
15269 : : return 4126; /* *fma_fmaddsub_v32hf */
15270 : :
15271 : : case E_V16HFmode:
15272 : : if (pattern669 (x3,
15273 : : E_V16HFmode) != 0
15274 : : || !(
15275 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15276 : : (TARGET_AVX512F && 1 && 1) &&
15277 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15278 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15279 : : return -1;
15280 : : return 4130; /* *fma_fmaddsub_v16hf */
15281 : :
15282 : : case E_V8HFmode:
15283 : : if (pattern669 (x3,
15284 : : E_V8HFmode) != 0
15285 : : || !(
15286 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15287 : : (TARGET_AVX512F && 1 && 1) &&
15288 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15289 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15290 : : return -1;
15291 : : return 4132; /* *fma_fmaddsub_v8hf */
15292 : :
15293 : : case E_V16SFmode:
15294 : : if (pattern669 (x3,
15295 : : E_V16SFmode) != 0
15296 : : || !
15297 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15298 : : (TARGET_AVX512F && 1 && 1))
15299 : : return -1;
15300 : : return 4134; /* *fma_fmaddsub_v16sf */
15301 : :
15302 : : case E_V8DFmode:
15303 : : if (pattern669 (x3,
15304 : : E_V8DFmode) != 0
15305 : : || !
15306 : : #line 6716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15307 : : (TARGET_AVX512F && 1 && 1))
15308 : : return -1;
15309 : : return 4142; /* *fma_fmaddsub_v8df */
15310 : :
15311 : : default:
15312 : : return -1;
15313 : : }
15314 : :
15315 : : case NEG:
15316 : : x7 = XEXP (x6, 0);
15317 : : operands[3] = x7;
15318 : : switch (GET_MODE (operands[0]))
15319 : : {
15320 : : case E_V8SFmode:
15321 : : if (!register_operand (operands[0], E_V8SFmode)
15322 : : || GET_MODE (x3) != E_V8SFmode
15323 : : || GET_MODE (x6) != E_V8SFmode)
15324 : : return -1;
15325 : : if (nonimmediate_operand (operands[1], E_V8SFmode)
15326 : : && nonimmediate_operand (operands[2], E_V8SFmode)
15327 : : && nonimmediate_operand (operands[3], E_V8SFmode)
15328 : : && (
15329 : : #line 6767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15330 : : (TARGET_FMA || TARGET_FMA4) &&
15331 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15332 : : (TARGET_AVX)))
15333 : : return 4186; /* *fma_fmsubadd_v8sf */
15334 : : if (!vector_operand (operands[1], E_V8SFmode)
15335 : : || !vector_operand (operands[2], E_V8SFmode)
15336 : : || !vector_operand (operands[3], E_V8SFmode)
15337 : : || !(
15338 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15339 : : (TARGET_AVX512F && 1 && 1) &&
15340 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15341 : : (TARGET_AVX512VL)))
15342 : : return -1;
15343 : : return 4202; /* *fma_fmsubadd_v8sf */
15344 : :
15345 : : case E_V4SFmode:
15346 : : if (!register_operand (operands[0], E_V4SFmode)
15347 : : || GET_MODE (x3) != E_V4SFmode
15348 : : || GET_MODE (x6) != E_V4SFmode)
15349 : : return -1;
15350 : : if (nonimmediate_operand (operands[1], E_V4SFmode)
15351 : : && nonimmediate_operand (operands[2], E_V4SFmode)
15352 : : && nonimmediate_operand (operands[3], E_V4SFmode)
15353 : : &&
15354 : : #line 6767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15355 : : (TARGET_FMA || TARGET_FMA4))
15356 : : return 4187; /* *fma_fmsubadd_v4sf */
15357 : : if (!vector_operand (operands[1], E_V4SFmode)
15358 : : || !vector_operand (operands[2], E_V4SFmode)
15359 : : || !vector_operand (operands[3], E_V4SFmode)
15360 : : || !(
15361 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15362 : : (TARGET_AVX512F && 1 && 1) &&
15363 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15364 : : (TARGET_AVX512VL)))
15365 : : return -1;
15366 : : return 4204; /* *fma_fmsubadd_v4sf */
15367 : :
15368 : : case E_V4DFmode:
15369 : : if (!register_operand (operands[0], E_V4DFmode)
15370 : : || GET_MODE (x3) != E_V4DFmode
15371 : : || GET_MODE (x6) != E_V4DFmode)
15372 : : return -1;
15373 : : if (nonimmediate_operand (operands[1], E_V4DFmode)
15374 : : && nonimmediate_operand (operands[2], E_V4DFmode)
15375 : : && nonimmediate_operand (operands[3], E_V4DFmode)
15376 : : && (
15377 : : #line 6767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15378 : : (TARGET_FMA || TARGET_FMA4) &&
15379 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15380 : : (TARGET_AVX)))
15381 : : return 4188; /* *fma_fmsubadd_v4df */
15382 : : if (!vector_operand (operands[1], E_V4DFmode)
15383 : : || !vector_operand (operands[2], E_V4DFmode)
15384 : : || !vector_operand (operands[3], E_V4DFmode)
15385 : : || !(
15386 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15387 : : (TARGET_AVX512F && 1 && 1) &&
15388 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15389 : : (TARGET_AVX512VL)))
15390 : : return -1;
15391 : : return 4210; /* *fma_fmsubadd_v4df */
15392 : :
15393 : : case E_V2DFmode:
15394 : : if (!register_operand (operands[0], E_V2DFmode)
15395 : : || GET_MODE (x3) != E_V2DFmode
15396 : : || GET_MODE (x6) != E_V2DFmode)
15397 : : return -1;
15398 : : if (nonimmediate_operand (operands[1], E_V2DFmode)
15399 : : && nonimmediate_operand (operands[2], E_V2DFmode)
15400 : : && nonimmediate_operand (operands[3], E_V2DFmode)
15401 : : && (
15402 : : #line 6767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15403 : : (TARGET_FMA || TARGET_FMA4) &&
15404 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15405 : : (TARGET_SSE2)))
15406 : : return 4189; /* *fma_fmsubadd_v2df */
15407 : : if (!vector_operand (operands[1], E_V2DFmode)
15408 : : || !vector_operand (operands[2], E_V2DFmode)
15409 : : || !vector_operand (operands[3], E_V2DFmode)
15410 : : || !(
15411 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15412 : : (TARGET_AVX512F && 1 && 1) &&
15413 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15414 : : (TARGET_AVX512VL)))
15415 : : return -1;
15416 : : return 4212; /* *fma_fmsubadd_v2df */
15417 : :
15418 : : case E_V32HFmode:
15419 : : if (pattern1029 (x3,
15420 : : E_V32HFmode) != 0
15421 : : || !(
15422 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15423 : : (TARGET_AVX512F && 1 && 1) &&
15424 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15425 : : (TARGET_AVX512FP16)))
15426 : : return -1;
15427 : : return 4190; /* *fma_fmsubadd_v32hf */
15428 : :
15429 : : case E_V16HFmode:
15430 : : if (pattern1029 (x3,
15431 : : E_V16HFmode) != 0
15432 : : || !(
15433 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15434 : : (TARGET_AVX512F && 1 && 1) &&
15435 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15436 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15437 : : return -1;
15438 : : return 4194; /* *fma_fmsubadd_v16hf */
15439 : :
15440 : : case E_V8HFmode:
15441 : : if (pattern1029 (x3,
15442 : : E_V8HFmode) != 0
15443 : : || !(
15444 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15445 : : (TARGET_AVX512F && 1 && 1) &&
15446 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15447 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15448 : : return -1;
15449 : : return 4196; /* *fma_fmsubadd_v8hf */
15450 : :
15451 : : case E_V16SFmode:
15452 : : if (pattern1029 (x3,
15453 : : E_V16SFmode) != 0
15454 : : || !
15455 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15456 : : (TARGET_AVX512F && 1 && 1))
15457 : : return -1;
15458 : : return 4198; /* *fma_fmsubadd_v16sf */
15459 : :
15460 : : case E_V8DFmode:
15461 : : if (pattern1029 (x3,
15462 : : E_V8DFmode) != 0
15463 : : || !
15464 : : #line 6786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15465 : : (TARGET_AVX512F && 1 && 1))
15466 : : return -1;
15467 : : return 4206; /* *fma_fmsubadd_v8df */
15468 : :
15469 : : default:
15470 : : return -1;
15471 : : }
15472 : :
15473 : : default:
15474 : : return -1;
15475 : : }
15476 : : }
15477 : :
15478 : : int
15479 : : recog_256 (rtx x1 ATTRIBUTE_UNUSED,
15480 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15481 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15482 : : {
15483 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15484 : : rtx x2, x3, x4, x5, x6;
15485 : : int res ATTRIBUTE_UNUSED;
15486 : : x2 = XEXP (x1, 0);
15487 : : operands[0] = x2;
15488 : : x3 = XEXP (x1, 1);
15489 : : x4 = XVECEXP (x3, 0, 0);
15490 : : operands[1] = x4;
15491 : : x5 = XVECEXP (x3, 0, 1);
15492 : : operands[2] = x5;
15493 : : x6 = XVECEXP (x3, 0, 2);
15494 : : operands[3] = x6;
15495 : : if (!const_0_to_15_operand (operands[3], E_SImode))
15496 : : return -1;
15497 : : switch (GET_MODE (operands[0]))
15498 : : {
15499 : : case E_V16SFmode:
15500 : : if (pattern158 (x3,
15501 : : E_V16SFmode) != 0
15502 : : || !
15503 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15504 : : (TARGET_AVX512DQ && 1))
15505 : : return -1;
15506 : : return 10022; /* avx512dq_rangepv16sf */
15507 : :
15508 : : case E_V8SFmode:
15509 : : if (pattern158 (x3,
15510 : : E_V8SFmode) != 0
15511 : : || !(
15512 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15513 : : (TARGET_AVX512DQ && 1) &&
15514 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15515 : : (TARGET_AVX512VL)))
15516 : : return -1;
15517 : : return 10026; /* avx512dq_rangepv8sf */
15518 : :
15519 : : case E_V4SFmode:
15520 : : if (pattern158 (x3,
15521 : : E_V4SFmode) != 0
15522 : : || !(
15523 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15524 : : (TARGET_AVX512DQ && 1) &&
15525 : : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15526 : : (TARGET_AVX512VL)))
15527 : : return -1;
15528 : : return 10028; /* avx512dq_rangepv4sf */
15529 : :
15530 : : case E_V8DFmode:
15531 : : if (pattern158 (x3,
15532 : : E_V8DFmode) != 0
15533 : : || !
15534 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15535 : : (TARGET_AVX512DQ && 1))
15536 : : return -1;
15537 : : return 10030; /* avx512dq_rangepv8df */
15538 : :
15539 : : case E_V4DFmode:
15540 : : if (pattern158 (x3,
15541 : : E_V4DFmode) != 0
15542 : : || !(
15543 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15544 : : (TARGET_AVX512DQ && 1) &&
15545 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15546 : : (TARGET_AVX512VL)))
15547 : : return -1;
15548 : : return 10034; /* avx512dq_rangepv4df */
15549 : :
15550 : : case E_V2DFmode:
15551 : : if (pattern158 (x3,
15552 : : E_V2DFmode) != 0
15553 : : || !(
15554 : : #line 30222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15555 : : (TARGET_AVX512DQ && 1) &&
15556 : : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15557 : : (TARGET_AVX512VL)))
15558 : : return -1;
15559 : : return 10036; /* avx512dq_rangepv2df */
15560 : :
15561 : : default:
15562 : : return -1;
15563 : : }
15564 : : }
15565 : :
15566 : : int
15567 : : recog_258 (rtx x1 ATTRIBUTE_UNUSED,
15568 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15569 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15570 : : {
15571 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15572 : : int res ATTRIBUTE_UNUSED;
15573 : : switch (pattern182 (x1))
15574 : : {
15575 : : case 0:
15576 : : if (!
15577 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15578 : : (TARGET_AVX512VBMI2))
15579 : : return -1;
15580 : : return 10310; /* vpshldv_v32hi */
15581 : :
15582 : : case 1:
15583 : : if (!
15584 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15585 : : (TARGET_AVX512VBMI2))
15586 : : return -1;
15587 : : return 10311; /* vpshldv_v16si */
15588 : :
15589 : : case 2:
15590 : : if (!
15591 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15592 : : (TARGET_AVX512VBMI2))
15593 : : return -1;
15594 : : return 10312; /* vpshldv_v8di */
15595 : :
15596 : : case 3:
15597 : : if (!(
15598 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15599 : : (TARGET_AVX512VBMI2) &&
15600 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15601 : : (TARGET_AVX512VL)))
15602 : : return -1;
15603 : : return 10313; /* vpshldv_v16hi */
15604 : :
15605 : : case 4:
15606 : : if (!(
15607 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15608 : : (TARGET_AVX512VBMI2) &&
15609 : : #line 746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15610 : : (TARGET_AVX512VL)))
15611 : : return -1;
15612 : : return 10314; /* vpshldv_v8si */
15613 : :
15614 : : case 5:
15615 : : if (!(
15616 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15617 : : (TARGET_AVX512VBMI2) &&
15618 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15619 : : (TARGET_AVX512VL)))
15620 : : return -1;
15621 : : return 10315; /* vpshldv_v4di */
15622 : :
15623 : : case 6:
15624 : : if (!(
15625 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15626 : : (TARGET_AVX512VBMI2) &&
15627 : : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15628 : : (TARGET_AVX512VL)))
15629 : : return -1;
15630 : : return 10316; /* vpshldv_v8hi */
15631 : :
15632 : : case 7:
15633 : : if (!(
15634 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15635 : : (TARGET_AVX512VBMI2) &&
15636 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15637 : : (TARGET_AVX512VL)))
15638 : : return -1;
15639 : : return 10317; /* vpshldv_v4si */
15640 : :
15641 : : case 8:
15642 : : if (!(
15643 : : #line 30885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15644 : : (TARGET_AVX512VBMI2) &&
15645 : : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15646 : : (TARGET_AVX512VL)))
15647 : : return -1;
15648 : : return 10318; /* vpshldv_v2di */
15649 : :
15650 : : default:
15651 : : return -1;
15652 : : }
15653 : : }
15654 : :
15655 : : int
15656 : : recog_263 (rtx x1 ATTRIBUTE_UNUSED,
15657 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15658 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15659 : : {
15660 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15661 : : rtx x2, x3, x4, x5, x6;
15662 : : int res ATTRIBUTE_UNUSED;
15663 : : x2 = XEXP (x1, 0);
15664 : : operands[0] = x2;
15665 : : x3 = XEXP (x1, 1);
15666 : : x4 = XVECEXP (x3, 0, 0);
15667 : : operands[1] = x4;
15668 : : x5 = XVECEXP (x3, 0, 1);
15669 : : operands[2] = x5;
15670 : : x6 = XVECEXP (x3, 0, 2);
15671 : : operands[3] = x6;
15672 : : if (!const_0_to_255_operand (operands[3], E_SImode))
15673 : : return -1;
15674 : : switch (GET_MODE (operands[0]))
15675 : : {
15676 : : case E_V8SFmode:
15677 : : if (pattern160 (x3,
15678 : : E_V8SFmode) != 0
15679 : : || !(
15680 : : #line 24051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15681 : : (TARGET_SSE4_1) &&
15682 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15683 : : (TARGET_AVX)))
15684 : : return -1;
15685 : : return 8750; /* avx_dpps256 */
15686 : :
15687 : : case E_V4SFmode:
15688 : : if (pattern160 (x3,
15689 : : E_V4SFmode) != 0
15690 : : || !
15691 : : #line 24051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15692 : : (TARGET_SSE4_1))
15693 : : return -1;
15694 : : return 8751; /* sse4_1_dpps */
15695 : :
15696 : : case E_V4DFmode:
15697 : : if (pattern160 (x3,
15698 : : E_V4DFmode) != 0
15699 : : || !(
15700 : : #line 24051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15701 : : (TARGET_SSE4_1) &&
15702 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15703 : : (TARGET_AVX)))
15704 : : return -1;
15705 : : return 8752; /* avx_dppd256 */
15706 : :
15707 : : case E_V2DFmode:
15708 : : if (pattern160 (x3,
15709 : : E_V2DFmode) != 0
15710 : : || !(
15711 : : #line 24051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15712 : : (TARGET_SSE4_1) &&
15713 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15714 : : (TARGET_SSE2)))
15715 : : return -1;
15716 : : return 8753; /* sse4_1_dppd */
15717 : :
15718 : : default:
15719 : : return -1;
15720 : : }
15721 : : }
15722 : :
15723 : : int
15724 : : recog_269 (rtx x1 ATTRIBUTE_UNUSED,
15725 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15726 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15727 : : {
15728 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15729 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15730 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
15731 : : rtx x18;
15732 : : int res ATTRIBUTE_UNUSED;
15733 : : x2 = XEXP (x1, 1);
15734 : : x3 = XEXP (x2, 1);
15735 : : x4 = XEXP (x3, 1);
15736 : : if (GET_CODE (x4) != PARALLEL)
15737 : : return -1;
15738 : : x5 = XEXP (x2, 0);
15739 : : operands[2] = x5;
15740 : : x6 = XEXP (x3, 0);
15741 : : operands[1] = x6;
15742 : : switch (XVECLEN (x4, 0))
15743 : : {
15744 : : case 2:
15745 : : x7 = XVECEXP (x4, 0, 0);
15746 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
15747 : : return -1;
15748 : : x8 = XVECEXP (x4, 0, 1);
15749 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
15750 : : return -1;
15751 : : switch (GET_MODE (operands[0]))
15752 : : {
15753 : : case E_V4SFmode:
15754 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
15755 : : || GET_MODE (x2) != E_V4SFmode
15756 : : || !nonimmediate_operand (operands[2], E_V2SFmode)
15757 : : || GET_MODE (x3) != E_V2SFmode
15758 : : || !nonimmediate_operand (operands[1], E_V4SFmode)
15759 : : || !
15760 : : #line 11952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15761 : : (TARGET_SSE))
15762 : : return -1;
15763 : : return 5284; /* sse_loadlps */
15764 : :
15765 : : case E_V4DImode:
15766 : : if (pattern1230 (x2,
15767 : : E_V4DImode,
15768 : : E_V2DImode) != 0
15769 : : || !
15770 : : #line 28844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15771 : : (TARGET_AVX && 1))
15772 : : return -1;
15773 : : return 9526; /* vec_set_lo_v4di */
15774 : :
15775 : : case E_V4DFmode:
15776 : : if (pattern1230 (x2,
15777 : : E_V4DFmode,
15778 : : E_V2DFmode) != 0
15779 : : || !
15780 : : #line 28844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15781 : : (TARGET_AVX && 1))
15782 : : return -1;
15783 : : return 9528; /* vec_set_lo_v4df */
15784 : :
15785 : : default:
15786 : : return -1;
15787 : : }
15788 : :
15789 : : case 1:
15790 : : x7 = XVECEXP (x4, 0, 0);
15791 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
15792 : : || !nonimmediate_operand (operands[0], E_V2DFmode)
15793 : : || GET_MODE (x2) != E_V2DFmode
15794 : : || !nonimmediate_operand (operands[2], E_DFmode)
15795 : : || GET_MODE (x3) != E_DFmode
15796 : : || !nonimm_or_0_operand (operands[1], E_V2DFmode)
15797 : : || !
15798 : : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15799 : : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
15800 : : return -1;
15801 : : return 7244; /* sse2_loadlpd */
15802 : :
15803 : : case 8:
15804 : : x7 = XVECEXP (x4, 0, 0);
15805 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
15806 : : return -1;
15807 : : x8 = XVECEXP (x4, 0, 1);
15808 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
15809 : : return -1;
15810 : : x9 = XVECEXP (x4, 0, 2);
15811 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 10]
15812 : : || pattern1231 (x4,
15813 : : 15,
15814 : : 14,
15815 : : 13,
15816 : : 12,
15817 : : 11) != 0)
15818 : : return -1;
15819 : : switch (GET_MODE (operands[0]))
15820 : : {
15821 : : case E_V16SFmode:
15822 : : if (pattern1230 (x2,
15823 : : E_V16SFmode,
15824 : : E_V8SFmode) != 0
15825 : : || !
15826 : : #line 20381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15827 : : (TARGET_AVX512DQ))
15828 : : return -1;
15829 : : return 8434; /* vec_set_lo_v16sf */
15830 : :
15831 : : case E_V16SImode:
15832 : : if (pattern1230 (x2,
15833 : : E_V16SImode,
15834 : : E_V8SImode) != 0
15835 : : || !
15836 : : #line 20381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15837 : : (TARGET_AVX512DQ))
15838 : : return -1;
15839 : : return 8436; /* vec_set_lo_v16si */
15840 : :
15841 : : case E_V16HImode:
15842 : : if (pattern1230 (x2,
15843 : : E_V16HImode,
15844 : : E_V8HImode) != 0
15845 : : || !
15846 : : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15847 : : (TARGET_AVX))
15848 : : return -1;
15849 : : return 9542; /* vec_set_lo_v16hi */
15850 : :
15851 : : case E_V16HFmode:
15852 : : if (pattern1230 (x2,
15853 : : E_V16HFmode,
15854 : : E_V8HFmode) != 0
15855 : : || !
15856 : : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15857 : : (TARGET_AVX))
15858 : : return -1;
15859 : : return 9543; /* vec_set_lo_v16hf */
15860 : :
15861 : : case E_V16BFmode:
15862 : : if (pattern1230 (x2,
15863 : : E_V16BFmode,
15864 : : E_V8BFmode) != 0
15865 : : || !
15866 : : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15867 : : (TARGET_AVX))
15868 : : return -1;
15869 : : return 9544; /* vec_set_lo_v16bf */
15870 : :
15871 : : default:
15872 : : return -1;
15873 : : }
15874 : :
15875 : : case 4:
15876 : : x7 = XVECEXP (x4, 0, 0);
15877 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
15878 : : return -1;
15879 : : x8 = XVECEXP (x4, 0, 1);
15880 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
15881 : : return -1;
15882 : : x9 = XVECEXP (x4, 0, 2);
15883 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
15884 : : return -1;
15885 : : x10 = XVECEXP (x4, 0, 3);
15886 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
15887 : : return -1;
15888 : : switch (GET_MODE (operands[0]))
15889 : : {
15890 : : case E_V8DFmode:
15891 : : if (pattern1230 (x2,
15892 : : E_V8DFmode,
15893 : : E_V4DFmode) != 0
15894 : : || !
15895 : : #line 20413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15896 : : (TARGET_AVX512F))
15897 : : return -1;
15898 : : return 8442; /* vec_set_lo_v8df */
15899 : :
15900 : : case E_V8DImode:
15901 : : if (pattern1230 (x2,
15902 : : E_V8DImode,
15903 : : E_V4DImode) != 0
15904 : : || !
15905 : : #line 20413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15906 : : (TARGET_AVX512F))
15907 : : return -1;
15908 : : return 8444; /* vec_set_lo_v8di */
15909 : :
15910 : : case E_V8SImode:
15911 : : if (pattern1230 (x2,
15912 : : E_V8SImode,
15913 : : E_V4SImode) != 0
15914 : : || !
15915 : : #line 28893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15916 : : (TARGET_AVX))
15917 : : return -1;
15918 : : return 9534; /* vec_set_lo_v8si */
15919 : :
15920 : : case E_V8SFmode:
15921 : : if (pattern1230 (x2,
15922 : : E_V8SFmode,
15923 : : E_V4SFmode) != 0
15924 : : || !
15925 : : #line 28893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15926 : : (TARGET_AVX))
15927 : : return -1;
15928 : : return 9536; /* vec_set_lo_v8sf */
15929 : :
15930 : : default:
15931 : : return -1;
15932 : : }
15933 : :
15934 : : case 16:
15935 : : x7 = XVECEXP (x4, 0, 0);
15936 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
15937 : : return -1;
15938 : : x8 = XVECEXP (x4, 0, 1);
15939 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
15940 : : return -1;
15941 : : x9 = XVECEXP (x4, 0, 2);
15942 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 18]
15943 : : || pattern1231 (x4,
15944 : : 23,
15945 : : 22,
15946 : : 21,
15947 : : 20,
15948 : : 19) != 0)
15949 : : return -1;
15950 : : x11 = XVECEXP (x4, 0, 8);
15951 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
15952 : : return -1;
15953 : : x12 = XVECEXP (x4, 0, 9);
15954 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
15955 : : return -1;
15956 : : x13 = XVECEXP (x4, 0, 10);
15957 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
15958 : : return -1;
15959 : : x14 = XVECEXP (x4, 0, 11);
15960 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
15961 : : return -1;
15962 : : x15 = XVECEXP (x4, 0, 12);
15963 : : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
15964 : : return -1;
15965 : : x16 = XVECEXP (x4, 0, 13);
15966 : : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
15967 : : return -1;
15968 : : x17 = XVECEXP (x4, 0, 14);
15969 : : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
15970 : : return -1;
15971 : : x18 = XVECEXP (x4, 0, 15);
15972 : : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
15973 : : || pattern1230 (x2,
15974 : : E_V32QImode,
15975 : : E_V16QImode) != 0
15976 : : || !
15977 : : #line 28989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15978 : : (TARGET_AVX))
15979 : : return -1;
15980 : : return 9548; /* vec_set_lo_v32qi */
15981 : :
15982 : : default:
15983 : : return -1;
15984 : : }
15985 : : }
15986 : :
15987 : : int
15988 : : recog_273 (rtx x1 ATTRIBUTE_UNUSED,
15989 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15990 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15991 : : {
15992 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15993 : : rtx x2, x3, x4, x5, x6;
15994 : : int res ATTRIBUTE_UNUSED;
15995 : : x2 = XEXP (x1, 1);
15996 : : x3 = XEXP (x2, 0);
15997 : : switch (XVECLEN (x3, 0))
15998 : : {
15999 : : case 1:
16000 : : x4 = XVECEXP (x3, 0, 0);
16001 : : operands[1] = x4;
16002 : : switch (XINT (x3, 1))
16003 : : {
16004 : : case 47:
16005 : : if (GET_MODE (x3) == E_V4SImode
16006 : : && pattern789 (x2,
16007 : : E_V4SImode,
16008 : : E_V4DFmode,
16009 : : E_V8SImode) == 0
16010 : : &&
16011 : : #line 9710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16012 : : (TARGET_AVX))
16013 : : return 5036; /* *avx_cvtpd2dq256_2 */
16014 : : if (GET_MODE (x3) != E_V2SImode)
16015 : : return -1;
16016 : : x5 = XEXP (x2, 1);
16017 : : if (GET_CODE (x5) != CONST_VECTOR
16018 : : || pattern511 (x5,
16019 : : E_V2SImode,
16020 : : 2) != 0
16021 : : || !register_operand (operands[0], E_V4SImode)
16022 : : || GET_MODE (x2) != E_V4SImode
16023 : : || !vector_operand (operands[1], E_V2DFmode)
16024 : : || !
16025 : : #line 9723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16026 : : (TARGET_SSE2))
16027 : : return -1;
16028 : : return 5037; /* sse2_cvtpd2dq */
16029 : :
16030 : : case 157:
16031 : : if (pattern672 (x2) != 0
16032 : : || !
16033 : : #line 9793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16034 : : (TARGET_AVX512VL))
16035 : : return -1;
16036 : : return 5048; /* fixuns_notruncv2dfv2si2 */
16037 : :
16038 : : case 174:
16039 : : if (pattern672 (x2) != 0
16040 : : || !
16041 : : #line 9860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16042 : : (TARGET_AVX512VL))
16043 : : return -1;
16044 : : return 5067; /* *unspec_fixuns_truncv2dfv2si2 */
16045 : :
16046 : : case 254:
16047 : : if (GET_MODE (x3) != E_V8QImode
16048 : : || pattern789 (x2,
16049 : : E_V8QImode,
16050 : : E_V8HFmode,
16051 : : E_V16QImode) != 0
16052 : : || !
16053 : : #line 32281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16054 : : (TARGET_AVX10_2))
16055 : : return -1;
16056 : : return 10557; /* *vcvtph2bf8v8hf */
16057 : :
16058 : : case 255:
16059 : : if (GET_MODE (x3) != E_V8QImode
16060 : : || pattern789 (x2,
16061 : : E_V8QImode,
16062 : : E_V8HFmode,
16063 : : E_V16QImode) != 0
16064 : : || !
16065 : : #line 32281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16066 : : (TARGET_AVX10_2))
16067 : : return -1;
16068 : : return 10558; /* *vcvtph2bf8sv8hf */
16069 : :
16070 : : case 256:
16071 : : if (GET_MODE (x3) != E_V8QImode
16072 : : || pattern789 (x2,
16073 : : E_V8QImode,
16074 : : E_V8HFmode,
16075 : : E_V16QImode) != 0
16076 : : || !
16077 : : #line 32281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16078 : : (TARGET_AVX10_2))
16079 : : return -1;
16080 : : return 10559; /* *vcvtph2hf8v8hf */
16081 : :
16082 : : case 257:
16083 : : if (GET_MODE (x3) != E_V8QImode
16084 : : || pattern789 (x2,
16085 : : E_V8QImode,
16086 : : E_V8HFmode,
16087 : : E_V16QImode) != 0
16088 : : || !
16089 : : #line 32281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16090 : : (TARGET_AVX10_2))
16091 : : return -1;
16092 : : return 10560; /* *vcvtph2hf8sv8hf */
16093 : :
16094 : : default:
16095 : : return -1;
16096 : : }
16097 : :
16098 : : case 2:
16099 : : x4 = XVECEXP (x3, 0, 0);
16100 : : operands[1] = x4;
16101 : : x6 = XVECEXP (x3, 0, 1);
16102 : : operands[2] = x6;
16103 : : x5 = XEXP (x2, 1);
16104 : : operands[3] = x5;
16105 : : switch (XINT (x3, 1))
16106 : : {
16107 : : case 151:
16108 : : if (GET_MODE (x3) != E_V4HImode
16109 : : || !register_operand (operands[0], E_V8HImode)
16110 : : || GET_MODE (x2) != E_V8HImode
16111 : : || !register_operand (operands[1], E_V4SFmode)
16112 : : || !const_0_to_255_operand (operands[2], E_SImode)
16113 : : || !const0_operand (operands[3], E_V4HImode)
16114 : : || !
16115 : : #line 29555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16116 : : ((TARGET_F16C || TARGET_AVX512VL) && 1))
16117 : : return -1;
16118 : : return 9721; /* *vcvtps2ph */
16119 : :
16120 : : case 246:
16121 : : if (pattern916 (x2) != 0
16122 : : || !
16123 : : #line 32191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16124 : : (TARGET_AVX10_2))
16125 : : return -1;
16126 : : return 10533; /* *vcvtbiasph2bf8v8hf */
16127 : :
16128 : : case 247:
16129 : : if (pattern916 (x2) != 0
16130 : : || !
16131 : : #line 32191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16132 : : (TARGET_AVX10_2))
16133 : : return -1;
16134 : : return 10534; /* *vcvtbiasph2bf8sv8hf */
16135 : :
16136 : : case 248:
16137 : : if (pattern916 (x2) != 0
16138 : : || !
16139 : : #line 32191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16140 : : (TARGET_AVX10_2))
16141 : : return -1;
16142 : : return 10535; /* *vcvtbiasph2hf8v8hf */
16143 : :
16144 : : case 249:
16145 : : if (pattern916 (x2) != 0
16146 : : || !
16147 : : #line 32191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16148 : : (TARGET_AVX10_2))
16149 : : return -1;
16150 : : return 10536; /* *vcvtbiasph2hf8sv8hf */
16151 : :
16152 : : default:
16153 : : return -1;
16154 : : }
16155 : :
16156 : : default:
16157 : : return -1;
16158 : : }
16159 : : }
16160 : :
16161 : : int
16162 : : recog_277 (rtx x1 ATTRIBUTE_UNUSED,
16163 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16164 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16165 : : {
16166 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16167 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16168 : : int res ATTRIBUTE_UNUSED;
16169 : : x2 = XEXP (x1, 1);
16170 : : x3 = XEXP (x2, 1);
16171 : : x4 = XVECEXP (x3, 0, 2);
16172 : : if (GET_CODE (x4) != CONST_INT)
16173 : : return -1;
16174 : : x5 = XVECEXP (x3, 0, 3);
16175 : : if (GET_CODE (x5) != CONST_INT)
16176 : : return -1;
16177 : : x6 = XVECEXP (x3, 0, 0);
16178 : : switch (XWINT (x6, 0))
16179 : : {
16180 : : case 6L:
16181 : : x7 = XVECEXP (x3, 0, 1);
16182 : : if (XWINT (x7, 0) != 7L
16183 : : || XWINT (x4, 0) != 2L
16184 : : || XWINT (x5, 0) != 3L
16185 : : || pattern1561 (x2) != 0
16186 : : || !
16187 : : #line 11337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16188 : : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16189 : : return -1;
16190 : : return 5247; /* sse_movhlps */
16191 : :
16192 : : case 0L:
16193 : : x7 = XVECEXP (x3, 0, 1);
16194 : : switch (XWINT (x7, 0))
16195 : : {
16196 : : case 1L:
16197 : : if (XWINT (x4, 0) != 4L
16198 : : || XWINT (x5, 0) != 5L
16199 : : || pattern1561 (x2) != 0
16200 : : || !
16201 : : #line 11382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16202 : : (TARGET_SSE && ix86_binary_operator_ok (UNKNOWN, V4SFmode, operands)))
16203 : : return -1;
16204 : : return 5248; /* sse_movlhps */
16205 : :
16206 : : case 4L:
16207 : : switch (XWINT (x4, 0))
16208 : : {
16209 : : case 1L:
16210 : : if (XWINT (x5, 0) != 5L
16211 : : || pattern1316 (x2,
16212 : : E_V4SFmode,
16213 : : E_V8SFmode) != 0
16214 : : || !
16215 : : #line 11599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16216 : : (TARGET_SSE))
16217 : : return -1;
16218 : : return 5263; /* vec_interleave_lowv4sf */
16219 : :
16220 : : case 2L:
16221 : : if (XWINT (x5, 0) != 6L)
16222 : : return -1;
16223 : : switch (GET_MODE (operands[0]))
16224 : : {
16225 : : case E_V4DFmode:
16226 : : if (!register_operand (operands[0], E_V4DFmode)
16227 : : || GET_MODE (x2) != E_V4DFmode)
16228 : : return -1;
16229 : : x8 = XEXP (x2, 0);
16230 : : if (GET_MODE (x8) != E_V8DFmode)
16231 : : return -1;
16232 : : if (nonimmediate_operand (operands[1], E_V4DFmode))
16233 : : {
16234 : : x9 = XEXP (x8, 1);
16235 : : if (rtx_equal_p (x9, operands[1])
16236 : : &&
16237 : : #line 13742 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16238 : : (TARGET_AVX && 1))
16239 : : return 5416; /* avx_movddup256 */
16240 : : }
16241 : : if (!register_operand (operands[1], E_V4DFmode))
16242 : : return -1;
16243 : : x9 = XEXP (x8, 1);
16244 : : operands[2] = x9;
16245 : : if (!nonimmediate_operand (operands[2], E_V4DFmode)
16246 : : || !
16247 : : #line 13756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16248 : : (TARGET_AVX && 1))
16249 : : return -1;
16250 : : return 5418; /* avx_unpcklpd256 */
16251 : :
16252 : : case E_V4DImode:
16253 : : if (pattern1624 (x2,
16254 : : E_V4DImode,
16255 : : E_V8DImode) != 0
16256 : : || !
16257 : : #line 14788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16258 : : (TARGET_AVX2 && 1))
16259 : : return -1;
16260 : : return 7231; /* avx2_interleave_lowv4di */
16261 : :
16262 : : default:
16263 : : return -1;
16264 : : }
16265 : :
16266 : : default:
16267 : : return -1;
16268 : : }
16269 : :
16270 : : case 0L:
16271 : : if (XWINT (x4, 0) != 6L
16272 : : || XWINT (x5, 0) != 6L
16273 : : || pattern1562 (x2) != 0
16274 : : || !
16275 : : #line 11689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16276 : : (TARGET_SSE3 && 1))
16277 : : return -1;
16278 : : return 5272; /* sse3_movsldup */
16279 : :
16280 : : default:
16281 : : return -1;
16282 : : }
16283 : :
16284 : : case 2L:
16285 : : x7 = XVECEXP (x3, 0, 1);
16286 : : if (XWINT (x7, 0) != 6L
16287 : : || XWINT (x4, 0) != 3L
16288 : : || XWINT (x5, 0) != 7L
16289 : : || pattern1316 (x2,
16290 : : E_V4SFmode,
16291 : : E_V8SFmode) != 0
16292 : : || !
16293 : : #line 11494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16294 : : (TARGET_SSE && 1))
16295 : : return -1;
16296 : : return 5256; /* vec_interleave_highv4sf */
16297 : :
16298 : : case 1L:
16299 : : if (XWINT (x5, 0) != 7L)
16300 : : return -1;
16301 : : x7 = XVECEXP (x3, 0, 1);
16302 : : switch (XWINT (x7, 0))
16303 : : {
16304 : : case 1L:
16305 : : if (XWINT (x4, 0) != 7L
16306 : : || pattern1562 (x2) != 0
16307 : : || !
16308 : : #line 11636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16309 : : (TARGET_SSE3 && 1))
16310 : : return -1;
16311 : : return 5266; /* sse3_movshdup */
16312 : :
16313 : : case 5L:
16314 : : if (XWINT (x4, 0) != 3L)
16315 : : return -1;
16316 : : x8 = XEXP (x2, 0);
16317 : : x9 = XEXP (x8, 1);
16318 : : operands[2] = x9;
16319 : : switch (GET_MODE (operands[0]))
16320 : : {
16321 : : case E_V4DFmode:
16322 : : if (pattern1418 (x2,
16323 : : E_V4DFmode,
16324 : : E_V8DFmode) != 0
16325 : : || !
16326 : : #line 13612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16327 : : (TARGET_AVX && 1))
16328 : : return -1;
16329 : : return 5408; /* avx_unpckhpd256 */
16330 : :
16331 : : case E_V4DImode:
16332 : : if (pattern1418 (x2,
16333 : : E_V4DImode,
16334 : : E_V8DImode) != 0
16335 : : || !
16336 : : #line 14738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16337 : : (TARGET_AVX2 && 1))
16338 : : return -1;
16339 : : return 7225; /* avx2_interleave_highv4di */
16340 : :
16341 : : default:
16342 : : return -1;
16343 : : }
16344 : :
16345 : : default:
16346 : : return -1;
16347 : : }
16348 : :
16349 : : default:
16350 : : return -1;
16351 : : }
16352 : : }
16353 : :
16354 : : int
16355 : : recog_281 (rtx x1 ATTRIBUTE_UNUSED,
16356 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16357 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16358 : : {
16359 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16360 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16361 : : rtx x10, x11, x12, x13;
16362 : : int res ATTRIBUTE_UNUSED;
16363 : : x2 = XEXP (x1, 1);
16364 : : x3 = XEXP (x2, 1);
16365 : : x4 = XVECEXP (x3, 0, 0);
16366 : : if (GET_CODE (x4) != CONST_INT)
16367 : : return -1;
16368 : : x5 = XVECEXP (x3, 0, 1);
16369 : : if (GET_CODE (x5) == CONST_INT)
16370 : : {
16371 : : res = recog_280 (x1, insn, pnum_clobbers);
16372 : : if (res >= 0)
16373 : : return res;
16374 : : }
16375 : : operands[3] = x4;
16376 : : x6 = XEXP (x2, 0);
16377 : : x7 = XEXP (x6, 1);
16378 : : operands[2] = x7;
16379 : : operands[4] = x5;
16380 : : x8 = XVECEXP (x3, 0, 2);
16381 : : operands[5] = x8;
16382 : : x9 = XVECEXP (x3, 0, 3);
16383 : : operands[6] = x9;
16384 : : x10 = XVECEXP (x3, 0, 4);
16385 : : operands[7] = x10;
16386 : : x11 = XVECEXP (x3, 0, 5);
16387 : : operands[8] = x11;
16388 : : x12 = XVECEXP (x3, 0, 6);
16389 : : operands[9] = x12;
16390 : : x13 = XVECEXP (x3, 0, 7);
16391 : : operands[10] = x13;
16392 : : switch (GET_MODE (operands[0]))
16393 : : {
16394 : : case E_V8SFmode:
16395 : : if (pattern1418 (x2,
16396 : : E_V8SFmode,
16397 : : E_V16SFmode) != 0)
16398 : : return -1;
16399 : : if (const_0_to_3_operand (operands[3], E_VOIDmode)
16400 : : && const_0_to_3_operand (operands[4], E_VOIDmode)
16401 : : && const_8_to_11_operand (operands[5], E_VOIDmode)
16402 : : && const_8_to_11_operand (operands[6], E_VOIDmode)
16403 : : && const_4_to_7_operand (operands[7], E_VOIDmode)
16404 : : && const_4_to_7_operand (operands[8], E_VOIDmode)
16405 : : && const_12_to_15_operand (operands[9], E_VOIDmode)
16406 : : && const_12_to_15_operand (operands[10], E_VOIDmode)
16407 : : &&
16408 : : #line 11754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16409 : : (TARGET_AVX
16410 : : && 1
16411 : : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
16412 : : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
16413 : : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
16414 : : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4))))
16415 : : return 5276; /* avx_shufps256_1 */
16416 : : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
16417 : : || pattern1686 () != 0
16418 : : || !
16419 : : #line 20621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16420 : : (TARGET_AVX512VL
16421 : : && (INTVAL (operands[3]) & 3) == 0
16422 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16423 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16424 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16425 : : && (INTVAL (operands[7]) & 3) == 0
16426 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16427 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16428 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3))
16429 : : return -1;
16430 : : return 8464; /* avx512vl_shuf_f32x4_1 */
16431 : :
16432 : : case E_V8DFmode:
16433 : : if (pattern1418 (x2,
16434 : : E_V8DFmode,
16435 : : E_V16DFmode) != 0)
16436 : : return -1;
16437 : : if (const_0_to_1_operand (operands[3], E_VOIDmode)
16438 : : && const_8_to_9_operand (operands[4], E_VOIDmode)
16439 : : && const_2_to_3_operand (operands[5], E_VOIDmode)
16440 : : && const_10_to_11_operand (operands[6], E_VOIDmode)
16441 : : && const_4_to_5_operand (operands[7], E_VOIDmode)
16442 : : && const_12_to_13_operand (operands[8], E_VOIDmode)
16443 : : && const_6_to_7_operand (operands[9], E_VOIDmode)
16444 : : && const_14_to_15_operand (operands[10], E_VOIDmode)
16445 : : &&
16446 : : #line 14622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16447 : : (TARGET_AVX512F))
16448 : : return 7220; /* avx512f_shufpd512_1 */
16449 : : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
16450 : : || pattern1686 () != 0
16451 : : || !
16452 : : #line 20523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16453 : : (TARGET_AVX512F
16454 : : && (INTVAL (operands[3]) & 1) == 0
16455 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16456 : : && (INTVAL (operands[5]) & 1) == 0
16457 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
16458 : : && (INTVAL (operands[7]) & 1) == 0
16459 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16460 : : && (INTVAL (operands[9]) & 1) == 0
16461 : : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1))
16462 : : return -1;
16463 : : return 8454; /* avx512f_shuf_f64x2_1 */
16464 : :
16465 : : case E_V8DImode:
16466 : : if (pattern1687 (x2,
16467 : : E_V8DImode,
16468 : : E_V16DImode) != 0
16469 : : || !
16470 : : #line 20523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16471 : : (TARGET_AVX512F
16472 : : && (INTVAL (operands[3]) & 1) == 0
16473 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16474 : : && (INTVAL (operands[5]) & 1) == 0
16475 : : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
16476 : : && (INTVAL (operands[7]) & 1) == 0
16477 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16478 : : && (INTVAL (operands[9]) & 1) == 0
16479 : : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1))
16480 : : return -1;
16481 : : return 8456; /* avx512f_shuf_i64x2_1 */
16482 : :
16483 : : case E_V8SImode:
16484 : : if (pattern1687 (x2,
16485 : : E_V8SImode,
16486 : : E_V16SImode) != 0
16487 : : || !
16488 : : #line 20621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16489 : : (TARGET_AVX512VL
16490 : : && (INTVAL (operands[3]) & 3) == 0
16491 : : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16492 : : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16493 : : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16494 : : && (INTVAL (operands[7]) & 3) == 0
16495 : : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16496 : : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16497 : : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3))
16498 : : return -1;
16499 : : return 8462; /* avx512vl_shuf_i32x4_1 */
16500 : :
16501 : : default:
16502 : : return -1;
16503 : : }
16504 : : }
16505 : :
16506 : : int
16507 : : recog_284 (rtx x1 ATTRIBUTE_UNUSED,
16508 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16509 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16510 : : {
16511 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16512 : : rtx x2, x3, x4, x5, x6, x7;
16513 : : int res ATTRIBUTE_UNUSED;
16514 : : x2 = XEXP (x1, 1);
16515 : : x3 = XEXP (x2, 1);
16516 : : x4 = XVECEXP (x3, 0, 0);
16517 : : if (GET_CODE (x4) != CONST_INT)
16518 : : return -1;
16519 : : x5 = XVECEXP (x3, 0, 1);
16520 : : if (GET_CODE (x5) == CONST_INT)
16521 : : {
16522 : : x6 = XEXP (x2, 0);
16523 : : x7 = XEXP (x6, 1);
16524 : : operands[2] = x7;
16525 : : switch (XWINT (x4, 0))
16526 : : {
16527 : : case 1L:
16528 : : if (XWINT (x5, 0) == 3L)
16529 : : {
16530 : : switch (GET_MODE (operands[0]))
16531 : : {
16532 : : case E_V2DFmode:
16533 : : if (pattern1487 (x2,
16534 : : E_V2DFmode,
16535 : : E_V4DFmode) == 0
16536 : : &&
16537 : : #line 13685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16538 : : (TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 1)))
16539 : : return 5411; /* *vec_interleave_highv2df */
16540 : : break;
16541 : :
16542 : : case E_V2DImode:
16543 : : if (pattern1488 (x2,
16544 : : E_V2DImode,
16545 : : E_V4DImode) == 0
16546 : : &&
16547 : : #line 14768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16548 : : (TARGET_SSE2 && 1))
16549 : : return 7229; /* vec_interleave_highv2di */
16550 : : break;
16551 : :
16552 : : default:
16553 : : break;
16554 : : }
16555 : : }
16556 : : break;
16557 : :
16558 : : case 0L:
16559 : : if (XWINT (x5, 0) == 2L)
16560 : : {
16561 : : switch (GET_MODE (operands[0]))
16562 : : {
16563 : : case E_V2DFmode:
16564 : : if (pattern1487 (x2,
16565 : : E_V2DFmode,
16566 : : E_V4DFmode) == 0
16567 : : &&
16568 : : #line 13828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16569 : : (TARGET_SSE2 && ix86_vec_interleave_v2df_operator_ok (operands, 0)))
16570 : : return 5421; /* *vec_interleave_lowv2df */
16571 : : break;
16572 : :
16573 : : case E_V2DImode:
16574 : : if (pattern1488 (x2,
16575 : : E_V2DImode,
16576 : : E_V4DImode) == 0
16577 : : &&
16578 : : #line 14818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16579 : : (TARGET_SSE2 && 1))
16580 : : return 7235; /* vec_interleave_lowv2di */
16581 : : break;
16582 : :
16583 : : default:
16584 : : break;
16585 : : }
16586 : : }
16587 : : break;
16588 : :
16589 : : default:
16590 : : break;
16591 : : }
16592 : : }
16593 : : operands[3] = x4;
16594 : : if (!const_0_to_1_operand (operands[3], E_VOIDmode))
16595 : : return -1;
16596 : : x6 = XEXP (x2, 0);
16597 : : x7 = XEXP (x6, 1);
16598 : : operands[2] = x7;
16599 : : operands[4] = x5;
16600 : : if (!const_2_to_3_operand (operands[4], E_VOIDmode))
16601 : : return -1;
16602 : : switch (GET_MODE (operands[0]))
16603 : : {
16604 : : case E_V2DImode:
16605 : : if (pattern1488 (x2,
16606 : : E_V2DImode,
16607 : : E_V4DImode) != 0
16608 : : || !
16609 : : #line 14836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16610 : : (TARGET_SSE2))
16611 : : return -1;
16612 : : return 7237; /* sse2_shufpd_v2di */
16613 : :
16614 : : case E_V2DFmode:
16615 : : if (pattern1488 (x2,
16616 : : E_V2DFmode,
16617 : : E_V4DFmode) != 0
16618 : : || !
16619 : : #line 14836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16620 : : (TARGET_SSE2))
16621 : : return -1;
16622 : : return 7238; /* sse2_shufpd_v2df */
16623 : :
16624 : : default:
16625 : : return -1;
16626 : : }
16627 : : }
16628 : :
16629 : : int
16630 : : recog_286 (rtx x1 ATTRIBUTE_UNUSED,
16631 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16632 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16633 : : {
16634 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16635 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16636 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16637 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
16638 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
16639 : : rtx x34, x35, x36, x37;
16640 : : int res ATTRIBUTE_UNUSED;
16641 : : x2 = XEXP (x1, 1);
16642 : : x3 = XEXP (x2, 1);
16643 : : if (pattern676 (x3) != 0)
16644 : : return -1;
16645 : : x4 = XEXP (x2, 0);
16646 : : x5 = XEXP (x4, 1);
16647 : : operands[2] = x5;
16648 : : x6 = XVECEXP (x3, 0, 0);
16649 : : switch (XWINT (x6, 0))
16650 : : {
16651 : : case 8L:
16652 : : x7 = XVECEXP (x3, 0, 1);
16653 : : if (XWINT (x7, 0) != 40L)
16654 : : return -1;
16655 : : x8 = XVECEXP (x3, 0, 2);
16656 : : if (XWINT (x8, 0) != 9L)
16657 : : return -1;
16658 : : x9 = XVECEXP (x3, 0, 3);
16659 : : if (XWINT (x9, 0) != 41L)
16660 : : return -1;
16661 : : x10 = XVECEXP (x3, 0, 4);
16662 : : if (XWINT (x10, 0) != 10L)
16663 : : return -1;
16664 : : x11 = XVECEXP (x3, 0, 5);
16665 : : if (XWINT (x11, 0) != 42L)
16666 : : return -1;
16667 : : x12 = XVECEXP (x3, 0, 6);
16668 : : if (XWINT (x12, 0) != 11L)
16669 : : return -1;
16670 : : x13 = XVECEXP (x3, 0, 7);
16671 : : if (XWINT (x13, 0) != 43L
16672 : : || pattern1904 (x3) != 0)
16673 : : return -1;
16674 : : x14 = XVECEXP (x3, 0, 16);
16675 : : if (XWINT (x14, 0) != 24L)
16676 : : return -1;
16677 : : x15 = XVECEXP (x3, 0, 17);
16678 : : if (XWINT (x15, 0) != 56L)
16679 : : return -1;
16680 : : x16 = XVECEXP (x3, 0, 18);
16681 : : if (XWINT (x16, 0) != 25L)
16682 : : return -1;
16683 : : x17 = XVECEXP (x3, 0, 19);
16684 : : if (XWINT (x17, 0) != 57L)
16685 : : return -1;
16686 : : x18 = XVECEXP (x3, 0, 20);
16687 : : if (XWINT (x18, 0) != 26L)
16688 : : return -1;
16689 : : x19 = XVECEXP (x3, 0, 21);
16690 : : if (XWINT (x19, 0) != 58L)
16691 : : return -1;
16692 : : x20 = XVECEXP (x3, 0, 22);
16693 : : if (XWINT (x20, 0) != 27L)
16694 : : return -1;
16695 : : x21 = XVECEXP (x3, 0, 23);
16696 : : if (XWINT (x21, 0) != 59L
16697 : : || pattern1910 (x3) != 0
16698 : : || pattern1418 (x2,
16699 : : E_V32QImode,
16700 : : E_V64QImode) != 0
16701 : : || !
16702 : : #line 19738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16703 : : (TARGET_AVX2 && 1 && 1))
16704 : : return -1;
16705 : : return 8358; /* avx2_interleave_highv32qi */
16706 : :
16707 : : case 0L:
16708 : : x7 = XVECEXP (x3, 0, 1);
16709 : : if (XWINT (x7, 0) != 32L)
16710 : : return -1;
16711 : : x8 = XVECEXP (x3, 0, 2);
16712 : : if (XWINT (x8, 0) != 1L)
16713 : : return -1;
16714 : : x9 = XVECEXP (x3, 0, 3);
16715 : : if (XWINT (x9, 0) != 33L)
16716 : : return -1;
16717 : : x10 = XVECEXP (x3, 0, 4);
16718 : : if (XWINT (x10, 0) != 2L)
16719 : : return -1;
16720 : : x11 = XVECEXP (x3, 0, 5);
16721 : : if (XWINT (x11, 0) != 34L)
16722 : : return -1;
16723 : : x12 = XVECEXP (x3, 0, 6);
16724 : : if (XWINT (x12, 0) != 3L)
16725 : : return -1;
16726 : : x13 = XVECEXP (x3, 0, 7);
16727 : : if (XWINT (x13, 0) != 35L)
16728 : : return -1;
16729 : : x14 = XVECEXP (x3, 0, 16);
16730 : : if (XWINT (x14, 0) != 16L)
16731 : : return -1;
16732 : : x15 = XVECEXP (x3, 0, 17);
16733 : : if (XWINT (x15, 0) != 48L)
16734 : : return -1;
16735 : : x16 = XVECEXP (x3, 0, 18);
16736 : : if (XWINT (x16, 0) != 17L)
16737 : : return -1;
16738 : : x17 = XVECEXP (x3, 0, 19);
16739 : : if (XWINT (x17, 0) != 49L)
16740 : : return -1;
16741 : : x18 = XVECEXP (x3, 0, 20);
16742 : : if (XWINT (x18, 0) != 18L)
16743 : : return -1;
16744 : : x19 = XVECEXP (x3, 0, 21);
16745 : : if (XWINT (x19, 0) != 50L)
16746 : : return -1;
16747 : : x20 = XVECEXP (x3, 0, 22);
16748 : : if (XWINT (x20, 0) != 19L)
16749 : : return -1;
16750 : : x21 = XVECEXP (x3, 0, 23);
16751 : : if (XWINT (x21, 0) != 51L)
16752 : : return -1;
16753 : : x22 = XVECEXP (x3, 0, 8);
16754 : : switch (XWINT (x22, 0))
16755 : : {
16756 : : case 4L:
16757 : : x23 = XVECEXP (x3, 0, 9);
16758 : : if (XWINT (x23, 0) != 36L)
16759 : : return -1;
16760 : : x24 = XVECEXP (x3, 0, 10);
16761 : : if (XWINT (x24, 0) != 5L)
16762 : : return -1;
16763 : : x25 = XVECEXP (x3, 0, 11);
16764 : : if (XWINT (x25, 0) != 37L)
16765 : : return -1;
16766 : : x26 = XVECEXP (x3, 0, 12);
16767 : : if (XWINT (x26, 0) != 6L)
16768 : : return -1;
16769 : : x27 = XVECEXP (x3, 0, 13);
16770 : : if (XWINT (x27, 0) != 38L)
16771 : : return -1;
16772 : : x28 = XVECEXP (x3, 0, 14);
16773 : : if (XWINT (x28, 0) != 7L)
16774 : : return -1;
16775 : : x29 = XVECEXP (x3, 0, 15);
16776 : : if (XWINT (x29, 0) != 39L)
16777 : : return -1;
16778 : : x30 = XVECEXP (x3, 0, 24);
16779 : : if (XWINT (x30, 0) != 20L)
16780 : : return -1;
16781 : : x31 = XVECEXP (x3, 0, 25);
16782 : : if (XWINT (x31, 0) != 52L)
16783 : : return -1;
16784 : : x32 = XVECEXP (x3, 0, 26);
16785 : : if (XWINT (x32, 0) != 21L)
16786 : : return -1;
16787 : : x33 = XVECEXP (x3, 0, 27);
16788 : : if (XWINT (x33, 0) != 53L)
16789 : : return -1;
16790 : : x34 = XVECEXP (x3, 0, 28);
16791 : : if (XWINT (x34, 0) != 22L)
16792 : : return -1;
16793 : : x35 = XVECEXP (x3, 0, 29);
16794 : : if (XWINT (x35, 0) != 54L)
16795 : : return -1;
16796 : : x36 = XVECEXP (x3, 0, 30);
16797 : : if (XWINT (x36, 0) != 23L)
16798 : : return -1;
16799 : : x37 = XVECEXP (x3, 0, 31);
16800 : : if (XWINT (x37, 0) != 55L
16801 : : || pattern1418 (x2,
16802 : : E_V32QImode,
16803 : : E_V64QImode) != 0
16804 : : || !
16805 : : #line 19834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16806 : : (TARGET_AVX2 && 1 && 1))
16807 : : return -1;
16808 : : return 8364; /* avx2_interleave_lowv32qi */
16809 : :
16810 : : case 8L:
16811 : : x23 = XVECEXP (x3, 0, 9);
16812 : : if (XWINT (x23, 0) != 40L)
16813 : : return -1;
16814 : : x24 = XVECEXP (x3, 0, 10);
16815 : : if (XWINT (x24, 0) != 9L)
16816 : : return -1;
16817 : : x25 = XVECEXP (x3, 0, 11);
16818 : : if (XWINT (x25, 0) != 41L)
16819 : : return -1;
16820 : : x26 = XVECEXP (x3, 0, 12);
16821 : : if (XWINT (x26, 0) != 10L)
16822 : : return -1;
16823 : : x27 = XVECEXP (x3, 0, 13);
16824 : : if (XWINT (x27, 0) != 42L)
16825 : : return -1;
16826 : : x28 = XVECEXP (x3, 0, 14);
16827 : : if (XWINT (x28, 0) != 11L)
16828 : : return -1;
16829 : : x29 = XVECEXP (x3, 0, 15);
16830 : : if (XWINT (x29, 0) != 43L)
16831 : : return -1;
16832 : : x30 = XVECEXP (x3, 0, 24);
16833 : : if (XWINT (x30, 0) != 24L)
16834 : : return -1;
16835 : : x31 = XVECEXP (x3, 0, 25);
16836 : : if (XWINT (x31, 0) != 56L)
16837 : : return -1;
16838 : : x32 = XVECEXP (x3, 0, 26);
16839 : : if (XWINT (x32, 0) != 25L)
16840 : : return -1;
16841 : : x33 = XVECEXP (x3, 0, 27);
16842 : : if (XWINT (x33, 0) != 57L)
16843 : : return -1;
16844 : : x34 = XVECEXP (x3, 0, 28);
16845 : : if (XWINT (x34, 0) != 26L)
16846 : : return -1;
16847 : : x35 = XVECEXP (x3, 0, 29);
16848 : : if (XWINT (x35, 0) != 58L)
16849 : : return -1;
16850 : : x36 = XVECEXP (x3, 0, 30);
16851 : : if (XWINT (x36, 0) != 27L)
16852 : : return -1;
16853 : : x37 = XVECEXP (x3, 0, 31);
16854 : : if (XWINT (x37, 0) != 59L)
16855 : : return -1;
16856 : : switch (GET_MODE (operands[0]))
16857 : : {
16858 : : case E_V32HImode:
16859 : : if (pattern1418 (x2,
16860 : : E_V32HImode,
16861 : : E_V64HImode) != 0
16862 : : || !
16863 : : #line 19954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16864 : : (TARGET_AVX512BW))
16865 : : return -1;
16866 : : return 8386; /* *avx512bw_interleave_lowv32hi */
16867 : :
16868 : : case E_V32HFmode:
16869 : : if (pattern1418 (x2,
16870 : : E_V32HFmode,
16871 : : E_V64HFmode) != 0
16872 : : || !
16873 : : #line 19954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16874 : : (TARGET_AVX512BW))
16875 : : return -1;
16876 : : return 8388; /* *avx512bw_interleave_lowv32hf */
16877 : :
16878 : : case E_V32BFmode:
16879 : : if (pattern1418 (x2,
16880 : : E_V32BFmode,
16881 : : E_V64BFmode) != 0
16882 : : || !
16883 : : #line 19954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16884 : : (TARGET_AVX512BW))
16885 : : return -1;
16886 : : return 8390; /* *avx512bw_interleave_lowv32bf */
16887 : :
16888 : : default:
16889 : : return -1;
16890 : : }
16891 : :
16892 : : default:
16893 : : return -1;
16894 : : }
16895 : :
16896 : : case 4L:
16897 : : x7 = XVECEXP (x3, 0, 1);
16898 : : if (XWINT (x7, 0) != 36L)
16899 : : return -1;
16900 : : x8 = XVECEXP (x3, 0, 2);
16901 : : if (XWINT (x8, 0) != 5L)
16902 : : return -1;
16903 : : x9 = XVECEXP (x3, 0, 3);
16904 : : if (XWINT (x9, 0) != 37L)
16905 : : return -1;
16906 : : x10 = XVECEXP (x3, 0, 4);
16907 : : if (XWINT (x10, 0) != 6L)
16908 : : return -1;
16909 : : x11 = XVECEXP (x3, 0, 5);
16910 : : if (XWINT (x11, 0) != 38L)
16911 : : return -1;
16912 : : x12 = XVECEXP (x3, 0, 6);
16913 : : if (XWINT (x12, 0) != 7L)
16914 : : return -1;
16915 : : x13 = XVECEXP (x3, 0, 7);
16916 : : if (XWINT (x13, 0) != 39L
16917 : : || pattern1904 (x3) != 0)
16918 : : return -1;
16919 : : x14 = XVECEXP (x3, 0, 16);
16920 : : if (XWINT (x14, 0) != 20L)
16921 : : return -1;
16922 : : x15 = XVECEXP (x3, 0, 17);
16923 : : if (XWINT (x15, 0) != 52L)
16924 : : return -1;
16925 : : x16 = XVECEXP (x3, 0, 18);
16926 : : if (XWINT (x16, 0) != 21L)
16927 : : return -1;
16928 : : x17 = XVECEXP (x3, 0, 19);
16929 : : if (XWINT (x17, 0) != 53L)
16930 : : return -1;
16931 : : x18 = XVECEXP (x3, 0, 20);
16932 : : if (XWINT (x18, 0) != 22L)
16933 : : return -1;
16934 : : x19 = XVECEXP (x3, 0, 21);
16935 : : if (XWINT (x19, 0) != 54L)
16936 : : return -1;
16937 : : x20 = XVECEXP (x3, 0, 22);
16938 : : if (XWINT (x20, 0) != 23L)
16939 : : return -1;
16940 : : x21 = XVECEXP (x3, 0, 23);
16941 : : if (XWINT (x21, 0) != 55L
16942 : : || pattern1910 (x3) != 0)
16943 : : return -1;
16944 : : switch (GET_MODE (operands[0]))
16945 : : {
16946 : : case E_V32HImode:
16947 : : if (pattern1418 (x2,
16948 : : E_V32HImode,
16949 : : E_V64HImode) != 0
16950 : : || !
16951 : : #line 19886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16952 : : (TARGET_AVX512BW))
16953 : : return -1;
16954 : : return 8368; /* avx512bw_interleave_highv32hi */
16955 : :
16956 : : case E_V32HFmode:
16957 : : if (pattern1418 (x2,
16958 : : E_V32HFmode,
16959 : : E_V64HFmode) != 0
16960 : : || !
16961 : : #line 19886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16962 : : (TARGET_AVX512BW))
16963 : : return -1;
16964 : : return 8370; /* avx512bw_interleave_highv32hf */
16965 : :
16966 : : case E_V32BFmode:
16967 : : if (pattern1418 (x2,
16968 : : E_V32BFmode,
16969 : : E_V64BFmode) != 0
16970 : : || !
16971 : : #line 19886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16972 : : (TARGET_AVX512BW))
16973 : : return -1;
16974 : : return 8372; /* avx512bw_interleave_highv32bf */
16975 : :
16976 : : default:
16977 : : return -1;
16978 : : }
16979 : :
16980 : : default:
16981 : : return -1;
16982 : : }
16983 : : }
16984 : :
16985 : : int
16986 : : recog_296 (rtx x1 ATTRIBUTE_UNUSED,
16987 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16988 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16989 : : {
16990 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16991 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16992 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16993 : : int res ATTRIBUTE_UNUSED;
16994 : : x2 = XEXP (x1, 1);
16995 : : x3 = XEXP (x2, 1);
16996 : : x4 = XVECEXP (x3, 0, 1);
16997 : : operands[3] = x4;
16998 : : x5 = XVECEXP (x3, 0, 2);
16999 : : operands[4] = x5;
17000 : : x6 = XVECEXP (x3, 0, 3);
17001 : : operands[5] = x6;
17002 : : x7 = XVECEXP (x3, 0, 5);
17003 : : operands[7] = x7;
17004 : : x8 = XVECEXP (x3, 0, 6);
17005 : : operands[8] = x8;
17006 : : x9 = XVECEXP (x3, 0, 7);
17007 : : operands[9] = x9;
17008 : : x10 = XVECEXP (x3, 0, 8);
17009 : : operands[10] = x10;
17010 : : x11 = XVECEXP (x3, 0, 9);
17011 : : operands[11] = x11;
17012 : : x12 = XVECEXP (x3, 0, 10);
17013 : : operands[12] = x12;
17014 : : x13 = XVECEXP (x3, 0, 11);
17015 : : operands[13] = x13;
17016 : : x14 = XVECEXP (x3, 0, 12);
17017 : : operands[14] = x14;
17018 : : x15 = XVECEXP (x3, 0, 13);
17019 : : operands[15] = x15;
17020 : : x16 = XVECEXP (x3, 0, 14);
17021 : : operands[16] = x16;
17022 : : x17 = XVECEXP (x3, 0, 15);
17023 : : operands[17] = x17;
17024 : : switch (GET_MODE (operands[0]))
17025 : : {
17026 : : case E_V16SFmode:
17027 : : if (!register_operand (operands[0], E_V16SFmode)
17028 : : || GET_MODE (x2) != E_V16SFmode
17029 : : || !register_operand (operands[1], E_V16SFmode)
17030 : : || pattern1852 () != 0
17031 : : || !
17032 : : #line 20753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17033 : : (TARGET_AVX512F
17034 : : && (INTVAL (operands[2]) & 3) == 0
17035 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17036 : : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
17037 : : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
17038 : : && (INTVAL (operands[6]) & 3) == 0
17039 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
17040 : : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
17041 : : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
17042 : : && (INTVAL (operands[10]) & 3) == 0
17043 : : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
17044 : : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
17045 : : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
17046 : : && (INTVAL (operands[14]) & 3) == 0
17047 : : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
17048 : : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
17049 : : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3))
17050 : : return -1;
17051 : : return 8470; /* *avx512f_shuf_f32x4_1_1 */
17052 : :
17053 : : case E_V16SImode:
17054 : : if (!register_operand (operands[0], E_V16SImode)
17055 : : || GET_MODE (x2) != E_V16SImode)
17056 : : return -1;
17057 : : if (register_operand (operands[1], E_V16SImode)
17058 : : && pattern1852 () == 0
17059 : : &&
17060 : : #line 20753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17061 : : (TARGET_AVX512F
17062 : : && (INTVAL (operands[2]) & 3) == 0
17063 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17064 : : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
17065 : : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
17066 : : && (INTVAL (operands[6]) & 3) == 0
17067 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
17068 : : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
17069 : : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
17070 : : && (INTVAL (operands[10]) & 3) == 0
17071 : : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
17072 : : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
17073 : : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
17074 : : && (INTVAL (operands[14]) & 3) == 0
17075 : : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
17076 : : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
17077 : : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3))
17078 : : return 8472; /* *avx512f_shuf_i32x4_1_1 */
17079 : : if (!nonimmediate_operand (operands[1], E_V16SImode)
17080 : : || pattern1719 () != 0
17081 : : || !const_8_to_11_operand (operands[10], E_VOIDmode)
17082 : : || !const_8_to_11_operand (operands[11], E_VOIDmode)
17083 : : || !const_8_to_11_operand (operands[12], E_VOIDmode)
17084 : : || !const_8_to_11_operand (operands[13], E_VOIDmode)
17085 : : || !const_12_to_15_operand (operands[14], E_VOIDmode)
17086 : : || !const_12_to_15_operand (operands[15], E_VOIDmode)
17087 : : || !const_12_to_15_operand (operands[16], E_VOIDmode)
17088 : : || !const_12_to_15_operand (operands[17], E_VOIDmode)
17089 : : || !
17090 : : #line 20835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17091 : : (TARGET_AVX512F
17092 : : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
17093 : : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
17094 : : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
17095 : : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
17096 : : && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
17097 : : && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
17098 : : && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
17099 : : && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
17100 : : && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
17101 : : && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
17102 : : && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
17103 : : && INTVAL (operands[5]) + 12 == INTVAL (operands[17])))
17104 : : return -1;
17105 : : return 8474; /* avx512f_pshufd_1 */
17106 : :
17107 : : default:
17108 : : return -1;
17109 : : }
17110 : : }
17111 : :
17112 : : int
17113 : : recog_307 (rtx x1 ATTRIBUTE_UNUSED,
17114 : : rtx_insn *insn ATTRIBUTE_UNUSED,
17115 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
17116 : : {
17117 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17118 : : rtx x2, x3, x4;
17119 : : int res ATTRIBUTE_UNUSED;
17120 : : x2 = XEXP (x1, 1);
17121 : : x3 = XEXP (x2, 0);
17122 : : x4 = XEXP (x3, 0);
17123 : : switch (GET_CODE (x4))
17124 : : {
17125 : : case REG:
17126 : : case SUBREG:
17127 : : case MEM:
17128 : : case NOT:
17129 : : switch (pattern530 (x2))
17130 : : {
17131 : : case 0:
17132 : : if (!(
17133 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17134 : : ((64 == 64 || TARGET_AVX512VL
17135 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17136 : : && ix86_pre_reload_split ()
17137 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17138 : : STRIP_UNARY (operands[4]))
17139 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17140 : : STRIP_UNARY (operands[4]))
17141 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17142 : : STRIP_UNARY (operands[3]))
17143 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17144 : : STRIP_UNARY (operands[3])))) &&
17145 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17146 : : (TARGET_AVX512F)))
17147 : : return -1;
17148 : : return 5549; /* *avx512bw_vpternlogv64qi_1 */
17149 : :
17150 : : case 1:
17151 : : if (!(
17152 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17153 : : ((32 == 64 || TARGET_AVX512VL
17154 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17155 : : && ix86_pre_reload_split ()
17156 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17157 : : STRIP_UNARY (operands[4]))
17158 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17159 : : STRIP_UNARY (operands[4]))
17160 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17161 : : STRIP_UNARY (operands[3]))
17162 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17163 : : STRIP_UNARY (operands[3])))) &&
17164 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17165 : : (TARGET_AVX)))
17166 : : return -1;
17167 : : return 5576; /* *avx512vl_vpternlogv32qi_1 */
17168 : :
17169 : : case 2:
17170 : : if (!
17171 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17172 : : ((16 == 64 || TARGET_AVX512VL
17173 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17174 : : && ix86_pre_reload_split ()
17175 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17176 : : STRIP_UNARY (operands[4]))
17177 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17178 : : STRIP_UNARY (operands[4]))
17179 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17180 : : STRIP_UNARY (operands[3]))
17181 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17182 : : STRIP_UNARY (operands[3])))))
17183 : : return -1;
17184 : : return 5603; /* *avx512vl_vpternlogv16qi_1 */
17185 : :
17186 : : case 3:
17187 : : if (!(
17188 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17189 : : ((64 == 64 || TARGET_AVX512VL
17190 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17191 : : && ix86_pre_reload_split ()
17192 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17193 : : STRIP_UNARY (operands[4]))
17194 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17195 : : STRIP_UNARY (operands[4]))
17196 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17197 : : STRIP_UNARY (operands[3]))
17198 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17199 : : STRIP_UNARY (operands[3])))) &&
17200 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17201 : : (TARGET_AVX512F)))
17202 : : return -1;
17203 : : return 5630; /* *avx512bw_vpternlogv32hi_1 */
17204 : :
17205 : : case 4:
17206 : : if (!(
17207 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17208 : : ((32 == 64 || TARGET_AVX512VL
17209 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17210 : : && ix86_pre_reload_split ()
17211 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17212 : : STRIP_UNARY (operands[4]))
17213 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17214 : : STRIP_UNARY (operands[4]))
17215 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17216 : : STRIP_UNARY (operands[3]))
17217 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17218 : : STRIP_UNARY (operands[3])))) &&
17219 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17220 : : (TARGET_AVX)))
17221 : : return -1;
17222 : : return 5657; /* *avx512vl_vpternlogv16hi_1 */
17223 : :
17224 : : case 5:
17225 : : if (!
17226 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17227 : : ((16 == 64 || TARGET_AVX512VL
17228 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17229 : : && ix86_pre_reload_split ()
17230 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17231 : : STRIP_UNARY (operands[4]))
17232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17233 : : STRIP_UNARY (operands[4]))
17234 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17235 : : STRIP_UNARY (operands[3]))
17236 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17237 : : STRIP_UNARY (operands[3])))))
17238 : : return -1;
17239 : : return 5684; /* *avx512vl_vpternlogv8hi_1 */
17240 : :
17241 : : case 6:
17242 : : if (!(
17243 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17244 : : ((64 == 64 || TARGET_AVX512VL
17245 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17246 : : && ix86_pre_reload_split ()
17247 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17248 : : STRIP_UNARY (operands[4]))
17249 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17250 : : STRIP_UNARY (operands[4]))
17251 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17252 : : STRIP_UNARY (operands[3]))
17253 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17254 : : STRIP_UNARY (operands[3])))) &&
17255 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17256 : : (TARGET_AVX512F)))
17257 : : return -1;
17258 : : return 5711; /* *avx512f_vpternlogv16si_1 */
17259 : :
17260 : : case 7:
17261 : : if (!(
17262 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17263 : : ((32 == 64 || TARGET_AVX512VL
17264 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17265 : : && ix86_pre_reload_split ()
17266 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17267 : : STRIP_UNARY (operands[4]))
17268 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17269 : : STRIP_UNARY (operands[4]))
17270 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17271 : : STRIP_UNARY (operands[3]))
17272 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17273 : : STRIP_UNARY (operands[3])))) &&
17274 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17275 : : (TARGET_AVX)))
17276 : : return -1;
17277 : : return 5738; /* *avx512vl_vpternlogv8si_1 */
17278 : :
17279 : : case 8:
17280 : : if (!
17281 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17282 : : ((16 == 64 || TARGET_AVX512VL
17283 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17284 : : && ix86_pre_reload_split ()
17285 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17286 : : STRIP_UNARY (operands[4]))
17287 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17288 : : STRIP_UNARY (operands[4]))
17289 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17290 : : STRIP_UNARY (operands[3]))
17291 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17292 : : STRIP_UNARY (operands[3])))))
17293 : : return -1;
17294 : : return 5765; /* *avx512vl_vpternlogv4si_1 */
17295 : :
17296 : : case 9:
17297 : : if (!(
17298 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17299 : : ((64 == 64 || TARGET_AVX512VL
17300 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17301 : : && ix86_pre_reload_split ()
17302 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17303 : : STRIP_UNARY (operands[4]))
17304 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17305 : : STRIP_UNARY (operands[4]))
17306 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17307 : : STRIP_UNARY (operands[3]))
17308 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17309 : : STRIP_UNARY (operands[3])))) &&
17310 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17311 : : (TARGET_AVX512F)))
17312 : : return -1;
17313 : : return 5792; /* *avx512f_vpternlogv8di_1 */
17314 : :
17315 : : case 10:
17316 : : if (!(
17317 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17318 : : ((32 == 64 || TARGET_AVX512VL
17319 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17320 : : && ix86_pre_reload_split ()
17321 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17322 : : STRIP_UNARY (operands[4]))
17323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17324 : : STRIP_UNARY (operands[4]))
17325 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17326 : : STRIP_UNARY (operands[3]))
17327 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17328 : : STRIP_UNARY (operands[3])))) &&
17329 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17330 : : (TARGET_AVX)))
17331 : : return -1;
17332 : : return 5819; /* *avx512vl_vpternlogv4di_1 */
17333 : :
17334 : : case 11:
17335 : : if (!
17336 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17337 : : ((16 == 64 || TARGET_AVX512VL
17338 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17339 : : && ix86_pre_reload_split ()
17340 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17341 : : STRIP_UNARY (operands[4]))
17342 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17343 : : STRIP_UNARY (operands[4]))
17344 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17345 : : STRIP_UNARY (operands[3]))
17346 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17347 : : STRIP_UNARY (operands[3])))))
17348 : : return -1;
17349 : : return 5846; /* *avx512vl_vpternlogv2di_1 */
17350 : :
17351 : : case 12:
17352 : : if (!(
17353 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17354 : : ((64 == 64 || TARGET_AVX512VL
17355 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17356 : : && ix86_pre_reload_split ()
17357 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17358 : : STRIP_UNARY (operands[4]))
17359 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17360 : : STRIP_UNARY (operands[4]))
17361 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17362 : : STRIP_UNARY (operands[3]))
17363 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17364 : : STRIP_UNARY (operands[3])))) &&
17365 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17366 : : (TARGET_AVX512F)))
17367 : : return -1;
17368 : : return 5552; /* *avx512bw_vpternlogv64qi_1 */
17369 : :
17370 : : case 13:
17371 : : if (!(
17372 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17373 : : ((32 == 64 || TARGET_AVX512VL
17374 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17375 : : && ix86_pre_reload_split ()
17376 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17377 : : STRIP_UNARY (operands[4]))
17378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17379 : : STRIP_UNARY (operands[4]))
17380 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17381 : : STRIP_UNARY (operands[3]))
17382 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17383 : : STRIP_UNARY (operands[3])))) &&
17384 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17385 : : (TARGET_AVX)))
17386 : : return -1;
17387 : : return 5579; /* *avx512vl_vpternlogv32qi_1 */
17388 : :
17389 : : case 14:
17390 : : if (!
17391 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17392 : : ((16 == 64 || TARGET_AVX512VL
17393 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17394 : : && ix86_pre_reload_split ()
17395 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17396 : : STRIP_UNARY (operands[4]))
17397 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17398 : : STRIP_UNARY (operands[4]))
17399 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17400 : : STRIP_UNARY (operands[3]))
17401 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17402 : : STRIP_UNARY (operands[3])))))
17403 : : return -1;
17404 : : return 5606; /* *avx512vl_vpternlogv16qi_1 */
17405 : :
17406 : : case 15:
17407 : : if (!(
17408 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17409 : : ((64 == 64 || TARGET_AVX512VL
17410 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17411 : : && ix86_pre_reload_split ()
17412 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17413 : : STRIP_UNARY (operands[4]))
17414 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17415 : : STRIP_UNARY (operands[4]))
17416 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17417 : : STRIP_UNARY (operands[3]))
17418 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17419 : : STRIP_UNARY (operands[3])))) &&
17420 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17421 : : (TARGET_AVX512F)))
17422 : : return -1;
17423 : : return 5633; /* *avx512bw_vpternlogv32hi_1 */
17424 : :
17425 : : case 16:
17426 : : if (!(
17427 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17428 : : ((32 == 64 || TARGET_AVX512VL
17429 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17430 : : && ix86_pre_reload_split ()
17431 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17432 : : STRIP_UNARY (operands[4]))
17433 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17434 : : STRIP_UNARY (operands[4]))
17435 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17436 : : STRIP_UNARY (operands[3]))
17437 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17438 : : STRIP_UNARY (operands[3])))) &&
17439 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17440 : : (TARGET_AVX)))
17441 : : return -1;
17442 : : return 5660; /* *avx512vl_vpternlogv16hi_1 */
17443 : :
17444 : : case 17:
17445 : : if (!
17446 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17447 : : ((16 == 64 || TARGET_AVX512VL
17448 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17449 : : && ix86_pre_reload_split ()
17450 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17451 : : STRIP_UNARY (operands[4]))
17452 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17453 : : STRIP_UNARY (operands[4]))
17454 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17455 : : STRIP_UNARY (operands[3]))
17456 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17457 : : STRIP_UNARY (operands[3])))))
17458 : : return -1;
17459 : : return 5687; /* *avx512vl_vpternlogv8hi_1 */
17460 : :
17461 : : case 18:
17462 : : if (!(
17463 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17464 : : ((64 == 64 || TARGET_AVX512VL
17465 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17466 : : && ix86_pre_reload_split ()
17467 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17468 : : STRIP_UNARY (operands[4]))
17469 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17470 : : STRIP_UNARY (operands[4]))
17471 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17472 : : STRIP_UNARY (operands[3]))
17473 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17474 : : STRIP_UNARY (operands[3])))) &&
17475 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17476 : : (TARGET_AVX512F)))
17477 : : return -1;
17478 : : return 5714; /* *avx512f_vpternlogv16si_1 */
17479 : :
17480 : : case 19:
17481 : : if (!(
17482 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17483 : : ((32 == 64 || TARGET_AVX512VL
17484 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17485 : : && ix86_pre_reload_split ()
17486 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17487 : : STRIP_UNARY (operands[4]))
17488 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17489 : : STRIP_UNARY (operands[4]))
17490 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17491 : : STRIP_UNARY (operands[3]))
17492 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17493 : : STRIP_UNARY (operands[3])))) &&
17494 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17495 : : (TARGET_AVX)))
17496 : : return -1;
17497 : : return 5741; /* *avx512vl_vpternlogv8si_1 */
17498 : :
17499 : : case 20:
17500 : : if (!
17501 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17502 : : ((16 == 64 || TARGET_AVX512VL
17503 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17504 : : && ix86_pre_reload_split ()
17505 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17506 : : STRIP_UNARY (operands[4]))
17507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17508 : : STRIP_UNARY (operands[4]))
17509 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17510 : : STRIP_UNARY (operands[3]))
17511 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17512 : : STRIP_UNARY (operands[3])))))
17513 : : return -1;
17514 : : return 5768; /* *avx512vl_vpternlogv4si_1 */
17515 : :
17516 : : case 21:
17517 : : if (!(
17518 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17519 : : ((64 == 64 || TARGET_AVX512VL
17520 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17521 : : && ix86_pre_reload_split ()
17522 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17523 : : STRIP_UNARY (operands[4]))
17524 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17525 : : STRIP_UNARY (operands[4]))
17526 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17527 : : STRIP_UNARY (operands[3]))
17528 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17529 : : STRIP_UNARY (operands[3])))) &&
17530 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17531 : : (TARGET_AVX512F)))
17532 : : return -1;
17533 : : return 5795; /* *avx512f_vpternlogv8di_1 */
17534 : :
17535 : : case 22:
17536 : : if (!(
17537 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17538 : : ((32 == 64 || TARGET_AVX512VL
17539 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17540 : : && ix86_pre_reload_split ()
17541 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17542 : : STRIP_UNARY (operands[4]))
17543 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17544 : : STRIP_UNARY (operands[4]))
17545 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17546 : : STRIP_UNARY (operands[3]))
17547 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17548 : : STRIP_UNARY (operands[3])))) &&
17549 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17550 : : (TARGET_AVX)))
17551 : : return -1;
17552 : : return 5822; /* *avx512vl_vpternlogv4di_1 */
17553 : :
17554 : : case 23:
17555 : : if (!
17556 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17557 : : ((16 == 64 || TARGET_AVX512VL
17558 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17559 : : && ix86_pre_reload_split ()
17560 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17561 : : STRIP_UNARY (operands[4]))
17562 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17563 : : STRIP_UNARY (operands[4]))
17564 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17565 : : STRIP_UNARY (operands[3]))
17566 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17567 : : STRIP_UNARY (operands[3])))))
17568 : : return -1;
17569 : : return 5849; /* *avx512vl_vpternlogv2di_1 */
17570 : :
17571 : : case 24:
17572 : : if (!(
17573 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17574 : : ((64 == 64 || TARGET_AVX512VL
17575 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17576 : : && ix86_pre_reload_split ()
17577 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17578 : : STRIP_UNARY (operands[4]))
17579 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17580 : : STRIP_UNARY (operands[4]))
17581 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17582 : : STRIP_UNARY (operands[3]))
17583 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17584 : : STRIP_UNARY (operands[3])))) &&
17585 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17586 : : (TARGET_AVX512F)))
17587 : : return -1;
17588 : : return 5555; /* *avx512bw_vpternlogv64qi_1 */
17589 : :
17590 : : case 25:
17591 : : if (!(
17592 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17593 : : ((32 == 64 || TARGET_AVX512VL
17594 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17595 : : && ix86_pre_reload_split ()
17596 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17597 : : STRIP_UNARY (operands[4]))
17598 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17599 : : STRIP_UNARY (operands[4]))
17600 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17601 : : STRIP_UNARY (operands[3]))
17602 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17603 : : STRIP_UNARY (operands[3])))) &&
17604 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17605 : : (TARGET_AVX)))
17606 : : return -1;
17607 : : return 5582; /* *avx512vl_vpternlogv32qi_1 */
17608 : :
17609 : : case 26:
17610 : : if (!
17611 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17612 : : ((16 == 64 || TARGET_AVX512VL
17613 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17614 : : && ix86_pre_reload_split ()
17615 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17616 : : STRIP_UNARY (operands[4]))
17617 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17618 : : STRIP_UNARY (operands[4]))
17619 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17620 : : STRIP_UNARY (operands[3]))
17621 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17622 : : STRIP_UNARY (operands[3])))))
17623 : : return -1;
17624 : : return 5609; /* *avx512vl_vpternlogv16qi_1 */
17625 : :
17626 : : case 27:
17627 : : if (!(
17628 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17629 : : ((64 == 64 || TARGET_AVX512VL
17630 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17631 : : && ix86_pre_reload_split ()
17632 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17633 : : STRIP_UNARY (operands[4]))
17634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17635 : : STRIP_UNARY (operands[4]))
17636 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17637 : : STRIP_UNARY (operands[3]))
17638 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17639 : : STRIP_UNARY (operands[3])))) &&
17640 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17641 : : (TARGET_AVX512F)))
17642 : : return -1;
17643 : : return 5636; /* *avx512bw_vpternlogv32hi_1 */
17644 : :
17645 : : case 28:
17646 : : if (!(
17647 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17648 : : ((32 == 64 || TARGET_AVX512VL
17649 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17650 : : && ix86_pre_reload_split ()
17651 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17652 : : STRIP_UNARY (operands[4]))
17653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17654 : : STRIP_UNARY (operands[4]))
17655 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17656 : : STRIP_UNARY (operands[3]))
17657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17658 : : STRIP_UNARY (operands[3])))) &&
17659 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17660 : : (TARGET_AVX)))
17661 : : return -1;
17662 : : return 5663; /* *avx512vl_vpternlogv16hi_1 */
17663 : :
17664 : : case 29:
17665 : : if (!
17666 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17667 : : ((16 == 64 || TARGET_AVX512VL
17668 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17669 : : && ix86_pre_reload_split ()
17670 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17671 : : STRIP_UNARY (operands[4]))
17672 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17673 : : STRIP_UNARY (operands[4]))
17674 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17675 : : STRIP_UNARY (operands[3]))
17676 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17677 : : STRIP_UNARY (operands[3])))))
17678 : : return -1;
17679 : : return 5690; /* *avx512vl_vpternlogv8hi_1 */
17680 : :
17681 : : case 30:
17682 : : if (!(
17683 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17684 : : ((64 == 64 || TARGET_AVX512VL
17685 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17686 : : && ix86_pre_reload_split ()
17687 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17688 : : STRIP_UNARY (operands[4]))
17689 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17690 : : STRIP_UNARY (operands[4]))
17691 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17692 : : STRIP_UNARY (operands[3]))
17693 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17694 : : STRIP_UNARY (operands[3])))) &&
17695 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17696 : : (TARGET_AVX512F)))
17697 : : return -1;
17698 : : return 5717; /* *avx512f_vpternlogv16si_1 */
17699 : :
17700 : : case 31:
17701 : : if (!(
17702 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17703 : : ((32 == 64 || TARGET_AVX512VL
17704 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17705 : : && ix86_pre_reload_split ()
17706 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17707 : : STRIP_UNARY (operands[4]))
17708 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17709 : : STRIP_UNARY (operands[4]))
17710 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17711 : : STRIP_UNARY (operands[3]))
17712 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17713 : : STRIP_UNARY (operands[3])))) &&
17714 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17715 : : (TARGET_AVX)))
17716 : : return -1;
17717 : : return 5744; /* *avx512vl_vpternlogv8si_1 */
17718 : :
17719 : : case 32:
17720 : : if (!
17721 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17722 : : ((16 == 64 || TARGET_AVX512VL
17723 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17724 : : && ix86_pre_reload_split ()
17725 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17726 : : STRIP_UNARY (operands[4]))
17727 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17728 : : STRIP_UNARY (operands[4]))
17729 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17730 : : STRIP_UNARY (operands[3]))
17731 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17732 : : STRIP_UNARY (operands[3])))))
17733 : : return -1;
17734 : : return 5771; /* *avx512vl_vpternlogv4si_1 */
17735 : :
17736 : : case 33:
17737 : : if (!(
17738 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17739 : : ((64 == 64 || TARGET_AVX512VL
17740 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17741 : : && ix86_pre_reload_split ()
17742 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17743 : : STRIP_UNARY (operands[4]))
17744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17745 : : STRIP_UNARY (operands[4]))
17746 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17747 : : STRIP_UNARY (operands[3]))
17748 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17749 : : STRIP_UNARY (operands[3])))) &&
17750 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17751 : : (TARGET_AVX512F)))
17752 : : return -1;
17753 : : return 5798; /* *avx512f_vpternlogv8di_1 */
17754 : :
17755 : : case 34:
17756 : : if (!(
17757 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17758 : : ((32 == 64 || TARGET_AVX512VL
17759 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17760 : : && ix86_pre_reload_split ()
17761 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17762 : : STRIP_UNARY (operands[4]))
17763 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17764 : : STRIP_UNARY (operands[4]))
17765 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17766 : : STRIP_UNARY (operands[3]))
17767 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17768 : : STRIP_UNARY (operands[3])))) &&
17769 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17770 : : (TARGET_AVX)))
17771 : : return -1;
17772 : : return 5825; /* *avx512vl_vpternlogv4di_1 */
17773 : :
17774 : : case 35:
17775 : : if (!
17776 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17777 : : ((16 == 64 || TARGET_AVX512VL
17778 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17779 : : && ix86_pre_reload_split ()
17780 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17781 : : STRIP_UNARY (operands[4]))
17782 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17783 : : STRIP_UNARY (operands[4]))
17784 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17785 : : STRIP_UNARY (operands[3]))
17786 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17787 : : STRIP_UNARY (operands[3])))))
17788 : : return -1;
17789 : : return 5852; /* *avx512vl_vpternlogv2di_1 */
17790 : :
17791 : : case 36:
17792 : : if (!(
17793 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17794 : : ((64 == 64 || TARGET_AVX512VL
17795 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17796 : : && ix86_pre_reload_split ()) &&
17797 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17798 : : (TARGET_AVX512F)))
17799 : : return -1;
17800 : : return 6833; /* *avx512bw_vpternlogv64qi_3 */
17801 : :
17802 : : case 37:
17803 : : if (!(
17804 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17805 : : ((32 == 64 || TARGET_AVX512VL
17806 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17807 : : && ix86_pre_reload_split ()) &&
17808 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17809 : : (TARGET_AVX)))
17810 : : return -1;
17811 : : return 6842; /* *avx512vl_vpternlogv32qi_3 */
17812 : :
17813 : : case 38:
17814 : : if (!
17815 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17816 : : ((16 == 64 || TARGET_AVX512VL
17817 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17818 : : && ix86_pre_reload_split ()))
17819 : : return -1;
17820 : : return 6851; /* *avx512vl_vpternlogv16qi_3 */
17821 : :
17822 : : case 39:
17823 : : if (!(
17824 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17825 : : ((64 == 64 || TARGET_AVX512VL
17826 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17827 : : && ix86_pre_reload_split ()) &&
17828 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17829 : : (TARGET_AVX512F)))
17830 : : return -1;
17831 : : return 6860; /* *avx512bw_vpternlogv32hi_3 */
17832 : :
17833 : : case 40:
17834 : : if (!(
17835 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17836 : : ((32 == 64 || TARGET_AVX512VL
17837 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17838 : : && ix86_pre_reload_split ()) &&
17839 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17840 : : (TARGET_AVX)))
17841 : : return -1;
17842 : : return 6869; /* *avx512vl_vpternlogv16hi_3 */
17843 : :
17844 : : case 41:
17845 : : if (!
17846 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17847 : : ((16 == 64 || TARGET_AVX512VL
17848 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17849 : : && ix86_pre_reload_split ()))
17850 : : return -1;
17851 : : return 6878; /* *avx512vl_vpternlogv8hi_3 */
17852 : :
17853 : : case 42:
17854 : : if (!(
17855 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17856 : : ((64 == 64 || TARGET_AVX512VL
17857 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17858 : : && ix86_pre_reload_split ()) &&
17859 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17860 : : (TARGET_AVX512F)))
17861 : : return -1;
17862 : : return 6887; /* *avx512f_vpternlogv16si_3 */
17863 : :
17864 : : case 43:
17865 : : if (!(
17866 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17867 : : ((32 == 64 || TARGET_AVX512VL
17868 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17869 : : && ix86_pre_reload_split ()) &&
17870 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17871 : : (TARGET_AVX)))
17872 : : return -1;
17873 : : return 6896; /* *avx512vl_vpternlogv8si_3 */
17874 : :
17875 : : case 44:
17876 : : if (!
17877 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17878 : : ((16 == 64 || TARGET_AVX512VL
17879 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17880 : : && ix86_pre_reload_split ()))
17881 : : return -1;
17882 : : return 6905; /* *avx512vl_vpternlogv4si_3 */
17883 : :
17884 : : case 45:
17885 : : if (!(
17886 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17887 : : ((64 == 64 || TARGET_AVX512VL
17888 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17889 : : && ix86_pre_reload_split ()) &&
17890 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17891 : : (TARGET_AVX512F)))
17892 : : return -1;
17893 : : return 6914; /* *avx512f_vpternlogv8di_3 */
17894 : :
17895 : : case 46:
17896 : : if (!(
17897 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17898 : : ((32 == 64 || TARGET_AVX512VL
17899 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17900 : : && ix86_pre_reload_split ()) &&
17901 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17902 : : (TARGET_AVX)))
17903 : : return -1;
17904 : : return 6923; /* *avx512vl_vpternlogv4di_3 */
17905 : :
17906 : : case 47:
17907 : : if (!
17908 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17909 : : ((16 == 64 || TARGET_AVX512VL
17910 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17911 : : && ix86_pre_reload_split ()))
17912 : : return -1;
17913 : : return 6932; /* *avx512vl_vpternlogv2di_3 */
17914 : :
17915 : : default:
17916 : : return -1;
17917 : : }
17918 : :
17919 : : case AND:
17920 : : switch (pattern532 (x2))
17921 : : {
17922 : : case 0:
17923 : : if (!(
17924 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17925 : : ((64 == 64 || TARGET_AVX512VL
17926 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17927 : : && ix86_pre_reload_split ()
17928 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17929 : : STRIP_UNARY (operands[4]))
17930 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17931 : : STRIP_UNARY (operands[4]))
17932 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17933 : : STRIP_UNARY (operands[3]))
17934 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17935 : : STRIP_UNARY (operands[3])))) &&
17936 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17937 : : (TARGET_AVX512F)))
17938 : : return -1;
17939 : : return 6197; /* *avx512bw_vpternlogv64qi_2 */
17940 : :
17941 : : case 1:
17942 : : if (!(
17943 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17944 : : ((32 == 64 || TARGET_AVX512VL
17945 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17946 : : && ix86_pre_reload_split ()
17947 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17948 : : STRIP_UNARY (operands[4]))
17949 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17950 : : STRIP_UNARY (operands[4]))
17951 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17952 : : STRIP_UNARY (operands[3]))
17953 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17954 : : STRIP_UNARY (operands[3])))) &&
17955 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17956 : : (TARGET_AVX)))
17957 : : return -1;
17958 : : return 6224; /* *avx512vl_vpternlogv32qi_2 */
17959 : :
17960 : : case 2:
17961 : : if (!
17962 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17963 : : ((16 == 64 || TARGET_AVX512VL
17964 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17965 : : && ix86_pre_reload_split ()
17966 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17967 : : STRIP_UNARY (operands[4]))
17968 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17969 : : STRIP_UNARY (operands[4]))
17970 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17971 : : STRIP_UNARY (operands[3]))
17972 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17973 : : STRIP_UNARY (operands[3])))))
17974 : : return -1;
17975 : : return 6251; /* *avx512vl_vpternlogv16qi_2 */
17976 : :
17977 : : case 3:
17978 : : if (!(
17979 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17980 : : ((64 == 64 || TARGET_AVX512VL
17981 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17982 : : && ix86_pre_reload_split ()
17983 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17984 : : STRIP_UNARY (operands[4]))
17985 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17986 : : STRIP_UNARY (operands[4]))
17987 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17988 : : STRIP_UNARY (operands[3]))
17989 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17990 : : STRIP_UNARY (operands[3])))) &&
17991 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17992 : : (TARGET_AVX512F)))
17993 : : return -1;
17994 : : return 6278; /* *avx512bw_vpternlogv32hi_2 */
17995 : :
17996 : : case 4:
17997 : : if (!(
17998 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17999 : : ((32 == 64 || TARGET_AVX512VL
18000 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18001 : : && ix86_pre_reload_split ()
18002 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18003 : : STRIP_UNARY (operands[4]))
18004 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18005 : : STRIP_UNARY (operands[4]))
18006 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18007 : : STRIP_UNARY (operands[3]))
18008 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18009 : : STRIP_UNARY (operands[3])))) &&
18010 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18011 : : (TARGET_AVX)))
18012 : : return -1;
18013 : : return 6305; /* *avx512vl_vpternlogv16hi_2 */
18014 : :
18015 : : case 5:
18016 : : if (!
18017 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18018 : : ((16 == 64 || TARGET_AVX512VL
18019 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18020 : : && ix86_pre_reload_split ()
18021 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18022 : : STRIP_UNARY (operands[4]))
18023 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18024 : : STRIP_UNARY (operands[4]))
18025 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18026 : : STRIP_UNARY (operands[3]))
18027 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18028 : : STRIP_UNARY (operands[3])))))
18029 : : return -1;
18030 : : return 6332; /* *avx512vl_vpternlogv8hi_2 */
18031 : :
18032 : : case 6:
18033 : : if (!(
18034 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18035 : : ((64 == 64 || TARGET_AVX512VL
18036 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18037 : : && ix86_pre_reload_split ()
18038 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18039 : : STRIP_UNARY (operands[4]))
18040 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18041 : : STRIP_UNARY (operands[4]))
18042 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18043 : : STRIP_UNARY (operands[3]))
18044 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18045 : : STRIP_UNARY (operands[3])))) &&
18046 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18047 : : (TARGET_AVX512F)))
18048 : : return -1;
18049 : : return 6359; /* *avx512f_vpternlogv16si_2 */
18050 : :
18051 : : case 7:
18052 : : if (!(
18053 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18054 : : ((32 == 64 || TARGET_AVX512VL
18055 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18056 : : && ix86_pre_reload_split ()
18057 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18058 : : STRIP_UNARY (operands[4]))
18059 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18060 : : STRIP_UNARY (operands[4]))
18061 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18062 : : STRIP_UNARY (operands[3]))
18063 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18064 : : STRIP_UNARY (operands[3])))) &&
18065 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18066 : : (TARGET_AVX)))
18067 : : return -1;
18068 : : return 6386; /* *avx512vl_vpternlogv8si_2 */
18069 : :
18070 : : case 8:
18071 : : if (!
18072 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18073 : : ((16 == 64 || TARGET_AVX512VL
18074 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18075 : : && ix86_pre_reload_split ()
18076 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18077 : : STRIP_UNARY (operands[4]))
18078 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18079 : : STRIP_UNARY (operands[4]))
18080 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18081 : : STRIP_UNARY (operands[3]))
18082 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18083 : : STRIP_UNARY (operands[3])))))
18084 : : return -1;
18085 : : return 6413; /* *avx512vl_vpternlogv4si_2 */
18086 : :
18087 : : case 9:
18088 : : if (!(
18089 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18090 : : ((64 == 64 || TARGET_AVX512VL
18091 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18092 : : && ix86_pre_reload_split ()
18093 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18094 : : STRIP_UNARY (operands[4]))
18095 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18096 : : STRIP_UNARY (operands[4]))
18097 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18098 : : STRIP_UNARY (operands[3]))
18099 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18100 : : STRIP_UNARY (operands[3])))) &&
18101 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18102 : : (TARGET_AVX512F)))
18103 : : return -1;
18104 : : return 6440; /* *avx512f_vpternlogv8di_2 */
18105 : :
18106 : : case 10:
18107 : : if (!(
18108 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18109 : : ((32 == 64 || TARGET_AVX512VL
18110 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18111 : : && ix86_pre_reload_split ()
18112 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18113 : : STRIP_UNARY (operands[4]))
18114 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18115 : : STRIP_UNARY (operands[4]))
18116 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18117 : : STRIP_UNARY (operands[3]))
18118 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18119 : : STRIP_UNARY (operands[3])))) &&
18120 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18121 : : (TARGET_AVX)))
18122 : : return -1;
18123 : : return 6467; /* *avx512vl_vpternlogv4di_2 */
18124 : :
18125 : : case 11:
18126 : : if (!
18127 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18128 : : ((16 == 64 || TARGET_AVX512VL
18129 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18130 : : && ix86_pre_reload_split ()
18131 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18132 : : STRIP_UNARY (operands[4]))
18133 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18134 : : STRIP_UNARY (operands[4]))
18135 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18136 : : STRIP_UNARY (operands[3]))
18137 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18138 : : STRIP_UNARY (operands[3])))))
18139 : : return -1;
18140 : : return 6494; /* *avx512vl_vpternlogv2di_2 */
18141 : :
18142 : : default:
18143 : : return -1;
18144 : : }
18145 : :
18146 : : case IOR:
18147 : : switch (pattern532 (x2))
18148 : : {
18149 : : case 0:
18150 : : if (!(
18151 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18152 : : ((64 == 64 || TARGET_AVX512VL
18153 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18154 : : && ix86_pre_reload_split ()
18155 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18156 : : STRIP_UNARY (operands[4]))
18157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18158 : : STRIP_UNARY (operands[4]))
18159 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18160 : : STRIP_UNARY (operands[3]))
18161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18162 : : STRIP_UNARY (operands[3])))) &&
18163 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18164 : : (TARGET_AVX512F)))
18165 : : return -1;
18166 : : return 6200; /* *avx512bw_vpternlogv64qi_2 */
18167 : :
18168 : : case 1:
18169 : : if (!(
18170 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18171 : : ((32 == 64 || TARGET_AVX512VL
18172 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18173 : : && ix86_pre_reload_split ()
18174 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18175 : : STRIP_UNARY (operands[4]))
18176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18177 : : STRIP_UNARY (operands[4]))
18178 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18179 : : STRIP_UNARY (operands[3]))
18180 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18181 : : STRIP_UNARY (operands[3])))) &&
18182 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18183 : : (TARGET_AVX)))
18184 : : return -1;
18185 : : return 6227; /* *avx512vl_vpternlogv32qi_2 */
18186 : :
18187 : : case 2:
18188 : : if (!
18189 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18190 : : ((16 == 64 || TARGET_AVX512VL
18191 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18192 : : && ix86_pre_reload_split ()
18193 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18194 : : STRIP_UNARY (operands[4]))
18195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18196 : : STRIP_UNARY (operands[4]))
18197 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18198 : : STRIP_UNARY (operands[3]))
18199 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18200 : : STRIP_UNARY (operands[3])))))
18201 : : return -1;
18202 : : return 6254; /* *avx512vl_vpternlogv16qi_2 */
18203 : :
18204 : : case 3:
18205 : : if (!(
18206 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18207 : : ((64 == 64 || TARGET_AVX512VL
18208 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18209 : : && ix86_pre_reload_split ()
18210 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18211 : : STRIP_UNARY (operands[4]))
18212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18213 : : STRIP_UNARY (operands[4]))
18214 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18215 : : STRIP_UNARY (operands[3]))
18216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18217 : : STRIP_UNARY (operands[3])))) &&
18218 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18219 : : (TARGET_AVX512F)))
18220 : : return -1;
18221 : : return 6281; /* *avx512bw_vpternlogv32hi_2 */
18222 : :
18223 : : case 4:
18224 : : if (!(
18225 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18226 : : ((32 == 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 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18238 : : (TARGET_AVX)))
18239 : : return -1;
18240 : : return 6308; /* *avx512vl_vpternlogv16hi_2 */
18241 : :
18242 : : case 5:
18243 : : if (!
18244 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18245 : : ((16 == 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 : : return -1;
18257 : : return 6335; /* *avx512vl_vpternlogv8hi_2 */
18258 : :
18259 : : case 6:
18260 : : if (!(
18261 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18262 : : ((64 == 64 || TARGET_AVX512VL
18263 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18264 : : && ix86_pre_reload_split ()
18265 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18266 : : STRIP_UNARY (operands[4]))
18267 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18268 : : STRIP_UNARY (operands[4]))
18269 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18270 : : STRIP_UNARY (operands[3]))
18271 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18272 : : STRIP_UNARY (operands[3])))) &&
18273 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18274 : : (TARGET_AVX512F)))
18275 : : return -1;
18276 : : return 6362; /* *avx512f_vpternlogv16si_2 */
18277 : :
18278 : : case 7:
18279 : : if (!(
18280 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18281 : : ((32 == 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 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18293 : : (TARGET_AVX)))
18294 : : return -1;
18295 : : return 6389; /* *avx512vl_vpternlogv8si_2 */
18296 : :
18297 : : case 8:
18298 : : if (!
18299 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18300 : : ((16 == 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 : : return -1;
18312 : : return 6416; /* *avx512vl_vpternlogv4si_2 */
18313 : :
18314 : : case 9:
18315 : : if (!(
18316 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18317 : : ((64 == 64 || TARGET_AVX512VL
18318 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18319 : : && ix86_pre_reload_split ()
18320 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18321 : : STRIP_UNARY (operands[4]))
18322 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18323 : : STRIP_UNARY (operands[4]))
18324 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18325 : : STRIP_UNARY (operands[3]))
18326 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18327 : : STRIP_UNARY (operands[3])))) &&
18328 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18329 : : (TARGET_AVX512F)))
18330 : : return -1;
18331 : : return 6443; /* *avx512f_vpternlogv8di_2 */
18332 : :
18333 : : case 10:
18334 : : if (!(
18335 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18336 : : ((32 == 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 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18348 : : (TARGET_AVX)))
18349 : : return -1;
18350 : : return 6470; /* *avx512vl_vpternlogv4di_2 */
18351 : :
18352 : : case 11:
18353 : : if (!
18354 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18355 : : ((16 == 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 : : return -1;
18367 : : return 6497; /* *avx512vl_vpternlogv2di_2 */
18368 : :
18369 : : default:
18370 : : return -1;
18371 : : }
18372 : :
18373 : : case XOR:
18374 : : switch (pattern532 (x2))
18375 : : {
18376 : : case 0:
18377 : : if (!(
18378 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18379 : : ((64 == 64 || TARGET_AVX512VL
18380 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18381 : : && ix86_pre_reload_split ()
18382 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18383 : : STRIP_UNARY (operands[4]))
18384 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18385 : : STRIP_UNARY (operands[4]))
18386 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18387 : : STRIP_UNARY (operands[3]))
18388 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18389 : : STRIP_UNARY (operands[3])))) &&
18390 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18391 : : (TARGET_AVX512F)))
18392 : : return -1;
18393 : : return 6203; /* *avx512bw_vpternlogv64qi_2 */
18394 : :
18395 : : case 1:
18396 : : if (!(
18397 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18398 : : ((32 == 64 || TARGET_AVX512VL
18399 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18400 : : && ix86_pre_reload_split ()
18401 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18402 : : STRIP_UNARY (operands[4]))
18403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18404 : : STRIP_UNARY (operands[4]))
18405 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18406 : : STRIP_UNARY (operands[3]))
18407 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18408 : : STRIP_UNARY (operands[3])))) &&
18409 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18410 : : (TARGET_AVX)))
18411 : : return -1;
18412 : : return 6230; /* *avx512vl_vpternlogv32qi_2 */
18413 : :
18414 : : case 2:
18415 : : if (!
18416 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18417 : : ((16 == 64 || TARGET_AVX512VL
18418 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18419 : : && ix86_pre_reload_split ()
18420 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18421 : : STRIP_UNARY (operands[4]))
18422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18423 : : STRIP_UNARY (operands[4]))
18424 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18425 : : STRIP_UNARY (operands[3]))
18426 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18427 : : STRIP_UNARY (operands[3])))))
18428 : : return -1;
18429 : : return 6257; /* *avx512vl_vpternlogv16qi_2 */
18430 : :
18431 : : case 3:
18432 : : if (!(
18433 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18434 : : ((64 == 64 || TARGET_AVX512VL
18435 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18436 : : && ix86_pre_reload_split ()
18437 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18438 : : STRIP_UNARY (operands[4]))
18439 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18440 : : STRIP_UNARY (operands[4]))
18441 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18442 : : STRIP_UNARY (operands[3]))
18443 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18444 : : STRIP_UNARY (operands[3])))) &&
18445 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18446 : : (TARGET_AVX512F)))
18447 : : return -1;
18448 : : return 6284; /* *avx512bw_vpternlogv32hi_2 */
18449 : :
18450 : : case 4:
18451 : : if (!(
18452 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18453 : : ((32 == 64 || TARGET_AVX512VL
18454 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18455 : : && ix86_pre_reload_split ()
18456 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18457 : : STRIP_UNARY (operands[4]))
18458 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18459 : : STRIP_UNARY (operands[4]))
18460 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18461 : : STRIP_UNARY (operands[3]))
18462 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18463 : : STRIP_UNARY (operands[3])))) &&
18464 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18465 : : (TARGET_AVX)))
18466 : : return -1;
18467 : : return 6311; /* *avx512vl_vpternlogv16hi_2 */
18468 : :
18469 : : case 5:
18470 : : if (!
18471 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18472 : : ((16 == 64 || TARGET_AVX512VL
18473 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18474 : : && ix86_pre_reload_split ()
18475 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18476 : : STRIP_UNARY (operands[4]))
18477 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18478 : : STRIP_UNARY (operands[4]))
18479 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18480 : : STRIP_UNARY (operands[3]))
18481 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18482 : : STRIP_UNARY (operands[3])))))
18483 : : return -1;
18484 : : return 6338; /* *avx512vl_vpternlogv8hi_2 */
18485 : :
18486 : : case 6:
18487 : : if (!(
18488 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18489 : : ((64 == 64 || TARGET_AVX512VL
18490 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18491 : : && ix86_pre_reload_split ()
18492 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18493 : : STRIP_UNARY (operands[4]))
18494 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18495 : : STRIP_UNARY (operands[4]))
18496 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18497 : : STRIP_UNARY (operands[3]))
18498 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18499 : : STRIP_UNARY (operands[3])))) &&
18500 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18501 : : (TARGET_AVX512F)))
18502 : : return -1;
18503 : : return 6365; /* *avx512f_vpternlogv16si_2 */
18504 : :
18505 : : case 7:
18506 : : if (!(
18507 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18508 : : ((32 == 64 || TARGET_AVX512VL
18509 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18510 : : && ix86_pre_reload_split ()
18511 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18512 : : STRIP_UNARY (operands[4]))
18513 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18514 : : STRIP_UNARY (operands[4]))
18515 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18516 : : STRIP_UNARY (operands[3]))
18517 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18518 : : STRIP_UNARY (operands[3])))) &&
18519 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18520 : : (TARGET_AVX)))
18521 : : return -1;
18522 : : return 6392; /* *avx512vl_vpternlogv8si_2 */
18523 : :
18524 : : case 8:
18525 : : if (!
18526 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18527 : : ((16 == 64 || TARGET_AVX512VL
18528 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18529 : : && ix86_pre_reload_split ()
18530 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18531 : : STRIP_UNARY (operands[4]))
18532 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18533 : : STRIP_UNARY (operands[4]))
18534 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18535 : : STRIP_UNARY (operands[3]))
18536 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18537 : : STRIP_UNARY (operands[3])))))
18538 : : return -1;
18539 : : return 6419; /* *avx512vl_vpternlogv4si_2 */
18540 : :
18541 : : case 9:
18542 : : if (!(
18543 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18544 : : ((64 == 64 || TARGET_AVX512VL
18545 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18546 : : && ix86_pre_reload_split ()
18547 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18548 : : STRIP_UNARY (operands[4]))
18549 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18550 : : STRIP_UNARY (operands[4]))
18551 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18552 : : STRIP_UNARY (operands[3]))
18553 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18554 : : STRIP_UNARY (operands[3])))) &&
18555 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18556 : : (TARGET_AVX512F)))
18557 : : return -1;
18558 : : return 6446; /* *avx512f_vpternlogv8di_2 */
18559 : :
18560 : : case 10:
18561 : : if (!(
18562 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18563 : : ((32 == 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 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18575 : : (TARGET_AVX)))
18576 : : return -1;
18577 : : return 6473; /* *avx512vl_vpternlogv4di_2 */
18578 : :
18579 : : case 11:
18580 : : if (!
18581 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18582 : : ((16 == 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 : : return -1;
18594 : : return 6500; /* *avx512vl_vpternlogv2di_2 */
18595 : :
18596 : : default:
18597 : : return -1;
18598 : : }
18599 : :
18600 : : default:
18601 : : return -1;
18602 : : }
18603 : : }
18604 : :
18605 : : int
18606 : : recog_316 (rtx x1 ATTRIBUTE_UNUSED,
18607 : : rtx_insn *insn ATTRIBUTE_UNUSED,
18608 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
18609 : : {
18610 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18611 : : rtx x2, x3, x4;
18612 : : int res ATTRIBUTE_UNUSED;
18613 : : x2 = XEXP (x1, 1);
18614 : : x3 = XEXP (x2, 0);
18615 : : switch (GET_CODE (x3))
18616 : : {
18617 : : case AND:
18618 : : x4 = XEXP (x3, 0);
18619 : : switch (GET_CODE (x4))
18620 : : {
18621 : : case REG:
18622 : : case SUBREG:
18623 : : case MEM:
18624 : : case NOT:
18625 : : switch (pattern534 (x2))
18626 : : {
18627 : : case 0:
18628 : : if (!(
18629 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18630 : : ((64 == 64 || TARGET_AVX512VL
18631 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18632 : : && ix86_pre_reload_split ()
18633 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18634 : : STRIP_UNARY (operands[4]))
18635 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18636 : : STRIP_UNARY (operands[4]))
18637 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18638 : : STRIP_UNARY (operands[3]))
18639 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18640 : : STRIP_UNARY (operands[3])))) &&
18641 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18642 : : (TARGET_AVX512F)))
18643 : : return -1;
18644 : : return 5855; /* *avx512bw_vpternlogv32hf_1 */
18645 : :
18646 : : case 1:
18647 : : if (!(
18648 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18649 : : ((32 == 64 || TARGET_AVX512VL
18650 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18651 : : && ix86_pre_reload_split ()
18652 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18653 : : STRIP_UNARY (operands[4]))
18654 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18655 : : STRIP_UNARY (operands[4]))
18656 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18657 : : STRIP_UNARY (operands[3]))
18658 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18659 : : STRIP_UNARY (operands[3])))) &&
18660 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18661 : : (TARGET_AVX)))
18662 : : return -1;
18663 : : return 5882; /* *avx512vl_vpternlogv16hf_1 */
18664 : :
18665 : : case 2:
18666 : : if (!
18667 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18668 : : ((16 == 64 || TARGET_AVX512VL
18669 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18670 : : && ix86_pre_reload_split ()
18671 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18672 : : STRIP_UNARY (operands[4]))
18673 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18674 : : STRIP_UNARY (operands[4]))
18675 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18676 : : STRIP_UNARY (operands[3]))
18677 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18678 : : STRIP_UNARY (operands[3])))))
18679 : : return -1;
18680 : : return 5909; /* *avx512fp16_vpternlogv8hf_1 */
18681 : :
18682 : : case 3:
18683 : : if (!(
18684 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18685 : : ((64 == 64 || TARGET_AVX512VL
18686 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18687 : : && ix86_pre_reload_split ()
18688 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18689 : : STRIP_UNARY (operands[4]))
18690 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18691 : : STRIP_UNARY (operands[4]))
18692 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18693 : : STRIP_UNARY (operands[3]))
18694 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18695 : : STRIP_UNARY (operands[3])))) &&
18696 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18697 : : (TARGET_AVX512F)))
18698 : : return -1;
18699 : : return 5936; /* *avx512bw_vpternlogv32bf_1 */
18700 : :
18701 : : case 4:
18702 : : if (!(
18703 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18704 : : ((32 == 64 || TARGET_AVX512VL
18705 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18706 : : && ix86_pre_reload_split ()
18707 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18708 : : STRIP_UNARY (operands[4]))
18709 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18710 : : STRIP_UNARY (operands[4]))
18711 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18712 : : STRIP_UNARY (operands[3]))
18713 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18714 : : STRIP_UNARY (operands[3])))) &&
18715 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18716 : : (TARGET_AVX)))
18717 : : return -1;
18718 : : return 5963; /* *avx512vl_vpternlogv16bf_1 */
18719 : :
18720 : : case 5:
18721 : : if (!
18722 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18723 : : ((16 == 64 || TARGET_AVX512VL
18724 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18725 : : && ix86_pre_reload_split ()
18726 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18727 : : STRIP_UNARY (operands[4]))
18728 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18729 : : STRIP_UNARY (operands[4]))
18730 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18731 : : STRIP_UNARY (operands[3]))
18732 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18733 : : STRIP_UNARY (operands[3])))))
18734 : : return -1;
18735 : : return 5990; /* *avx512vl_vpternlogv8bf_1 */
18736 : :
18737 : : case 6:
18738 : : if (!(
18739 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18740 : : ((64 == 64 || TARGET_AVX512VL
18741 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18742 : : && ix86_pre_reload_split ()
18743 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18744 : : STRIP_UNARY (operands[4]))
18745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18746 : : STRIP_UNARY (operands[4]))
18747 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18748 : : STRIP_UNARY (operands[3]))
18749 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18750 : : STRIP_UNARY (operands[3])))) &&
18751 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18752 : : (TARGET_AVX512F)))
18753 : : return -1;
18754 : : return 6017; /* *avx512f_vpternlogv16sf_1 */
18755 : :
18756 : : case 7:
18757 : : if (!(
18758 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18759 : : ((32 == 64 || TARGET_AVX512VL
18760 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18761 : : && ix86_pre_reload_split ()
18762 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18763 : : STRIP_UNARY (operands[4]))
18764 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18765 : : STRIP_UNARY (operands[4]))
18766 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18767 : : STRIP_UNARY (operands[3]))
18768 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18769 : : STRIP_UNARY (operands[3])))) &&
18770 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18771 : : (TARGET_AVX)))
18772 : : return -1;
18773 : : return 6044; /* *avx512vl_vpternlogv8sf_1 */
18774 : :
18775 : : case 8:
18776 : : if (!
18777 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18778 : : ((16 == 64 || TARGET_AVX512VL
18779 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18780 : : && ix86_pre_reload_split ()
18781 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18782 : : STRIP_UNARY (operands[4]))
18783 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18784 : : STRIP_UNARY (operands[4]))
18785 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18786 : : STRIP_UNARY (operands[3]))
18787 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18788 : : STRIP_UNARY (operands[3])))))
18789 : : return -1;
18790 : : return 6071; /* *avx512vl_vpternlogv4sf_1 */
18791 : :
18792 : : case 9:
18793 : : if (!(
18794 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18795 : : ((64 == 64 || TARGET_AVX512VL
18796 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18797 : : && ix86_pre_reload_split ()
18798 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18799 : : STRIP_UNARY (operands[4]))
18800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18801 : : STRIP_UNARY (operands[4]))
18802 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18803 : : STRIP_UNARY (operands[3]))
18804 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18805 : : STRIP_UNARY (operands[3])))) &&
18806 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18807 : : (TARGET_AVX512F)))
18808 : : return -1;
18809 : : return 6098; /* *avx512f_vpternlogv8df_1 */
18810 : :
18811 : : case 10:
18812 : : if (!(
18813 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18814 : : ((32 == 64 || TARGET_AVX512VL
18815 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18816 : : && ix86_pre_reload_split ()
18817 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18818 : : STRIP_UNARY (operands[4]))
18819 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18820 : : STRIP_UNARY (operands[4]))
18821 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18822 : : STRIP_UNARY (operands[3]))
18823 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18824 : : STRIP_UNARY (operands[3])))) &&
18825 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18826 : : (TARGET_AVX)))
18827 : : return -1;
18828 : : return 6125; /* *avx512vl_vpternlogv4df_1 */
18829 : :
18830 : : case 11:
18831 : : if (!(
18832 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18833 : : ((16 == 64 || TARGET_AVX512VL
18834 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18835 : : && ix86_pre_reload_split ()
18836 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18837 : : STRIP_UNARY (operands[4]))
18838 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18839 : : STRIP_UNARY (operands[4]))
18840 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18841 : : STRIP_UNARY (operands[3]))
18842 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18843 : : STRIP_UNARY (operands[3])))) &&
18844 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18845 : : (TARGET_SSE2)))
18846 : : return -1;
18847 : : return 6152; /* *avx512vl_vpternlogv2df_1 */
18848 : :
18849 : : case 12:
18850 : : if (!(
18851 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18852 : : ((64 == 64 || TARGET_AVX512VL
18853 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18854 : : && ix86_pre_reload_split ()
18855 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18856 : : STRIP_UNARY (operands[4]))
18857 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18858 : : STRIP_UNARY (operands[4]))
18859 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18860 : : STRIP_UNARY (operands[3]))
18861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18862 : : STRIP_UNARY (operands[3])))) &&
18863 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18864 : : (TARGET_AVX512F)))
18865 : : return -1;
18866 : : return 5858; /* *avx512bw_vpternlogv32hf_1 */
18867 : :
18868 : : case 13:
18869 : : if (!(
18870 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18871 : : ((32 == 64 || TARGET_AVX512VL
18872 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18873 : : && ix86_pre_reload_split ()
18874 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18875 : : STRIP_UNARY (operands[4]))
18876 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18877 : : STRIP_UNARY (operands[4]))
18878 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18879 : : STRIP_UNARY (operands[3]))
18880 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18881 : : STRIP_UNARY (operands[3])))) &&
18882 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18883 : : (TARGET_AVX)))
18884 : : return -1;
18885 : : return 5885; /* *avx512vl_vpternlogv16hf_1 */
18886 : :
18887 : : case 14:
18888 : : if (!
18889 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18890 : : ((16 == 64 || TARGET_AVX512VL
18891 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18892 : : && ix86_pre_reload_split ()
18893 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18894 : : STRIP_UNARY (operands[4]))
18895 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18896 : : STRIP_UNARY (operands[4]))
18897 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18898 : : STRIP_UNARY (operands[3]))
18899 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18900 : : STRIP_UNARY (operands[3])))))
18901 : : return -1;
18902 : : return 5912; /* *avx512fp16_vpternlogv8hf_1 */
18903 : :
18904 : : case 15:
18905 : : if (!(
18906 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18907 : : ((64 == 64 || TARGET_AVX512VL
18908 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18909 : : && ix86_pre_reload_split ()
18910 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18911 : : STRIP_UNARY (operands[4]))
18912 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18913 : : STRIP_UNARY (operands[4]))
18914 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18915 : : STRIP_UNARY (operands[3]))
18916 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18917 : : STRIP_UNARY (operands[3])))) &&
18918 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18919 : : (TARGET_AVX512F)))
18920 : : return -1;
18921 : : return 5939; /* *avx512bw_vpternlogv32bf_1 */
18922 : :
18923 : : case 16:
18924 : : if (!(
18925 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18926 : : ((32 == 64 || TARGET_AVX512VL
18927 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18928 : : && ix86_pre_reload_split ()
18929 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18930 : : STRIP_UNARY (operands[4]))
18931 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18932 : : STRIP_UNARY (operands[4]))
18933 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18934 : : STRIP_UNARY (operands[3]))
18935 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18936 : : STRIP_UNARY (operands[3])))) &&
18937 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18938 : : (TARGET_AVX)))
18939 : : return -1;
18940 : : return 5966; /* *avx512vl_vpternlogv16bf_1 */
18941 : :
18942 : : case 17:
18943 : : if (!
18944 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18945 : : ((16 == 64 || TARGET_AVX512VL
18946 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18947 : : && ix86_pre_reload_split ()
18948 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18949 : : STRIP_UNARY (operands[4]))
18950 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18951 : : STRIP_UNARY (operands[4]))
18952 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18953 : : STRIP_UNARY (operands[3]))
18954 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18955 : : STRIP_UNARY (operands[3])))))
18956 : : return -1;
18957 : : return 5993; /* *avx512vl_vpternlogv8bf_1 */
18958 : :
18959 : : case 18:
18960 : : if (!(
18961 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18962 : : ((64 == 64 || TARGET_AVX512VL
18963 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18964 : : && ix86_pre_reload_split ()
18965 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18966 : : STRIP_UNARY (operands[4]))
18967 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18968 : : STRIP_UNARY (operands[4]))
18969 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18970 : : STRIP_UNARY (operands[3]))
18971 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18972 : : STRIP_UNARY (operands[3])))) &&
18973 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18974 : : (TARGET_AVX512F)))
18975 : : return -1;
18976 : : return 6020; /* *avx512f_vpternlogv16sf_1 */
18977 : :
18978 : : case 19:
18979 : : if (!(
18980 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18981 : : ((32 == 64 || TARGET_AVX512VL
18982 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18983 : : && ix86_pre_reload_split ()
18984 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18985 : : STRIP_UNARY (operands[4]))
18986 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18987 : : STRIP_UNARY (operands[4]))
18988 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18989 : : STRIP_UNARY (operands[3]))
18990 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18991 : : STRIP_UNARY (operands[3])))) &&
18992 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18993 : : (TARGET_AVX)))
18994 : : return -1;
18995 : : return 6047; /* *avx512vl_vpternlogv8sf_1 */
18996 : :
18997 : : case 20:
18998 : : if (!
18999 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19000 : : ((16 == 64 || TARGET_AVX512VL
19001 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19002 : : && ix86_pre_reload_split ()
19003 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19004 : : STRIP_UNARY (operands[4]))
19005 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19006 : : STRIP_UNARY (operands[4]))
19007 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19008 : : STRIP_UNARY (operands[3]))
19009 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19010 : : STRIP_UNARY (operands[3])))))
19011 : : return -1;
19012 : : return 6074; /* *avx512vl_vpternlogv4sf_1 */
19013 : :
19014 : : case 21:
19015 : : if (!(
19016 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19017 : : ((64 == 64 || TARGET_AVX512VL
19018 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19019 : : && ix86_pre_reload_split ()
19020 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19021 : : STRIP_UNARY (operands[4]))
19022 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19023 : : STRIP_UNARY (operands[4]))
19024 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19025 : : STRIP_UNARY (operands[3]))
19026 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19027 : : STRIP_UNARY (operands[3])))) &&
19028 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19029 : : (TARGET_AVX512F)))
19030 : : return -1;
19031 : : return 6101; /* *avx512f_vpternlogv8df_1 */
19032 : :
19033 : : case 22:
19034 : : if (!(
19035 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19036 : : ((32 == 64 || TARGET_AVX512VL
19037 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19038 : : && ix86_pre_reload_split ()
19039 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19040 : : STRIP_UNARY (operands[4]))
19041 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19042 : : STRIP_UNARY (operands[4]))
19043 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19044 : : STRIP_UNARY (operands[3]))
19045 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19046 : : STRIP_UNARY (operands[3])))) &&
19047 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19048 : : (TARGET_AVX)))
19049 : : return -1;
19050 : : return 6128; /* *avx512vl_vpternlogv4df_1 */
19051 : :
19052 : : case 23:
19053 : : if (!(
19054 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19055 : : ((16 == 64 || TARGET_AVX512VL
19056 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19057 : : && ix86_pre_reload_split ()
19058 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19059 : : STRIP_UNARY (operands[4]))
19060 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19061 : : STRIP_UNARY (operands[4]))
19062 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19063 : : STRIP_UNARY (operands[3]))
19064 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19065 : : STRIP_UNARY (operands[3])))) &&
19066 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19067 : : (TARGET_SSE2)))
19068 : : return -1;
19069 : : return 6155; /* *avx512vl_vpternlogv2df_1 */
19070 : :
19071 : : case 24:
19072 : : if (!(
19073 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19074 : : ((64 == 64 || TARGET_AVX512VL
19075 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19076 : : && ix86_pre_reload_split ()
19077 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19078 : : STRIP_UNARY (operands[4]))
19079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19080 : : STRIP_UNARY (operands[4]))
19081 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19082 : : STRIP_UNARY (operands[3]))
19083 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19084 : : STRIP_UNARY (operands[3])))) &&
19085 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19086 : : (TARGET_AVX512F)))
19087 : : return -1;
19088 : : return 5861; /* *avx512bw_vpternlogv32hf_1 */
19089 : :
19090 : : case 25:
19091 : : if (!(
19092 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19093 : : ((32 == 64 || TARGET_AVX512VL
19094 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19095 : : && ix86_pre_reload_split ()
19096 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19097 : : STRIP_UNARY (operands[4]))
19098 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19099 : : STRIP_UNARY (operands[4]))
19100 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19101 : : STRIP_UNARY (operands[3]))
19102 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19103 : : STRIP_UNARY (operands[3])))) &&
19104 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19105 : : (TARGET_AVX)))
19106 : : return -1;
19107 : : return 5888; /* *avx512vl_vpternlogv16hf_1 */
19108 : :
19109 : : case 26:
19110 : : if (!
19111 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19112 : : ((16 == 64 || TARGET_AVX512VL
19113 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19114 : : && ix86_pre_reload_split ()
19115 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19116 : : STRIP_UNARY (operands[4]))
19117 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19118 : : STRIP_UNARY (operands[4]))
19119 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19120 : : STRIP_UNARY (operands[3]))
19121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19122 : : STRIP_UNARY (operands[3])))))
19123 : : return -1;
19124 : : return 5915; /* *avx512fp16_vpternlogv8hf_1 */
19125 : :
19126 : : case 27:
19127 : : if (!(
19128 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19129 : : ((64 == 64 || TARGET_AVX512VL
19130 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19131 : : && ix86_pre_reload_split ()
19132 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19133 : : STRIP_UNARY (operands[4]))
19134 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19135 : : STRIP_UNARY (operands[4]))
19136 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19137 : : STRIP_UNARY (operands[3]))
19138 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19139 : : STRIP_UNARY (operands[3])))) &&
19140 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19141 : : (TARGET_AVX512F)))
19142 : : return -1;
19143 : : return 5942; /* *avx512bw_vpternlogv32bf_1 */
19144 : :
19145 : : case 28:
19146 : : if (!(
19147 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19148 : : ((32 == 64 || TARGET_AVX512VL
19149 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19150 : : && ix86_pre_reload_split ()
19151 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19152 : : STRIP_UNARY (operands[4]))
19153 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19154 : : STRIP_UNARY (operands[4]))
19155 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19156 : : STRIP_UNARY (operands[3]))
19157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19158 : : STRIP_UNARY (operands[3])))) &&
19159 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19160 : : (TARGET_AVX)))
19161 : : return -1;
19162 : : return 5969; /* *avx512vl_vpternlogv16bf_1 */
19163 : :
19164 : : case 29:
19165 : : if (!
19166 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19167 : : ((16 == 64 || TARGET_AVX512VL
19168 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19169 : : && ix86_pre_reload_split ()
19170 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19171 : : STRIP_UNARY (operands[4]))
19172 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19173 : : STRIP_UNARY (operands[4]))
19174 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19175 : : STRIP_UNARY (operands[3]))
19176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19177 : : STRIP_UNARY (operands[3])))))
19178 : : return -1;
19179 : : return 5996; /* *avx512vl_vpternlogv8bf_1 */
19180 : :
19181 : : case 30:
19182 : : if (!(
19183 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19184 : : ((64 == 64 || TARGET_AVX512VL
19185 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19186 : : && ix86_pre_reload_split ()
19187 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19188 : : STRIP_UNARY (operands[4]))
19189 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19190 : : STRIP_UNARY (operands[4]))
19191 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19192 : : STRIP_UNARY (operands[3]))
19193 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19194 : : STRIP_UNARY (operands[3])))) &&
19195 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19196 : : (TARGET_AVX512F)))
19197 : : return -1;
19198 : : return 6023; /* *avx512f_vpternlogv16sf_1 */
19199 : :
19200 : : case 31:
19201 : : if (!(
19202 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19203 : : ((32 == 64 || TARGET_AVX512VL
19204 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19205 : : && ix86_pre_reload_split ()
19206 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19207 : : STRIP_UNARY (operands[4]))
19208 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19209 : : STRIP_UNARY (operands[4]))
19210 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19211 : : STRIP_UNARY (operands[3]))
19212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19213 : : STRIP_UNARY (operands[3])))) &&
19214 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19215 : : (TARGET_AVX)))
19216 : : return -1;
19217 : : return 6050; /* *avx512vl_vpternlogv8sf_1 */
19218 : :
19219 : : case 32:
19220 : : if (!
19221 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19222 : : ((16 == 64 || TARGET_AVX512VL
19223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19224 : : && ix86_pre_reload_split ()
19225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19226 : : STRIP_UNARY (operands[4]))
19227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19228 : : STRIP_UNARY (operands[4]))
19229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19230 : : STRIP_UNARY (operands[3]))
19231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19232 : : STRIP_UNARY (operands[3])))))
19233 : : return -1;
19234 : : return 6077; /* *avx512vl_vpternlogv4sf_1 */
19235 : :
19236 : : case 33:
19237 : : if (!(
19238 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19239 : : ((64 == 64 || TARGET_AVX512VL
19240 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19241 : : && ix86_pre_reload_split ()
19242 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19243 : : STRIP_UNARY (operands[4]))
19244 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19245 : : STRIP_UNARY (operands[4]))
19246 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19247 : : STRIP_UNARY (operands[3]))
19248 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19249 : : STRIP_UNARY (operands[3])))) &&
19250 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19251 : : (TARGET_AVX512F)))
19252 : : return -1;
19253 : : return 6104; /* *avx512f_vpternlogv8df_1 */
19254 : :
19255 : : case 34:
19256 : : if (!(
19257 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19258 : : ((32 == 64 || TARGET_AVX512VL
19259 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19260 : : && ix86_pre_reload_split ()
19261 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19262 : : STRIP_UNARY (operands[4]))
19263 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19264 : : STRIP_UNARY (operands[4]))
19265 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19266 : : STRIP_UNARY (operands[3]))
19267 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19268 : : STRIP_UNARY (operands[3])))) &&
19269 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19270 : : (TARGET_AVX)))
19271 : : return -1;
19272 : : return 6131; /* *avx512vl_vpternlogv4df_1 */
19273 : :
19274 : : case 35:
19275 : : if (!(
19276 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19277 : : ((16 == 64 || TARGET_AVX512VL
19278 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19279 : : && ix86_pre_reload_split ()
19280 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19281 : : STRIP_UNARY (operands[4]))
19282 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19283 : : STRIP_UNARY (operands[4]))
19284 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19285 : : STRIP_UNARY (operands[3]))
19286 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19287 : : STRIP_UNARY (operands[3])))) &&
19288 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19289 : : (TARGET_SSE2)))
19290 : : return -1;
19291 : : return 6158; /* *avx512vl_vpternlogv2df_1 */
19292 : :
19293 : : case 36:
19294 : : if (!(
19295 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19296 : : ((64 == 64 || TARGET_AVX512VL
19297 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19298 : : && ix86_pre_reload_split ()) &&
19299 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19300 : : (TARGET_AVX512F)))
19301 : : return -1;
19302 : : return 6935; /* *avx512bw_vpternlogv32hf_3 */
19303 : :
19304 : : case 37:
19305 : : if (!(
19306 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19307 : : ((32 == 64 || TARGET_AVX512VL
19308 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19309 : : && ix86_pre_reload_split ()) &&
19310 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19311 : : (TARGET_AVX)))
19312 : : return -1;
19313 : : return 6944; /* *avx512vl_vpternlogv16hf_3 */
19314 : :
19315 : : case 38:
19316 : : if (!
19317 : : #line 14219 "/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 : : return -1;
19322 : : return 6953; /* *avx512fp16_vpternlogv8hf_3 */
19323 : :
19324 : : case 39:
19325 : : if (!(
19326 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19327 : : ((64 == 64 || TARGET_AVX512VL
19328 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19329 : : && ix86_pre_reload_split ()) &&
19330 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19331 : : (TARGET_AVX512F)))
19332 : : return -1;
19333 : : return 6962; /* *avx512bw_vpternlogv32bf_3 */
19334 : :
19335 : : case 40:
19336 : : if (!(
19337 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19338 : : ((32 == 64 || TARGET_AVX512VL
19339 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19340 : : && ix86_pre_reload_split ()) &&
19341 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19342 : : (TARGET_AVX)))
19343 : : return -1;
19344 : : return 6971; /* *avx512vl_vpternlogv16bf_3 */
19345 : :
19346 : : case 41:
19347 : : if (!
19348 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19349 : : ((16 == 64 || TARGET_AVX512VL
19350 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19351 : : && ix86_pre_reload_split ()))
19352 : : return -1;
19353 : : return 6980; /* *avx512vl_vpternlogv8bf_3 */
19354 : :
19355 : : case 42:
19356 : : if (!(
19357 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19358 : : ((64 == 64 || TARGET_AVX512VL
19359 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19360 : : && ix86_pre_reload_split ()) &&
19361 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19362 : : (TARGET_AVX512F)))
19363 : : return -1;
19364 : : return 6989; /* *avx512f_vpternlogv16sf_3 */
19365 : :
19366 : : case 43:
19367 : : if (!(
19368 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19369 : : ((32 == 64 || TARGET_AVX512VL
19370 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19371 : : && ix86_pre_reload_split ()) &&
19372 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19373 : : (TARGET_AVX)))
19374 : : return -1;
19375 : : return 6998; /* *avx512vl_vpternlogv8sf_3 */
19376 : :
19377 : : case 44:
19378 : : if (!
19379 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19380 : : ((16 == 64 || TARGET_AVX512VL
19381 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19382 : : && ix86_pre_reload_split ()))
19383 : : return -1;
19384 : : return 7007; /* *avx512vl_vpternlogv4sf_3 */
19385 : :
19386 : : case 45:
19387 : : if (!(
19388 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19389 : : ((64 == 64 || TARGET_AVX512VL
19390 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19391 : : && ix86_pre_reload_split ()) &&
19392 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19393 : : (TARGET_AVX512F)))
19394 : : return -1;
19395 : : return 7016; /* *avx512f_vpternlogv8df_3 */
19396 : :
19397 : : case 46:
19398 : : if (!(
19399 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19400 : : ((32 == 64 || TARGET_AVX512VL
19401 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19402 : : && ix86_pre_reload_split ()) &&
19403 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19404 : : (TARGET_AVX)))
19405 : : return -1;
19406 : : return 7025; /* *avx512vl_vpternlogv4df_3 */
19407 : :
19408 : : case 47:
19409 : : if (!(
19410 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19411 : : ((16 == 64 || TARGET_AVX512VL
19412 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19413 : : && ix86_pre_reload_split ()) &&
19414 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19415 : : (TARGET_SSE2)))
19416 : : return -1;
19417 : : return 7034; /* *avx512vl_vpternlogv2df_3 */
19418 : :
19419 : : default:
19420 : : return -1;
19421 : : }
19422 : :
19423 : : case AND:
19424 : : switch (pattern535 (x2))
19425 : : {
19426 : : case 0:
19427 : : if (!(
19428 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19429 : : ((64 == 64 || TARGET_AVX512VL
19430 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19431 : : && ix86_pre_reload_split ()
19432 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19433 : : STRIP_UNARY (operands[4]))
19434 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19435 : : STRIP_UNARY (operands[4]))
19436 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19437 : : STRIP_UNARY (operands[3]))
19438 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19439 : : STRIP_UNARY (operands[3])))) &&
19440 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19441 : : (TARGET_AVX512F)))
19442 : : return -1;
19443 : : return 6503; /* *avx512bw_vpternlogv32hf_2 */
19444 : :
19445 : : case 1:
19446 : : if (!(
19447 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19448 : : ((32 == 64 || TARGET_AVX512VL
19449 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19450 : : && ix86_pre_reload_split ()
19451 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19452 : : STRIP_UNARY (operands[4]))
19453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19454 : : STRIP_UNARY (operands[4]))
19455 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19456 : : STRIP_UNARY (operands[3]))
19457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19458 : : STRIP_UNARY (operands[3])))) &&
19459 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19460 : : (TARGET_AVX)))
19461 : : return -1;
19462 : : return 6530; /* *avx512vl_vpternlogv16hf_2 */
19463 : :
19464 : : case 2:
19465 : : if (!
19466 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19467 : : ((16 == 64 || TARGET_AVX512VL
19468 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19469 : : && ix86_pre_reload_split ()
19470 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19471 : : STRIP_UNARY (operands[4]))
19472 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19473 : : STRIP_UNARY (operands[4]))
19474 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19475 : : STRIP_UNARY (operands[3]))
19476 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19477 : : STRIP_UNARY (operands[3])))))
19478 : : return -1;
19479 : : return 6557; /* *avx512fp16_vpternlogv8hf_2 */
19480 : :
19481 : : case 3:
19482 : : if (!(
19483 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19484 : : ((64 == 64 || TARGET_AVX512VL
19485 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19486 : : && ix86_pre_reload_split ()
19487 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19488 : : STRIP_UNARY (operands[4]))
19489 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19490 : : STRIP_UNARY (operands[4]))
19491 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19492 : : STRIP_UNARY (operands[3]))
19493 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19494 : : STRIP_UNARY (operands[3])))) &&
19495 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19496 : : (TARGET_AVX512F)))
19497 : : return -1;
19498 : : return 6584; /* *avx512bw_vpternlogv32bf_2 */
19499 : :
19500 : : case 4:
19501 : : if (!(
19502 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19503 : : ((32 == 64 || TARGET_AVX512VL
19504 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19505 : : && ix86_pre_reload_split ()
19506 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19507 : : STRIP_UNARY (operands[4]))
19508 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19509 : : STRIP_UNARY (operands[4]))
19510 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19511 : : STRIP_UNARY (operands[3]))
19512 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19513 : : STRIP_UNARY (operands[3])))) &&
19514 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19515 : : (TARGET_AVX)))
19516 : : return -1;
19517 : : return 6611; /* *avx512vl_vpternlogv16bf_2 */
19518 : :
19519 : : case 5:
19520 : : if (!
19521 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19522 : : ((16 == 64 || TARGET_AVX512VL
19523 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19524 : : && ix86_pre_reload_split ()
19525 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19526 : : STRIP_UNARY (operands[4]))
19527 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19528 : : STRIP_UNARY (operands[4]))
19529 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19530 : : STRIP_UNARY (operands[3]))
19531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19532 : : STRIP_UNARY (operands[3])))))
19533 : : return -1;
19534 : : return 6638; /* *avx512vl_vpternlogv8bf_2 */
19535 : :
19536 : : case 6:
19537 : : if (!(
19538 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19539 : : ((64 == 64 || TARGET_AVX512VL
19540 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19541 : : && ix86_pre_reload_split ()
19542 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19543 : : STRIP_UNARY (operands[4]))
19544 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19545 : : STRIP_UNARY (operands[4]))
19546 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19547 : : STRIP_UNARY (operands[3]))
19548 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19549 : : STRIP_UNARY (operands[3])))) &&
19550 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19551 : : (TARGET_AVX512F)))
19552 : : return -1;
19553 : : return 6665; /* *avx512f_vpternlogv16sf_2 */
19554 : :
19555 : : case 7:
19556 : : if (!(
19557 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19558 : : ((32 == 64 || TARGET_AVX512VL
19559 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19560 : : && ix86_pre_reload_split ()
19561 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19562 : : STRIP_UNARY (operands[4]))
19563 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19564 : : STRIP_UNARY (operands[4]))
19565 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19566 : : STRIP_UNARY (operands[3]))
19567 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19568 : : STRIP_UNARY (operands[3])))) &&
19569 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19570 : : (TARGET_AVX)))
19571 : : return -1;
19572 : : return 6692; /* *avx512vl_vpternlogv8sf_2 */
19573 : :
19574 : : case 8:
19575 : : if (!
19576 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19577 : : ((16 == 64 || TARGET_AVX512VL
19578 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19579 : : && ix86_pre_reload_split ()
19580 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19581 : : STRIP_UNARY (operands[4]))
19582 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19583 : : STRIP_UNARY (operands[4]))
19584 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19585 : : STRIP_UNARY (operands[3]))
19586 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19587 : : STRIP_UNARY (operands[3])))))
19588 : : return -1;
19589 : : return 6719; /* *avx512vl_vpternlogv4sf_2 */
19590 : :
19591 : : case 9:
19592 : : if (!(
19593 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19594 : : ((64 == 64 || TARGET_AVX512VL
19595 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19596 : : && ix86_pre_reload_split ()
19597 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19598 : : STRIP_UNARY (operands[4]))
19599 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19600 : : STRIP_UNARY (operands[4]))
19601 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19602 : : STRIP_UNARY (operands[3]))
19603 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19604 : : STRIP_UNARY (operands[3])))) &&
19605 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19606 : : (TARGET_AVX512F)))
19607 : : return -1;
19608 : : return 6746; /* *avx512f_vpternlogv8df_2 */
19609 : :
19610 : : case 10:
19611 : : if (!(
19612 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19613 : : ((32 == 64 || TARGET_AVX512VL
19614 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19615 : : && ix86_pre_reload_split ()
19616 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19617 : : STRIP_UNARY (operands[4]))
19618 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19619 : : STRIP_UNARY (operands[4]))
19620 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19621 : : STRIP_UNARY (operands[3]))
19622 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19623 : : STRIP_UNARY (operands[3])))) &&
19624 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19625 : : (TARGET_AVX)))
19626 : : return -1;
19627 : : return 6773; /* *avx512vl_vpternlogv4df_2 */
19628 : :
19629 : : case 11:
19630 : : if (!(
19631 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19632 : : ((16 == 64 || TARGET_AVX512VL
19633 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19634 : : && ix86_pre_reload_split ()
19635 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19636 : : STRIP_UNARY (operands[4]))
19637 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19638 : : STRIP_UNARY (operands[4]))
19639 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19640 : : STRIP_UNARY (operands[3]))
19641 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19642 : : STRIP_UNARY (operands[3])))) &&
19643 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19644 : : (TARGET_SSE2)))
19645 : : return -1;
19646 : : return 6800; /* *avx512vl_vpternlogv2df_2 */
19647 : :
19648 : : default:
19649 : : return -1;
19650 : : }
19651 : :
19652 : : case IOR:
19653 : : switch (pattern535 (x2))
19654 : : {
19655 : : case 0:
19656 : : if (!(
19657 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19658 : : ((64 == 64 || TARGET_AVX512VL
19659 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19660 : : && ix86_pre_reload_split ()
19661 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19662 : : STRIP_UNARY (operands[4]))
19663 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19664 : : STRIP_UNARY (operands[4]))
19665 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19666 : : STRIP_UNARY (operands[3]))
19667 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19668 : : STRIP_UNARY (operands[3])))) &&
19669 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19670 : : (TARGET_AVX512F)))
19671 : : return -1;
19672 : : return 6506; /* *avx512bw_vpternlogv32hf_2 */
19673 : :
19674 : : case 1:
19675 : : if (!(
19676 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19677 : : ((32 == 64 || TARGET_AVX512VL
19678 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19679 : : && ix86_pre_reload_split ()
19680 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19681 : : STRIP_UNARY (operands[4]))
19682 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19683 : : STRIP_UNARY (operands[4]))
19684 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19685 : : STRIP_UNARY (operands[3]))
19686 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19687 : : STRIP_UNARY (operands[3])))) &&
19688 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19689 : : (TARGET_AVX)))
19690 : : return -1;
19691 : : return 6533; /* *avx512vl_vpternlogv16hf_2 */
19692 : :
19693 : : case 2:
19694 : : if (!
19695 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19696 : : ((16 == 64 || TARGET_AVX512VL
19697 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19698 : : && ix86_pre_reload_split ()
19699 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19700 : : STRIP_UNARY (operands[4]))
19701 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19702 : : STRIP_UNARY (operands[4]))
19703 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19704 : : STRIP_UNARY (operands[3]))
19705 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19706 : : STRIP_UNARY (operands[3])))))
19707 : : return -1;
19708 : : return 6560; /* *avx512fp16_vpternlogv8hf_2 */
19709 : :
19710 : : case 3:
19711 : : if (!(
19712 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19713 : : ((64 == 64 || TARGET_AVX512VL
19714 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19715 : : && ix86_pre_reload_split ()
19716 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19717 : : STRIP_UNARY (operands[4]))
19718 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19719 : : STRIP_UNARY (operands[4]))
19720 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19721 : : STRIP_UNARY (operands[3]))
19722 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19723 : : STRIP_UNARY (operands[3])))) &&
19724 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19725 : : (TARGET_AVX512F)))
19726 : : return -1;
19727 : : return 6587; /* *avx512bw_vpternlogv32bf_2 */
19728 : :
19729 : : case 4:
19730 : : if (!(
19731 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19732 : : ((32 == 64 || TARGET_AVX512VL
19733 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19734 : : && ix86_pre_reload_split ()
19735 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19736 : : STRIP_UNARY (operands[4]))
19737 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19738 : : STRIP_UNARY (operands[4]))
19739 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19740 : : STRIP_UNARY (operands[3]))
19741 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19742 : : STRIP_UNARY (operands[3])))) &&
19743 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19744 : : (TARGET_AVX)))
19745 : : return -1;
19746 : : return 6614; /* *avx512vl_vpternlogv16bf_2 */
19747 : :
19748 : : case 5:
19749 : : if (!
19750 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19751 : : ((16 == 64 || TARGET_AVX512VL
19752 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19753 : : && ix86_pre_reload_split ()
19754 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19755 : : STRIP_UNARY (operands[4]))
19756 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19757 : : STRIP_UNARY (operands[4]))
19758 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19759 : : STRIP_UNARY (operands[3]))
19760 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19761 : : STRIP_UNARY (operands[3])))))
19762 : : return -1;
19763 : : return 6641; /* *avx512vl_vpternlogv8bf_2 */
19764 : :
19765 : : case 6:
19766 : : if (!(
19767 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19768 : : ((64 == 64 || TARGET_AVX512VL
19769 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19770 : : && ix86_pre_reload_split ()
19771 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19772 : : STRIP_UNARY (operands[4]))
19773 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19774 : : STRIP_UNARY (operands[4]))
19775 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19776 : : STRIP_UNARY (operands[3]))
19777 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19778 : : STRIP_UNARY (operands[3])))) &&
19779 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19780 : : (TARGET_AVX512F)))
19781 : : return -1;
19782 : : return 6668; /* *avx512f_vpternlogv16sf_2 */
19783 : :
19784 : : case 7:
19785 : : if (!(
19786 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19787 : : ((32 == 64 || TARGET_AVX512VL
19788 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19789 : : && ix86_pre_reload_split ()
19790 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19791 : : STRIP_UNARY (operands[4]))
19792 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19793 : : STRIP_UNARY (operands[4]))
19794 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19795 : : STRIP_UNARY (operands[3]))
19796 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19797 : : STRIP_UNARY (operands[3])))) &&
19798 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19799 : : (TARGET_AVX)))
19800 : : return -1;
19801 : : return 6695; /* *avx512vl_vpternlogv8sf_2 */
19802 : :
19803 : : case 8:
19804 : : if (!
19805 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19806 : : ((16 == 64 || TARGET_AVX512VL
19807 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19808 : : && ix86_pre_reload_split ()
19809 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19810 : : STRIP_UNARY (operands[4]))
19811 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19812 : : STRIP_UNARY (operands[4]))
19813 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19814 : : STRIP_UNARY (operands[3]))
19815 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19816 : : STRIP_UNARY (operands[3])))))
19817 : : return -1;
19818 : : return 6722; /* *avx512vl_vpternlogv4sf_2 */
19819 : :
19820 : : case 9:
19821 : : if (!(
19822 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19823 : : ((64 == 64 || TARGET_AVX512VL
19824 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19825 : : && ix86_pre_reload_split ()
19826 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19827 : : STRIP_UNARY (operands[4]))
19828 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19829 : : STRIP_UNARY (operands[4]))
19830 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19831 : : STRIP_UNARY (operands[3]))
19832 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19833 : : STRIP_UNARY (operands[3])))) &&
19834 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19835 : : (TARGET_AVX512F)))
19836 : : return -1;
19837 : : return 6749; /* *avx512f_vpternlogv8df_2 */
19838 : :
19839 : : case 10:
19840 : : if (!(
19841 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19842 : : ((32 == 64 || TARGET_AVX512VL
19843 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19844 : : && ix86_pre_reload_split ()
19845 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19846 : : STRIP_UNARY (operands[4]))
19847 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19848 : : STRIP_UNARY (operands[4]))
19849 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19850 : : STRIP_UNARY (operands[3]))
19851 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19852 : : STRIP_UNARY (operands[3])))) &&
19853 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19854 : : (TARGET_AVX)))
19855 : : return -1;
19856 : : return 6776; /* *avx512vl_vpternlogv4df_2 */
19857 : :
19858 : : case 11:
19859 : : if (!(
19860 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19861 : : ((16 == 64 || TARGET_AVX512VL
19862 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19863 : : && ix86_pre_reload_split ()
19864 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19865 : : STRIP_UNARY (operands[4]))
19866 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19867 : : STRIP_UNARY (operands[4]))
19868 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19869 : : STRIP_UNARY (operands[3]))
19870 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19871 : : STRIP_UNARY (operands[3])))) &&
19872 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19873 : : (TARGET_SSE2)))
19874 : : return -1;
19875 : : return 6803; /* *avx512vl_vpternlogv2df_2 */
19876 : :
19877 : : default:
19878 : : return -1;
19879 : : }
19880 : :
19881 : : case XOR:
19882 : : switch (pattern535 (x2))
19883 : : {
19884 : : case 0:
19885 : : if (!(
19886 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19887 : : ((64 == 64 || TARGET_AVX512VL
19888 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19889 : : && ix86_pre_reload_split ()
19890 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19891 : : STRIP_UNARY (operands[4]))
19892 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19893 : : STRIP_UNARY (operands[4]))
19894 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19895 : : STRIP_UNARY (operands[3]))
19896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19897 : : STRIP_UNARY (operands[3])))) &&
19898 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19899 : : (TARGET_AVX512F)))
19900 : : return -1;
19901 : : return 6509; /* *avx512bw_vpternlogv32hf_2 */
19902 : :
19903 : : case 1:
19904 : : if (!(
19905 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19906 : : ((32 == 64 || TARGET_AVX512VL
19907 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19908 : : && ix86_pre_reload_split ()
19909 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19910 : : STRIP_UNARY (operands[4]))
19911 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19912 : : STRIP_UNARY (operands[4]))
19913 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19914 : : STRIP_UNARY (operands[3]))
19915 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19916 : : STRIP_UNARY (operands[3])))) &&
19917 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19918 : : (TARGET_AVX)))
19919 : : return -1;
19920 : : return 6536; /* *avx512vl_vpternlogv16hf_2 */
19921 : :
19922 : : case 2:
19923 : : if (!
19924 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19925 : : ((16 == 64 || TARGET_AVX512VL
19926 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19927 : : && ix86_pre_reload_split ()
19928 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19929 : : STRIP_UNARY (operands[4]))
19930 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19931 : : STRIP_UNARY (operands[4]))
19932 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19933 : : STRIP_UNARY (operands[3]))
19934 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19935 : : STRIP_UNARY (operands[3])))))
19936 : : return -1;
19937 : : return 6563; /* *avx512fp16_vpternlogv8hf_2 */
19938 : :
19939 : : case 3:
19940 : : if (!(
19941 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19942 : : ((64 == 64 || TARGET_AVX512VL
19943 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19944 : : && ix86_pre_reload_split ()
19945 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19946 : : STRIP_UNARY (operands[4]))
19947 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19948 : : STRIP_UNARY (operands[4]))
19949 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19950 : : STRIP_UNARY (operands[3]))
19951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19952 : : STRIP_UNARY (operands[3])))) &&
19953 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19954 : : (TARGET_AVX512F)))
19955 : : return -1;
19956 : : return 6590; /* *avx512bw_vpternlogv32bf_2 */
19957 : :
19958 : : case 4:
19959 : : if (!(
19960 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19961 : : ((32 == 64 || TARGET_AVX512VL
19962 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19963 : : && ix86_pre_reload_split ()
19964 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19965 : : STRIP_UNARY (operands[4]))
19966 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19967 : : STRIP_UNARY (operands[4]))
19968 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19969 : : STRIP_UNARY (operands[3]))
19970 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19971 : : STRIP_UNARY (operands[3])))) &&
19972 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19973 : : (TARGET_AVX)))
19974 : : return -1;
19975 : : return 6617; /* *avx512vl_vpternlogv16bf_2 */
19976 : :
19977 : : case 5:
19978 : : if (!
19979 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19980 : : ((16 == 64 || TARGET_AVX512VL
19981 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19982 : : && ix86_pre_reload_split ()
19983 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19984 : : STRIP_UNARY (operands[4]))
19985 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19986 : : STRIP_UNARY (operands[4]))
19987 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19988 : : STRIP_UNARY (operands[3]))
19989 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19990 : : STRIP_UNARY (operands[3])))))
19991 : : return -1;
19992 : : return 6644; /* *avx512vl_vpternlogv8bf_2 */
19993 : :
19994 : : case 6:
19995 : : if (!(
19996 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19997 : : ((64 == 64 || TARGET_AVX512VL
19998 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19999 : : && ix86_pre_reload_split ()
20000 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20001 : : STRIP_UNARY (operands[4]))
20002 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20003 : : STRIP_UNARY (operands[4]))
20004 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20005 : : STRIP_UNARY (operands[3]))
20006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20007 : : STRIP_UNARY (operands[3])))) &&
20008 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20009 : : (TARGET_AVX512F)))
20010 : : return -1;
20011 : : return 6671; /* *avx512f_vpternlogv16sf_2 */
20012 : :
20013 : : case 7:
20014 : : if (!(
20015 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20016 : : ((32 == 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 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20028 : : (TARGET_AVX)))
20029 : : return -1;
20030 : : return 6698; /* *avx512vl_vpternlogv8sf_2 */
20031 : :
20032 : : case 8:
20033 : : if (!
20034 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20035 : : ((16 == 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 : : return -1;
20047 : : return 6725; /* *avx512vl_vpternlogv4sf_2 */
20048 : :
20049 : : case 9:
20050 : : if (!(
20051 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20052 : : ((64 == 64 || TARGET_AVX512VL
20053 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20054 : : && ix86_pre_reload_split ()
20055 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20056 : : STRIP_UNARY (operands[4]))
20057 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20058 : : STRIP_UNARY (operands[4]))
20059 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20060 : : STRIP_UNARY (operands[3]))
20061 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20062 : : STRIP_UNARY (operands[3])))) &&
20063 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20064 : : (TARGET_AVX512F)))
20065 : : return -1;
20066 : : return 6752; /* *avx512f_vpternlogv8df_2 */
20067 : :
20068 : : case 10:
20069 : : if (!(
20070 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20071 : : ((32 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20083 : : (TARGET_AVX)))
20084 : : return -1;
20085 : : return 6779; /* *avx512vl_vpternlogv4df_2 */
20086 : :
20087 : : case 11:
20088 : : if (!(
20089 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20090 : : ((16 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20102 : : (TARGET_SSE2)))
20103 : : return -1;
20104 : : return 6806; /* *avx512vl_vpternlogv2df_2 */
20105 : :
20106 : : default:
20107 : : return -1;
20108 : : }
20109 : :
20110 : : default:
20111 : : return -1;
20112 : : }
20113 : :
20114 : : case IOR:
20115 : : x4 = XEXP (x3, 0);
20116 : : switch (GET_CODE (x4))
20117 : : {
20118 : : case REG:
20119 : : case SUBREG:
20120 : : case MEM:
20121 : : case NOT:
20122 : : switch (pattern534 (x2))
20123 : : {
20124 : : case 0:
20125 : : if (!(
20126 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20127 : : ((64 == 64 || TARGET_AVX512VL
20128 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20129 : : && ix86_pre_reload_split ()
20130 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20131 : : STRIP_UNARY (operands[4]))
20132 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20133 : : STRIP_UNARY (operands[4]))
20134 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20135 : : STRIP_UNARY (operands[3]))
20136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20137 : : STRIP_UNARY (operands[3])))) &&
20138 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20139 : : (TARGET_AVX512F)))
20140 : : return -1;
20141 : : return 5864; /* *avx512bw_vpternlogv32hf_1 */
20142 : :
20143 : : case 1:
20144 : : if (!(
20145 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20146 : : ((32 == 64 || TARGET_AVX512VL
20147 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20148 : : && ix86_pre_reload_split ()
20149 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20150 : : STRIP_UNARY (operands[4]))
20151 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20152 : : STRIP_UNARY (operands[4]))
20153 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20154 : : STRIP_UNARY (operands[3]))
20155 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20156 : : STRIP_UNARY (operands[3])))) &&
20157 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20158 : : (TARGET_AVX)))
20159 : : return -1;
20160 : : return 5891; /* *avx512vl_vpternlogv16hf_1 */
20161 : :
20162 : : case 2:
20163 : : if (!
20164 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20165 : : ((16 == 64 || TARGET_AVX512VL
20166 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20167 : : && ix86_pre_reload_split ()
20168 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20169 : : STRIP_UNARY (operands[4]))
20170 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20171 : : STRIP_UNARY (operands[4]))
20172 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20173 : : STRIP_UNARY (operands[3]))
20174 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20175 : : STRIP_UNARY (operands[3])))))
20176 : : return -1;
20177 : : return 5918; /* *avx512fp16_vpternlogv8hf_1 */
20178 : :
20179 : : case 3:
20180 : : if (!(
20181 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20182 : : ((64 == 64 || TARGET_AVX512VL
20183 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20184 : : && ix86_pre_reload_split ()
20185 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20186 : : STRIP_UNARY (operands[4]))
20187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20188 : : STRIP_UNARY (operands[4]))
20189 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20190 : : STRIP_UNARY (operands[3]))
20191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20192 : : STRIP_UNARY (operands[3])))) &&
20193 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20194 : : (TARGET_AVX512F)))
20195 : : return -1;
20196 : : return 5945; /* *avx512bw_vpternlogv32bf_1 */
20197 : :
20198 : : case 4:
20199 : : if (!(
20200 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20201 : : ((32 == 64 || TARGET_AVX512VL
20202 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20203 : : && ix86_pre_reload_split ()
20204 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20205 : : STRIP_UNARY (operands[4]))
20206 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20207 : : STRIP_UNARY (operands[4]))
20208 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20209 : : STRIP_UNARY (operands[3]))
20210 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20211 : : STRIP_UNARY (operands[3])))) &&
20212 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20213 : : (TARGET_AVX)))
20214 : : return -1;
20215 : : return 5972; /* *avx512vl_vpternlogv16bf_1 */
20216 : :
20217 : : case 5:
20218 : : if (!
20219 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20220 : : ((16 == 64 || TARGET_AVX512VL
20221 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20222 : : && ix86_pre_reload_split ()
20223 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20224 : : STRIP_UNARY (operands[4]))
20225 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20226 : : STRIP_UNARY (operands[4]))
20227 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20228 : : STRIP_UNARY (operands[3]))
20229 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20230 : : STRIP_UNARY (operands[3])))))
20231 : : return -1;
20232 : : return 5999; /* *avx512vl_vpternlogv8bf_1 */
20233 : :
20234 : : case 6:
20235 : : if (!(
20236 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20237 : : ((64 == 64 || TARGET_AVX512VL
20238 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20239 : : && ix86_pre_reload_split ()
20240 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20241 : : STRIP_UNARY (operands[4]))
20242 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20243 : : STRIP_UNARY (operands[4]))
20244 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20245 : : STRIP_UNARY (operands[3]))
20246 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20247 : : STRIP_UNARY (operands[3])))) &&
20248 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20249 : : (TARGET_AVX512F)))
20250 : : return -1;
20251 : : return 6026; /* *avx512f_vpternlogv16sf_1 */
20252 : :
20253 : : case 7:
20254 : : if (!(
20255 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20256 : : ((32 == 64 || TARGET_AVX512VL
20257 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20258 : : && ix86_pre_reload_split ()
20259 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20260 : : STRIP_UNARY (operands[4]))
20261 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20262 : : STRIP_UNARY (operands[4]))
20263 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20264 : : STRIP_UNARY (operands[3]))
20265 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20266 : : STRIP_UNARY (operands[3])))) &&
20267 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20268 : : (TARGET_AVX)))
20269 : : return -1;
20270 : : return 6053; /* *avx512vl_vpternlogv8sf_1 */
20271 : :
20272 : : case 8:
20273 : : if (!
20274 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20275 : : ((16 == 64 || TARGET_AVX512VL
20276 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20277 : : && ix86_pre_reload_split ()
20278 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20279 : : STRIP_UNARY (operands[4]))
20280 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20281 : : STRIP_UNARY (operands[4]))
20282 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20283 : : STRIP_UNARY (operands[3]))
20284 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20285 : : STRIP_UNARY (operands[3])))))
20286 : : return -1;
20287 : : return 6080; /* *avx512vl_vpternlogv4sf_1 */
20288 : :
20289 : : case 9:
20290 : : if (!(
20291 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20292 : : ((64 == 64 || TARGET_AVX512VL
20293 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20294 : : && ix86_pre_reload_split ()
20295 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20296 : : STRIP_UNARY (operands[4]))
20297 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20298 : : STRIP_UNARY (operands[4]))
20299 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20300 : : STRIP_UNARY (operands[3]))
20301 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20302 : : STRIP_UNARY (operands[3])))) &&
20303 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20304 : : (TARGET_AVX512F)))
20305 : : return -1;
20306 : : return 6107; /* *avx512f_vpternlogv8df_1 */
20307 : :
20308 : : case 10:
20309 : : if (!(
20310 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20311 : : ((32 == 64 || TARGET_AVX512VL
20312 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20313 : : && ix86_pre_reload_split ()
20314 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20315 : : STRIP_UNARY (operands[4]))
20316 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20317 : : STRIP_UNARY (operands[4]))
20318 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20319 : : STRIP_UNARY (operands[3]))
20320 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20321 : : STRIP_UNARY (operands[3])))) &&
20322 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20323 : : (TARGET_AVX)))
20324 : : return -1;
20325 : : return 6134; /* *avx512vl_vpternlogv4df_1 */
20326 : :
20327 : : case 11:
20328 : : if (!(
20329 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20330 : : ((16 == 64 || TARGET_AVX512VL
20331 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20332 : : && ix86_pre_reload_split ()
20333 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20334 : : STRIP_UNARY (operands[4]))
20335 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20336 : : STRIP_UNARY (operands[4]))
20337 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20338 : : STRIP_UNARY (operands[3]))
20339 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20340 : : STRIP_UNARY (operands[3])))) &&
20341 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20342 : : (TARGET_SSE2)))
20343 : : return -1;
20344 : : return 6161; /* *avx512vl_vpternlogv2df_1 */
20345 : :
20346 : : case 12:
20347 : : if (!(
20348 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20349 : : ((64 == 64 || TARGET_AVX512VL
20350 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20351 : : && ix86_pre_reload_split ()
20352 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20353 : : STRIP_UNARY (operands[4]))
20354 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20355 : : STRIP_UNARY (operands[4]))
20356 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20357 : : STRIP_UNARY (operands[3]))
20358 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20359 : : STRIP_UNARY (operands[3])))) &&
20360 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20361 : : (TARGET_AVX512F)))
20362 : : return -1;
20363 : : return 5867; /* *avx512bw_vpternlogv32hf_1 */
20364 : :
20365 : : case 13:
20366 : : if (!(
20367 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20368 : : ((32 == 64 || TARGET_AVX512VL
20369 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20370 : : && ix86_pre_reload_split ()
20371 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20372 : : STRIP_UNARY (operands[4]))
20373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20374 : : STRIP_UNARY (operands[4]))
20375 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20376 : : STRIP_UNARY (operands[3]))
20377 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20378 : : STRIP_UNARY (operands[3])))) &&
20379 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20380 : : (TARGET_AVX)))
20381 : : return -1;
20382 : : return 5894; /* *avx512vl_vpternlogv16hf_1 */
20383 : :
20384 : : case 14:
20385 : : if (!
20386 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20387 : : ((16 == 64 || TARGET_AVX512VL
20388 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20389 : : && ix86_pre_reload_split ()
20390 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20391 : : STRIP_UNARY (operands[4]))
20392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20393 : : STRIP_UNARY (operands[4]))
20394 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20395 : : STRIP_UNARY (operands[3]))
20396 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20397 : : STRIP_UNARY (operands[3])))))
20398 : : return -1;
20399 : : return 5921; /* *avx512fp16_vpternlogv8hf_1 */
20400 : :
20401 : : case 15:
20402 : : if (!(
20403 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20404 : : ((64 == 64 || TARGET_AVX512VL
20405 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20406 : : && ix86_pre_reload_split ()
20407 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20408 : : STRIP_UNARY (operands[4]))
20409 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20410 : : STRIP_UNARY (operands[4]))
20411 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20412 : : STRIP_UNARY (operands[3]))
20413 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20414 : : STRIP_UNARY (operands[3])))) &&
20415 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20416 : : (TARGET_AVX512F)))
20417 : : return -1;
20418 : : return 5948; /* *avx512bw_vpternlogv32bf_1 */
20419 : :
20420 : : case 16:
20421 : : if (!(
20422 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20423 : : ((32 == 64 || TARGET_AVX512VL
20424 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20425 : : && ix86_pre_reload_split ()
20426 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20427 : : STRIP_UNARY (operands[4]))
20428 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20429 : : STRIP_UNARY (operands[4]))
20430 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20431 : : STRIP_UNARY (operands[3]))
20432 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20433 : : STRIP_UNARY (operands[3])))) &&
20434 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20435 : : (TARGET_AVX)))
20436 : : return -1;
20437 : : return 5975; /* *avx512vl_vpternlogv16bf_1 */
20438 : :
20439 : : case 17:
20440 : : if (!
20441 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20442 : : ((16 == 64 || TARGET_AVX512VL
20443 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20444 : : && ix86_pre_reload_split ()
20445 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20446 : : STRIP_UNARY (operands[4]))
20447 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20448 : : STRIP_UNARY (operands[4]))
20449 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20450 : : STRIP_UNARY (operands[3]))
20451 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20452 : : STRIP_UNARY (operands[3])))))
20453 : : return -1;
20454 : : return 6002; /* *avx512vl_vpternlogv8bf_1 */
20455 : :
20456 : : case 18:
20457 : : if (!(
20458 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20459 : : ((64 == 64 || TARGET_AVX512VL
20460 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20461 : : && ix86_pre_reload_split ()
20462 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20463 : : STRIP_UNARY (operands[4]))
20464 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20465 : : STRIP_UNARY (operands[4]))
20466 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20467 : : STRIP_UNARY (operands[3]))
20468 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20469 : : STRIP_UNARY (operands[3])))) &&
20470 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20471 : : (TARGET_AVX512F)))
20472 : : return -1;
20473 : : return 6029; /* *avx512f_vpternlogv16sf_1 */
20474 : :
20475 : : case 19:
20476 : : if (!(
20477 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20478 : : ((32 == 64 || TARGET_AVX512VL
20479 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20480 : : && ix86_pre_reload_split ()
20481 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20482 : : STRIP_UNARY (operands[4]))
20483 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20484 : : STRIP_UNARY (operands[4]))
20485 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20486 : : STRIP_UNARY (operands[3]))
20487 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20488 : : STRIP_UNARY (operands[3])))) &&
20489 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20490 : : (TARGET_AVX)))
20491 : : return -1;
20492 : : return 6056; /* *avx512vl_vpternlogv8sf_1 */
20493 : :
20494 : : case 20:
20495 : : if (!
20496 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20497 : : ((16 == 64 || TARGET_AVX512VL
20498 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20499 : : && ix86_pre_reload_split ()
20500 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20501 : : STRIP_UNARY (operands[4]))
20502 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20503 : : STRIP_UNARY (operands[4]))
20504 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20505 : : STRIP_UNARY (operands[3]))
20506 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20507 : : STRIP_UNARY (operands[3])))))
20508 : : return -1;
20509 : : return 6083; /* *avx512vl_vpternlogv4sf_1 */
20510 : :
20511 : : case 21:
20512 : : if (!(
20513 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20514 : : ((64 == 64 || TARGET_AVX512VL
20515 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20516 : : && ix86_pre_reload_split ()
20517 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20518 : : STRIP_UNARY (operands[4]))
20519 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20520 : : STRIP_UNARY (operands[4]))
20521 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20522 : : STRIP_UNARY (operands[3]))
20523 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20524 : : STRIP_UNARY (operands[3])))) &&
20525 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20526 : : (TARGET_AVX512F)))
20527 : : return -1;
20528 : : return 6110; /* *avx512f_vpternlogv8df_1 */
20529 : :
20530 : : case 22:
20531 : : if (!(
20532 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20533 : : ((32 == 64 || TARGET_AVX512VL
20534 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20535 : : && ix86_pre_reload_split ()
20536 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20537 : : STRIP_UNARY (operands[4]))
20538 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20539 : : STRIP_UNARY (operands[4]))
20540 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20541 : : STRIP_UNARY (operands[3]))
20542 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20543 : : STRIP_UNARY (operands[3])))) &&
20544 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20545 : : (TARGET_AVX)))
20546 : : return -1;
20547 : : return 6137; /* *avx512vl_vpternlogv4df_1 */
20548 : :
20549 : : case 23:
20550 : : if (!(
20551 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20552 : : ((16 == 64 || TARGET_AVX512VL
20553 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20554 : : && ix86_pre_reload_split ()
20555 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20556 : : STRIP_UNARY (operands[4]))
20557 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20558 : : STRIP_UNARY (operands[4]))
20559 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20560 : : STRIP_UNARY (operands[3]))
20561 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20562 : : STRIP_UNARY (operands[3])))) &&
20563 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20564 : : (TARGET_SSE2)))
20565 : : return -1;
20566 : : return 6164; /* *avx512vl_vpternlogv2df_1 */
20567 : :
20568 : : case 24:
20569 : : if (!(
20570 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20571 : : ((64 == 64 || TARGET_AVX512VL
20572 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20573 : : && ix86_pre_reload_split ()
20574 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20575 : : STRIP_UNARY (operands[4]))
20576 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20577 : : STRIP_UNARY (operands[4]))
20578 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20579 : : STRIP_UNARY (operands[3]))
20580 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20581 : : STRIP_UNARY (operands[3])))) &&
20582 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20583 : : (TARGET_AVX512F)))
20584 : : return -1;
20585 : : return 5870; /* *avx512bw_vpternlogv32hf_1 */
20586 : :
20587 : : case 25:
20588 : : if (!(
20589 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20590 : : ((32 == 64 || TARGET_AVX512VL
20591 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20592 : : && ix86_pre_reload_split ()
20593 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20594 : : STRIP_UNARY (operands[4]))
20595 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20596 : : STRIP_UNARY (operands[4]))
20597 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20598 : : STRIP_UNARY (operands[3]))
20599 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20600 : : STRIP_UNARY (operands[3])))) &&
20601 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20602 : : (TARGET_AVX)))
20603 : : return -1;
20604 : : return 5897; /* *avx512vl_vpternlogv16hf_1 */
20605 : :
20606 : : case 26:
20607 : : if (!
20608 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20609 : : ((16 == 64 || TARGET_AVX512VL
20610 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20611 : : && ix86_pre_reload_split ()
20612 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20613 : : STRIP_UNARY (operands[4]))
20614 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20615 : : STRIP_UNARY (operands[4]))
20616 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20617 : : STRIP_UNARY (operands[3]))
20618 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20619 : : STRIP_UNARY (operands[3])))))
20620 : : return -1;
20621 : : return 5924; /* *avx512fp16_vpternlogv8hf_1 */
20622 : :
20623 : : case 27:
20624 : : if (!(
20625 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20626 : : ((64 == 64 || TARGET_AVX512VL
20627 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20628 : : && ix86_pre_reload_split ()
20629 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20630 : : STRIP_UNARY (operands[4]))
20631 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20632 : : STRIP_UNARY (operands[4]))
20633 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20634 : : STRIP_UNARY (operands[3]))
20635 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20636 : : STRIP_UNARY (operands[3])))) &&
20637 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20638 : : (TARGET_AVX512F)))
20639 : : return -1;
20640 : : return 5951; /* *avx512bw_vpternlogv32bf_1 */
20641 : :
20642 : : case 28:
20643 : : if (!(
20644 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20645 : : ((32 == 64 || TARGET_AVX512VL
20646 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20647 : : && ix86_pre_reload_split ()
20648 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20649 : : STRIP_UNARY (operands[4]))
20650 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20651 : : STRIP_UNARY (operands[4]))
20652 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20653 : : STRIP_UNARY (operands[3]))
20654 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20655 : : STRIP_UNARY (operands[3])))) &&
20656 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20657 : : (TARGET_AVX)))
20658 : : return -1;
20659 : : return 5978; /* *avx512vl_vpternlogv16bf_1 */
20660 : :
20661 : : case 29:
20662 : : if (!
20663 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20664 : : ((16 == 64 || TARGET_AVX512VL
20665 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20666 : : && ix86_pre_reload_split ()
20667 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20668 : : STRIP_UNARY (operands[4]))
20669 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20670 : : STRIP_UNARY (operands[4]))
20671 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20672 : : STRIP_UNARY (operands[3]))
20673 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20674 : : STRIP_UNARY (operands[3])))))
20675 : : return -1;
20676 : : return 6005; /* *avx512vl_vpternlogv8bf_1 */
20677 : :
20678 : : case 30:
20679 : : if (!(
20680 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20681 : : ((64 == 64 || TARGET_AVX512VL
20682 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20683 : : && ix86_pre_reload_split ()
20684 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20685 : : STRIP_UNARY (operands[4]))
20686 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20687 : : STRIP_UNARY (operands[4]))
20688 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20689 : : STRIP_UNARY (operands[3]))
20690 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20691 : : STRIP_UNARY (operands[3])))) &&
20692 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20693 : : (TARGET_AVX512F)))
20694 : : return -1;
20695 : : return 6032; /* *avx512f_vpternlogv16sf_1 */
20696 : :
20697 : : case 31:
20698 : : if (!(
20699 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20700 : : ((32 == 64 || TARGET_AVX512VL
20701 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20702 : : && ix86_pre_reload_split ()
20703 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20704 : : STRIP_UNARY (operands[4]))
20705 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20706 : : STRIP_UNARY (operands[4]))
20707 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20708 : : STRIP_UNARY (operands[3]))
20709 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20710 : : STRIP_UNARY (operands[3])))) &&
20711 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20712 : : (TARGET_AVX)))
20713 : : return -1;
20714 : : return 6059; /* *avx512vl_vpternlogv8sf_1 */
20715 : :
20716 : : case 32:
20717 : : if (!
20718 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20719 : : ((16 == 64 || TARGET_AVX512VL
20720 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20721 : : && ix86_pre_reload_split ()
20722 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20723 : : STRIP_UNARY (operands[4]))
20724 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20725 : : STRIP_UNARY (operands[4]))
20726 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20727 : : STRIP_UNARY (operands[3]))
20728 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20729 : : STRIP_UNARY (operands[3])))))
20730 : : return -1;
20731 : : return 6086; /* *avx512vl_vpternlogv4sf_1 */
20732 : :
20733 : : case 33:
20734 : : if (!(
20735 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20736 : : ((64 == 64 || TARGET_AVX512VL
20737 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20738 : : && ix86_pre_reload_split ()
20739 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20740 : : STRIP_UNARY (operands[4]))
20741 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20742 : : STRIP_UNARY (operands[4]))
20743 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20744 : : STRIP_UNARY (operands[3]))
20745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20746 : : STRIP_UNARY (operands[3])))) &&
20747 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20748 : : (TARGET_AVX512F)))
20749 : : return -1;
20750 : : return 6113; /* *avx512f_vpternlogv8df_1 */
20751 : :
20752 : : case 34:
20753 : : if (!(
20754 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20755 : : ((32 == 64 || TARGET_AVX512VL
20756 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20757 : : && ix86_pre_reload_split ()
20758 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20759 : : STRIP_UNARY (operands[4]))
20760 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20761 : : STRIP_UNARY (operands[4]))
20762 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20763 : : STRIP_UNARY (operands[3]))
20764 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20765 : : STRIP_UNARY (operands[3])))) &&
20766 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20767 : : (TARGET_AVX)))
20768 : : return -1;
20769 : : return 6140; /* *avx512vl_vpternlogv4df_1 */
20770 : :
20771 : : case 35:
20772 : : if (!(
20773 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20774 : : ((16 == 64 || TARGET_AVX512VL
20775 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20776 : : && ix86_pre_reload_split ()
20777 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20778 : : STRIP_UNARY (operands[4]))
20779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20780 : : STRIP_UNARY (operands[4]))
20781 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20782 : : STRIP_UNARY (operands[3]))
20783 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20784 : : STRIP_UNARY (operands[3])))) &&
20785 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20786 : : (TARGET_SSE2)))
20787 : : return -1;
20788 : : return 6167; /* *avx512vl_vpternlogv2df_1 */
20789 : :
20790 : : case 36:
20791 : : if (!(
20792 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20793 : : ((64 == 64 || TARGET_AVX512VL
20794 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20795 : : && ix86_pre_reload_split ()) &&
20796 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20797 : : (TARGET_AVX512F)))
20798 : : return -1;
20799 : : return 6938; /* *avx512bw_vpternlogv32hf_3 */
20800 : :
20801 : : case 37:
20802 : : if (!(
20803 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20804 : : ((32 == 64 || TARGET_AVX512VL
20805 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20806 : : && ix86_pre_reload_split ()) &&
20807 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20808 : : (TARGET_AVX)))
20809 : : return -1;
20810 : : return 6947; /* *avx512vl_vpternlogv16hf_3 */
20811 : :
20812 : : case 38:
20813 : : if (!
20814 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20815 : : ((16 == 64 || TARGET_AVX512VL
20816 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20817 : : && ix86_pre_reload_split ()))
20818 : : return -1;
20819 : : return 6956; /* *avx512fp16_vpternlogv8hf_3 */
20820 : :
20821 : : case 39:
20822 : : if (!(
20823 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20824 : : ((64 == 64 || TARGET_AVX512VL
20825 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20826 : : && ix86_pre_reload_split ()) &&
20827 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20828 : : (TARGET_AVX512F)))
20829 : : return -1;
20830 : : return 6965; /* *avx512bw_vpternlogv32bf_3 */
20831 : :
20832 : : case 40:
20833 : : if (!(
20834 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20835 : : ((32 == 64 || TARGET_AVX512VL
20836 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20837 : : && ix86_pre_reload_split ()) &&
20838 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20839 : : (TARGET_AVX)))
20840 : : return -1;
20841 : : return 6974; /* *avx512vl_vpternlogv16bf_3 */
20842 : :
20843 : : case 41:
20844 : : if (!
20845 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20846 : : ((16 == 64 || TARGET_AVX512VL
20847 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20848 : : && ix86_pre_reload_split ()))
20849 : : return -1;
20850 : : return 6983; /* *avx512vl_vpternlogv8bf_3 */
20851 : :
20852 : : case 42:
20853 : : if (!(
20854 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20855 : : ((64 == 64 || TARGET_AVX512VL
20856 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20857 : : && ix86_pre_reload_split ()) &&
20858 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20859 : : (TARGET_AVX512F)))
20860 : : return -1;
20861 : : return 6992; /* *avx512f_vpternlogv16sf_3 */
20862 : :
20863 : : case 43:
20864 : : if (!(
20865 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20866 : : ((32 == 64 || TARGET_AVX512VL
20867 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20868 : : && ix86_pre_reload_split ()) &&
20869 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20870 : : (TARGET_AVX)))
20871 : : return -1;
20872 : : return 7001; /* *avx512vl_vpternlogv8sf_3 */
20873 : :
20874 : : case 44:
20875 : : if (!
20876 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20877 : : ((16 == 64 || TARGET_AVX512VL
20878 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20879 : : && ix86_pre_reload_split ()))
20880 : : return -1;
20881 : : return 7010; /* *avx512vl_vpternlogv4sf_3 */
20882 : :
20883 : : case 45:
20884 : : if (!(
20885 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20886 : : ((64 == 64 || TARGET_AVX512VL
20887 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20888 : : && ix86_pre_reload_split ()) &&
20889 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20890 : : (TARGET_AVX512F)))
20891 : : return -1;
20892 : : return 7019; /* *avx512f_vpternlogv8df_3 */
20893 : :
20894 : : case 46:
20895 : : if (!(
20896 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20897 : : ((32 == 64 || TARGET_AVX512VL
20898 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20899 : : && ix86_pre_reload_split ()) &&
20900 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20901 : : (TARGET_AVX)))
20902 : : return -1;
20903 : : return 7028; /* *avx512vl_vpternlogv4df_3 */
20904 : :
20905 : : case 47:
20906 : : if (!(
20907 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20908 : : ((16 == 64 || TARGET_AVX512VL
20909 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20910 : : && ix86_pre_reload_split ()) &&
20911 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20912 : : (TARGET_SSE2)))
20913 : : return -1;
20914 : : return 7037; /* *avx512vl_vpternlogv2df_3 */
20915 : :
20916 : : default:
20917 : : return -1;
20918 : : }
20919 : :
20920 : : case AND:
20921 : : switch (pattern535 (x2))
20922 : : {
20923 : : case 0:
20924 : : if (!(
20925 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20926 : : ((64 == 64 || TARGET_AVX512VL
20927 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20928 : : && ix86_pre_reload_split ()
20929 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20930 : : STRIP_UNARY (operands[4]))
20931 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20932 : : STRIP_UNARY (operands[4]))
20933 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20934 : : STRIP_UNARY (operands[3]))
20935 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20936 : : STRIP_UNARY (operands[3])))) &&
20937 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20938 : : (TARGET_AVX512F)))
20939 : : return -1;
20940 : : return 6512; /* *avx512bw_vpternlogv32hf_2 */
20941 : :
20942 : : case 1:
20943 : : if (!(
20944 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20945 : : ((32 == 64 || TARGET_AVX512VL
20946 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20947 : : && ix86_pre_reload_split ()
20948 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20949 : : STRIP_UNARY (operands[4]))
20950 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20951 : : STRIP_UNARY (operands[4]))
20952 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20953 : : STRIP_UNARY (operands[3]))
20954 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20955 : : STRIP_UNARY (operands[3])))) &&
20956 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20957 : : (TARGET_AVX)))
20958 : : return -1;
20959 : : return 6539; /* *avx512vl_vpternlogv16hf_2 */
20960 : :
20961 : : case 2:
20962 : : if (!
20963 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20964 : : ((16 == 64 || TARGET_AVX512VL
20965 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20966 : : && ix86_pre_reload_split ()
20967 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20968 : : STRIP_UNARY (operands[4]))
20969 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20970 : : STRIP_UNARY (operands[4]))
20971 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20972 : : STRIP_UNARY (operands[3]))
20973 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20974 : : STRIP_UNARY (operands[3])))))
20975 : : return -1;
20976 : : return 6566; /* *avx512fp16_vpternlogv8hf_2 */
20977 : :
20978 : : case 3:
20979 : : if (!(
20980 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20981 : : ((64 == 64 || TARGET_AVX512VL
20982 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20983 : : && ix86_pre_reload_split ()
20984 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20985 : : STRIP_UNARY (operands[4]))
20986 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20987 : : STRIP_UNARY (operands[4]))
20988 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20989 : : STRIP_UNARY (operands[3]))
20990 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20991 : : STRIP_UNARY (operands[3])))) &&
20992 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20993 : : (TARGET_AVX512F)))
20994 : : return -1;
20995 : : return 6593; /* *avx512bw_vpternlogv32bf_2 */
20996 : :
20997 : : case 4:
20998 : : if (!(
20999 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21000 : : ((32 == 64 || TARGET_AVX512VL
21001 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21002 : : && ix86_pre_reload_split ()
21003 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21004 : : STRIP_UNARY (operands[4]))
21005 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21006 : : STRIP_UNARY (operands[4]))
21007 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21008 : : STRIP_UNARY (operands[3]))
21009 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21010 : : STRIP_UNARY (operands[3])))) &&
21011 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21012 : : (TARGET_AVX)))
21013 : : return -1;
21014 : : return 6620; /* *avx512vl_vpternlogv16bf_2 */
21015 : :
21016 : : case 5:
21017 : : if (!
21018 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21019 : : ((16 == 64 || TARGET_AVX512VL
21020 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21021 : : && ix86_pre_reload_split ()
21022 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21023 : : STRIP_UNARY (operands[4]))
21024 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21025 : : STRIP_UNARY (operands[4]))
21026 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21027 : : STRIP_UNARY (operands[3]))
21028 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21029 : : STRIP_UNARY (operands[3])))))
21030 : : return -1;
21031 : : return 6647; /* *avx512vl_vpternlogv8bf_2 */
21032 : :
21033 : : case 6:
21034 : : if (!(
21035 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21036 : : ((64 == 64 || TARGET_AVX512VL
21037 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21038 : : && ix86_pre_reload_split ()
21039 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21040 : : STRIP_UNARY (operands[4]))
21041 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21042 : : STRIP_UNARY (operands[4]))
21043 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21044 : : STRIP_UNARY (operands[3]))
21045 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21046 : : STRIP_UNARY (operands[3])))) &&
21047 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21048 : : (TARGET_AVX512F)))
21049 : : return -1;
21050 : : return 6674; /* *avx512f_vpternlogv16sf_2 */
21051 : :
21052 : : case 7:
21053 : : if (!(
21054 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21055 : : ((32 == 64 || TARGET_AVX512VL
21056 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21057 : : && ix86_pre_reload_split ()
21058 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21059 : : STRIP_UNARY (operands[4]))
21060 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21061 : : STRIP_UNARY (operands[4]))
21062 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21063 : : STRIP_UNARY (operands[3]))
21064 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21065 : : STRIP_UNARY (operands[3])))) &&
21066 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21067 : : (TARGET_AVX)))
21068 : : return -1;
21069 : : return 6701; /* *avx512vl_vpternlogv8sf_2 */
21070 : :
21071 : : case 8:
21072 : : if (!
21073 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21074 : : ((16 == 64 || TARGET_AVX512VL
21075 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21076 : : && ix86_pre_reload_split ()
21077 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21078 : : STRIP_UNARY (operands[4]))
21079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21080 : : STRIP_UNARY (operands[4]))
21081 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21082 : : STRIP_UNARY (operands[3]))
21083 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21084 : : STRIP_UNARY (operands[3])))))
21085 : : return -1;
21086 : : return 6728; /* *avx512vl_vpternlogv4sf_2 */
21087 : :
21088 : : case 9:
21089 : : if (!(
21090 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21091 : : ((64 == 64 || TARGET_AVX512VL
21092 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21093 : : && ix86_pre_reload_split ()
21094 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21095 : : STRIP_UNARY (operands[4]))
21096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21097 : : STRIP_UNARY (operands[4]))
21098 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21099 : : STRIP_UNARY (operands[3]))
21100 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21101 : : STRIP_UNARY (operands[3])))) &&
21102 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21103 : : (TARGET_AVX512F)))
21104 : : return -1;
21105 : : return 6755; /* *avx512f_vpternlogv8df_2 */
21106 : :
21107 : : case 10:
21108 : : if (!(
21109 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21110 : : ((32 == 64 || TARGET_AVX512VL
21111 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21112 : : && ix86_pre_reload_split ()
21113 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21114 : : STRIP_UNARY (operands[4]))
21115 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21116 : : STRIP_UNARY (operands[4]))
21117 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21118 : : STRIP_UNARY (operands[3]))
21119 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21120 : : STRIP_UNARY (operands[3])))) &&
21121 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21122 : : (TARGET_AVX)))
21123 : : return -1;
21124 : : return 6782; /* *avx512vl_vpternlogv4df_2 */
21125 : :
21126 : : case 11:
21127 : : if (!(
21128 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21129 : : ((16 == 64 || TARGET_AVX512VL
21130 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21131 : : && ix86_pre_reload_split ()
21132 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21133 : : STRIP_UNARY (operands[4]))
21134 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21135 : : STRIP_UNARY (operands[4]))
21136 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21137 : : STRIP_UNARY (operands[3]))
21138 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21139 : : STRIP_UNARY (operands[3])))) &&
21140 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21141 : : (TARGET_SSE2)))
21142 : : return -1;
21143 : : return 6809; /* *avx512vl_vpternlogv2df_2 */
21144 : :
21145 : : default:
21146 : : return -1;
21147 : : }
21148 : :
21149 : : case IOR:
21150 : : switch (pattern535 (x2))
21151 : : {
21152 : : case 0:
21153 : : if (!(
21154 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21155 : : ((64 == 64 || TARGET_AVX512VL
21156 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21157 : : && ix86_pre_reload_split ()
21158 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21159 : : STRIP_UNARY (operands[4]))
21160 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21161 : : STRIP_UNARY (operands[4]))
21162 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21163 : : STRIP_UNARY (operands[3]))
21164 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21165 : : STRIP_UNARY (operands[3])))) &&
21166 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21167 : : (TARGET_AVX512F)))
21168 : : return -1;
21169 : : return 6515; /* *avx512bw_vpternlogv32hf_2 */
21170 : :
21171 : : case 1:
21172 : : if (!(
21173 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21174 : : ((32 == 64 || TARGET_AVX512VL
21175 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21176 : : && ix86_pre_reload_split ()
21177 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21178 : : STRIP_UNARY (operands[4]))
21179 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21180 : : STRIP_UNARY (operands[4]))
21181 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21182 : : STRIP_UNARY (operands[3]))
21183 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21184 : : STRIP_UNARY (operands[3])))) &&
21185 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21186 : : (TARGET_AVX)))
21187 : : return -1;
21188 : : return 6542; /* *avx512vl_vpternlogv16hf_2 */
21189 : :
21190 : : case 2:
21191 : : if (!
21192 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21193 : : ((16 == 64 || TARGET_AVX512VL
21194 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21195 : : && ix86_pre_reload_split ()
21196 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21197 : : STRIP_UNARY (operands[4]))
21198 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21199 : : STRIP_UNARY (operands[4]))
21200 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21201 : : STRIP_UNARY (operands[3]))
21202 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21203 : : STRIP_UNARY (operands[3])))))
21204 : : return -1;
21205 : : return 6569; /* *avx512fp16_vpternlogv8hf_2 */
21206 : :
21207 : : case 3:
21208 : : if (!(
21209 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21210 : : ((64 == 64 || TARGET_AVX512VL
21211 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21212 : : && ix86_pre_reload_split ()
21213 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21214 : : STRIP_UNARY (operands[4]))
21215 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21216 : : STRIP_UNARY (operands[4]))
21217 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21218 : : STRIP_UNARY (operands[3]))
21219 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21220 : : STRIP_UNARY (operands[3])))) &&
21221 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21222 : : (TARGET_AVX512F)))
21223 : : return -1;
21224 : : return 6596; /* *avx512bw_vpternlogv32bf_2 */
21225 : :
21226 : : case 4:
21227 : : if (!(
21228 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21229 : : ((32 == 64 || TARGET_AVX512VL
21230 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21231 : : && ix86_pre_reload_split ()
21232 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21233 : : STRIP_UNARY (operands[4]))
21234 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21235 : : STRIP_UNARY (operands[4]))
21236 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21237 : : STRIP_UNARY (operands[3]))
21238 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21239 : : STRIP_UNARY (operands[3])))) &&
21240 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21241 : : (TARGET_AVX)))
21242 : : return -1;
21243 : : return 6623; /* *avx512vl_vpternlogv16bf_2 */
21244 : :
21245 : : case 5:
21246 : : if (!
21247 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21248 : : ((16 == 64 || TARGET_AVX512VL
21249 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21250 : : && ix86_pre_reload_split ()
21251 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21252 : : STRIP_UNARY (operands[4]))
21253 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21254 : : STRIP_UNARY (operands[4]))
21255 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21256 : : STRIP_UNARY (operands[3]))
21257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21258 : : STRIP_UNARY (operands[3])))))
21259 : : return -1;
21260 : : return 6650; /* *avx512vl_vpternlogv8bf_2 */
21261 : :
21262 : : case 6:
21263 : : if (!(
21264 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21265 : : ((64 == 64 || TARGET_AVX512VL
21266 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21267 : : && ix86_pre_reload_split ()
21268 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21269 : : STRIP_UNARY (operands[4]))
21270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21271 : : STRIP_UNARY (operands[4]))
21272 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21273 : : STRIP_UNARY (operands[3]))
21274 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21275 : : STRIP_UNARY (operands[3])))) &&
21276 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21277 : : (TARGET_AVX512F)))
21278 : : return -1;
21279 : : return 6677; /* *avx512f_vpternlogv16sf_2 */
21280 : :
21281 : : case 7:
21282 : : if (!(
21283 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21284 : : ((32 == 64 || TARGET_AVX512VL
21285 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21286 : : && ix86_pre_reload_split ()
21287 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21288 : : STRIP_UNARY (operands[4]))
21289 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21290 : : STRIP_UNARY (operands[4]))
21291 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21292 : : STRIP_UNARY (operands[3]))
21293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21294 : : STRIP_UNARY (operands[3])))) &&
21295 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21296 : : (TARGET_AVX)))
21297 : : return -1;
21298 : : return 6704; /* *avx512vl_vpternlogv8sf_2 */
21299 : :
21300 : : case 8:
21301 : : if (!
21302 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21303 : : ((16 == 64 || TARGET_AVX512VL
21304 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21305 : : && ix86_pre_reload_split ()
21306 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21307 : : STRIP_UNARY (operands[4]))
21308 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21309 : : STRIP_UNARY (operands[4]))
21310 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21311 : : STRIP_UNARY (operands[3]))
21312 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21313 : : STRIP_UNARY (operands[3])))))
21314 : : return -1;
21315 : : return 6731; /* *avx512vl_vpternlogv4sf_2 */
21316 : :
21317 : : case 9:
21318 : : if (!(
21319 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21320 : : ((64 == 64 || TARGET_AVX512VL
21321 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21322 : : && ix86_pre_reload_split ()
21323 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21324 : : STRIP_UNARY (operands[4]))
21325 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21326 : : STRIP_UNARY (operands[4]))
21327 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21328 : : STRIP_UNARY (operands[3]))
21329 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21330 : : STRIP_UNARY (operands[3])))) &&
21331 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21332 : : (TARGET_AVX512F)))
21333 : : return -1;
21334 : : return 6758; /* *avx512f_vpternlogv8df_2 */
21335 : :
21336 : : case 10:
21337 : : if (!(
21338 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21339 : : ((32 == 64 || TARGET_AVX512VL
21340 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21341 : : && ix86_pre_reload_split ()
21342 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21343 : : STRIP_UNARY (operands[4]))
21344 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21345 : : STRIP_UNARY (operands[4]))
21346 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21347 : : STRIP_UNARY (operands[3]))
21348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21349 : : STRIP_UNARY (operands[3])))) &&
21350 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21351 : : (TARGET_AVX)))
21352 : : return -1;
21353 : : return 6785; /* *avx512vl_vpternlogv4df_2 */
21354 : :
21355 : : case 11:
21356 : : if (!(
21357 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21358 : : ((16 == 64 || TARGET_AVX512VL
21359 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21360 : : && ix86_pre_reload_split ()
21361 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21362 : : STRIP_UNARY (operands[4]))
21363 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21364 : : STRIP_UNARY (operands[4]))
21365 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21366 : : STRIP_UNARY (operands[3]))
21367 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21368 : : STRIP_UNARY (operands[3])))) &&
21369 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21370 : : (TARGET_SSE2)))
21371 : : return -1;
21372 : : return 6812; /* *avx512vl_vpternlogv2df_2 */
21373 : :
21374 : : default:
21375 : : return -1;
21376 : : }
21377 : :
21378 : : case XOR:
21379 : : switch (pattern535 (x2))
21380 : : {
21381 : : case 0:
21382 : : if (!(
21383 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21384 : : ((64 == 64 || TARGET_AVX512VL
21385 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21386 : : && ix86_pre_reload_split ()
21387 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21388 : : STRIP_UNARY (operands[4]))
21389 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21390 : : STRIP_UNARY (operands[4]))
21391 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21392 : : STRIP_UNARY (operands[3]))
21393 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21394 : : STRIP_UNARY (operands[3])))) &&
21395 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21396 : : (TARGET_AVX512F)))
21397 : : return -1;
21398 : : return 6518; /* *avx512bw_vpternlogv32hf_2 */
21399 : :
21400 : : case 1:
21401 : : if (!(
21402 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21403 : : ((32 == 64 || TARGET_AVX512VL
21404 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21405 : : && ix86_pre_reload_split ()
21406 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21407 : : STRIP_UNARY (operands[4]))
21408 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21409 : : STRIP_UNARY (operands[4]))
21410 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21411 : : STRIP_UNARY (operands[3]))
21412 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21413 : : STRIP_UNARY (operands[3])))) &&
21414 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21415 : : (TARGET_AVX)))
21416 : : return -1;
21417 : : return 6545; /* *avx512vl_vpternlogv16hf_2 */
21418 : :
21419 : : case 2:
21420 : : if (!
21421 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21422 : : ((16 == 64 || TARGET_AVX512VL
21423 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21424 : : && ix86_pre_reload_split ()
21425 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21426 : : STRIP_UNARY (operands[4]))
21427 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21428 : : STRIP_UNARY (operands[4]))
21429 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21430 : : STRIP_UNARY (operands[3]))
21431 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21432 : : STRIP_UNARY (operands[3])))))
21433 : : return -1;
21434 : : return 6572; /* *avx512fp16_vpternlogv8hf_2 */
21435 : :
21436 : : case 3:
21437 : : if (!(
21438 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21439 : : ((64 == 64 || TARGET_AVX512VL
21440 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21441 : : && ix86_pre_reload_split ()
21442 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21443 : : STRIP_UNARY (operands[4]))
21444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21445 : : STRIP_UNARY (operands[4]))
21446 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21447 : : STRIP_UNARY (operands[3]))
21448 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21449 : : STRIP_UNARY (operands[3])))) &&
21450 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21451 : : (TARGET_AVX512F)))
21452 : : return -1;
21453 : : return 6599; /* *avx512bw_vpternlogv32bf_2 */
21454 : :
21455 : : case 4:
21456 : : if (!(
21457 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21458 : : ((32 == 64 || TARGET_AVX512VL
21459 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21460 : : && ix86_pre_reload_split ()
21461 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21462 : : STRIP_UNARY (operands[4]))
21463 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21464 : : STRIP_UNARY (operands[4]))
21465 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21466 : : STRIP_UNARY (operands[3]))
21467 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21468 : : STRIP_UNARY (operands[3])))) &&
21469 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21470 : : (TARGET_AVX)))
21471 : : return -1;
21472 : : return 6626; /* *avx512vl_vpternlogv16bf_2 */
21473 : :
21474 : : case 5:
21475 : : if (!
21476 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21477 : : ((16 == 64 || TARGET_AVX512VL
21478 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21479 : : && ix86_pre_reload_split ()
21480 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21481 : : STRIP_UNARY (operands[4]))
21482 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21483 : : STRIP_UNARY (operands[4]))
21484 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21485 : : STRIP_UNARY (operands[3]))
21486 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21487 : : STRIP_UNARY (operands[3])))))
21488 : : return -1;
21489 : : return 6653; /* *avx512vl_vpternlogv8bf_2 */
21490 : :
21491 : : case 6:
21492 : : if (!(
21493 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21494 : : ((64 == 64 || TARGET_AVX512VL
21495 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21496 : : && ix86_pre_reload_split ()
21497 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21498 : : STRIP_UNARY (operands[4]))
21499 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21500 : : STRIP_UNARY (operands[4]))
21501 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21502 : : STRIP_UNARY (operands[3]))
21503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21504 : : STRIP_UNARY (operands[3])))) &&
21505 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21506 : : (TARGET_AVX512F)))
21507 : : return -1;
21508 : : return 6680; /* *avx512f_vpternlogv16sf_2 */
21509 : :
21510 : : case 7:
21511 : : if (!(
21512 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21513 : : ((32 == 64 || TARGET_AVX512VL
21514 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21515 : : && ix86_pre_reload_split ()
21516 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21517 : : STRIP_UNARY (operands[4]))
21518 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21519 : : STRIP_UNARY (operands[4]))
21520 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21521 : : STRIP_UNARY (operands[3]))
21522 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21523 : : STRIP_UNARY (operands[3])))) &&
21524 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21525 : : (TARGET_AVX)))
21526 : : return -1;
21527 : : return 6707; /* *avx512vl_vpternlogv8sf_2 */
21528 : :
21529 : : case 8:
21530 : : if (!
21531 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21532 : : ((16 == 64 || TARGET_AVX512VL
21533 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21534 : : && ix86_pre_reload_split ()
21535 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21536 : : STRIP_UNARY (operands[4]))
21537 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21538 : : STRIP_UNARY (operands[4]))
21539 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21540 : : STRIP_UNARY (operands[3]))
21541 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21542 : : STRIP_UNARY (operands[3])))))
21543 : : return -1;
21544 : : return 6734; /* *avx512vl_vpternlogv4sf_2 */
21545 : :
21546 : : case 9:
21547 : : if (!(
21548 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21549 : : ((64 == 64 || TARGET_AVX512VL
21550 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21551 : : && ix86_pre_reload_split ()
21552 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21553 : : STRIP_UNARY (operands[4]))
21554 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21555 : : STRIP_UNARY (operands[4]))
21556 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21557 : : STRIP_UNARY (operands[3]))
21558 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21559 : : STRIP_UNARY (operands[3])))) &&
21560 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21561 : : (TARGET_AVX512F)))
21562 : : return -1;
21563 : : return 6761; /* *avx512f_vpternlogv8df_2 */
21564 : :
21565 : : case 10:
21566 : : if (!(
21567 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21568 : : ((32 == 64 || TARGET_AVX512VL
21569 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21570 : : && ix86_pre_reload_split ()
21571 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21572 : : STRIP_UNARY (operands[4]))
21573 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21574 : : STRIP_UNARY (operands[4]))
21575 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21576 : : STRIP_UNARY (operands[3]))
21577 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21578 : : STRIP_UNARY (operands[3])))) &&
21579 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21580 : : (TARGET_AVX)))
21581 : : return -1;
21582 : : return 6788; /* *avx512vl_vpternlogv4df_2 */
21583 : :
21584 : : case 11:
21585 : : if (!(
21586 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21587 : : ((16 == 64 || TARGET_AVX512VL
21588 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21589 : : && ix86_pre_reload_split ()
21590 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21591 : : STRIP_UNARY (operands[4]))
21592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21593 : : STRIP_UNARY (operands[4]))
21594 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21595 : : STRIP_UNARY (operands[3]))
21596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21597 : : STRIP_UNARY (operands[3])))) &&
21598 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21599 : : (TARGET_SSE2)))
21600 : : return -1;
21601 : : return 6815; /* *avx512vl_vpternlogv2df_2 */
21602 : :
21603 : : default:
21604 : : return -1;
21605 : : }
21606 : :
21607 : : default:
21608 : : return -1;
21609 : : }
21610 : :
21611 : : case XOR:
21612 : : return recog_313 (x1, insn, pnum_clobbers);
21613 : :
21614 : : default:
21615 : : return -1;
21616 : : }
21617 : : }
21618 : :
21619 : : int
21620 : : recog_380 (rtx x1 ATTRIBUTE_UNUSED,
21621 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21622 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21623 : : {
21624 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21625 : : rtx x2, x3, x4, x5, x6, x7;
21626 : : int res ATTRIBUTE_UNUSED;
21627 : : if (pnum_clobbers == NULL)
21628 : : return -1;
21629 : : x2 = XVECEXP (x1, 0, 0);
21630 : : x3 = XEXP (x2, 1);
21631 : : if (GET_MODE (x3) != E_SImode)
21632 : : return -1;
21633 : : x4 = XVECEXP (x1, 0, 1);
21634 : : if (GET_CODE (x4) != USE)
21635 : : return -1;
21636 : : x5 = XEXP (x2, 0);
21637 : : operands[0] = x5;
21638 : : if (!register_operand (operands[0], E_SImode))
21639 : : return -1;
21640 : : x6 = XEXP (x3, 0);
21641 : : operands[3] = x6;
21642 : : x7 = XEXP (x4, 0);
21643 : : operands[4] = x7;
21644 : : switch (GET_MODE (operands[3]))
21645 : : {
21646 : : case E_SFmode:
21647 : : if (!nonimmediate_operand (operands[3], E_SFmode)
21648 : : || !nonimmediate_operand (operands[4], E_V4SFmode)
21649 : : || !
21650 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21651 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
21652 : : && optimize_function_for_speed_p (cfun)))
21653 : : return -1;
21654 : : *pnum_clobbers = 2;
21655 : : return 227; /* *fixuns_truncsf_1 */
21656 : :
21657 : : case E_DFmode:
21658 : : if (!nonimmediate_operand (operands[3], E_DFmode)
21659 : : || !nonimmediate_operand (operands[4], E_V2DFmode)
21660 : : || !
21661 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21662 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
21663 : : && optimize_function_for_speed_p (cfun)))
21664 : : return -1;
21665 : : *pnum_clobbers = 2;
21666 : : return 228; /* *fixuns_truncdf_1 */
21667 : :
21668 : : default:
21669 : : return -1;
21670 : : }
21671 : : }
21672 : :
21673 : : int
21674 : : recog_382 (rtx x1 ATTRIBUTE_UNUSED,
21675 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21676 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21677 : : {
21678 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21679 : : rtx x2, x3, x4, x5, x6;
21680 : : int res ATTRIBUTE_UNUSED;
21681 : : x2 = XVECEXP (x1, 0, 0);
21682 : : x3 = XEXP (x2, 0);
21683 : : operands[0] = x3;
21684 : : x4 = XEXP (x2, 1);
21685 : : x5 = XEXP (x4, 0);
21686 : : operands[1] = x5;
21687 : : x6 = XVECEXP (x1, 0, 1);
21688 : : switch (GET_CODE (x6))
21689 : : {
21690 : : case CLOBBER:
21691 : : if (pnum_clobbers == NULL
21692 : : || !register_operand (operands[1], E_DImode))
21693 : : return -1;
21694 : : switch (pattern935 (x1))
21695 : : {
21696 : : case 0:
21697 : : if (!
21698 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21699 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21700 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
21701 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21702 : : return -1;
21703 : : *pnum_clobbers = 2;
21704 : : return 258; /* floatdisf2_i387_with_xmm */
21705 : :
21706 : : case 1:
21707 : : if (!
21708 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21709 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21710 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
21711 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21712 : : return -1;
21713 : : *pnum_clobbers = 2;
21714 : : return 259; /* floatdidf2_i387_with_xmm */
21715 : :
21716 : : case 2:
21717 : : if (!
21718 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21719 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
21720 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
21721 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
21722 : : return -1;
21723 : : *pnum_clobbers = 2;
21724 : : return 260; /* floatdixf2_i387_with_xmm */
21725 : :
21726 : : default:
21727 : : return -1;
21728 : : }
21729 : :
21730 : : case UNSPEC:
21731 : : if (pattern684 (x1,
21732 : : E_V2SImode,
21733 : : E_V2SFmode) != 0
21734 : : || !
21735 : : #line 1623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21736 : : (TARGET_3DNOW))
21737 : : return -1;
21738 : : return 2138; /* mmx_floatv2siv2sf2 */
21739 : :
21740 : : default:
21741 : : return -1;
21742 : : }
21743 : : }
21744 : :
21745 : : int
21746 : : recog_383 (rtx x1 ATTRIBUTE_UNUSED,
21747 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21748 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21749 : : {
21750 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21751 : : rtx x2, x3, x4, x5, x6;
21752 : : int res ATTRIBUTE_UNUSED;
21753 : : if (pnum_clobbers == NULL)
21754 : : return -1;
21755 : : x2 = XVECEXP (x1, 0, 1);
21756 : : if (GET_CODE (x2) != CLOBBER)
21757 : : return -1;
21758 : : x3 = XVECEXP (x1, 0, 0);
21759 : : x4 = XEXP (x3, 0);
21760 : : operands[0] = x4;
21761 : : x5 = XEXP (x3, 1);
21762 : : x6 = XEXP (x5, 0);
21763 : : operands[1] = x6;
21764 : : if (!nonimmediate_operand (operands[1], E_SImode))
21765 : : return -1;
21766 : : switch (pattern935 (x1))
21767 : : {
21768 : : case 0:
21769 : : if (!
21770 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21771 : : (!TARGET_64BIT
21772 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
21773 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21774 : : return -1;
21775 : : *pnum_clobbers = 1;
21776 : : return 265; /* floatunssisf2_i387_with_xmm */
21777 : :
21778 : : case 1:
21779 : : if (!
21780 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21781 : : (!TARGET_64BIT
21782 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
21783 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21784 : : return -1;
21785 : : *pnum_clobbers = 1;
21786 : : return 266; /* floatunssidf2_i387_with_xmm */
21787 : :
21788 : : case 2:
21789 : : if (!
21790 : : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21791 : : (!TARGET_64BIT
21792 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
21793 : : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
21794 : : return -1;
21795 : : *pnum_clobbers = 1;
21796 : : return 267; /* floatunssixf2_i387_with_xmm */
21797 : :
21798 : : default:
21799 : : return -1;
21800 : : }
21801 : : }
21802 : :
21803 : : int
21804 : : recog_385 (rtx x1 ATTRIBUTE_UNUSED,
21805 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21806 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21807 : : {
21808 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21809 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21810 : : rtx x10, x11, x12, x13, x14;
21811 : : int res ATTRIBUTE_UNUSED;
21812 : : x2 = XVECEXP (x1, 0, 0);
21813 : : x3 = XEXP (x2, 1);
21814 : : x4 = XEXP (x3, 0);
21815 : : switch (GET_CODE (x4))
21816 : : {
21817 : : case REG:
21818 : : case SUBREG:
21819 : : case MEM:
21820 : : operands[1] = x4;
21821 : : res = recog_384 (x1, insn, pnum_clobbers);
21822 : : if (res >= 0)
21823 : : return res;
21824 : : if (GET_CODE (x4) != SUBREG
21825 : : || maybe_ne (SUBREG_BYTE (x4), 0)
21826 : : || GET_MODE (x4) != E_QImode)
21827 : : return -1;
21828 : : x5 = XEXP (x4, 0);
21829 : : switch (GET_CODE (x5))
21830 : : {
21831 : : case ASHIFTRT:
21832 : : case LSHIFTRT:
21833 : : case SIGN_EXTRACT:
21834 : : case ZERO_EXTRACT:
21835 : : operands[3] = x5;
21836 : : x6 = XVECEXP (x1, 0, 1);
21837 : : if (GET_CODE (x6) != CLOBBER
21838 : : || pattern566 (x1) != 0)
21839 : : return -1;
21840 : : x7 = XEXP (x5, 0);
21841 : : operands[2] = x7;
21842 : : switch (pattern1528 (x2))
21843 : : {
21844 : : case 0:
21845 : : if (
21846 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21847 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21848 : : return 307; /* *addqi_exthi_1_slp */
21849 : : break;
21850 : :
21851 : : case 1:
21852 : : if (
21853 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21854 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21855 : : return 308; /* *addqi_extsi_1_slp */
21856 : : break;
21857 : :
21858 : : case 2:
21859 : : if ((
21860 : : #line 7002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21861 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
21862 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21863 : : (TARGET_64BIT)))
21864 : : return 309; /* *addqi_extdi_1_slp */
21865 : : break;
21866 : :
21867 : : case 3:
21868 : : return 331; /* *addqi_exthi_0 */
21869 : :
21870 : : case 4:
21871 : : return 332; /* *addqi_extsi_0 */
21872 : :
21873 : : case 5:
21874 : : if (
21875 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21876 : : (TARGET_64BIT))
21877 : : return 333; /* *addqi_extdi_0 */
21878 : : break;
21879 : :
21880 : : default:
21881 : : break;
21882 : : }
21883 : : x8 = XEXP (x3, 1);
21884 : : if (GET_CODE (x8) != SUBREG)
21885 : : return -1;
21886 : : switch (pattern1529 (x2))
21887 : : {
21888 : : case 0:
21889 : : if (!
21890 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21891 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21892 : : return -1;
21893 : : return 310; /* *addqi_exthi_2_slp */
21894 : :
21895 : : case 1:
21896 : : if (!
21897 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21898 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21899 : : return -1;
21900 : : return 311; /* *addqi_extsi_2_slp */
21901 : :
21902 : : case 2:
21903 : : if (!(
21904 : : #line 7031 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21905 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
21906 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21907 : : (TARGET_64BIT)))
21908 : : return -1;
21909 : : return 312; /* *addqi_extdi_2_slp */
21910 : :
21911 : : case 3:
21912 : : return 334; /* *addqi_ext2hi_0 */
21913 : :
21914 : : case 4:
21915 : : return 335; /* *addqi_ext2si_0 */
21916 : :
21917 : : case 5:
21918 : : if (!
21919 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21920 : : (TARGET_64BIT))
21921 : : return -1;
21922 : : return 336; /* *addqi_ext2di_0 */
21923 : :
21924 : : default:
21925 : : return -1;
21926 : : }
21927 : :
21928 : : default:
21929 : : return -1;
21930 : : }
21931 : :
21932 : : case ZERO_EXTEND:
21933 : : x6 = XVECEXP (x1, 0, 1);
21934 : : if (pattern358 (x6) != 0)
21935 : : return -1;
21936 : : switch (pattern937 (x2))
21937 : : {
21938 : : case 0:
21939 : : if (!(
21940 : : #line 6520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21941 : : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
21942 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21943 : : (!TARGET_64BIT)))
21944 : : return -1;
21945 : : return 272; /* *adddi3_doubleword_zext */
21946 : :
21947 : : case 1:
21948 : : if (!(
21949 : : #line 6520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21950 : : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
21951 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21952 : : (TARGET_64BIT)))
21953 : : return -1;
21954 : : return 273; /* *addti3_doubleword_zext */
21955 : :
21956 : : default:
21957 : : return -1;
21958 : : }
21959 : :
21960 : : case PLUS:
21961 : : if (pattern347 (x1) != 0)
21962 : : return -1;
21963 : : x5 = XEXP (x4, 0);
21964 : : switch (GET_CODE (x5))
21965 : : {
21966 : : case ASHIFT:
21967 : : switch (pattern1160 (x3))
21968 : : {
21969 : : case 0:
21970 : : if (!(
21971 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21972 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21973 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21974 : : (!TARGET_64BIT)))
21975 : : return -1;
21976 : : return 274; /* *adddi3_doubleword_concat */
21977 : :
21978 : : case 1:
21979 : : if (!(
21980 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21981 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
21982 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21983 : : (TARGET_64BIT)))
21984 : : return -1;
21985 : : return 277; /* *addti3_doubleword_concat */
21986 : :
21987 : : case 2:
21988 : : if (!(
21989 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21990 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
21991 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21992 : : (!TARGET_64BIT)))
21993 : : return -1;
21994 : : return 280; /* *adddi3_doubleword_concat_zext */
21995 : :
21996 : : case 3:
21997 : : if (!(
21998 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21999 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22000 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22001 : : (TARGET_64BIT)))
22002 : : return -1;
22003 : : return 283; /* *addti3_doubleword_concat_zext */
22004 : :
22005 : : default:
22006 : : return -1;
22007 : : }
22008 : :
22009 : : case LTU:
22010 : : case UNLT:
22011 : : operands[4] = x5;
22012 : : x9 = XEXP (x5, 1);
22013 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22014 : : return -1;
22015 : : x7 = XEXP (x5, 0);
22016 : : operands[3] = x7;
22017 : : if (!flags_reg_operand (operands[3], E_VOIDmode))
22018 : : return -1;
22019 : : x10 = XEXP (x4, 1);
22020 : : operands[1] = x10;
22021 : : x8 = XEXP (x3, 1);
22022 : : operands[2] = x8;
22023 : : switch (GET_MODE (operands[0]))
22024 : : {
22025 : : case E_QImode:
22026 : : if (pattern1629 (x3,
22027 : : E_QImode) != 0
22028 : : || !
22029 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22030 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
22031 : : return -1;
22032 : : return 457; /* addqi3_carry */
22033 : :
22034 : : case E_HImode:
22035 : : if (pattern1629 (x3,
22036 : : E_HImode) != 0
22037 : : || !
22038 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22039 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
22040 : : return -1;
22041 : : return 458; /* addhi3_carry */
22042 : :
22043 : : case E_SImode:
22044 : : if (pattern1630 (x3,
22045 : : E_SImode) != 0
22046 : : || !
22047 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22048 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22049 : : return -1;
22050 : : return 459; /* addsi3_carry */
22051 : :
22052 : : case E_DImode:
22053 : : if (pattern1630 (x3,
22054 : : E_DImode) != 0
22055 : : || !(
22056 : : #line 8798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22057 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22058 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22059 : : (TARGET_64BIT)))
22060 : : return -1;
22061 : : return 460; /* adddi3_carry */
22062 : :
22063 : : default:
22064 : : return -1;
22065 : : }
22066 : :
22067 : : case EQ:
22068 : : switch (pattern1163 (x3))
22069 : : {
22070 : : case 0:
22071 : : if (!
22072 : : #line 10437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22073 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
22074 : : && ix86_pre_reload_split ()))
22075 : : return -1;
22076 : : return 582; /* *addqi3_eq */
22077 : :
22078 : : case 1:
22079 : : if (!
22080 : : #line 10437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22081 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
22082 : : && ix86_pre_reload_split ()))
22083 : : return -1;
22084 : : return 583; /* *addhi3_eq */
22085 : :
22086 : : case 2:
22087 : : if (!
22088 : : #line 10437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22089 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22090 : : && ix86_pre_reload_split ()))
22091 : : return -1;
22092 : : return 584; /* *addsi3_eq */
22093 : :
22094 : : case 3:
22095 : : if (!(
22096 : : #line 10437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22097 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22098 : : && ix86_pre_reload_split ()) &&
22099 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22100 : : (TARGET_64BIT)))
22101 : : return -1;
22102 : : return 585; /* *adddi3_eq */
22103 : :
22104 : : default:
22105 : : return -1;
22106 : : }
22107 : :
22108 : : case NE:
22109 : : switch (pattern1166 (x3))
22110 : : {
22111 : : case 0:
22112 : : if (!
22113 : : #line 10458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22114 : : (CONST_INT_P (operands[2])
22115 : : && (QImode != DImode
22116 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22117 : : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
22118 : : && ix86_pre_reload_split ()))
22119 : : return -1;
22120 : : return 586; /* *addqi3_ne */
22121 : :
22122 : : case 1:
22123 : : if (!
22124 : : #line 10458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22125 : : (CONST_INT_P (operands[2])
22126 : : && (HImode != DImode
22127 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22128 : : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
22129 : : && ix86_pre_reload_split ()))
22130 : : return -1;
22131 : : return 587; /* *addhi3_ne */
22132 : :
22133 : : case 2:
22134 : : if (!
22135 : : #line 10458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22136 : : (CONST_INT_P (operands[2])
22137 : : && (SImode != DImode
22138 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22139 : : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22140 : : && ix86_pre_reload_split ()))
22141 : : return -1;
22142 : : return 588; /* *addsi3_ne */
22143 : :
22144 : : case 3:
22145 : : if (!(
22146 : : #line 10458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22147 : : (CONST_INT_P (operands[2])
22148 : : && (DImode != DImode
22149 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22150 : : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22151 : : && ix86_pre_reload_split ()) &&
22152 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22153 : : (TARGET_64BIT)))
22154 : : return -1;
22155 : : return 589; /* *adddi3_ne */
22156 : :
22157 : : default:
22158 : : return -1;
22159 : : }
22160 : :
22161 : : default:
22162 : : return -1;
22163 : : }
22164 : :
22165 : : case IOR:
22166 : : switch (pattern362 (x1))
22167 : : {
22168 : : case 0:
22169 : : if (!(
22170 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22171 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22172 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22173 : : (!TARGET_64BIT)))
22174 : : return -1;
22175 : : return 275; /* *adddi3_doubleword_concat */
22176 : :
22177 : : case 1:
22178 : : if (!(
22179 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22180 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22181 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22182 : : (TARGET_64BIT)))
22183 : : return -1;
22184 : : return 278; /* *addti3_doubleword_concat */
22185 : :
22186 : : case 2:
22187 : : if (!(
22188 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22189 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22190 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22191 : : (!TARGET_64BIT)))
22192 : : return -1;
22193 : : return 281; /* *adddi3_doubleword_concat_zext */
22194 : :
22195 : : case 3:
22196 : : if (!(
22197 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22198 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22199 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22200 : : (TARGET_64BIT)))
22201 : : return -1;
22202 : : return 284; /* *addti3_doubleword_concat_zext */
22203 : :
22204 : : default:
22205 : : return -1;
22206 : : }
22207 : :
22208 : : case XOR:
22209 : : switch (pattern362 (x1))
22210 : : {
22211 : : case 0:
22212 : : if (!(
22213 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22214 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22215 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22216 : : (!TARGET_64BIT)))
22217 : : return -1;
22218 : : return 276; /* *adddi3_doubleword_concat */
22219 : :
22220 : : case 1:
22221 : : if (!(
22222 : : #line 6551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22223 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22224 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22225 : : (TARGET_64BIT)))
22226 : : return -1;
22227 : : return 279; /* *addti3_doubleword_concat */
22228 : :
22229 : : case 2:
22230 : : if (!(
22231 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22232 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
22233 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22234 : : (!TARGET_64BIT)))
22235 : : return -1;
22236 : : return 282; /* *adddi3_doubleword_concat_zext */
22237 : :
22238 : : case 3:
22239 : : if (!(
22240 : : #line 6582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22241 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22242 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22243 : : (TARGET_64BIT)))
22244 : : return -1;
22245 : : return 285; /* *addti3_doubleword_concat_zext */
22246 : :
22247 : : default:
22248 : : return -1;
22249 : : }
22250 : :
22251 : : case LTU:
22252 : : case UNLT:
22253 : : switch (pattern363 (x1))
22254 : : {
22255 : : case 0:
22256 : : if (pattern1530 (x3,
22257 : : E_QImode) != 0
22258 : : || !
22259 : : #line 8899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22260 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22261 : : return -1;
22262 : : return 465; /* *addqi3_carry_0 */
22263 : :
22264 : : case 1:
22265 : : if (pattern1530 (x3,
22266 : : E_HImode) != 0
22267 : : || !
22268 : : #line 8899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22269 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22270 : : return -1;
22271 : : return 466; /* *addhi3_carry_0 */
22272 : :
22273 : : case 2:
22274 : : if (pattern1530 (x3,
22275 : : E_SImode) != 0
22276 : : || !
22277 : : #line 8899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22278 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22279 : : return -1;
22280 : : return 467; /* *addsi3_carry_0 */
22281 : :
22282 : : case 3:
22283 : : if (pattern1530 (x3,
22284 : : E_DImode) != 0
22285 : : || !(
22286 : : #line 8899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22287 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
22288 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22289 : : (TARGET_64BIT)))
22290 : : return -1;
22291 : : return 468; /* *adddi3_carry_0 */
22292 : :
22293 : : default:
22294 : : return -1;
22295 : : }
22296 : :
22297 : : case GE:
22298 : : case GEU:
22299 : : switch (pattern363 (x1))
22300 : : {
22301 : : case 0:
22302 : : if (pattern1531 (x3,
22303 : : E_QImode) != 0
22304 : : || !
22305 : : #line 8933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22306 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22307 : : return -1;
22308 : : return 473; /* *addqi3_carry_0r */
22309 : :
22310 : : case 1:
22311 : : if (pattern1531 (x3,
22312 : : E_HImode) != 0
22313 : : || !
22314 : : #line 8933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22315 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22316 : : return -1;
22317 : : return 474; /* *addhi3_carry_0r */
22318 : :
22319 : : case 2:
22320 : : if (pattern1531 (x3,
22321 : : E_SImode) != 0
22322 : : || !
22323 : : #line 8933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22324 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])))
22325 : : return -1;
22326 : : return 475; /* *addsi3_carry_0r */
22327 : :
22328 : : case 3:
22329 : : if (pattern1531 (x3,
22330 : : E_DImode) != 0
22331 : : || !(
22332 : : #line 8933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22333 : : (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1])) &&
22334 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22335 : : (TARGET_64BIT)))
22336 : : return -1;
22337 : : return 476; /* *adddi3_carry_0r */
22338 : :
22339 : : default:
22340 : : return -1;
22341 : : }
22342 : :
22343 : : case EQ:
22344 : : switch (pattern367 (x1))
22345 : : {
22346 : : case 0:
22347 : : if (!
22348 : : #line 10484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22349 : : (ix86_unary_operator_ok (PLUS, QImode, operands)
22350 : : && ix86_pre_reload_split ()))
22351 : : return -1;
22352 : : return 590; /* *addqi3_eq_0 */
22353 : :
22354 : : case 1:
22355 : : if (!
22356 : : #line 10484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22357 : : (ix86_unary_operator_ok (PLUS, HImode, operands)
22358 : : && ix86_pre_reload_split ()))
22359 : : return -1;
22360 : : return 591; /* *addhi3_eq_0 */
22361 : :
22362 : : case 2:
22363 : : if (!
22364 : : #line 10484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22365 : : (ix86_unary_operator_ok (PLUS, SImode, operands)
22366 : : && ix86_pre_reload_split ()))
22367 : : return -1;
22368 : : return 592; /* *addsi3_eq_0 */
22369 : :
22370 : : case 3:
22371 : : if (!(
22372 : : #line 10484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22373 : : (ix86_unary_operator_ok (PLUS, DImode, operands)
22374 : : && ix86_pre_reload_split ()) &&
22375 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22376 : : (TARGET_64BIT)))
22377 : : return -1;
22378 : : return 593; /* *adddi3_eq_0 */
22379 : :
22380 : : default:
22381 : : return -1;
22382 : : }
22383 : :
22384 : : case NE:
22385 : : switch (pattern367 (x1))
22386 : : {
22387 : : case 0:
22388 : : if (!
22389 : : #line 10505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22390 : : (ix86_unary_operator_ok (PLUS, QImode, operands)
22391 : : && ix86_pre_reload_split ()))
22392 : : return -1;
22393 : : return 594; /* *addqi3_ne_0 */
22394 : :
22395 : : case 1:
22396 : : if (!
22397 : : #line 10505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22398 : : (ix86_unary_operator_ok (PLUS, HImode, operands)
22399 : : && ix86_pre_reload_split ()))
22400 : : return -1;
22401 : : return 595; /* *addhi3_ne_0 */
22402 : :
22403 : : case 2:
22404 : : if (!
22405 : : #line 10505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22406 : : (ix86_unary_operator_ok (PLUS, SImode, operands)
22407 : : && ix86_pre_reload_split ()))
22408 : : return -1;
22409 : : return 596; /* *addsi3_ne_0 */
22410 : :
22411 : : case 3:
22412 : : if (!(
22413 : : #line 10505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22414 : : (ix86_unary_operator_ok (PLUS, DImode, operands)
22415 : : && ix86_pre_reload_split ()) &&
22416 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22417 : : (TARGET_64BIT)))
22418 : : return -1;
22419 : : return 597; /* *adddi3_ne_0 */
22420 : :
22421 : : default:
22422 : : return -1;
22423 : : }
22424 : :
22425 : : case MINUS:
22426 : : x6 = XVECEXP (x1, 0, 1);
22427 : : if (pattern358 (x6) != 0)
22428 : : return -1;
22429 : : switch (pattern941 (x2))
22430 : : {
22431 : : case 0:
22432 : : if (!
22433 : : #line 10553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22434 : : (CONST_INT_P (operands[2])
22435 : : && (QImode != DImode
22436 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22437 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22438 : : && ix86_pre_reload_split ()))
22439 : : return -1;
22440 : : return 602; /* *subqi3_ne */
22441 : :
22442 : : case 1:
22443 : : if (!
22444 : : #line 10553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22445 : : (CONST_INT_P (operands[2])
22446 : : && (HImode != DImode
22447 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22448 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22449 : : && ix86_pre_reload_split ()))
22450 : : return -1;
22451 : : return 603; /* *subhi3_ne */
22452 : :
22453 : : case 2:
22454 : : if (!
22455 : : #line 10553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22456 : : (CONST_INT_P (operands[2])
22457 : : && (SImode != DImode
22458 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22459 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22460 : : && ix86_pre_reload_split ()))
22461 : : return -1;
22462 : : return 604; /* *subsi3_ne */
22463 : :
22464 : : case 3:
22465 : : if (!(
22466 : : #line 10553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22467 : : (CONST_INT_P (operands[2])
22468 : : && (DImode != DImode
22469 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22470 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22471 : : && ix86_pre_reload_split ()) &&
22472 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22473 : : (TARGET_64BIT)))
22474 : : return -1;
22475 : : return 605; /* *subdi3_ne */
22476 : :
22477 : : case 4:
22478 : : if (!
22479 : : #line 10582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22480 : : (CONST_INT_P (operands[2])
22481 : : && (QImode != DImode
22482 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22483 : : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22484 : : && ix86_pre_reload_split ()))
22485 : : return -1;
22486 : : return 606; /* *subqi3_eq_1 */
22487 : :
22488 : : case 5:
22489 : : if (!
22490 : : #line 10582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22491 : : (CONST_INT_P (operands[2])
22492 : : && (HImode != DImode
22493 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22494 : : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22495 : : && ix86_pre_reload_split ()))
22496 : : return -1;
22497 : : return 607; /* *subhi3_eq_1 */
22498 : :
22499 : : case 6:
22500 : : if (!
22501 : : #line 10582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22502 : : (CONST_INT_P (operands[2])
22503 : : && (SImode != DImode
22504 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22505 : : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22506 : : && ix86_pre_reload_split ()))
22507 : : return -1;
22508 : : return 608; /* *subsi3_eq_1 */
22509 : :
22510 : : case 7:
22511 : : if (!(
22512 : : #line 10582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22513 : : (CONST_INT_P (operands[2])
22514 : : && (DImode != DImode
22515 : : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
22516 : : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22517 : : && ix86_pre_reload_split ()) &&
22518 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22519 : : (TARGET_64BIT)))
22520 : : return -1;
22521 : : return 609; /* *subdi3_eq_1 */
22522 : :
22523 : : default:
22524 : : return -1;
22525 : : }
22526 : :
22527 : : case LSHIFTRT:
22528 : : x10 = XEXP (x4, 1);
22529 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
22530 : : return -1;
22531 : : x8 = XEXP (x3, 1);
22532 : : if (GET_CODE (x8) != ASHIFT)
22533 : : return -1;
22534 : : x11 = XEXP (x8, 0);
22535 : : if (GET_CODE (x11) != LTU)
22536 : : return -1;
22537 : : x12 = XEXP (x11, 0);
22538 : : if (GET_CODE (x12) != REG
22539 : : || REGNO (x12) != 17
22540 : : || GET_MODE (x12) != E_CCCmode)
22541 : : return -1;
22542 : : x13 = XEXP (x11, 1);
22543 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22544 : : return -1;
22545 : : x14 = XEXP (x8, 1);
22546 : : if (GET_CODE (x14) != CONST_INT
22547 : : || pattern352 (x1) != 0)
22548 : : return -1;
22549 : : switch (XWINT (x14, 0))
22550 : : {
22551 : : case 31L:
22552 : : if (pattern1689 (x3,
22553 : : E_SImode) != 0)
22554 : : return -1;
22555 : : return 1417; /* rcrsi2 */
22556 : :
22557 : : case 63L:
22558 : : if (pattern1689 (x3,
22559 : : E_DImode) != 0
22560 : : || !
22561 : : #line 19064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22562 : : (TARGET_64BIT))
22563 : : return -1;
22564 : : return 1418; /* rcrdi2 */
22565 : :
22566 : : default:
22567 : : return -1;
22568 : : }
22569 : :
22570 : : case UNSPEC:
22571 : : x6 = XVECEXP (x1, 0, 1);
22572 : : if (pattern358 (x6) != 0)
22573 : : return -1;
22574 : : switch (pattern945 (x2))
22575 : : {
22576 : : case 0:
22577 : : if (!
22578 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22579 : : (ptr_mode == SImode))
22580 : : return -1;
22581 : : return 1695; /* *add_tp_si */
22582 : :
22583 : : case 1:
22584 : : if (!
22585 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22586 : : (ptr_mode == DImode))
22587 : : return -1;
22588 : : return 1696; /* *add_tp_di */
22589 : :
22590 : : case 2:
22591 : : if (!
22592 : : #line 23633 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22593 : : (!TARGET_64BIT && TARGET_GNU2_TLS))
22594 : : return -1;
22595 : : return 1700; /* *tls_dynamic_gnu2_combine_32 */
22596 : :
22597 : : case 3:
22598 : : if (!(
22599 : : #line 23696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22600 : : (TARGET_64BIT && TARGET_GNU2_TLS) &&
22601 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22602 : : (ptr_mode == SImode)))
22603 : : return -1;
22604 : : return 1705; /* *tls_dynamic_gnu2_combine_64_si */
22605 : :
22606 : : case 4:
22607 : : if (!(
22608 : : #line 23696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22609 : : (TARGET_64BIT && TARGET_GNU2_TLS) &&
22610 : : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22611 : : (ptr_mode == DImode)))
22612 : : return -1;
22613 : : return 1706; /* *tls_dynamic_gnu2_combine_64_di */
22614 : :
22615 : : default:
22616 : : return -1;
22617 : : }
22618 : :
22619 : : default:
22620 : : return -1;
22621 : : }
22622 : : }
22623 : :
22624 : : int
22625 : : recog_403 (rtx x1 ATTRIBUTE_UNUSED,
22626 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22627 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22628 : : {
22629 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22630 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22631 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22632 : : rtx x18, x19;
22633 : : int res ATTRIBUTE_UNUSED;
22634 : : x2 = XVECEXP (x1, 0, 0);
22635 : : x3 = XEXP (x2, 1);
22636 : : x4 = XEXP (x3, 0);
22637 : : switch (GET_CODE (x4))
22638 : : {
22639 : : case NE:
22640 : : case EQ:
22641 : : if (bt_comparison_operator (x4, E_VOIDmode))
22642 : : {
22643 : : res = recog_402 (x1, insn, pnum_clobbers);
22644 : : if (res >= 0)
22645 : : return res;
22646 : : }
22647 : : if (GET_CODE (x4) != NE)
22648 : : return -1;
22649 : : x5 = XEXP (x4, 1);
22650 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22651 : : return -1;
22652 : : x6 = XEXP (x4, 0);
22653 : : switch (GET_CODE (x6))
22654 : : {
22655 : : case REG:
22656 : : case SUBREG:
22657 : : operands[2] = x6;
22658 : : if (!register_operand (operands[2], E_QImode))
22659 : : return -1;
22660 : : x7 = XEXP (x3, 1);
22661 : : if (GET_CODE (x7) != ZERO_EXTRACT)
22662 : : return -1;
22663 : : x8 = XEXP (x7, 1);
22664 : : if (GET_CODE (x8) != UMIN
22665 : : || GET_MODE (x8) != E_QImode)
22666 : : return -1;
22667 : : x9 = XEXP (x7, 2);
22668 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22669 : : return -1;
22670 : : x10 = XEXP (x3, 2);
22671 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
22672 : : || pattern347 (x1) != 0
22673 : : || GET_MODE (x4) != E_QImode)
22674 : : return -1;
22675 : : x11 = XEXP (x7, 0);
22676 : : operands[1] = x11;
22677 : : x12 = XEXP (x8, 1);
22678 : : operands[3] = x12;
22679 : : if (!const_int_operand (operands[3], E_QImode))
22680 : : return -1;
22681 : : x13 = XEXP (x8, 0);
22682 : : if (!rtx_equal_p (x13, operands[2]))
22683 : : return -1;
22684 : : switch (GET_MODE (operands[0]))
22685 : : {
22686 : : case E_SImode:
22687 : : if (pattern1434 (x3,
22688 : : E_SImode) != 0
22689 : : || !
22690 : : #line 22347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22691 : : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
22692 : : return -1;
22693 : : return 1624; /* *bmi2_bzhi_si3 */
22694 : :
22695 : : case E_DImode:
22696 : : if (pattern1434 (x3,
22697 : : E_DImode) != 0
22698 : : || !(
22699 : : #line 22347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22700 : : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
22701 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22702 : : (TARGET_64BIT)))
22703 : : return -1;
22704 : : return 1625; /* *bmi2_bzhi_di3 */
22705 : :
22706 : : default:
22707 : : return -1;
22708 : : }
22709 : :
22710 : : case UNSPEC:
22711 : : if (XVECLEN (x6, 0) != 1
22712 : : || XINT (x6, 1) != 36)
22713 : : return -1;
22714 : : x14 = XVECEXP (x6, 0, 0);
22715 : : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22716 : : return -1;
22717 : : x7 = XEXP (x3, 1);
22718 : : if (GET_CODE (x7) != LABEL_REF)
22719 : : return -1;
22720 : : x10 = XEXP (x3, 2);
22721 : : if (GET_CODE (x10) != PC)
22722 : : return -1;
22723 : : x15 = XEXP (x2, 0);
22724 : : if (GET_CODE (x15) != PC)
22725 : : return -1;
22726 : : x16 = XVECEXP (x1, 0, 1);
22727 : : if (GET_CODE (x16) != SET)
22728 : : return -1;
22729 : : x17 = XEXP (x16, 1);
22730 : : if (pattern815 (x17,
22731 : : E_SImode,
22732 : : 46,
22733 : : 1,
22734 : : UNSPEC_VOLATILE) != 0)
22735 : : return -1;
22736 : : x11 = XEXP (x7, 0);
22737 : : operands[1] = x11;
22738 : : x18 = XEXP (x16, 0);
22739 : : operands[0] = x18;
22740 : : if (!register_operand (operands[0], E_SImode))
22741 : : return -1;
22742 : : x19 = XVECEXP (x17, 0, 0);
22743 : : if (!rtx_equal_p (x19, operands[0])
22744 : : || !
22745 : : #line 30286 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22746 : : (TARGET_RTM))
22747 : : return -1;
22748 : : return 2023; /* xbegin_1 */
22749 : :
22750 : : default:
22751 : : return -1;
22752 : : }
22753 : :
22754 : : case LTU:
22755 : : case UNLT:
22756 : : operands[1] = x4;
22757 : : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
22758 : : return -1;
22759 : : x6 = XEXP (x4, 0);
22760 : : if (GET_CODE (x6) != REG
22761 : : || REGNO (x6) != 17)
22762 : : return -1;
22763 : : x5 = XEXP (x4, 1);
22764 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22765 : : return -1;
22766 : : x7 = XEXP (x3, 1);
22767 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
22768 : : return -1;
22769 : : x10 = XEXP (x3, 2);
22770 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
22771 : : || pattern347 (x1) != 0)
22772 : : return -1;
22773 : : switch (pattern1572 (x3))
22774 : : {
22775 : : case 0:
22776 : : return 1829; /* *x86_movsicc_0_m1 */
22777 : :
22778 : : case 1:
22779 : : if (!
22780 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22781 : : (TARGET_64BIT))
22782 : : return -1;
22783 : : return 1830; /* *x86_movdicc_0_m1 */
22784 : :
22785 : : default:
22786 : : return -1;
22787 : : }
22788 : :
22789 : : default:
22790 : : return -1;
22791 : : }
22792 : : }
22793 : :
22794 : : int
22795 : : recog_409 (rtx x1 ATTRIBUTE_UNUSED,
22796 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22797 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22798 : : {
22799 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22800 : : rtx x2, x3, x4, x5;
22801 : : int res ATTRIBUTE_UNUSED;
22802 : : x2 = XVECEXP (x1, 0, 0);
22803 : : x3 = XEXP (x2, 1);
22804 : : x4 = XEXP (x3, 1);
22805 : : operands[2] = x4;
22806 : : x5 = XVECEXP (x1, 0, 1);
22807 : : switch (pattern822 (x5))
22808 : : {
22809 : : case 0:
22810 : : switch (GET_MODE (operands[0]))
22811 : : {
22812 : : case E_DImode:
22813 : : if (pattern1437 (x3,
22814 : : E_DImode) != 0)
22815 : : return -1;
22816 : : if ((
22817 : : #line 13590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22818 : : (TARGET_BMI) &&
22819 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22820 : : (!TARGET_64BIT)))
22821 : : return 837; /* *andndi3_doubleword_bmi */
22822 : : if ((
22823 : : #line 13608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22824 : : (!TARGET_BMI
22825 : : && ix86_pre_reload_split ()) &&
22826 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22827 : : (!TARGET_64BIT)))
22828 : : return 839; /* *andndi3_doubleword */
22829 : : if (!(
22830 : : #line 13624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22831 : : (TARGET_BMI || TARGET_AVX512BW) &&
22832 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22833 : : (TARGET_64BIT)))
22834 : : return -1;
22835 : : return 842; /* *andndi_1 */
22836 : :
22837 : : case E_TImode:
22838 : : if (pattern1437 (x3,
22839 : : E_TImode) != 0)
22840 : : return -1;
22841 : : if ((
22842 : : #line 13590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22843 : : (TARGET_BMI) &&
22844 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22845 : : (TARGET_64BIT)))
22846 : : return 838; /* *andnti3_doubleword_bmi */
22847 : : if (!(
22848 : : #line 13608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22849 : : (!TARGET_BMI
22850 : : && ix86_pre_reload_split ()) &&
22851 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22852 : : (TARGET_64BIT)))
22853 : : return -1;
22854 : : return 840; /* *andnti3_doubleword */
22855 : :
22856 : : case E_SImode:
22857 : : if (pattern1437 (x3,
22858 : : E_SImode) != 0
22859 : : || !
22860 : : #line 13624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22861 : : (TARGET_BMI || TARGET_AVX512BW))
22862 : : return -1;
22863 : : return 841; /* *andnsi_1 */
22864 : :
22865 : : case E_QImode:
22866 : : if (pattern1438 (x3,
22867 : : E_QImode) != 0
22868 : : || !
22869 : : #line 13640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22870 : : (TARGET_BMI || TARGET_AVX512BW))
22871 : : return -1;
22872 : : return 843; /* *andnqi_1 */
22873 : :
22874 : : case E_HImode:
22875 : : if (pattern1438 (x3,
22876 : : E_HImode) != 0
22877 : : || !
22878 : : #line 13640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22879 : : (TARGET_BMI || TARGET_AVX512BW))
22880 : : return -1;
22881 : : return 844; /* *andnhi_1 */
22882 : :
22883 : : case E_V4QImode:
22884 : : if (pattern1438 (x3,
22885 : : E_V4QImode) != 0)
22886 : : return -1;
22887 : : return 2328; /* *andnotv4qi3 */
22888 : :
22889 : : case E_V2QImode:
22890 : : if (pattern1438 (x3,
22891 : : E_V2QImode) != 0)
22892 : : return -1;
22893 : : return 2329; /* *andnotv2qi3 */
22894 : :
22895 : : case E_V2HImode:
22896 : : if (pattern1438 (x3,
22897 : : E_V2HImode) != 0)
22898 : : return -1;
22899 : : return 2330; /* *andnotv2hi3 */
22900 : :
22901 : : default:
22902 : : return -1;
22903 : : }
22904 : :
22905 : : case 1:
22906 : : if (pattern1438 (x3,
22907 : : E_QImode) != 0
22908 : : || !
22909 : : #line 2158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22910 : : (TARGET_AVX512F))
22911 : : return -1;
22912 : : return 2647; /* kandnqi */
22913 : :
22914 : : case 2:
22915 : : if (pattern1438 (x3,
22916 : : E_HImode) != 0
22917 : : || !
22918 : : #line 2158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22919 : : (TARGET_AVX512F))
22920 : : return -1;
22921 : : return 2648; /* kandnhi */
22922 : :
22923 : : case 3:
22924 : : if (pattern1438 (x3,
22925 : : E_SImode) != 0
22926 : : || !(
22927 : : #line 2158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22928 : : (TARGET_AVX512F) &&
22929 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22930 : : (TARGET_AVX512BW)))
22931 : : return -1;
22932 : : return 2649; /* kandnsi */
22933 : :
22934 : : case 4:
22935 : : if (pattern1438 (x3,
22936 : : E_DImode) != 0
22937 : : || !(
22938 : : #line 2158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22939 : : (TARGET_AVX512F) &&
22940 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22941 : : (TARGET_AVX512BW)))
22942 : : return -1;
22943 : : return 2650; /* kandndi */
22944 : :
22945 : : default:
22946 : : return -1;
22947 : : }
22948 : : }
22949 : :
22950 : : int
22951 : : recog_412 (rtx x1 ATTRIBUTE_UNUSED,
22952 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22953 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22954 : : {
22955 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22956 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22957 : : rtx x10, x11, x12, x13;
22958 : : int res ATTRIBUTE_UNUSED;
22959 : : x2 = XVECEXP (x1, 0, 0);
22960 : : x3 = XEXP (x2, 1);
22961 : : x4 = XEXP (x3, 0);
22962 : : switch (GET_CODE (x4))
22963 : : {
22964 : : case REG:
22965 : : case SUBREG:
22966 : : case MEM:
22967 : : operands[1] = x4;
22968 : : switch (pattern565 (x1))
22969 : : {
22970 : : case 0:
22971 : : if (
22972 : : #line 13041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22973 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22974 : : return 755; /* *xorqi_1_slp */
22975 : : break;
22976 : :
22977 : : case 1:
22978 : : if (
22979 : : #line 13041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22980 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22981 : : return 758; /* *xorhi_1_slp */
22982 : : break;
22983 : :
22984 : : case 2:
22985 : : if (x86_64_hilo_general_operand (operands[2], E_DImode)
22986 : : && (
22987 : : #line 13805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22988 : : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
22989 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22990 : : (!TARGET_64BIT)))
22991 : : return 848; /* *xordi3_doubleword */
22992 : : if (x86_64_general_operand (operands[2], E_DImode)
22993 : : && (
22994 : : #line 13863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22995 : : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)
22996 : : && true) &&
22997 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22998 : : (TARGET_64BIT)))
22999 : : return 862; /* *xordi_1 */
23000 : : if (const_int_operand (operands[2], E_DImode)
23001 : : &&
23002 : : #line 13933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23003 : : (TARGET_64BIT && TARGET_USE_BT
23004 : : && ix86_binary_operator_ok (XOR, DImode, operands)
23005 : : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
23006 : : return 867; /* *xordi_1_btc */
23007 : : break;
23008 : :
23009 : : case 3:
23010 : : if ((
23011 : : #line 13805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23012 : : (ix86_binary_operator_ok (XOR, TImode, operands, TARGET_APX_NDD)) &&
23013 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23014 : : (TARGET_64BIT)))
23015 : : return 850; /* *xorti3_doubleword */
23016 : : break;
23017 : :
23018 : : case 4:
23019 : : if (
23020 : : #line 13863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23021 : : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)
23022 : : && true))
23023 : : return 854; /* *xorhi_1 */
23024 : : break;
23025 : :
23026 : : case 5:
23027 : : if (
23028 : : #line 13863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23029 : : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)
23030 : : && true))
23031 : : return 858; /* *xorsi_1 */
23032 : : break;
23033 : :
23034 : : case 6:
23035 : : if (
23036 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23037 : : (ix86_binary_operator_ok (XOR, V4QImode, operands)))
23038 : : return 2342; /* *xorv4qi3 */
23039 : : break;
23040 : :
23041 : : case 7:
23042 : : if (
23043 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23044 : : (ix86_binary_operator_ok (XOR, V2QImode, operands)))
23045 : : return 2345; /* *xorv2qi3 */
23046 : : break;
23047 : :
23048 : : case 8:
23049 : : if (
23050 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23051 : : (ix86_binary_operator_ok (XOR, V2HImode, operands)))
23052 : : return 2348; /* *xorv2hi3 */
23053 : : break;
23054 : :
23055 : : case 9:
23056 : : if (
23057 : : #line 2112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23058 : : (TARGET_AVX512F))
23059 : : return 2637; /* kxorqi */
23060 : : break;
23061 : :
23062 : : case 10:
23063 : : if (
23064 : : #line 2112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23065 : : (TARGET_AVX512F))
23066 : : return 2640; /* kxorhi */
23067 : : break;
23068 : :
23069 : : case 11:
23070 : : if ((
23071 : : #line 2112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23072 : : (TARGET_AVX512F) &&
23073 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23074 : : (TARGET_AVX512BW)))
23075 : : return 2643; /* kxorsi */
23076 : : break;
23077 : :
23078 : : case 12:
23079 : : if ((
23080 : : #line 2112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23081 : : (TARGET_AVX512F) &&
23082 : : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23083 : : (TARGET_AVX512BW)))
23084 : : return 2646; /* kxordi */
23085 : : break;
23086 : :
23087 : : default:
23088 : : break;
23089 : : }
23090 : : x5 = XVECEXP (x1, 0, 1);
23091 : : if (GET_CODE (x5) != CLOBBER
23092 : : || pattern566 (x1) != 0)
23093 : : return -1;
23094 : : if (GET_CODE (x4) == SUBREG
23095 : : && known_eq (SUBREG_BYTE (x4), 0)
23096 : : && GET_MODE (x4) == E_QImode)
23097 : : {
23098 : : res = recog_411 (x1, insn, pnum_clobbers);
23099 : : if (res >= 0)
23100 : : return res;
23101 : : }
23102 : : x6 = XEXP (x2, 0);
23103 : : operands[0] = x6;
23104 : : if (!nonimmediate_operand (operands[0], E_QImode))
23105 : : return -1;
23106 : : operands[1] = x4;
23107 : : if (!nonimmediate_operand (operands[1], E_QImode))
23108 : : return -1;
23109 : : x7 = XEXP (x3, 1);
23110 : : operands[2] = x7;
23111 : : if (!general_operand (operands[2], E_QImode)
23112 : : || !
23113 : : #line 14053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23114 : : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)
23115 : : && true))
23116 : : return -1;
23117 : : return 898; /* *xorqi_1 */
23118 : :
23119 : : case AND:
23120 : : x8 = XEXP (x4, 0);
23121 : : if (GET_CODE (x8) != XOR)
23122 : : return -1;
23123 : : x5 = XVECEXP (x1, 0, 1);
23124 : : if (pattern358 (x5) != 0)
23125 : : return -1;
23126 : : switch (pattern1053 (x2))
23127 : : {
23128 : : case 0:
23129 : : if (!
23130 : : #line 13962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23131 : : (TARGET_BMI && ix86_pre_reload_split ()))
23132 : : return -1;
23133 : : return 868; /* *xor2andn */
23134 : :
23135 : : case 1:
23136 : : if (!
23137 : : #line 13962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23138 : : (TARGET_BMI && ix86_pre_reload_split ()))
23139 : : return -1;
23140 : : return 869; /* *xor2andn */
23141 : :
23142 : : case 2:
23143 : : if (!(
23144 : : #line 13962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23145 : : (TARGET_BMI && ix86_pre_reload_split ()) &&
23146 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23147 : : (TARGET_64BIT)))
23148 : : return -1;
23149 : : return 870; /* *xor2andn */
23150 : :
23151 : : default:
23152 : : return -1;
23153 : : }
23154 : :
23155 : : case ZERO_EXTEND:
23156 : : if (GET_MODE (x4) != E_DImode
23157 : : || pattern567 (x1) != 0)
23158 : : return -1;
23159 : : x8 = XEXP (x4, 0);
23160 : : switch (GET_CODE (x8))
23161 : : {
23162 : : case REG:
23163 : : case SUBREG:
23164 : : case MEM:
23165 : : operands[1] = x8;
23166 : : if (!nonimmediate_operand (operands[1], E_SImode))
23167 : : return -1;
23168 : : x7 = XEXP (x3, 1);
23169 : : operands[2] = x7;
23170 : : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
23171 : : || !
23172 : : #line 14040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23173 : : (TARGET_64BIT
23174 : : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23175 : : return -1;
23176 : : return 894; /* *xorsi_1_zext_imm */
23177 : :
23178 : : case MINUS:
23179 : : if (GET_MODE (x8) != E_SImode)
23180 : : return -1;
23181 : : x9 = XEXP (x8, 0);
23182 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
23183 : : return -1;
23184 : : x10 = XEXP (x8, 1);
23185 : : if (GET_CODE (x10) != SUBREG
23186 : : || maybe_ne (SUBREG_BYTE (x10), 0)
23187 : : || GET_MODE (x10) != E_SImode)
23188 : : return -1;
23189 : : x11 = XEXP (x10, 0);
23190 : : if (GET_CODE (x11) != CLZ
23191 : : || GET_MODE (x11) != E_DImode)
23192 : : return -1;
23193 : : x7 = XEXP (x3, 1);
23194 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
23195 : : return -1;
23196 : : x12 = XEXP (x11, 0);
23197 : : operands[1] = x12;
23198 : : if (!nonimmediate_operand (operands[1], E_DImode)
23199 : : || !
23200 : : #line 21620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23201 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
23202 : : return -1;
23203 : : return 1563; /* *bsr_rex64u_2 */
23204 : :
23205 : : default:
23206 : : return -1;
23207 : : }
23208 : :
23209 : : case ASHIFT:
23210 : : switch (pattern377 (x1,
23211 : : 1))
23212 : : {
23213 : : case 0:
23214 : : x13 = XEXP (x4, 1);
23215 : : operands[2] = x13;
23216 : : if (register_operand (operands[2], E_QImode))
23217 : : {
23218 : : switch (pattern943 (x3))
23219 : : {
23220 : : case 0:
23221 : : if (
23222 : : #line 19115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23223 : : (TARGET_USE_BT))
23224 : : return 1424; /* *btcsi */
23225 : : break;
23226 : :
23227 : : case 1:
23228 : : if ((
23229 : : #line 19115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23230 : : (TARGET_USE_BT) &&
23231 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23232 : : (TARGET_64BIT)))
23233 : : return 1426; /* *btcdi */
23234 : : break;
23235 : :
23236 : : default:
23237 : : break;
23238 : : }
23239 : : }
23240 : : if (GET_CODE (x13) != SUBREG)
23241 : : return -1;
23242 : : switch (pattern1331 (x3))
23243 : : {
23244 : : case 0:
23245 : : if (!
23246 : : #line 19134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23247 : : (TARGET_USE_BT
23248 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
23249 : : == GET_MODE_BITSIZE (SImode)-1
23250 : : && ix86_pre_reload_split ()))
23251 : : return -1;
23252 : : return 1428; /* *btcsi_mask */
23253 : :
23254 : : case 1:
23255 : : if (!(
23256 : : #line 19134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23257 : : (TARGET_USE_BT
23258 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
23259 : : == GET_MODE_BITSIZE (DImode)-1
23260 : : && ix86_pre_reload_split ()) &&
23261 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23262 : : (TARGET_64BIT)))
23263 : : return -1;
23264 : : return 1430; /* *btcdi_mask */
23265 : :
23266 : : default:
23267 : : return -1;
23268 : : }
23269 : :
23270 : : case 1:
23271 : : if (!
23272 : : #line 19162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23273 : : (TARGET_USE_BT
23274 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
23275 : : == GET_MODE_BITSIZE (SImode)-1
23276 : : && ix86_pre_reload_split ()))
23277 : : return -1;
23278 : : return 1432; /* *btcsi_mask_1 */
23279 : :
23280 : : case 2:
23281 : : if (!(
23282 : : #line 19162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23283 : : (TARGET_USE_BT
23284 : : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
23285 : : == GET_MODE_BITSIZE (DImode)-1
23286 : : && ix86_pre_reload_split ()) &&
23287 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23288 : : (TARGET_64BIT)))
23289 : : return -1;
23290 : : return 1434; /* *btcdi_mask_1 */
23291 : :
23292 : : default:
23293 : : return -1;
23294 : : }
23295 : :
23296 : : case SIGN_EXTEND:
23297 : : if (GET_MODE (x4) != E_DImode)
23298 : : return -1;
23299 : : x8 = XEXP (x4, 0);
23300 : : if (GET_CODE (x8) != MINUS
23301 : : || GET_MODE (x8) != E_SImode)
23302 : : return -1;
23303 : : x9 = XEXP (x8, 0);
23304 : : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
23305 : : return -1;
23306 : : x10 = XEXP (x8, 1);
23307 : : if (GET_CODE (x10) != SUBREG
23308 : : || maybe_ne (SUBREG_BYTE (x10), 0)
23309 : : || GET_MODE (x10) != E_SImode)
23310 : : return -1;
23311 : : x11 = XEXP (x10, 0);
23312 : : if (GET_CODE (x11) != CLZ
23313 : : || GET_MODE (x11) != E_DImode)
23314 : : return -1;
23315 : : x7 = XEXP (x3, 1);
23316 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
23317 : : return -1;
23318 : : x5 = XVECEXP (x1, 0, 1);
23319 : : if (pattern235 (x5,
23320 : : E_CCmode,
23321 : : 17) != 0)
23322 : : return -1;
23323 : : x6 = XEXP (x2, 0);
23324 : : operands[0] = x6;
23325 : : if (!register_operand (operands[0], E_DImode)
23326 : : || GET_MODE (x3) != E_DImode)
23327 : : return -1;
23328 : : x12 = XEXP (x11, 0);
23329 : : operands[1] = x12;
23330 : : if (!nonimmediate_operand (operands[1], E_DImode)
23331 : : || !
23332 : : #line 21620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23333 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
23334 : : return -1;
23335 : : return 1562; /* *bsr_rex64_2 */
23336 : :
23337 : : case PLUS:
23338 : : x13 = XEXP (x4, 1);
23339 : : if (GET_CODE (x13) != CONST_INT
23340 : : || pattern352 (x1) != 0)
23341 : : return -1;
23342 : : x7 = XEXP (x3, 1);
23343 : : if (!rtx_equal_p (x7, operands[1]))
23344 : : return -1;
23345 : : switch (XWINT (x13, 0))
23346 : : {
23347 : : case -1L:
23348 : : switch (GET_MODE (operands[0]))
23349 : : {
23350 : : case E_SImode:
23351 : : if (pattern931 (x3,
23352 : : E_SImode) != 0
23353 : : || !
23354 : : #line 22174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23355 : : (TARGET_BMI))
23356 : : return -1;
23357 : : return 1612; /* *bmi_blsmsk_si */
23358 : :
23359 : : case E_DImode:
23360 : : if (pattern931 (x3,
23361 : : E_DImode) != 0
23362 : : || !(
23363 : : #line 22174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23364 : : (TARGET_BMI) &&
23365 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23366 : : (TARGET_64BIT)))
23367 : : return -1;
23368 : : return 1613; /* *bmi_blsmsk_di */
23369 : :
23370 : : default:
23371 : : return -1;
23372 : : }
23373 : :
23374 : : case 1L:
23375 : : switch (GET_MODE (operands[0]))
23376 : : {
23377 : : case E_SImode:
23378 : : if (pattern931 (x3,
23379 : : E_SImode) != 0
23380 : : || !
23381 : : #line 22520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23382 : : (TARGET_TBM))
23383 : : return -1;
23384 : : return 1646; /* *tbm_blcmsk_si */
23385 : :
23386 : : case E_DImode:
23387 : : if (pattern931 (x3,
23388 : : E_DImode) != 0
23389 : : || !(
23390 : : #line 22520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23391 : : (TARGET_TBM) &&
23392 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23393 : : (TARGET_64BIT)))
23394 : : return -1;
23395 : : return 1647; /* *tbm_blcmsk_di */
23396 : :
23397 : : default:
23398 : : return -1;
23399 : : }
23400 : :
23401 : : default:
23402 : : return -1;
23403 : : }
23404 : :
23405 : : default:
23406 : : return -1;
23407 : : }
23408 : : }
23409 : :
23410 : : int
23411 : : recog_423 (rtx x1 ATTRIBUTE_UNUSED,
23412 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23413 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23414 : : {
23415 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23416 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23417 : : rtx x10;
23418 : : int res ATTRIBUTE_UNUSED;
23419 : : x2 = XVECEXP (x1, 0, 0);
23420 : : x3 = XEXP (x2, 1);
23421 : : x4 = XEXP (x3, 0);
23422 : : if (GET_CODE (x4) != TRUNCATE)
23423 : : return -1;
23424 : : x5 = XEXP (x3, 1);
23425 : : if (GET_CODE (x5) != TRUNCATE)
23426 : : return -1;
23427 : : x6 = XVECEXP (x1, 0, 1);
23428 : : if (GET_CODE (x6) != USE)
23429 : : return -1;
23430 : : x7 = XEXP (x2, 0);
23431 : : operands[0] = x7;
23432 : : x8 = XEXP (x4, 0);
23433 : : operands[1] = x8;
23434 : : x9 = XEXP (x5, 0);
23435 : : operands[2] = x9;
23436 : : x10 = XEXP (x6, 0);
23437 : : operands[3] = x10;
23438 : : if (!nonimmediate_operand (operands[3], E_V16QImode))
23439 : : return -1;
23440 : : switch (GET_MODE (operands[0]))
23441 : : {
23442 : : case E_V4SImode:
23443 : : if (pattern1333 (x3,
23444 : : E_V2DImode,
23445 : : E_V2SImode,
23446 : : E_V4SImode) != 0
23447 : : || !
23448 : : #line 26824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23449 : : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23450 : : return -1;
23451 : : return 9074; /* xop_pperm_pack_v2di_v4si */
23452 : :
23453 : : case E_V8HImode:
23454 : : if (pattern1333 (x3,
23455 : : E_V4SImode,
23456 : : E_V4HImode,
23457 : : E_V8HImode) != 0
23458 : : || !
23459 : : #line 26837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23460 : : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23461 : : return -1;
23462 : : return 9075; /* xop_pperm_pack_v4si_v8hi */
23463 : :
23464 : : case E_V16QImode:
23465 : : if (pattern1333 (x3,
23466 : : E_V8HImode,
23467 : : E_V8QImode,
23468 : : E_V16QImode) != 0
23469 : : || !
23470 : : #line 26850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23471 : : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
23472 : : return -1;
23473 : : return 9076; /* xop_pperm_pack_v8hi_v16qi */
23474 : :
23475 : : default:
23476 : : return -1;
23477 : : }
23478 : : }
23479 : :
23480 : : int
23481 : : recog_425 (rtx x1 ATTRIBUTE_UNUSED,
23482 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23483 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23484 : : {
23485 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23486 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23487 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23488 : : rtx x18, x19, x20, x21;
23489 : : int res ATTRIBUTE_UNUSED;
23490 : : x2 = XVECEXP (x1, 0, 0);
23491 : : x3 = XEXP (x2, 1);
23492 : : x4 = XEXP (x3, 0);
23493 : : if (GET_CODE (x4) != UNSPEC
23494 : : || XVECLEN (x4, 0) != 4
23495 : : || XINT (x4, 1) != 154)
23496 : : return -1;
23497 : : x5 = XVECEXP (x4, 0, 1);
23498 : : if (GET_CODE (x5) != MEM)
23499 : : return -1;
23500 : : x6 = XEXP (x5, 0);
23501 : : if (GET_CODE (x6) != UNSPEC
23502 : : || XVECLEN (x6, 0) != 3
23503 : : || XINT (x6, 1) != 155)
23504 : : return -1;
23505 : : x7 = XVECEXP (x4, 0, 2);
23506 : : if (GET_CODE (x7) != MEM
23507 : : || GET_MODE (x7) != E_BLKmode)
23508 : : return -1;
23509 : : x8 = XEXP (x7, 0);
23510 : : if (GET_CODE (x8) != SCRATCH)
23511 : : return -1;
23512 : : x9 = XEXP (x3, 1);
23513 : : if (GET_CODE (x9) != PARALLEL
23514 : : || XVECLEN (x9, 0) != 4)
23515 : : return -1;
23516 : : x10 = XVECEXP (x9, 0, 0);
23517 : : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23518 : : return -1;
23519 : : x11 = XVECEXP (x9, 0, 1);
23520 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
23521 : : return -1;
23522 : : x12 = XVECEXP (x9, 0, 2);
23523 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
23524 : : return -1;
23525 : : x13 = XVECEXP (x9, 0, 3);
23526 : : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
23527 : : return -1;
23528 : : x14 = XVECEXP (x1, 0, 1);
23529 : : if (GET_CODE (x14) != CLOBBER)
23530 : : return -1;
23531 : : x15 = XEXP (x2, 0);
23532 : : operands[0] = x15;
23533 : : x16 = XVECEXP (x6, 0, 1);
23534 : : if (!register_operand (x16, E_V4DImode))
23535 : : return -1;
23536 : : x17 = XVECEXP (x6, 0, 2);
23537 : : if (!const1248_operand (x17, E_SImode))
23538 : : return -1;
23539 : : x18 = XEXP (x14, 0);
23540 : : operands[1] = x18;
23541 : : x19 = XVECEXP (x4, 0, 0);
23542 : : switch (GET_CODE (x19))
23543 : : {
23544 : : case REG:
23545 : : case SUBREG:
23546 : : operands[2] = x19;
23547 : : operands[7] = x5;
23548 : : x20 = XVECEXP (x6, 0, 0);
23549 : : operands[3] = x20;
23550 : : operands[4] = x16;
23551 : : operands[6] = x17;
23552 : : x21 = XVECEXP (x4, 0, 3);
23553 : : operands[5] = x21;
23554 : : switch (GET_MODE (operands[0]))
23555 : : {
23556 : : case E_V4SImode:
23557 : : switch (pattern1872 (x3,
23558 : : E_V8SImode,
23559 : : E_V4SImode,
23560 : : E_SImode))
23561 : : {
23562 : : case 0:
23563 : : if (!(
23564 : : #line 29814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23565 : : (TARGET_AVX2) &&
23566 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23567 : : (Pmode == SImode)))
23568 : : return -1;
23569 : : return 9798; /* *avx2_gatherdiv8si_3 */
23570 : :
23571 : : case 1:
23572 : : if (!(
23573 : : #line 29814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23574 : : (TARGET_AVX2) &&
23575 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23576 : : (Pmode == DImode)))
23577 : : return -1;
23578 : : return 9800; /* *avx2_gatherdiv8si_3 */
23579 : :
23580 : : default:
23581 : : return -1;
23582 : : }
23583 : :
23584 : : case E_V4SFmode:
23585 : : switch (pattern1872 (x3,
23586 : : E_V8SFmode,
23587 : : E_V4SFmode,
23588 : : E_SFmode))
23589 : : {
23590 : : case 0:
23591 : : if (!(
23592 : : #line 29814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23593 : : (TARGET_AVX2) &&
23594 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23595 : : (Pmode == SImode)))
23596 : : return -1;
23597 : : return 9799; /* *avx2_gatherdiv8sf_3 */
23598 : :
23599 : : case 1:
23600 : : if (!(
23601 : : #line 29814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23602 : : (TARGET_AVX2) &&
23603 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23604 : : (Pmode == DImode)))
23605 : : return -1;
23606 : : return 9801; /* *avx2_gatherdiv8sf_3 */
23607 : :
23608 : : default:
23609 : : return -1;
23610 : : }
23611 : :
23612 : : default:
23613 : : return -1;
23614 : : }
23615 : :
23616 : : case PC:
23617 : : operands[6] = x5;
23618 : : x20 = XVECEXP (x6, 0, 0);
23619 : : operands[2] = x20;
23620 : : operands[3] = x16;
23621 : : operands[5] = x17;
23622 : : x21 = XVECEXP (x4, 0, 3);
23623 : : operands[4] = x21;
23624 : : switch (GET_MODE (operands[0]))
23625 : : {
23626 : : case E_V4SImode:
23627 : : switch (pattern1868 (x3,
23628 : : E_V8SImode,
23629 : : E_V4SImode,
23630 : : E_SImode))
23631 : : {
23632 : : case 0:
23633 : : if (!(
23634 : : #line 29838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23635 : : (TARGET_AVX2) &&
23636 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23637 : : (Pmode == SImode)))
23638 : : return -1;
23639 : : return 9802; /* *avx2_gatherdiv8si_4 */
23640 : :
23641 : : case 1:
23642 : : if (!(
23643 : : #line 29838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23644 : : (TARGET_AVX2) &&
23645 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23646 : : (Pmode == DImode)))
23647 : : return -1;
23648 : : return 9804; /* *avx2_gatherdiv8si_4 */
23649 : :
23650 : : default:
23651 : : return -1;
23652 : : }
23653 : :
23654 : : case E_V4SFmode:
23655 : : switch (pattern1868 (x3,
23656 : : E_V8SFmode,
23657 : : E_V4SFmode,
23658 : : E_SFmode))
23659 : : {
23660 : : case 0:
23661 : : if (!(
23662 : : #line 29838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23663 : : (TARGET_AVX2) &&
23664 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23665 : : (Pmode == SImode)))
23666 : : return -1;
23667 : : return 9803; /* *avx2_gatherdiv8sf_4 */
23668 : :
23669 : : case 1:
23670 : : if (!(
23671 : : #line 29838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23672 : : (TARGET_AVX2) &&
23673 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23674 : : (Pmode == DImode)))
23675 : : return -1;
23676 : : return 9805; /* *avx2_gatherdiv8sf_4 */
23677 : :
23678 : : default:
23679 : : return -1;
23680 : : }
23681 : :
23682 : : default:
23683 : : return -1;
23684 : : }
23685 : :
23686 : : default:
23687 : : return -1;
23688 : : }
23689 : : }
23690 : :
23691 : : int
23692 : : recog_432 (rtx x1 ATTRIBUTE_UNUSED,
23693 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23694 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23695 : : {
23696 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23697 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23698 : : rtx x10, x11, x12, x13, x14, x15, x16;
23699 : : int res ATTRIBUTE_UNUSED;
23700 : : x2 = XVECEXP (x1, 0, 0);
23701 : : x3 = XEXP (x2, 1);
23702 : : x4 = XEXP (x3, 0);
23703 : : if (GET_CODE (x4) != MEM
23704 : : || GET_MODE (x4) != E_QImode)
23705 : : return -1;
23706 : : x5 = XEXP (x2, 0);
23707 : : operands[0] = x5;
23708 : : x6 = XEXP (x4, 0);
23709 : : switch (GET_CODE (x6))
23710 : : {
23711 : : case SUBREG:
23712 : : case MEM:
23713 : : operands[1] = x6;
23714 : : if (!memory_operand (operands[1], E_SImode)
23715 : : || pattern389 (x1) != 0)
23716 : : return -1;
23717 : : x7 = XEXP (x3, 1);
23718 : : operands[2] = x7;
23719 : : x8 = XVECEXP (x1, 0, 1);
23720 : : x9 = XEXP (x8, 1);
23721 : : x10 = XEXP (x9, 1);
23722 : : operands[3] = x10;
23723 : : if (!immediate_operand (operands[3], E_SImode)
23724 : : || !
23725 : : #line 20766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23726 : : (!TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER))
23727 : : return -1;
23728 : : return 1517; /* *sibcall_value_pop_memory */
23729 : :
23730 : : case SYMBOL_REF:
23731 : : if (!constant_call_address_operand (x6, E_VOIDmode))
23732 : : return -1;
23733 : : x8 = XVECEXP (x1, 0, 1);
23734 : : if (GET_CODE (x8) != UNSPEC)
23735 : : return -1;
23736 : : x11 = XVECEXP (x1, 0, 2);
23737 : : if (GET_CODE (x11) != CLOBBER)
23738 : : return -1;
23739 : : switch (pattern1173 (x8))
23740 : : {
23741 : : case 0:
23742 : : operands[2] = x6;
23743 : : x7 = XEXP (x3, 1);
23744 : : operands[3] = x7;
23745 : : x12 = XVECEXP (x8, 0, 0);
23746 : : operands[1] = x12;
23747 : : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
23748 : : return -1;
23749 : : x13 = XEXP (x11, 0);
23750 : : operands[4] = x13;
23751 : : switch (GET_MODE (operands[0]))
23752 : : {
23753 : : case E_SImode:
23754 : : if (pattern1741 (x1,
23755 : : E_SImode) != 0
23756 : : || !(
23757 : : #line 23288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23758 : : (TARGET_64BIT) &&
23759 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23760 : : (Pmode == SImode)))
23761 : : return -1;
23762 : : return 1684; /* *tls_global_dynamic_64_si */
23763 : :
23764 : : case E_DImode:
23765 : : if (pattern1741 (x1,
23766 : : E_DImode) != 0
23767 : : || !(
23768 : : #line 23288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23769 : : (TARGET_64BIT) &&
23770 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23771 : : (Pmode == DImode)))
23772 : : return -1;
23773 : : return 1685; /* *tls_global_dynamic_64_di */
23774 : :
23775 : : default:
23776 : : return -1;
23777 : : }
23778 : :
23779 : : case 1:
23780 : : operands[1] = x6;
23781 : : x7 = XEXP (x3, 1);
23782 : : operands[2] = x7;
23783 : : x13 = XEXP (x11, 0);
23784 : : operands[3] = x13;
23785 : : switch (GET_MODE (operands[0]))
23786 : : {
23787 : : case E_SImode:
23788 : : if (pattern1672 (x1,
23789 : : E_SImode) != 0
23790 : : || !(
23791 : : #line 23411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23792 : : (TARGET_64BIT) &&
23793 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23794 : : (Pmode == SImode)))
23795 : : return -1;
23796 : : return 1688; /* *tls_local_dynamic_base_64_si */
23797 : :
23798 : : case E_DImode:
23799 : : if (pattern1672 (x1,
23800 : : E_DImode) != 0
23801 : : || !(
23802 : : #line 23411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23803 : : (TARGET_64BIT) &&
23804 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23805 : : (Pmode == DImode)))
23806 : : return -1;
23807 : : return 1689; /* *tls_local_dynamic_base_64_di */
23808 : :
23809 : : default:
23810 : : return -1;
23811 : : }
23812 : :
23813 : : default:
23814 : : return -1;
23815 : : }
23816 : :
23817 : : case PLUS:
23818 : : if (GET_MODE (x6) != E_DImode)
23819 : : return -1;
23820 : : x8 = XVECEXP (x1, 0, 1);
23821 : : if (GET_CODE (x8) != UNSPEC)
23822 : : return -1;
23823 : : x11 = XVECEXP (x1, 0, 2);
23824 : : if (GET_CODE (x11) != CLOBBER
23825 : : || !register_operand (operands[0], E_DImode)
23826 : : || GET_MODE (x3) != E_DImode)
23827 : : return -1;
23828 : : x14 = XEXP (x6, 0);
23829 : : if (!register_operand (x14, E_DImode))
23830 : : return -1;
23831 : : x15 = XEXP (x6, 1);
23832 : : if (!immediate_operand (x15, E_DImode)
23833 : : || GET_MODE (x8) != E_DImode)
23834 : : return -1;
23835 : : x13 = XEXP (x11, 0);
23836 : : if (!register_operand (x13, E_DImode))
23837 : : return -1;
23838 : : switch (pattern1173 (x8))
23839 : : {
23840 : : case 0:
23841 : : x16 = XVECEXP (x8, 0, 1);
23842 : : if (GET_MODE (x16) != E_DImode)
23843 : : return -1;
23844 : : operands[2] = x14;
23845 : : operands[3] = x15;
23846 : : x7 = XEXP (x3, 1);
23847 : : operands[4] = x7;
23848 : : x12 = XVECEXP (x8, 0, 0);
23849 : : operands[1] = x12;
23850 : : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
23851 : : return -1;
23852 : : operands[5] = x13;
23853 : : if (!
23854 : : #line 23331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23855 : : (TARGET_64BIT && ix86_cmodel == CM_LARGE_PIC && !TARGET_PECOFF
23856 : : && GET_CODE (operands[3]) == CONST
23857 : : && GET_CODE (XEXP (operands[3], 0)) == UNSPEC
23858 : : && XINT (XEXP (operands[3], 0), 1) == UNSPEC_PLTOFF))
23859 : : return -1;
23860 : : return 1686; /* *tls_global_dynamic_64_largepic */
23861 : :
23862 : : case 1:
23863 : : x12 = XVECEXP (x8, 0, 0);
23864 : : if (GET_MODE (x12) != E_DImode)
23865 : : return -1;
23866 : : operands[1] = x14;
23867 : : operands[2] = x15;
23868 : : x7 = XEXP (x3, 1);
23869 : : operands[3] = x7;
23870 : : operands[4] = x13;
23871 : : if (!
23872 : : #line 23433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23873 : : (TARGET_64BIT && ix86_cmodel == CM_LARGE_PIC && !TARGET_PECOFF
23874 : : && GET_CODE (operands[2]) == CONST
23875 : : && GET_CODE (XEXP (operands[2], 0)) == UNSPEC
23876 : : && XINT (XEXP (operands[2], 0), 1) == UNSPEC_PLTOFF))
23877 : : return -1;
23878 : : return 1690; /* *tls_local_dynamic_base_64_largepic */
23879 : :
23880 : : default:
23881 : : return -1;
23882 : : }
23883 : :
23884 : : default:
23885 : : return -1;
23886 : : }
23887 : : }
23888 : :
23889 : : int
23890 : : recog_437 (rtx x1 ATTRIBUTE_UNUSED,
23891 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23892 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23893 : : {
23894 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23895 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23896 : : rtx x10, x11, x12, x13, x14, x15, x16;
23897 : : int res ATTRIBUTE_UNUSED;
23898 : : x2 = XVECEXP (x1, 0, 0);
23899 : : if (GET_CODE (x2) != SET)
23900 : : return -1;
23901 : : x3 = XVECEXP (x1, 0, 3);
23902 : : if (GET_CODE (x3) != CLOBBER)
23903 : : return -1;
23904 : : x4 = XEXP (x2, 1);
23905 : : switch (GET_CODE (x4))
23906 : : {
23907 : : case UNSIGNED_FIX:
23908 : : switch (pattern391 (x1))
23909 : : {
23910 : : case 0:
23911 : : if (!
23912 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23913 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
23914 : : && optimize_function_for_speed_p (cfun)))
23915 : : return -1;
23916 : : return 227; /* *fixuns_truncsf_1 */
23917 : :
23918 : : case 1:
23919 : : if (!
23920 : : #line 5920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23921 : : (!TARGET_64BIT && TARGET_SSE2 && TARGET_SSE_MATH
23922 : : && optimize_function_for_speed_p (cfun)))
23923 : : return -1;
23924 : : return 228; /* *fixuns_truncdf_1 */
23925 : :
23926 : : default:
23927 : : return -1;
23928 : : }
23929 : :
23930 : : case FIX:
23931 : : if (GET_MODE (x4) != E_DImode)
23932 : : return -1;
23933 : : x5 = XVECEXP (x1, 0, 1);
23934 : : if (GET_CODE (x5) != USE)
23935 : : return -1;
23936 : : x6 = XVECEXP (x1, 0, 2);
23937 : : if (GET_CODE (x6) != USE)
23938 : : return -1;
23939 : : x7 = XEXP (x2, 0);
23940 : : operands[0] = x7;
23941 : : if (!nonimmediate_operand (operands[0], E_DImode))
23942 : : return -1;
23943 : : x8 = XEXP (x4, 0);
23944 : : operands[1] = x8;
23945 : : if (!register_operand (operands[1], E_VOIDmode))
23946 : : return -1;
23947 : : x9 = XEXP (x5, 0);
23948 : : operands[2] = x9;
23949 : : if (!memory_operand (operands[2], E_HImode))
23950 : : return -1;
23951 : : x10 = XEXP (x6, 0);
23952 : : operands[3] = x10;
23953 : : if (!memory_operand (operands[3], E_HImode))
23954 : : return -1;
23955 : : x11 = XEXP (x3, 0);
23956 : : operands[4] = x11;
23957 : : if (!scratch_operand (operands[4], E_XFmode)
23958 : : || !
23959 : : #line 6030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23960 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
23961 : : && !TARGET_FISTTP
23962 : : && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
23963 : : return -1;
23964 : : return 239; /* fix_truncdi_i387 */
23965 : :
23966 : : case FLOAT:
23967 : : switch (pattern393 (x1))
23968 : : {
23969 : : case 0:
23970 : : if (!
23971 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23972 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
23973 : : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
23974 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
23975 : : return -1;
23976 : : return 258; /* floatdisf2_i387_with_xmm */
23977 : :
23978 : : case 1:
23979 : : if (!
23980 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23981 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
23982 : : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
23983 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
23984 : : return -1;
23985 : : return 259; /* floatdidf2_i387_with_xmm */
23986 : :
23987 : : case 2:
23988 : : if (!
23989 : : #line 6215 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23990 : : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
23991 : : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
23992 : : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)))
23993 : : return -1;
23994 : : return 260; /* floatdixf2_i387_with_xmm */
23995 : :
23996 : : default:
23997 : : return -1;
23998 : : }
23999 : :
24000 : : case DIV:
24001 : : switch (pattern398 (x1,
24002 : : MOD))
24003 : : {
24004 : : case 0:
24005 : : return 667; /* divmodsi4_1 */
24006 : :
24007 : : case 1:
24008 : : if (!
24009 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24010 : : (TARGET_64BIT))
24011 : : return -1;
24012 : : return 668; /* divmoddi4_1 */
24013 : :
24014 : : case 2:
24015 : : if (!
24016 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24017 : : (TARGET_HIMODE_MATH))
24018 : : return -1;
24019 : : return 695; /* *divmodhi4_noext */
24020 : :
24021 : : case 3:
24022 : : return 697; /* *divmodsi4_noext */
24023 : :
24024 : : case 4:
24025 : : if (!
24026 : : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24027 : : (TARGET_64BIT))
24028 : : return -1;
24029 : : return 699; /* *divmoddi4_noext */
24030 : :
24031 : : default:
24032 : : return -1;
24033 : : }
24034 : :
24035 : : case UDIV:
24036 : : switch (pattern398 (x1,
24037 : : UMOD))
24038 : : {
24039 : : case 0:
24040 : : return 669; /* udivmodsi4_1 */
24041 : :
24042 : : case 1:
24043 : : if (!
24044 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24045 : : (TARGET_64BIT))
24046 : : return -1;
24047 : : return 670; /* udivmoddi4_1 */
24048 : :
24049 : : case 2:
24050 : : if (!
24051 : : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24052 : : (TARGET_HIMODE_MATH))
24053 : : return -1;
24054 : : return 696; /* *udivmodhi4_noext */
24055 : :
24056 : : case 3:
24057 : : return 698; /* *udivmodsi4_noext */
24058 : :
24059 : : case 4:
24060 : : if (!
24061 : : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24062 : : (TARGET_64BIT))
24063 : : return -1;
24064 : : return 700; /* *udivmoddi4_noext */
24065 : :
24066 : : default:
24067 : : return -1;
24068 : : }
24069 : :
24070 : : case ZERO_EXTEND:
24071 : : if (GET_MODE (x4) != E_DImode)
24072 : : return -1;
24073 : : x5 = XVECEXP (x1, 0, 1);
24074 : : if (GET_CODE (x5) != SET)
24075 : : return -1;
24076 : : x11 = XEXP (x3, 0);
24077 : : if (GET_CODE (x11) != REG
24078 : : || REGNO (x11) != 17
24079 : : || GET_MODE (x11) != E_CCmode)
24080 : : return -1;
24081 : : switch (pattern1058 (x1))
24082 : : {
24083 : : case 0:
24084 : : switch (pattern1504 (x1,
24085 : : MOD))
24086 : : {
24087 : : case 0:
24088 : : if (!
24089 : : #line 11786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24090 : : (TARGET_64BIT))
24091 : : return -1;
24092 : : return 671; /* divmodsi4_zext_1 */
24093 : :
24094 : : case 1:
24095 : : if (!
24096 : : #line 12181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24097 : : (TARGET_64BIT))
24098 : : return -1;
24099 : : return 701; /* *divmodsi4_noext_zext_1 */
24100 : :
24101 : : default:
24102 : : return -1;
24103 : : }
24104 : :
24105 : : case 1:
24106 : : switch (pattern1504 (x1,
24107 : : UMOD))
24108 : : {
24109 : : case 0:
24110 : : if (!
24111 : : #line 11822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24112 : : (TARGET_64BIT))
24113 : : return -1;
24114 : : return 672; /* udivmodsi4_zext_1 */
24115 : :
24116 : : case 1:
24117 : : if (!
24118 : : #line 12181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24119 : : (TARGET_64BIT))
24120 : : return -1;
24121 : : return 702; /* *udivmodsi4_noext_zext_1 */
24122 : :
24123 : : default:
24124 : : return -1;
24125 : : }
24126 : :
24127 : : case 2:
24128 : : switch (pattern1505 (x1,
24129 : : DIV))
24130 : : {
24131 : : case 0:
24132 : : if (!
24133 : : #line 11845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24134 : : (TARGET_64BIT))
24135 : : return -1;
24136 : : return 673; /* divmodsi4_zext_2 */
24137 : :
24138 : : case 1:
24139 : : if (!
24140 : : #line 12195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24141 : : (TARGET_64BIT))
24142 : : return -1;
24143 : : return 703; /* *divmodsi4_noext_zext_2 */
24144 : :
24145 : : default:
24146 : : return -1;
24147 : : }
24148 : :
24149 : : case 3:
24150 : : switch (pattern1505 (x1,
24151 : : UDIV))
24152 : : {
24153 : : case 0:
24154 : : if (!
24155 : : #line 11882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24156 : : (TARGET_64BIT))
24157 : : return -1;
24158 : : return 674; /* udivmodsi4_zext_2 */
24159 : :
24160 : : case 1:
24161 : : if (!
24162 : : #line 12195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24163 : : (TARGET_64BIT))
24164 : : return -1;
24165 : : return 704; /* *udivmodsi4_noext_zext_2 */
24166 : :
24167 : : default:
24168 : : return -1;
24169 : : }
24170 : :
24171 : : default:
24172 : : return -1;
24173 : : }
24174 : :
24175 : : case UNSPEC:
24176 : : x7 = XEXP (x2, 0);
24177 : : operands[0] = x7;
24178 : : switch (XVECLEN (x4, 0))
24179 : : {
24180 : : case 4:
24181 : : if (XINT (x4, 1) != 21
24182 : : || pattern816 (x4) != 0
24183 : : || pattern1253 (x1) != 0
24184 : : || !tls_symbolic_operand (operands[2], E_VOIDmode))
24185 : : return -1;
24186 : : x12 = XVECEXP (x4, 0, 2);
24187 : : operands[3] = x12;
24188 : : if (!constant_call_address_operand (operands[3], E_VOIDmode))
24189 : : return -1;
24190 : : x5 = XVECEXP (x1, 0, 1);
24191 : : x9 = XEXP (x5, 0);
24192 : : operands[4] = x9;
24193 : : if (!scratch_operand (operands[4], E_SImode))
24194 : : return -1;
24195 : : x6 = XVECEXP (x1, 0, 2);
24196 : : x10 = XEXP (x6, 0);
24197 : : operands[5] = x10;
24198 : : if (!scratch_operand (operands[5], E_SImode)
24199 : : || !
24200 : : #line 23244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24201 : : (!TARGET_64BIT && TARGET_GNU_TLS))
24202 : : return -1;
24203 : : return 1683; /* *tls_global_dynamic_32_gnu */
24204 : :
24205 : : case 3:
24206 : : if (XINT (x4, 1) != 22
24207 : : || GET_MODE (x4) != E_SImode)
24208 : : return -1;
24209 : : x12 = XVECEXP (x4, 0, 2);
24210 : : if (GET_CODE (x12) != REG
24211 : : || REGNO (x12) != 7
24212 : : || GET_MODE (x12) != E_SImode
24213 : : || pattern1253 (x1) != 0
24214 : : || !constant_call_address_operand (operands[2], E_VOIDmode))
24215 : : return -1;
24216 : : x5 = XVECEXP (x1, 0, 1);
24217 : : x9 = XEXP (x5, 0);
24218 : : operands[3] = x9;
24219 : : if (!scratch_operand (operands[3], E_SImode))
24220 : : return -1;
24221 : : x6 = XVECEXP (x1, 0, 2);
24222 : : x10 = XEXP (x6, 0);
24223 : : operands[4] = x10;
24224 : : if (!scratch_operand (operands[4], E_SImode)
24225 : : || !
24226 : : #line 23372 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24227 : : (!TARGET_64BIT && TARGET_GNU_TLS))
24228 : : return -1;
24229 : : return 1687; /* *tls_local_dynamic_base_32_gnu */
24230 : :
24231 : : case 1:
24232 : : x5 = XVECEXP (x1, 0, 1);
24233 : : if (GET_CODE (x5) != USE)
24234 : : return -1;
24235 : : x6 = XVECEXP (x1, 0, 2);
24236 : : if (GET_CODE (x6) != USE
24237 : : || !nonimmediate_operand (operands[0], E_DImode)
24238 : : || GET_MODE (x4) != E_DImode)
24239 : : return -1;
24240 : : x13 = XVECEXP (x4, 0, 0);
24241 : : operands[1] = x13;
24242 : : if (!register_operand (operands[1], E_XFmode))
24243 : : return -1;
24244 : : x9 = XEXP (x5, 0);
24245 : : operands[2] = x9;
24246 : : if (!memory_operand (operands[2], E_HImode))
24247 : : return -1;
24248 : : x10 = XEXP (x6, 0);
24249 : : operands[3] = x10;
24250 : : if (!memory_operand (operands[3], E_HImode))
24251 : : return -1;
24252 : : x11 = XEXP (x3, 0);
24253 : : operands[4] = x11;
24254 : : if (!scratch_operand (operands[4], E_XFmode))
24255 : : return -1;
24256 : : switch (XINT (x4, 1))
24257 : : {
24258 : : case 79:
24259 : : if (!
24260 : : #line 25688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24261 : : (TARGET_USE_FANCY_MATH_387
24262 : : && flag_unsafe_math_optimizations))
24263 : : return -1;
24264 : : return 1784; /* fistdi2_floor */
24265 : :
24266 : : case 80:
24267 : : if (!
24268 : : #line 25688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24269 : : (TARGET_USE_FANCY_MATH_387
24270 : : && flag_unsafe_math_optimizations))
24271 : : return -1;
24272 : : return 1785; /* fistdi2_ceil */
24273 : :
24274 : : default:
24275 : : return -1;
24276 : : }
24277 : :
24278 : : default:
24279 : : return -1;
24280 : : }
24281 : :
24282 : : case PLUS:
24283 : : if (pattern399 (x1) != 0)
24284 : : return -1;
24285 : : return 1691; /* *tls_local_dynamic_32_once */
24286 : :
24287 : : case UNSPEC_VOLATILE:
24288 : : if (XVECLEN (x4, 0) != 1
24289 : : || XINT (x4, 1) != 3)
24290 : : return -1;
24291 : : x5 = XVECEXP (x1, 0, 1);
24292 : : if (pattern711 (x5,
24293 : : 7,
24294 : : MINUS) != 0)
24295 : : return -1;
24296 : : x6 = XVECEXP (x1, 0, 2);
24297 : : if (pattern948 (x6,
24298 : : E_CCmode,
24299 : : 17) != 0)
24300 : : return -1;
24301 : : x11 = XEXP (x3, 0);
24302 : : if (GET_CODE (x11) != MEM
24303 : : || GET_MODE (x11) != E_BLKmode)
24304 : : return -1;
24305 : : x14 = XEXP (x11, 0);
24306 : : if (GET_CODE (x14) != SCRATCH)
24307 : : return -1;
24308 : : x7 = XEXP (x2, 0);
24309 : : operands[0] = x7;
24310 : : x13 = XVECEXP (x4, 0, 0);
24311 : : operands[1] = x13;
24312 : : x15 = XEXP (x5, 1);
24313 : : x16 = XEXP (x15, 1);
24314 : : operands[2] = x16;
24315 : : switch (GET_MODE (operands[0]))
24316 : : {
24317 : : case E_SImode:
24318 : : if (pattern1793 (x1,
24319 : : E_SImode) != 0
24320 : : || !
24321 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24322 : : (Pmode == SImode))
24323 : : return -1;
24324 : : return 1917; /* adjust_stack_and_probe_si */
24325 : :
24326 : : case E_DImode:
24327 : : if (pattern1793 (x1,
24328 : : E_DImode) != 0
24329 : : || !
24330 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24331 : : (Pmode == DImode))
24332 : : return -1;
24333 : : return 1918; /* adjust_stack_and_probe_di */
24334 : :
24335 : : default:
24336 : : return -1;
24337 : : }
24338 : :
24339 : : default:
24340 : : return -1;
24341 : : }
24342 : : }
24343 : :
24344 : : rtx_insn *
24345 : : split_8 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24346 : : {
24347 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24348 : : rtx x2, x3, x4, x5, x6, x7;
24349 : : rtx_insn *res ATTRIBUTE_UNUSED;
24350 : : x2 = XEXP (x1, 0);
24351 : : operands[0] = x2;
24352 : : x3 = XEXP (x1, 1);
24353 : : x4 = XEXP (x3, 0);
24354 : : switch (GET_CODE (x4))
24355 : : {
24356 : : case AND:
24357 : : switch (pattern76 (x3))
24358 : : {
24359 : : case 0:
24360 : : if (!(
24361 : : #line 3715 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24362 : : (TARGET_64BIT
24363 : : && CONST_WIDE_INT_P (operands[3])
24364 : : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
24365 : : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
24366 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0) &&
24367 : : #line 3721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24368 : : ( reload_completed)))
24369 : : return NULL;
24370 : : return gen_split_30 (insn, operands);
24371 : :
24372 : : case 1:
24373 : : if (!(
24374 : : #line 3737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24375 : : (TARGET_64BIT
24376 : : && CONST_WIDE_INT_P (operands[3])
24377 : : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
24378 : : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
24379 : : && CONST_WIDE_INT_ELT (operands[3], 1) == -1) &&
24380 : : #line 3743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24381 : : ( reload_completed)))
24382 : : return NULL;
24383 : : return gen_split_33 (insn, operands);
24384 : :
24385 : : case 2:
24386 : : if (!(
24387 : : #line 3759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24388 : : (!TARGET_64BIT
24389 : : && CONST_INT_P (operands[3])
24390 : : && UINTVAL (operands[3]) == 0xffffffff00000000ll) &&
24391 : : #line 3763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24392 : : ( reload_completed)))
24393 : : return NULL;
24394 : : return gen_split_36 (insn, operands);
24395 : :
24396 : : default:
24397 : : return NULL;
24398 : : }
24399 : :
24400 : : case ASHIFT:
24401 : : x5 = XEXP (x4, 1);
24402 : : operands[2] = x5;
24403 : : x6 = XEXP (x4, 0);
24404 : : switch (GET_CODE (x6))
24405 : : {
24406 : : case REG:
24407 : : case SUBREG:
24408 : : operands[1] = x6;
24409 : : x7 = XEXP (x3, 1);
24410 : : switch (GET_CODE (x7))
24411 : : {
24412 : : case CONST_INT:
24413 : : case CONST_WIDE_INT:
24414 : : operands[3] = x7;
24415 : : switch (GET_MODE (operands[0]))
24416 : : {
24417 : : case E_QImode:
24418 : : if (pattern607 (x3,
24419 : : E_QImode) != 0
24420 : : || !(
24421 : : #line 8006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24422 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
24423 : : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
24424 : : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) &&
24425 : : #line 8010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24426 : : ( reload_completed)))
24427 : : return NULL;
24428 : : return gen_split_167 (insn, operands);
24429 : :
24430 : : case E_HImode:
24431 : : if (pattern607 (x3,
24432 : : E_HImode) != 0
24433 : : || !(
24434 : : #line 8006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24435 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
24436 : : && ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
24437 : : < (HOST_WIDE_INT_1U << INTVAL (operands[2])))) &&
24438 : : #line 8010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24439 : : ( reload_completed)))
24440 : : return NULL;
24441 : : return gen_split_169 (insn, operands);
24442 : :
24443 : : case E_SImode:
24444 : : if (pattern607 (x3,
24445 : : E_SImode) != 0
24446 : : || !(
24447 : : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24448 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
24449 : : < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) &&
24450 : : #line 8033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24451 : : ( reload_completed)))
24452 : : return NULL;
24453 : : return gen_split_171 (insn, operands);
24454 : :
24455 : : case E_DImode:
24456 : : if (GET_MODE (x3) != E_DImode
24457 : : || GET_MODE (x4) != E_DImode)
24458 : : return NULL;
24459 : : if (register_operand (operands[0], E_DImode)
24460 : : && register_no_SP_operand (operands[1], E_DImode)
24461 : : && const_0_to_3_operand (operands[2], E_VOIDmode)
24462 : : && const_int_operand (operands[3], E_VOIDmode)
24463 : : && ((
24464 : : #line 8030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24465 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[3])
24466 : : < (HOST_WIDE_INT_1U << INTVAL (operands[2]))) &&
24467 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24468 : : (TARGET_64BIT)) &&
24469 : : #line 8033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24470 : : ( reload_completed)))
24471 : : return gen_split_173 (insn, operands);
24472 : : if (!nonimmediate_operand (operands[0], E_DImode)
24473 : : || !register_operand (operands[1], E_DImode)
24474 : : || !const_int_operand (operands[2], E_QImode)
24475 : : || !const_scalar_int_operand (operands[3], E_DImode)
24476 : : || !((
24477 : : #line 14431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24478 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
24479 : : && (DImode == DImode
24480 : : ? CONST_INT_P (operands[3])
24481 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24482 : : : CONST_INT_P (operands[3])
24483 : : ? INTVAL (operands[3]) >= 0
24484 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24485 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24486 : : && !(CONST_INT_P (operands[3])
24487 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24488 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24489 : : 0)),
24490 : : VOIDmode))) &&
24491 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24492 : : (!TARGET_64BIT)) &&
24493 : : #line 14445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24494 : : ( reload_completed)))
24495 : : return NULL;
24496 : : return gen_split_474 (insn, operands);
24497 : :
24498 : : case E_TImode:
24499 : : if (pattern608 (x3,
24500 : : E_TImode) != 0
24501 : : || !((
24502 : : #line 14431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24503 : : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
24504 : : && (TImode == DImode
24505 : : ? CONST_INT_P (operands[3])
24506 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24507 : : : CONST_INT_P (operands[3])
24508 : : ? INTVAL (operands[3]) >= 0
24509 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24510 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24511 : : && !(CONST_INT_P (operands[3])
24512 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24513 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24514 : : 0)),
24515 : : VOIDmode))) &&
24516 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24517 : : (TARGET_64BIT)) &&
24518 : : #line 14445 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24519 : : ( reload_completed)))
24520 : : return NULL;
24521 : : return gen_split_477 (insn, operands);
24522 : :
24523 : : default:
24524 : : return NULL;
24525 : : }
24526 : :
24527 : : case ZERO_EXTEND:
24528 : : switch (pattern950 (x3))
24529 : : {
24530 : : case 0:
24531 : : if (!((
24532 : : #line 14354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24533 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24534 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24535 : : (!TARGET_64BIT)) &&
24536 : : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24537 : : ( reload_completed)))
24538 : : return NULL;
24539 : : return gen_split_438 (insn, operands);
24540 : :
24541 : : case 1:
24542 : : if (!((
24543 : : #line 14354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24544 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24545 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24546 : : (TARGET_64BIT)) &&
24547 : : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24548 : : ( reload_completed)))
24549 : : return NULL;
24550 : : return gen_split_441 (insn, operands);
24551 : :
24552 : : default:
24553 : : return NULL;
24554 : : }
24555 : :
24556 : : default:
24557 : : return NULL;
24558 : : }
24559 : :
24560 : : case SIGN_EXTEND:
24561 : : switch (pattern714 (x3))
24562 : : {
24563 : : case 0:
24564 : : if (!((
24565 : : #line 14390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24566 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24567 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24568 : : (!TARGET_64BIT)) &&
24569 : : #line 14392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24570 : : ( reload_completed)))
24571 : : return NULL;
24572 : : return gen_split_450 (insn, operands);
24573 : :
24574 : : case 1:
24575 : : if (!((
24576 : : #line 14390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24577 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24578 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24579 : : (TARGET_64BIT)) &&
24580 : : #line 14392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24581 : : ( reload_completed)))
24582 : : return NULL;
24583 : : return gen_split_456 (insn, operands);
24584 : :
24585 : : case 2:
24586 : : if (!((
24587 : : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24588 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
24589 : : && (DImode == DImode
24590 : : ? CONST_INT_P (operands[3])
24591 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24592 : : : CONST_INT_P (operands[3])
24593 : : ? INTVAL (operands[3]) >= 0
24594 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24595 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24596 : : && !(CONST_INT_P (operands[3])
24597 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24598 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24599 : : 0)),
24600 : : VOIDmode))) &&
24601 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24602 : : (!TARGET_64BIT)) &&
24603 : : #line 14477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24604 : : ( reload_completed)))
24605 : : return NULL;
24606 : : return gen_split_480 (insn, operands);
24607 : :
24608 : : case 3:
24609 : : if (!((
24610 : : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24611 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
24612 : : && (TImode == DImode
24613 : : ? CONST_INT_P (operands[3])
24614 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24615 : : : CONST_INT_P (operands[3])
24616 : : ? INTVAL (operands[3]) >= 0
24617 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24618 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24619 : : && !(CONST_INT_P (operands[3])
24620 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24621 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24622 : : 0)),
24623 : : VOIDmode))) &&
24624 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24625 : : (TARGET_64BIT)) &&
24626 : : #line 14477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24627 : : ( reload_completed)))
24628 : : return NULL;
24629 : : return gen_split_486 (insn, operands);
24630 : :
24631 : : default:
24632 : : return NULL;
24633 : : }
24634 : :
24635 : : case ZERO_EXTEND:
24636 : : switch (pattern714 (x3))
24637 : : {
24638 : : case 0:
24639 : : if (!((
24640 : : #line 14390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24641 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24642 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24643 : : (!TARGET_64BIT)) &&
24644 : : #line 14392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24645 : : ( reload_completed)))
24646 : : return NULL;
24647 : : return gen_split_453 (insn, operands);
24648 : :
24649 : : case 1:
24650 : : if (!((
24651 : : #line 14390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24652 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24653 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24654 : : (TARGET_64BIT)) &&
24655 : : #line 14392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24656 : : ( reload_completed)))
24657 : : return NULL;
24658 : : return gen_split_459 (insn, operands);
24659 : :
24660 : : case 2:
24661 : : if (!((
24662 : : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24663 : : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
24664 : : && (DImode == DImode
24665 : : ? CONST_INT_P (operands[3])
24666 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24667 : : : CONST_INT_P (operands[3])
24668 : : ? INTVAL (operands[3]) >= 0
24669 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24670 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24671 : : && !(CONST_INT_P (operands[3])
24672 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24673 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24674 : : 0)),
24675 : : VOIDmode))) &&
24676 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24677 : : (!TARGET_64BIT)) &&
24678 : : #line 14477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24679 : : ( reload_completed)))
24680 : : return NULL;
24681 : : return gen_split_483 (insn, operands);
24682 : :
24683 : : case 3:
24684 : : if (!((
24685 : : #line 14463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24686 : : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
24687 : : && (TImode == DImode
24688 : : ? CONST_INT_P (operands[3])
24689 : : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24690 : : : CONST_INT_P (operands[3])
24691 : : ? INTVAL (operands[3]) >= 0
24692 : : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24693 : : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24694 : : && !(CONST_INT_P (operands[3])
24695 : : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24696 : : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24697 : : 0)),
24698 : : VOIDmode))) &&
24699 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24700 : : (TARGET_64BIT)) &&
24701 : : #line 14477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24702 : : ( reload_completed)))
24703 : : return NULL;
24704 : : return gen_split_489 (insn, operands);
24705 : :
24706 : : default:
24707 : : return NULL;
24708 : : }
24709 : :
24710 : : default:
24711 : : return NULL;
24712 : : }
24713 : :
24714 : : case ZERO_EXTEND:
24715 : : switch (pattern408 (x3))
24716 : : {
24717 : : case 0:
24718 : : if (!((
24719 : : #line 14371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24720 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
24721 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24722 : : (!TARGET_64BIT)) &&
24723 : : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24724 : : ( reload_completed)))
24725 : : return NULL;
24726 : : return gen_split_444 (insn, operands);
24727 : :
24728 : : case 1:
24729 : : if (!((
24730 : : #line 14371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24731 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
24732 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24733 : : (TARGET_64BIT)) &&
24734 : : #line 14373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24735 : : ( reload_completed)))
24736 : : return NULL;
24737 : : return gen_split_447 (insn, operands);
24738 : :
24739 : : case 2:
24740 : : if (!((
24741 : : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24742 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
24743 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24744 : : (!TARGET_64BIT)) &&
24745 : : #line 14417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24746 : : ( reload_completed)))
24747 : : return NULL;
24748 : : return gen_split_462 (insn, operands);
24749 : :
24750 : : case 3:
24751 : : if (!((
24752 : : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24753 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
24754 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24755 : : (TARGET_64BIT)) &&
24756 : : #line 14417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24757 : : ( reload_completed)))
24758 : : return NULL;
24759 : : return gen_split_468 (insn, operands);
24760 : :
24761 : : case 4:
24762 : : if (!((
24763 : : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24764 : : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
24765 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24766 : : (!TARGET_64BIT)) &&
24767 : : #line 14417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24768 : : ( reload_completed)))
24769 : : return NULL;
24770 : : return gen_split_465 (insn, operands);
24771 : :
24772 : : case 5:
24773 : : if (!((
24774 : : #line 14415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24775 : : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
24776 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24777 : : (TARGET_64BIT)) &&
24778 : : #line 14417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24779 : : ( reload_completed)))
24780 : : return NULL;
24781 : : return gen_split_471 (insn, operands);
24782 : :
24783 : : case 6:
24784 : : if (!((
24785 : : #line 14492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24786 : : (DImode == DImode
24787 : : ? CONST_INT_P (operands[2])
24788 : : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
24789 : : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
24790 : : : CONST_WIDE_INT_P (operands[2])
24791 : : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
24792 : : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
24793 : : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
24794 : : 1)),
24795 : : VOIDmode)) &&
24796 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24797 : : (!TARGET_64BIT)) &&
24798 : : #line 14503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24799 : : ( reload_completed)))
24800 : : return NULL;
24801 : : return gen_split_492 (insn, operands);
24802 : :
24803 : : case 7:
24804 : : if (!((
24805 : : #line 14492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24806 : : (TImode == DImode
24807 : : ? CONST_INT_P (operands[2])
24808 : : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
24809 : : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
24810 : : : CONST_WIDE_INT_P (operands[2])
24811 : : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
24812 : : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
24813 : : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
24814 : : 1)),
24815 : : VOIDmode)) &&
24816 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24817 : : (TARGET_64BIT)) &&
24818 : : #line 14503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24819 : : ( reload_completed)))
24820 : : return NULL;
24821 : : return gen_split_495 (insn, operands);
24822 : :
24823 : : default:
24824 : : return NULL;
24825 : : }
24826 : :
24827 : : default:
24828 : : return NULL;
24829 : : }
24830 : : }
24831 : :
24832 : : rtx_insn *
24833 : : split_17 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24834 : : {
24835 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24836 : : rtx x2, x3, x4, x5;
24837 : : rtx_insn *res ATTRIBUTE_UNUSED;
24838 : : x2 = XVECEXP (x1, 0, 0);
24839 : : switch (pattern932 (x2))
24840 : : {
24841 : : case 0:
24842 : : x3 = XEXP (x2, 0);
24843 : : operands[0] = x3;
24844 : : x4 = XEXP (x2, 1);
24845 : : x5 = XEXP (x4, 1);
24846 : : if (GET_CODE (x5) == SUBREG)
24847 : : {
24848 : : switch (pattern1422 (x4))
24849 : : {
24850 : : case 0:
24851 : : if (((
24852 : : #line 16876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24853 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
24854 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
24855 : : == (2 * 4 * BITS_PER_UNIT - 1)))
24856 : : && ix86_pre_reload_split ()) &&
24857 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24858 : : (!TARGET_64BIT)) &&
24859 : : #line 16881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24860 : : ( 1)))
24861 : : return gen_split_596 (insn, operands);
24862 : : break;
24863 : :
24864 : : case 1:
24865 : : if (((
24866 : : #line 16876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24867 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
24868 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
24869 : : == (2 * 8 * BITS_PER_UNIT - 1)))
24870 : : && ix86_pre_reload_split ()) &&
24871 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24872 : : (TARGET_64BIT)) &&
24873 : : #line 16881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24874 : : ( 1)))
24875 : : return gen_split_598 (insn, operands);
24876 : : break;
24877 : :
24878 : : default:
24879 : : break;
24880 : : }
24881 : : }
24882 : : if (GET_MODE (x4) == E_SImode
24883 : : && nonimmediate_operand (operands[1], E_SImode))
24884 : : {
24885 : : if (register_operand (operands[0], E_SImode))
24886 : : {
24887 : : operands[2] = x5;
24888 : : if (register_operand (operands[2], E_QImode)
24889 : : &&
24890 : : #line 17729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24891 : : (TARGET_BMI2 && reload_completed))
24892 : : return gen_split_629 (insn, operands);
24893 : : }
24894 : : if (GET_CODE (x5) == SUBREG)
24895 : : {
24896 : : switch (pattern1534 (x5))
24897 : : {
24898 : : case 0:
24899 : : if ((
24900 : : #line 18132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24901 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
24902 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
24903 : : == 4 * BITS_PER_UNIT - 1
24904 : : && ix86_pre_reload_split ()) &&
24905 : : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24906 : : ( 1)))
24907 : : return gen_split_646 (insn, operands);
24908 : : break;
24909 : :
24910 : : case 1:
24911 : : if ((
24912 : : #line 18180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24913 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
24914 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24915 : : && ix86_pre_reload_split ()) &&
24916 : : #line 18184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24917 : : ( 1)))
24918 : : return gen_split_658 (insn, operands);
24919 : : break;
24920 : :
24921 : : case 2:
24922 : : if ((
24923 : : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24924 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
24925 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
24926 : : && ix86_pre_reload_split ()) &&
24927 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24928 : : ( 1)))
24929 : : return gen_split_670 (insn, operands);
24930 : : break;
24931 : :
24932 : : default:
24933 : : break;
24934 : : }
24935 : : }
24936 : : }
24937 : : operands[2] = x5;
24938 : : switch (pattern1338 (x2))
24939 : : {
24940 : : case 0:
24941 : : if (register_operand (operands[1], E_DImode)
24942 : : && nonmemory_operand (operands[2], E_QImode)
24943 : : && (
24944 : : #line 16988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24945 : : (epilogue_completed) &&
24946 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24947 : : (!TARGET_64BIT)))
24948 : : return gen_split_604 (insn, operands);
24949 : : if (nonimmediate_operand (operands[1], E_DImode)
24950 : : && register_operand (operands[2], E_QImode)
24951 : : && (
24952 : : #line 17729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24953 : : (TARGET_BMI2 && reload_completed) &&
24954 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24955 : : (TARGET_64BIT)))
24956 : : return gen_split_631 (insn, operands);
24957 : : break;
24958 : :
24959 : : case 1:
24960 : : if ((
24961 : : #line 16988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24962 : : (epilogue_completed) &&
24963 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24964 : : (TARGET_64BIT)))
24965 : : return gen_split_606 (insn, operands);
24966 : : break;
24967 : :
24968 : : case 2:
24969 : : if ((
24970 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24971 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24972 : : #line 17943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24973 : : ( reload_completed
24974 : : && !(rtx_equal_p (operands[0], operands[1])))))
24975 : : return gen_split_635 (insn, operands);
24976 : : break;
24977 : :
24978 : : case 3:
24979 : : if ((
24980 : : #line 17932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24981 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24982 : : #line 17943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24983 : : ( reload_completed
24984 : : && !(rtx_equal_p (operands[0], operands[1])))))
24985 : : return gen_split_637 (insn, operands);
24986 : : break;
24987 : :
24988 : : default:
24989 : : break;
24990 : : }
24991 : : if (GET_CODE (x5) != SUBREG)
24992 : : return NULL;
24993 : : switch (pattern1237 (x2,
24994 : : E_DImode))
24995 : : {
24996 : : case 0:
24997 : : if (!((
24998 : : #line 18132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24999 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
25000 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25001 : : == 8 * BITS_PER_UNIT - 1
25002 : : && ix86_pre_reload_split ()) &&
25003 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25004 : : (TARGET_64BIT)) &&
25005 : : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25006 : : ( 1)))
25007 : : return NULL;
25008 : : return gen_split_649 (insn, operands);
25009 : :
25010 : : case 1:
25011 : : if (!((
25012 : : #line 18180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25013 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
25014 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25015 : : && ix86_pre_reload_split ()) &&
25016 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25017 : : (TARGET_64BIT)) &&
25018 : : #line 18184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25019 : : ( 1)))
25020 : : return NULL;
25021 : : return gen_split_661 (insn, operands);
25022 : :
25023 : : case 2:
25024 : : if (!((
25025 : : #line 18226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25026 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
25027 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25028 : : && ix86_pre_reload_split ()) &&
25029 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25030 : : (TARGET_64BIT)) &&
25031 : : #line 18230 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25032 : : ( 1)))
25033 : : return NULL;
25034 : : return gen_split_673 (insn, operands);
25035 : :
25036 : : default:
25037 : : return NULL;
25038 : : }
25039 : :
25040 : : case 1:
25041 : : if (register_operand (operands[0], E_DImode)
25042 : : && register_operand (operands[1], E_DImode)
25043 : : && ((
25044 : : #line 16937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25045 : : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
25046 : : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
25047 : : == (2 * 4 * BITS_PER_UNIT - 1)))
25048 : : && ix86_pre_reload_split ()) &&
25049 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25050 : : (!TARGET_64BIT)) &&
25051 : : #line 16942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25052 : : ( 1)))
25053 : : return gen_split_600 (insn, operands);
25054 : : if (!nonimmediate_operand (operands[0], E_DImode)
25055 : : || !nonimmediate_operand (operands[1], E_DImode)
25056 : : || !((
25057 : : #line 18157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25058 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
25059 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
25060 : : == 8 * BITS_PER_UNIT - 1
25061 : : && ix86_pre_reload_split ()) &&
25062 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25063 : : (TARGET_64BIT)) &&
25064 : : #line 18162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25065 : : ( 1)))
25066 : : return NULL;
25067 : : return gen_split_655 (insn, operands);
25068 : :
25069 : : case 2:
25070 : : if (!((
25071 : : #line 16937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25072 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
25073 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
25074 : : == (2 * 8 * BITS_PER_UNIT - 1)))
25075 : : && ix86_pre_reload_split ()) &&
25076 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25077 : : (TARGET_64BIT)) &&
25078 : : #line 16942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25079 : : ( 1)))
25080 : : return NULL;
25081 : : return gen_split_602 (insn, operands);
25082 : :
25083 : : case 3:
25084 : : if (!(
25085 : : #line 18157 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25086 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
25087 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
25088 : : == 4 * BITS_PER_UNIT - 1
25089 : : && ix86_pre_reload_split ()) &&
25090 : : #line 18162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25091 : : ( 1)))
25092 : : return NULL;
25093 : : return gen_split_652 (insn, operands);
25094 : :
25095 : : case 4:
25096 : : if (!(
25097 : : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25098 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
25099 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25100 : : && ix86_pre_reload_split ()) &&
25101 : : #line 18208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25102 : : ( 1)))
25103 : : return NULL;
25104 : : return gen_split_664 (insn, operands);
25105 : :
25106 : : case 5:
25107 : : if (!((
25108 : : #line 18204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25109 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
25110 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25111 : : && ix86_pre_reload_split ()) &&
25112 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25113 : : (TARGET_64BIT)) &&
25114 : : #line 18208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25115 : : ( 1)))
25116 : : return NULL;
25117 : : return gen_split_667 (insn, operands);
25118 : :
25119 : : case 6:
25120 : : if (!(
25121 : : #line 18256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25122 : : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
25123 : : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25124 : : && ix86_pre_reload_split ()) &&
25125 : : #line 18260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25126 : : ( 1)))
25127 : : return NULL;
25128 : : return gen_split_676 (insn, operands);
25129 : :
25130 : : case 7:
25131 : : if (!((
25132 : : #line 18256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25133 : : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
25134 : : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25135 : : && ix86_pre_reload_split ()) &&
25136 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25137 : : (TARGET_64BIT)) &&
25138 : : #line 18260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25139 : : ( 1)))
25140 : : return NULL;
25141 : : return gen_split_679 (insn, operands);
25142 : :
25143 : : case 8:
25144 : : if (!((
25145 : : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25146 : : (INTVAL (operands[2]) == INTVAL (operands[3])
25147 : : && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25148 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25149 : : (!TARGET_64BIT)) &&
25150 : : #line 18283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25151 : : ( reload_completed)))
25152 : : return NULL;
25153 : : return gen_split_680 (insn, operands);
25154 : :
25155 : : case 9:
25156 : : if (!((
25157 : : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25158 : : (INTVAL (operands[2]) == INTVAL (operands[3])
25159 : : && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25160 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25161 : : (TARGET_64BIT)) &&
25162 : : #line 18283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25163 : : ( reload_completed)))
25164 : : return NULL;
25165 : : return gen_split_681 (insn, operands);
25166 : :
25167 : : default:
25168 : : return NULL;
25169 : : }
25170 : : }
25171 : :
25172 : : rtx_insn *
25173 : : split_31 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25174 : : {
25175 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25176 : : rtx x2, x3, x4, x5, x6;
25177 : : rtx_insn *res ATTRIBUTE_UNUSED;
25178 : : x2 = XVECEXP (x1, 0, 0);
25179 : : x3 = XEXP (x2, 1);
25180 : : x4 = XEXP (x3, 0);
25181 : : switch (GET_CODE (x4))
25182 : : {
25183 : : case REG:
25184 : : case SUBREG:
25185 : : case MEM:
25186 : : switch (pattern381 (x1))
25187 : : {
25188 : : case 0:
25189 : : x5 = XVECEXP (x1, 0, 1);
25190 : : x6 = XEXP (x5, 0);
25191 : : if (GET_CODE (x6) != REG
25192 : : || REGNO (x6) != 17
25193 : : || GET_MODE (x6) != E_CCmode)
25194 : : return NULL;
25195 : : switch (GET_MODE (operands[0]))
25196 : : {
25197 : : case E_DImode:
25198 : : if (!nonimmediate_operand (operands[0], E_DImode)
25199 : : || GET_MODE (x3) != E_DImode
25200 : : || !nonimmediate_operand (operands[1], E_DImode)
25201 : : || !((
25202 : : #line 14531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25203 : : (ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)) &&
25204 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25205 : : (!TARGET_64BIT)) &&
25206 : : #line 14533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25207 : : ( reload_completed)))
25208 : : return NULL;
25209 : : return gen_split_496 (insn, operands);
25210 : :
25211 : : case E_TImode:
25212 : : if (!nonimmediate_operand (operands[0], E_TImode)
25213 : : || GET_MODE (x3) != E_TImode
25214 : : || !nonimmediate_operand (operands[1], E_TImode)
25215 : : || !((
25216 : : #line 14531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25217 : : (ix86_unary_operator_ok (NEG, TImode, operands, TARGET_APX_NDD)) &&
25218 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25219 : : (TARGET_64BIT)) &&
25220 : : #line 14533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25221 : : ( reload_completed)))
25222 : : return NULL;
25223 : : return gen_split_497 (insn, operands);
25224 : :
25225 : : case E_SFmode:
25226 : : if (GET_MODE (x3) != E_SFmode)
25227 : : return NULL;
25228 : : if (fp_register_operand (operands[0], E_SFmode)
25229 : : && fp_register_operand (operands[1], E_SFmode)
25230 : : &&
25231 : : #line 15120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25232 : : (TARGET_80387 && reload_completed))
25233 : : return gen_split_519 (insn, operands);
25234 : : if (!general_reg_operand (operands[0], E_SFmode)
25235 : : || !general_reg_operand (operands[1], E_SFmode)
25236 : : || !
25237 : : #line 15127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25238 : : (TARGET_80387 && reload_completed))
25239 : : return NULL;
25240 : : return gen_split_525 (insn, operands);
25241 : :
25242 : : case E_DFmode:
25243 : : if (GET_MODE (x3) != E_DFmode)
25244 : : return NULL;
25245 : : if (fp_register_operand (operands[0], E_DFmode)
25246 : : && fp_register_operand (operands[1], E_DFmode)
25247 : : &&
25248 : : #line 15120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25249 : : (TARGET_80387 && reload_completed))
25250 : : return gen_split_521 (insn, operands);
25251 : : if (!general_reg_operand (operands[0], E_DFmode)
25252 : : || !general_reg_operand (operands[1], E_DFmode)
25253 : : || !
25254 : : #line 15127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25255 : : (TARGET_80387 && reload_completed))
25256 : : return NULL;
25257 : : return gen_split_527 (insn, operands);
25258 : :
25259 : : case E_XFmode:
25260 : : if (GET_MODE (x3) != E_XFmode)
25261 : : return NULL;
25262 : : if (fp_register_operand (operands[0], E_XFmode)
25263 : : && fp_register_operand (operands[1], E_XFmode)
25264 : : &&
25265 : : #line 15120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25266 : : (TARGET_80387 && reload_completed))
25267 : : return gen_split_523 (insn, operands);
25268 : : if (!general_reg_operand (operands[0], E_XFmode)
25269 : : || !general_reg_operand (operands[1], E_XFmode)
25270 : : || !
25271 : : #line 15127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25272 : : (TARGET_80387 && reload_completed))
25273 : : return NULL;
25274 : : return gen_split_529 (insn, operands);
25275 : :
25276 : : default:
25277 : : return NULL;
25278 : : }
25279 : :
25280 : : case 1:
25281 : : if (pattern834 (x1) != 0
25282 : : || !(
25283 : : #line 15051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25284 : : (TARGET_SSE) &&
25285 : : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25286 : : ( reload_completed)))
25287 : : return NULL;
25288 : : return gen_split_516 (insn, operands);
25289 : :
25290 : : case 2:
25291 : : if (!(
25292 : : #line 14689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25293 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25294 : : #line 14693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25295 : : ( reload_completed
25296 : : && !(rtx_equal_p (operands[0], operands[1])))))
25297 : : return NULL;
25298 : : return gen_split_498 (insn, operands);
25299 : :
25300 : : case 3:
25301 : : if (!(
25302 : : #line 14689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25303 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25304 : : #line 14693 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25305 : : ( reload_completed
25306 : : && !(rtx_equal_p (operands[0], operands[1])))))
25307 : : return NULL;
25308 : : return gen_split_499 (insn, operands);
25309 : :
25310 : : default:
25311 : : return NULL;
25312 : : }
25313 : :
25314 : : case ABS:
25315 : : switch (pattern383 (x1))
25316 : : {
25317 : : case 0:
25318 : : if (((
25319 : : #line 14947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25320 : : (TARGET_CMOVE
25321 : : && ix86_pre_reload_split ()) &&
25322 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25323 : : (!TARGET_64BIT)) &&
25324 : : #line 14950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25325 : : ( 1)))
25326 : : return gen_split_505 (insn, operands);
25327 : : if (!((
25328 : : #line 15018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25329 : : (TARGET_CMOVE
25330 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
25331 : : && ix86_pre_reload_split ()) &&
25332 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25333 : : (TARGET_64BIT)) &&
25334 : : #line 15022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25335 : : ( 1)))
25336 : : return NULL;
25337 : : return gen_split_514 (insn, operands);
25338 : :
25339 : : case 1:
25340 : : if (!((
25341 : : #line 14947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25342 : : (TARGET_CMOVE
25343 : : && ix86_pre_reload_split ()) &&
25344 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25345 : : (TARGET_64BIT)) &&
25346 : : #line 14950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25347 : : ( 1)))
25348 : : return NULL;
25349 : : return gen_split_506 (insn, operands);
25350 : :
25351 : : case 2:
25352 : : if (!(
25353 : : #line 15018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25354 : : (TARGET_CMOVE
25355 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
25356 : : && ix86_pre_reload_split ()) &&
25357 : : #line 15022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25358 : : ( 1)))
25359 : : return NULL;
25360 : : return gen_split_511 (insn, operands);
25361 : :
25362 : : case 3:
25363 : : if (!(
25364 : : #line 15018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25365 : : (TARGET_CMOVE
25366 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
25367 : : && ix86_pre_reload_split ()) &&
25368 : : #line 15022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25369 : : ( 1)))
25370 : : return NULL;
25371 : : return gen_split_512 (insn, operands);
25372 : :
25373 : : case 4:
25374 : : if (!(
25375 : : #line 15018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25376 : : (TARGET_CMOVE
25377 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
25378 : : && ix86_pre_reload_split ()) &&
25379 : : #line 15022 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25380 : : ( 1)))
25381 : : return NULL;
25382 : : return gen_split_513 (insn, operands);
25383 : :
25384 : : case 5:
25385 : : switch (GET_MODE (operands[0]))
25386 : : {
25387 : : case E_TFmode:
25388 : : if (pattern1054 (x3,
25389 : : E_TFmode) != 0
25390 : : || !(
25391 : : #line 15076 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25392 : : (TARGET_SSE) &&
25393 : : #line 15078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25394 : : ( reload_completed)))
25395 : : return NULL;
25396 : : return gen_split_517 (insn, operands);
25397 : :
25398 : : case E_SFmode:
25399 : : if (pattern1055 (x3,
25400 : : E_V4SFmode,
25401 : : E_SFmode) != 0
25402 : : || !(
25403 : : #line 15212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25404 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH) &&
25405 : : #line 15214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25406 : : ( reload_completed)))
25407 : : return NULL;
25408 : : return gen_split_544 (insn, operands);
25409 : :
25410 : : case E_DFmode:
25411 : : if (pattern1055 (x3,
25412 : : E_V2DFmode,
25413 : : E_DFmode) != 0
25414 : : || !(
25415 : : #line 15212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25416 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH) &&
25417 : : #line 15214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25418 : : ( reload_completed)))
25419 : : return NULL;
25420 : : return gen_split_545 (insn, operands);
25421 : :
25422 : : default:
25423 : : return NULL;
25424 : : }
25425 : :
25426 : : default:
25427 : : return NULL;
25428 : : }
25429 : :
25430 : : default:
25431 : : return NULL;
25432 : : }
25433 : : }
25434 : :
25435 : : rtx_insn *
25436 : : split_32 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25437 : : {
25438 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25439 : : rtx x2, x3, x4, x5, x6, x7, x8;
25440 : : rtx_insn *res ATTRIBUTE_UNUSED;
25441 : : if (pattern347 (x1) != 0)
25442 : : return NULL;
25443 : : x2 = XVECEXP (x1, 0, 0);
25444 : : x3 = XEXP (x2, 1);
25445 : : x4 = XEXP (x3, 0);
25446 : : switch (GET_CODE (x4))
25447 : : {
25448 : : case REG:
25449 : : case SUBREG:
25450 : : case MEM:
25451 : : operands[1] = x4;
25452 : : switch (pattern1155 (x3))
25453 : : {
25454 : : case 0:
25455 : : if (!(
25456 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25457 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
25458 : : #line 4852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25459 : : ( reload_completed)))
25460 : : return NULL;
25461 : : return gen_split_63 (insn, operands);
25462 : :
25463 : : case 1:
25464 : : if (!(
25465 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25466 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
25467 : : #line 4852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25468 : : ( reload_completed)))
25469 : : return NULL;
25470 : : return gen_split_64 (insn, operands);
25471 : :
25472 : : case 2:
25473 : : if (!(
25474 : : #line 4904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25475 : : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)) &&
25476 : : #line 4906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25477 : : ( reload_completed)))
25478 : : return NULL;
25479 : : return gen_split_65 (insn, operands);
25480 : :
25481 : : default:
25482 : : return NULL;
25483 : : }
25484 : :
25485 : : case PLUS:
25486 : : if (GET_MODE (x4) != E_SImode
25487 : : || !register_operand (operands[0], E_DImode)
25488 : : || GET_MODE (x3) != E_DImode)
25489 : : return NULL;
25490 : : x5 = XEXP (x4, 0);
25491 : : switch (GET_CODE (x5))
25492 : : {
25493 : : case REG:
25494 : : case SUBREG:
25495 : : operands[1] = x5;
25496 : : if (!register_operand (operands[1], E_SImode))
25497 : : return NULL;
25498 : : x6 = XEXP (x4, 1);
25499 : : operands[2] = x6;
25500 : : if (!x86_64_nonmemory_operand (operands[2], E_SImode))
25501 : : return NULL;
25502 : : if (
25503 : : #line 7068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25504 : : (TARGET_64BIT
25505 : : && reload_completed && ix86_avoid_lea_for_add (insn, operands)))
25506 : : return gen_split_130 (insn, operands);
25507 : : if (!
25508 : : #line 7118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25509 : : (TARGET_64BIT && reload_completed && ix86_lea_for_add_ok (insn, operands)))
25510 : : return NULL;
25511 : : return gen_split_139 (insn, operands);
25512 : :
25513 : : case UNSPEC:
25514 : : if (pattern1158 (x5) != 0)
25515 : : return NULL;
25516 : : x6 = XEXP (x4, 1);
25517 : : operands[1] = x6;
25518 : : if (!register_operand (operands[1], E_SImode)
25519 : : || !(
25520 : : #line 23558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25521 : : (TARGET_X32) &&
25522 : : #line 23560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25523 : : ( 1)))
25524 : : return NULL;
25525 : : return gen_split_932 (insn, operands);
25526 : :
25527 : : default:
25528 : : return NULL;
25529 : : }
25530 : :
25531 : : case ASHIFT:
25532 : : if (GET_MODE (x4) != E_SImode
25533 : : || GET_MODE (x3) != E_DImode)
25534 : : return NULL;
25535 : : x5 = XEXP (x4, 0);
25536 : : operands[1] = x5;
25537 : : x6 = XEXP (x4, 1);
25538 : : operands[2] = x6;
25539 : : switch (GET_CODE (operands[2]))
25540 : : {
25541 : : case REG:
25542 : : case SUBREG:
25543 : : if (!register_operand (operands[2], E_QImode)
25544 : : || !register_operand (operands[0], E_DImode)
25545 : : || !nonimmediate_operand (operands[1], E_SImode)
25546 : : || !
25547 : : #line 16382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25548 : : (TARGET_64BIT && TARGET_BMI2 && reload_completed))
25549 : : return NULL;
25550 : : return gen_split_580 (insn, operands);
25551 : :
25552 : : case CONST_INT:
25553 : : if (!const_0_to_3_operand (operands[2], E_VOIDmode)
25554 : : || !general_reg_operand (operands[0], E_DImode)
25555 : : || !index_reg_operand (operands[1], E_SImode)
25556 : : || !
25557 : : #line 16617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25558 : : (TARGET_64BIT && reload_completed
25559 : : && REGNO (operands[0]) != REGNO (operands[1])))
25560 : : return NULL;
25561 : : return gen_split_591 (insn, operands);
25562 : :
25563 : : default:
25564 : : return NULL;
25565 : : }
25566 : :
25567 : : case LSHIFTRT:
25568 : : if (pattern1176 (x3) != 0
25569 : : || !
25570 : : #line 17816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25571 : : (TARGET_64BIT && TARGET_BMI2 && reload_completed))
25572 : : return NULL;
25573 : : return gen_split_632 (insn, operands);
25574 : :
25575 : : case ASHIFTRT:
25576 : : if (pattern1176 (x3) != 0
25577 : : || !
25578 : : #line 17816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25579 : : (TARGET_64BIT && TARGET_BMI2 && reload_completed))
25580 : : return NULL;
25581 : : return gen_split_633 (insn, operands);
25582 : :
25583 : : case ROTATE:
25584 : : if (pattern1177 (x3) != 0
25585 : : || !
25586 : : #line 18944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25587 : : (TARGET_64BIT && TARGET_BMI2 && reload_completed
25588 : : && !optimize_function_for_size_p (cfun)))
25589 : : return NULL;
25590 : : return gen_split_794 (insn, operands);
25591 : :
25592 : : case ROTATERT:
25593 : : if (pattern1177 (x3) != 0
25594 : : || !
25595 : : #line 18960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25596 : : (TARGET_64BIT && TARGET_BMI2 && reload_completed
25597 : : && !optimize_function_for_size_p (cfun)))
25598 : : return NULL;
25599 : : return gen_split_795 (insn, operands);
25600 : :
25601 : : case CTZ:
25602 : : if (pattern1178 (x3,
25603 : : E_SImode,
25604 : : E_DImode) != 0
25605 : : || !
25606 : : #line 21481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25607 : : ((TARGET_BMI || TARGET_CPU_P (GENERIC))
25608 : : && (TARGET_AVOID_FALSE_DEP_FOR_BMI || TARGET_AVOID_FALSE_DEP_FOR_TZCNT)
25609 : : && epilogue_completed
25610 : : && optimize_function_for_speed_p (cfun)
25611 : : && !reg_mentioned_p (operands[0], operands[1])))
25612 : : return NULL;
25613 : : return gen_split_883 (insn, operands);
25614 : :
25615 : : case XOR:
25616 : : if (GET_MODE (x4) != E_SImode)
25617 : : return NULL;
25618 : : x5 = XEXP (x4, 0);
25619 : : if (GET_CODE (x5) != MINUS
25620 : : || pattern1159 (x4) != 0
25621 : : || !register_operand (operands[0], E_DImode)
25622 : : || GET_MODE (x3) != E_DImode)
25623 : : return NULL;
25624 : : x7 = XEXP (x5, 1);
25625 : : x8 = XEXP (x7, 0);
25626 : : operands[1] = x8;
25627 : : if (!nonimmediate_operand (operands[1], E_SImode)
25628 : : || !(
25629 : : #line 21644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25630 : : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()) &&
25631 : : #line 21646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25632 : : ( 1)))
25633 : : return NULL;
25634 : : return gen_split_887 (insn, operands);
25635 : :
25636 : : case CLZ:
25637 : : if (pattern1178 (x3,
25638 : : E_SImode,
25639 : : E_DImode) != 0
25640 : : || !(
25641 : : #line 21907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25642 : : (TARGET_LZCNT && TARGET_64BIT) &&
25643 : : #line 21909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25644 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25645 : : && optimize_function_for_speed_p (cfun)
25646 : : && !reg_mentioned_p (operands[0], operands[1]))))
25647 : : return NULL;
25648 : : return gen_split_899 (insn, operands);
25649 : :
25650 : : case POPCOUNT:
25651 : : x5 = XEXP (x4, 0);
25652 : : operands[1] = x5;
25653 : : switch (GET_MODE (operands[0]))
25654 : : {
25655 : : case E_DImode:
25656 : : if (pattern353 (x3,
25657 : : E_SImode,
25658 : : E_DImode) != 0
25659 : : || !(
25660 : : #line 22744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25661 : : (TARGET_POPCNT && TARGET_64BIT) &&
25662 : : #line 22752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25663 : : ( TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
25664 : : && optimize_function_for_speed_p (cfun)
25665 : : && !reg_mentioned_p (operands[0], operands[1]))))
25666 : : return NULL;
25667 : : return gen_split_923 (insn, operands);
25668 : :
25669 : : case E_SImode:
25670 : : if (pattern353 (x3,
25671 : : E_HImode,
25672 : : E_SImode) != 0
25673 : : || !(
25674 : : #line 22810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25675 : : (TARGET_POPCNT
25676 : : && ix86_pre_reload_split ()) &&
25677 : : #line 22813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25678 : : ( 1)))
25679 : : return NULL;
25680 : : return gen_split_925 (insn, operands);
25681 : :
25682 : : default:
25683 : : return NULL;
25684 : : }
25685 : :
25686 : : default:
25687 : : return NULL;
25688 : : }
25689 : : }
25690 : :
25691 : : rtx_insn *
25692 : : split_41 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25693 : : {
25694 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25695 : : rtx x2, x3, x4, x5, x6;
25696 : : rtx_insn *res ATTRIBUTE_UNUSED;
25697 : : x2 = XEXP (x1, 0);
25698 : : operands[0] = x2;
25699 : : x3 = XEXP (x1, 1);
25700 : : x4 = XEXP (x3, 0);
25701 : : switch (GET_CODE (x4))
25702 : : {
25703 : : case LEU:
25704 : : x5 = XEXP (x4, 0);
25705 : : operands[1] = x5;
25706 : : if (!int_nonimmediate_operand (operands[1], E_VOIDmode))
25707 : : return NULL;
25708 : : x6 = XEXP (x4, 1);
25709 : : operands[2] = x6;
25710 : : if (!const_int_operand (operands[2], E_VOIDmode))
25711 : : return NULL;
25712 : : switch (GET_MODE (operands[0]))
25713 : : {
25714 : : case E_SImode:
25715 : : if (!register_operand (operands[0], E_SImode)
25716 : : || GET_MODE (x3) != E_SImode
25717 : : || GET_MODE (x4) != E_SImode
25718 : : || !
25719 : : #line 26688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25720 : : (x86_64_immediate_operand (operands[2], VOIDmode)
25721 : : && INTVAL (operands[2]) != -1
25722 : : && INTVAL (operands[2]) != 2147483647))
25723 : : return NULL;
25724 : : return gen_split_947 (insn, operands);
25725 : :
25726 : : case E_DImode:
25727 : : if (!register_operand (operands[0], E_DImode)
25728 : : || GET_MODE (x3) != E_DImode
25729 : : || GET_MODE (x4) != E_DImode
25730 : : || !(
25731 : : #line 26688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25732 : : (x86_64_immediate_operand (operands[2], VOIDmode)
25733 : : && INTVAL (operands[2]) != -1
25734 : : && INTVAL (operands[2]) != 2147483647) &&
25735 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25736 : : (TARGET_64BIT)))
25737 : : return NULL;
25738 : : return gen_split_948 (insn, operands);
25739 : :
25740 : : default:
25741 : : return NULL;
25742 : : }
25743 : :
25744 : : case EQ:
25745 : : switch (pattern414 (x3))
25746 : : {
25747 : : case 0:
25748 : : return gen_split_949 (insn, operands);
25749 : :
25750 : : case 1:
25751 : : return gen_split_950 (insn, operands);
25752 : :
25753 : : case 2:
25754 : : return gen_split_951 (insn, operands);
25755 : :
25756 : : case 3:
25757 : : if (!
25758 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25759 : : (TARGET_64BIT))
25760 : : return NULL;
25761 : : return gen_split_952 (insn, operands);
25762 : :
25763 : : default:
25764 : : return NULL;
25765 : : }
25766 : :
25767 : : case NE:
25768 : : switch (pattern414 (x3))
25769 : : {
25770 : : case 0:
25771 : : return gen_split_953 (insn, operands);
25772 : :
25773 : : case 1:
25774 : : return gen_split_954 (insn, operands);
25775 : :
25776 : : case 2:
25777 : : return gen_split_955 (insn, operands);
25778 : :
25779 : : case 3:
25780 : : if (!
25781 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25782 : : (TARGET_64BIT))
25783 : : return NULL;
25784 : : return gen_split_956 (insn, operands);
25785 : :
25786 : : default:
25787 : : return NULL;
25788 : : }
25789 : :
25790 : : default:
25791 : : return NULL;
25792 : : }
25793 : : }
25794 : :
25795 : : rtx_insn *
25796 : : split_42 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25797 : : {
25798 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25799 : : rtx x2, x3, x4, x5, x6, x7, x8;
25800 : : rtx_insn *res ATTRIBUTE_UNUSED;
25801 : : x2 = XEXP (x1, 1);
25802 : : x3 = XEXP (x2, 0);
25803 : : x4 = XEXP (x3, 0);
25804 : : if (GET_CODE (x4) != REG
25805 : : || REGNO (x4) != 17)
25806 : : return NULL;
25807 : : x5 = XEXP (x3, 1);
25808 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25809 : : return NULL;
25810 : : x6 = XEXP (x1, 0);
25811 : : operands[0] = x6;
25812 : : x7 = XEXP (x2, 1);
25813 : : operands[2] = x7;
25814 : : x8 = XEXP (x2, 2);
25815 : : operands[3] = x8;
25816 : : switch (GET_MODE (operands[0]))
25817 : : {
25818 : : case E_HImode:
25819 : : if (!register_operand (operands[0], E_HImode)
25820 : : || GET_MODE (x2) != E_HImode
25821 : : || !ix86_comparison_operator (operands[1], E_VOIDmode))
25822 : : return NULL;
25823 : : if (nonimmediate_operand (operands[2], E_HImode)
25824 : : && nonimmediate_operand (operands[3], E_HImode)
25825 : : &&
25826 : : #line 26781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25827 : : (!TARGET_64BIT && TARGET_CMOVE
25828 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
25829 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
25830 : : && can_create_pseudo_p ()
25831 : : && optimize_insn_for_speed_p ()))
25832 : : return gen_split_957 (insn, operands);
25833 : : if (!register_operand (operands[2], E_HImode)
25834 : : || !register_operand (operands[3], E_HImode)
25835 : : || !
25836 : : #line 26811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25837 : : (TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL
25838 : : && reload_completed))
25839 : : return NULL;
25840 : : return gen_split_961 (insn, operands);
25841 : :
25842 : : case E_SImode:
25843 : : if (pattern1201 (x2,
25844 : : E_SImode) != 0
25845 : : || !
25846 : : #line 26781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25847 : : (!TARGET_64BIT && TARGET_CMOVE
25848 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
25849 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
25850 : : && can_create_pseudo_p ()
25851 : : && optimize_insn_for_speed_p ()))
25852 : : return NULL;
25853 : : return gen_split_958 (insn, operands);
25854 : :
25855 : : case E_DImode:
25856 : : if (pattern1201 (x2,
25857 : : E_DImode) != 0
25858 : : || !(
25859 : : #line 26781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25860 : : (!TARGET_64BIT && TARGET_CMOVE
25861 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
25862 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
25863 : : && can_create_pseudo_p ()
25864 : : && optimize_insn_for_speed_p ()) &&
25865 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25866 : : (TARGET_64BIT)))
25867 : : return NULL;
25868 : : return gen_split_959 (insn, operands);
25869 : :
25870 : : case E_QImode:
25871 : : if (pattern1202 (x2) != 0
25872 : : || !
25873 : : #line 26811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25874 : : (TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL
25875 : : && reload_completed))
25876 : : return NULL;
25877 : : return gen_split_960 (insn, operands);
25878 : :
25879 : : case E_DFmode:
25880 : : if (GET_MODE (x2) != E_DFmode
25881 : : || !nonimmediate_operand (operands[2], E_DFmode)
25882 : : || !nonimmediate_operand (operands[3], E_DFmode))
25883 : : return NULL;
25884 : : if (general_reg_operand (operands[0], E_DFmode)
25885 : : && fcmov_comparison_operator (operands[1], E_VOIDmode)
25886 : : &&
25887 : : #line 27027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25888 : : (!TARGET_64BIT && reload_completed))
25889 : : return gen_split_962 (insn, operands);
25890 : : if (!register_operand (operands[0], E_DFmode)
25891 : : || !ix86_comparison_operator (operands[1], E_VOIDmode)
25892 : : || !
25893 : : #line 27061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25894 : : (!TARGET_64BIT && TARGET_80387 && TARGET_CMOVE
25895 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
25896 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
25897 : : && can_create_pseudo_p ()
25898 : : && optimize_insn_for_speed_p ()))
25899 : : return NULL;
25900 : : return gen_split_964 (insn, operands);
25901 : :
25902 : : case E_SFmode:
25903 : : if (pattern1201 (x2,
25904 : : E_SFmode) != 0
25905 : : || !
25906 : : #line 27061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25907 : : (!TARGET_64BIT && TARGET_80387 && TARGET_CMOVE
25908 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
25909 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
25910 : : && can_create_pseudo_p ()
25911 : : && optimize_insn_for_speed_p ()))
25912 : : return NULL;
25913 : : return gen_split_963 (insn, operands);
25914 : :
25915 : : default:
25916 : : return NULL;
25917 : : }
25918 : : }
25919 : :
25920 : : rtx_insn *
25921 : : split_45 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25922 : : {
25923 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25924 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25925 : : rtx x10;
25926 : : rtx_insn *res ATTRIBUTE_UNUSED;
25927 : : x2 = XEXP (x1, 1);
25928 : : x3 = XEXP (x2, 0);
25929 : : switch (GET_CODE (x3))
25930 : : {
25931 : : case AND:
25932 : : x4 = XEXP (x2, 1);
25933 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25934 : : return NULL;
25935 : : x5 = XEXP (x1, 0);
25936 : : operands[0] = x5;
25937 : : if (!flags_reg_operand (operands[0], E_VOIDmode))
25938 : : return NULL;
25939 : : operands[1] = x2;
25940 : : if (!compare_operator (operands[1], E_VOIDmode))
25941 : : return NULL;
25942 : : x6 = XEXP (x3, 0);
25943 : : operands[2] = x6;
25944 : : if (!aligned_operand (operands[2], E_HImode))
25945 : : return NULL;
25946 : : x7 = XEXP (x3, 1);
25947 : : operands[3] = x7;
25948 : : if (!const_int_operand (operands[3], E_HImode)
25949 : : || !
25950 : : #line 28223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25951 : : (! TARGET_PARTIAL_REG_STALL && reload_completed
25952 : : && ! TARGET_FAST_PREFIX
25953 : : && optimize_insn_for_speed_p ()
25954 : : /* Ensure that the operand will remain sign-extended immediate. */
25955 : : && ix86_match_ccmode (insn, INTVAL (operands[3]) >= 0 ? CCNOmode : CCZmode)))
25956 : : return NULL;
25957 : : return gen_split_1013 (insn, operands);
25958 : :
25959 : : case UNSPEC:
25960 : : if (XVECLEN (x3, 0) != 1
25961 : : || XINT (x3, 1) != 50
25962 : : || GET_MODE (x3) != E_SImode
25963 : : || pattern46 (x1,
25964 : : E_CCZmode) != 0)
25965 : : return NULL;
25966 : : x4 = XEXP (x2, 1);
25967 : : operands[2] = x4;
25968 : : if (!const_int_operand (operands[2], E_VOIDmode))
25969 : : return NULL;
25970 : : x8 = XVECEXP (x3, 0, 0);
25971 : : switch (GET_CODE (x8))
25972 : : {
25973 : : case EQ:
25974 : : x9 = XEXP (x8, 0);
25975 : : operands[0] = x9;
25976 : : x10 = XEXP (x8, 1);
25977 : : operands[1] = x10;
25978 : : switch (GET_MODE (x8))
25979 : : {
25980 : : case E_V32QImode:
25981 : : if (!vector_operand (operands[0], E_V32QImode)
25982 : : || !const0_operand (operands[1], E_V32QImode)
25983 : : || !(
25984 : : #line 22701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25985 : : (TARGET_SSE4_1 && (INTVAL (operands[2]) == (int) (0xffffffff))) &&
25986 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25987 : : (TARGET_AVX2)))
25988 : : return NULL;
25989 : : return gen_split_3542 (insn, operands);
25990 : :
25991 : : case E_V16QImode:
25992 : : if (!vector_operand (operands[0], E_V16QImode)
25993 : : || !const0_operand (operands[1], E_V16QImode)
25994 : : || !
25995 : : #line 22701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25996 : : (TARGET_SSE4_1 && (INTVAL (operands[2]) == (int) (0xffff))))
25997 : : return NULL;
25998 : : return gen_split_3543 (insn, operands);
25999 : :
26000 : : default:
26001 : : return NULL;
26002 : : }
26003 : :
26004 : : case VEC_MERGE:
26005 : : switch (pattern1264 (x8))
26006 : : {
26007 : : case 0:
26008 : : if (!((
26009 : : #line 22718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26010 : : (TARGET_AVX512VL && UINTVAL (operands[2]) <= 0xffffffff) &&
26011 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26012 : : (TARGET_AVX2)) &&
26013 : : #line 22720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26014 : : ( 1)))
26015 : : return NULL;
26016 : : return gen_split_3544 (insn, operands);
26017 : :
26018 : : case 1:
26019 : : if (!(
26020 : : #line 22718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26021 : : (TARGET_AVX512VL && UINTVAL (operands[2]) <= 0xffff) &&
26022 : : #line 22720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26023 : : ( 1)))
26024 : : return NULL;
26025 : : return gen_split_3545 (insn, operands);
26026 : :
26027 : : case 2:
26028 : : if (!((
26029 : : #line 22741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26030 : : (TARGET_AVX512VL && (INTVAL (operands[2]) == (int) (0xffffffff))) &&
26031 : : #line 618 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26032 : : (TARGET_AVX2)) &&
26033 : : #line 22743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26034 : : ( 1)))
26035 : : return NULL;
26036 : : return gen_split_3546 (insn, operands);
26037 : :
26038 : : case 3:
26039 : : if (!(
26040 : : #line 22741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26041 : : (TARGET_AVX512VL && (INTVAL (operands[2]) == (int) (0xffff))) &&
26042 : : #line 22743 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26043 : : ( 1)))
26044 : : return NULL;
26045 : : return gen_split_3547 (insn, operands);
26046 : :
26047 : : default:
26048 : : return NULL;
26049 : : }
26050 : :
26051 : : default:
26052 : : return NULL;
26053 : : }
26054 : :
26055 : : default:
26056 : : return NULL;
26057 : : }
26058 : : }
26059 : :
26060 : : rtx_insn *
26061 : : split_49 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26062 : : {
26063 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26064 : : rtx x2, x3, x4, x5, x6;
26065 : : rtx_insn *res ATTRIBUTE_UNUSED;
26066 : : x2 = XEXP (x1, 1);
26067 : : x3 = XEXP (x2, 0);
26068 : : if (GET_CODE (x3) != VEC_SELECT)
26069 : : return NULL;
26070 : : switch (pattern98 (x1))
26071 : : {
26072 : : case 0:
26073 : : x4 = XEXP (x3, 0);
26074 : : operands[1] = x4;
26075 : : if (!register_operand (operands[1], E_V2SFmode)
26076 : : || pattern970 (x2) != 0
26077 : : || !register_operand (operands[0], E_SFmode)
26078 : : || GET_MODE (x2) != E_SFmode
26079 : : || GET_MODE (x3) != E_SFmode)
26080 : : return NULL;
26081 : : x5 = XEXP (x2, 1);
26082 : : if (GET_MODE (x5) != E_SFmode)
26083 : : return NULL;
26084 : : x6 = XEXP (x5, 0);
26085 : : if (!rtx_equal_p (x6, operands[1])
26086 : : || !(
26087 : : #line 1081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26088 : : (TARGET_SSE3 && TARGET_MMX_WITH_SSE && ix86_partial_vec_fp_math
26089 : : && ix86_pre_reload_split ()) &&
26090 : : #line 1084 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26091 : : ( 1)))
26092 : : return NULL;
26093 : : return gen_split_1073 (insn, operands);
26094 : :
26095 : : case 1:
26096 : : switch (pattern855 (x2))
26097 : : {
26098 : : case 0:
26099 : : if (!
26100 : : #line 22923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26101 : : (TARGET_SSSE3 && reload_completed
26102 : : && SSE_REGNO_P (REGNO (operands[0]))))
26103 : : return NULL;
26104 : : return gen_split_3550 (insn, operands);
26105 : :
26106 : : case 1:
26107 : : if (!
26108 : : #line 23010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26109 : : (TARGET_SSSE3 && reload_completed
26110 : : && SSE_REGNO_P (REGNO (operands[0]))))
26111 : : return NULL;
26112 : : return gen_split_3553 (insn, operands);
26113 : :
26114 : : default:
26115 : : return NULL;
26116 : : }
26117 : :
26118 : : default:
26119 : : return NULL;
26120 : : }
26121 : : }
26122 : :
26123 : : rtx_insn *
26124 : : split_51 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26125 : : {
26126 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26127 : : rtx x2, x3, x4, x5, x6, x7, x8;
26128 : : rtx_insn *res ATTRIBUTE_UNUSED;
26129 : : x2 = XEXP (x1, 1);
26130 : : x3 = XEXP (x2, 1);
26131 : : if (GET_CODE (x3) != PARALLEL)
26132 : : return NULL;
26133 : : x4 = XEXP (x1, 0);
26134 : : operands[0] = x4;
26135 : : x5 = XEXP (x2, 0);
26136 : : switch (GET_CODE (x5))
26137 : : {
26138 : : case VEC_CONCAT:
26139 : : switch (pattern273 (x2))
26140 : : {
26141 : : case 0:
26142 : : x6 = XVECEXP (x3, 0, 1);
26143 : : if (GET_CODE (x6) == CONST_INT)
26144 : : {
26145 : : switch (pattern974 (x2))
26146 : : {
26147 : : case 0:
26148 : : if ((
26149 : : #line 1714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26150 : : (TARGET_MMX_WITH_SSE) &&
26151 : : #line 1716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26152 : : ( reload_completed)))
26153 : : return gen_split_1074 (insn, operands);
26154 : : break;
26155 : :
26156 : : case 1:
26157 : : if ((
26158 : : #line 5014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26159 : : (TARGET_MMX || TARGET_MMX_WITH_SSE) &&
26160 : : #line 5019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26161 : : ( reload_completed
26162 : : && SSE_REGNO_P (REGNO (operands[0])))))
26163 : : return gen_split_1157 (insn, operands);
26164 : : break;
26165 : :
26166 : : case 2:
26167 : : if ((
26168 : : #line 1731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26169 : : (TARGET_MMX_WITH_SSE) &&
26170 : : #line 1733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26171 : : ( reload_completed)))
26172 : : return gen_split_1075 (insn, operands);
26173 : : break;
26174 : :
26175 : : case 3:
26176 : : if ((
26177 : : #line 4993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26178 : : (TARGET_MMX || TARGET_MMX_WITH_SSE) &&
26179 : : #line 4998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26180 : : ( reload_completed
26181 : : && SSE_REGNO_P (REGNO (operands[0])))))
26182 : : return gen_split_1156 (insn, operands);
26183 : : break;
26184 : :
26185 : : default:
26186 : : break;
26187 : : }
26188 : : }
26189 : : x7 = XVECEXP (x3, 0, 0);
26190 : : operands[3] = x7;
26191 : : switch (pattern975 (x2))
26192 : : {
26193 : : case 0:
26194 : : if (!(
26195 : : #line 6220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26196 : : (TARGET_SSE2) &&
26197 : : #line 6222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26198 : : ( reload_completed)))
26199 : : return NULL;
26200 : : return gen_split_1169 (insn, operands);
26201 : :
26202 : : case 1:
26203 : : if (!(
26204 : : #line 6220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26205 : : (TARGET_SSE2) &&
26206 : : #line 6222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26207 : : ( reload_completed)))
26208 : : return NULL;
26209 : : return gen_split_1170 (insn, operands);
26210 : :
26211 : : case 2:
26212 : : if (!(
26213 : : #line 6220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26214 : : (TARGET_SSE2) &&
26215 : : #line 6222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26216 : : ( reload_completed)))
26217 : : return NULL;
26218 : : return gen_split_1171 (insn, operands);
26219 : :
26220 : : default:
26221 : : return NULL;
26222 : : }
26223 : :
26224 : : case 1:
26225 : : if (!(
26226 : : #line 4873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26227 : : (TARGET_MMX || TARGET_MMX_WITH_SSE) &&
26228 : : #line 4878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26229 : : ( reload_completed
26230 : : && SSE_REGNO_P (REGNO (operands[0])))))
26231 : : return NULL;
26232 : : return gen_split_1150 (insn, operands);
26233 : :
26234 : : case 2:
26235 : : if (!(
26236 : : #line 4913 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26237 : : (TARGET_MMX || TARGET_MMX_WITH_SSE) &&
26238 : : #line 4918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26239 : : ( reload_completed
26240 : : && SSE_REGNO_P (REGNO (operands[0])))))
26241 : : return NULL;
26242 : : return gen_split_1152 (insn, operands);
26243 : :
26244 : : case 3:
26245 : : if (!(
26246 : : #line 4894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26247 : : (TARGET_SSE2) &&
26248 : : #line 4896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26249 : : ( reload_completed)))
26250 : : return NULL;
26251 : : return gen_split_1151 (insn, operands);
26252 : :
26253 : : case 4:
26254 : : if (!(
26255 : : #line 4951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26256 : : (TARGET_MMX || TARGET_MMX_WITH_SSE) &&
26257 : : #line 4956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26258 : : ( reload_completed
26259 : : && SSE_REGNO_P (REGNO (operands[0])))))
26260 : : return NULL;
26261 : : return gen_split_1154 (insn, operands);
26262 : :
26263 : : case 5:
26264 : : if (!(
26265 : : #line 4934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26266 : : (TARGET_SSE2) &&
26267 : : #line 4936 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26268 : : ( reload_completed)))
26269 : : return NULL;
26270 : : return gen_split_1153 (insn, operands);
26271 : :
26272 : : case 6:
26273 : : if (!(
26274 : : #line 4972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26275 : : (TARGET_MMX || TARGET_MMX_WITH_SSE) &&
26276 : : #line 4977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26277 : : ( reload_completed
26278 : : && SSE_REGNO_P (REGNO (operands[0])))))
26279 : : return NULL;
26280 : : return gen_split_1155 (insn, operands);
26281 : :
26282 : : default:
26283 : : return NULL;
26284 : : }
26285 : :
26286 : : case REG:
26287 : : case SUBREG:
26288 : : case MEM:
26289 : : switch (XVECLEN (x3, 0))
26290 : : {
26291 : : case 1:
26292 : : res = split_50 (x1, insn);
26293 : : if (res != NULL_RTX)
26294 : : return res;
26295 : : break;
26296 : :
26297 : : case 2:
26298 : : x7 = XVECEXP (x3, 0, 0);
26299 : : if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 1])
26300 : : {
26301 : : x6 = XVECEXP (x3, 0, 1);
26302 : : if (x6 == const_int_rtx[MAX_SAVED_CONST_INT + 0]
26303 : : && memory_operand (operands[0], E_V2SImode)
26304 : : && GET_MODE (x2) == E_V2SImode
26305 : : && rtx_equal_p (x5, operands[0])
26306 : : &&
26307 : : #line 5656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26308 : : (TARGET_64BIT && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
26309 : : return gen_split_1161 (insn, operands);
26310 : : }
26311 : : break;
26312 : :
26313 : : default:
26314 : : break;
26315 : : }
26316 : : if (XVECLEN (x3, 0) != 1)
26317 : : return NULL;
26318 : : x7 = XVECEXP (x3, 0, 0);
26319 : : if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 0]
26320 : : && GET_MODE (x2) == E_DImode)
26321 : : {
26322 : : if (GET_CODE (x5) == SUBREG
26323 : : && known_eq (SUBREG_BYTE (x5), 0)
26324 : : && GET_MODE (x5) == E_V2DImode
26325 : : && register_operand (operands[0], E_DImode))
26326 : : {
26327 : : x8 = XEXP (x5, 0);
26328 : : switch (pattern1213 (x8))
26329 : : {
26330 : : case 0:
26331 : : if (pshufb_truncv8hiv8qi_operand (operands[2], E_V16QImode)
26332 : : && (
26333 : : #line 15655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26334 : : (TARGET_AVX512VL && TARGET_AVX512BW && ix86_pre_reload_split ()) &&
26335 : : #line 15657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26336 : : ( 1)))
26337 : : return gen_split_3259 (insn, operands);
26338 : : if (pshufb_truncv4siv4hi_operand (operands[2], E_V16QImode)
26339 : : && (
26340 : : #line 16010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26341 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26342 : : #line 16012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26343 : : ( 1)))
26344 : : return gen_split_3275 (insn, operands);
26345 : : break;
26346 : :
26347 : : case 1:
26348 : : if ((
26349 : : #line 16251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26350 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26351 : : #line 16253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26352 : : ( 1)))
26353 : : return gen_split_3285 (insn, operands);
26354 : : break;
26355 : :
26356 : : default:
26357 : : break;
26358 : : }
26359 : : }
26360 : : operands[1] = x5;
26361 : : if (register_operand (operands[1], E_V2DImode))
26362 : : {
26363 : : if (general_reg_operand (operands[0], E_DImode)
26364 : : &&
26365 : : #line 21474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26366 : : (TARGET_SSE4_1 && !TARGET_64BIT
26367 : : && reload_completed))
26368 : : return gen_split_3471 (insn, operands);
26369 : : if (nonimmediate_operand (operands[0], E_DImode)
26370 : : &&
26371 : : #line 21492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26372 : : (TARGET_SSE && reload_completed))
26373 : : return gen_split_3473 (insn, operands);
26374 : : }
26375 : : }
26376 : : if (!register_operand (operands[0], E_DImode)
26377 : : || GET_MODE (x2) != E_DImode)
26378 : : return NULL;
26379 : : operands[1] = x5;
26380 : : if (!memory_operand (operands[1], E_V2DImode))
26381 : : return NULL;
26382 : : operands[2] = x7;
26383 : : if (!const_0_to_1_operand (operands[2], E_VOIDmode)
26384 : : || !
26385 : : #line 21679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26386 : : (TARGET_SSE && reload_completed))
26387 : : return NULL;
26388 : : return gen_split_3479 (insn, operands);
26389 : :
26390 : : case UNSPEC:
26391 : : if (pattern274 (x2) != 0
26392 : : || !
26393 : : #line 8704 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26394 : : (TARGET_SSE2 && reload_completed
26395 : : && SSE_REG_P (operands[0])))
26396 : : return NULL;
26397 : : return gen_split_1593 (insn, operands);
26398 : :
26399 : : case FIX:
26400 : : if (pattern276 (x2) != 0
26401 : : || !
26402 : : #line 8768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26403 : : (TARGET_SSE2 && reload_completed
26404 : : && SSE_REG_P (operands[0])))
26405 : : return NULL;
26406 : : return gen_split_1595 (insn, operands);
26407 : :
26408 : : default:
26409 : : return NULL;
26410 : : }
26411 : : }
26412 : :
26413 : : rtx_insn *
26414 : : split_57 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26415 : : {
26416 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26417 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
26418 : : rtx x10, x11, x12, x13, x14;
26419 : : rtx_insn *res ATTRIBUTE_UNUSED;
26420 : : x2 = XEXP (x1, 1);
26421 : : operands[3] = x2;
26422 : : x3 = XEXP (x2, 0);
26423 : : if (GET_CODE (x3) != UNSPEC
26424 : : || XVECLEN (x3, 0) != 2
26425 : : || XINT (x3, 1) != 131
26426 : : || GET_MODE (x3) != E_CCZmode)
26427 : : return NULL;
26428 : : x4 = XVECEXP (x3, 0, 0);
26429 : : if (GET_CODE (x4) != AND)
26430 : : return NULL;
26431 : : x5 = XEXP (x4, 0);
26432 : : if (GET_CODE (x5) != NOT)
26433 : : return NULL;
26434 : : x6 = XVECEXP (x3, 0, 1);
26435 : : if (GET_CODE (x6) != AND)
26436 : : return NULL;
26437 : : x7 = XEXP (x6, 0);
26438 : : if (GET_CODE (x7) != NOT)
26439 : : return NULL;
26440 : : x8 = XEXP (x2, 1);
26441 : : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26442 : : return NULL;
26443 : : x9 = XEXP (x5, 0);
26444 : : operands[1] = x9;
26445 : : x10 = XEXP (x4, 1);
26446 : : operands[2] = x10;
26447 : : x11 = XEXP (x7, 0);
26448 : : if (!rtx_equal_p (x11, operands[1]))
26449 : : return NULL;
26450 : : x12 = XEXP (x6, 1);
26451 : : if (!rtx_equal_p (x12, operands[2]))
26452 : : return NULL;
26453 : : x13 = XEXP (x1, 0);
26454 : : switch (GET_CODE (x13))
26455 : : {
26456 : : case REG:
26457 : : case SUBREG:
26458 : : operands[0] = x13;
26459 : : switch (GET_MODE (operands[0]))
26460 : : {
26461 : : case E_QImode:
26462 : : if (!register_operand (operands[0], E_QImode))
26463 : : return NULL;
26464 : : switch (pattern1701 (x3,
26465 : : E_QImode))
26466 : : {
26467 : : case 0:
26468 : : if (!
26469 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26470 : : (TARGET_SSE4_1))
26471 : : return NULL;
26472 : : return gen_split_3689 (insn, operands);
26473 : :
26474 : : case 1:
26475 : : if (!
26476 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26477 : : (TARGET_SSE4_1))
26478 : : return NULL;
26479 : : return gen_split_3690 (insn, operands);
26480 : :
26481 : : case 2:
26482 : : if (!
26483 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26484 : : (TARGET_SSE4_1))
26485 : : return NULL;
26486 : : return gen_split_3691 (insn, operands);
26487 : :
26488 : : case 3:
26489 : : if (!
26490 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26491 : : (TARGET_SSE4_1))
26492 : : return NULL;
26493 : : return gen_split_3692 (insn, operands);
26494 : :
26495 : : case 4:
26496 : : if (!
26497 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26498 : : (TARGET_SSE4_1))
26499 : : return NULL;
26500 : : return gen_split_3693 (insn, operands);
26501 : :
26502 : : case 5:
26503 : : if (!
26504 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26505 : : (TARGET_SSE4_1))
26506 : : return NULL;
26507 : : return gen_split_3694 (insn, operands);
26508 : :
26509 : : case 6:
26510 : : if (!
26511 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26512 : : (TARGET_SSE4_1))
26513 : : return NULL;
26514 : : return gen_split_3695 (insn, operands);
26515 : :
26516 : : case 7:
26517 : : if (!(
26518 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26519 : : (TARGET_SSE4_1) &&
26520 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26521 : : (TARGET_AVX)))
26522 : : return NULL;
26523 : : return gen_split_3696 (insn, operands);
26524 : :
26525 : : case 8:
26526 : : if (!(
26527 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26528 : : (TARGET_SSE4_1) &&
26529 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26530 : : (TARGET_AVX)))
26531 : : return NULL;
26532 : : return gen_split_3697 (insn, operands);
26533 : :
26534 : : case 9:
26535 : : if (!(
26536 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26537 : : (TARGET_SSE4_1) &&
26538 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26539 : : (TARGET_AVX)))
26540 : : return NULL;
26541 : : return gen_split_3698 (insn, operands);
26542 : :
26543 : : case 10:
26544 : : if (!(
26545 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26546 : : (TARGET_SSE4_1) &&
26547 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26548 : : (TARGET_AVX)))
26549 : : return NULL;
26550 : : return gen_split_3699 (insn, operands);
26551 : :
26552 : : case 11:
26553 : : if (!(
26554 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26555 : : (TARGET_SSE4_1) &&
26556 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26557 : : (TARGET_AVX)))
26558 : : return NULL;
26559 : : return gen_split_3700 (insn, operands);
26560 : :
26561 : : case 12:
26562 : : if (!(
26563 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26564 : : (TARGET_SSE4_1) &&
26565 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26566 : : (TARGET_AVX)))
26567 : : return NULL;
26568 : : return gen_split_3701 (insn, operands);
26569 : :
26570 : : case 13:
26571 : : if (!(
26572 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26573 : : (TARGET_SSE4_1) &&
26574 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26575 : : (TARGET_AVX)))
26576 : : return NULL;
26577 : : return gen_split_3702 (insn, operands);
26578 : :
26579 : : default:
26580 : : return NULL;
26581 : : }
26582 : :
26583 : : case E_HImode:
26584 : : if (!register_operand (operands[0], E_HImode))
26585 : : return NULL;
26586 : : switch (pattern1701 (x3,
26587 : : E_HImode))
26588 : : {
26589 : : case 0:
26590 : : if (!
26591 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26592 : : (TARGET_SSE4_1))
26593 : : return NULL;
26594 : : return gen_split_3703 (insn, operands);
26595 : :
26596 : : case 1:
26597 : : if (!
26598 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26599 : : (TARGET_SSE4_1))
26600 : : return NULL;
26601 : : return gen_split_3704 (insn, operands);
26602 : :
26603 : : case 2:
26604 : : if (!
26605 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26606 : : (TARGET_SSE4_1))
26607 : : return NULL;
26608 : : return gen_split_3705 (insn, operands);
26609 : :
26610 : : case 3:
26611 : : if (!
26612 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26613 : : (TARGET_SSE4_1))
26614 : : return NULL;
26615 : : return gen_split_3706 (insn, operands);
26616 : :
26617 : : case 4:
26618 : : if (!
26619 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26620 : : (TARGET_SSE4_1))
26621 : : return NULL;
26622 : : return gen_split_3707 (insn, operands);
26623 : :
26624 : : case 5:
26625 : : if (!
26626 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26627 : : (TARGET_SSE4_1))
26628 : : return NULL;
26629 : : return gen_split_3708 (insn, operands);
26630 : :
26631 : : case 6:
26632 : : if (!
26633 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26634 : : (TARGET_SSE4_1))
26635 : : return NULL;
26636 : : return gen_split_3709 (insn, operands);
26637 : :
26638 : : case 7:
26639 : : if (!(
26640 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26641 : : (TARGET_SSE4_1) &&
26642 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26643 : : (TARGET_AVX)))
26644 : : return NULL;
26645 : : return gen_split_3710 (insn, operands);
26646 : :
26647 : : case 8:
26648 : : if (!(
26649 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26650 : : (TARGET_SSE4_1) &&
26651 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26652 : : (TARGET_AVX)))
26653 : : return NULL;
26654 : : return gen_split_3711 (insn, operands);
26655 : :
26656 : : case 9:
26657 : : if (!(
26658 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26659 : : (TARGET_SSE4_1) &&
26660 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26661 : : (TARGET_AVX)))
26662 : : return NULL;
26663 : : return gen_split_3712 (insn, operands);
26664 : :
26665 : : case 10:
26666 : : if (!(
26667 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26668 : : (TARGET_SSE4_1) &&
26669 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26670 : : (TARGET_AVX)))
26671 : : return NULL;
26672 : : return gen_split_3713 (insn, operands);
26673 : :
26674 : : case 11:
26675 : : if (!(
26676 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26677 : : (TARGET_SSE4_1) &&
26678 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26679 : : (TARGET_AVX)))
26680 : : return NULL;
26681 : : return gen_split_3714 (insn, operands);
26682 : :
26683 : : case 12:
26684 : : if (!(
26685 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26686 : : (TARGET_SSE4_1) &&
26687 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26688 : : (TARGET_AVX)))
26689 : : return NULL;
26690 : : return gen_split_3715 (insn, operands);
26691 : :
26692 : : case 13:
26693 : : if (!(
26694 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26695 : : (TARGET_SSE4_1) &&
26696 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26697 : : (TARGET_AVX)))
26698 : : return NULL;
26699 : : return gen_split_3716 (insn, operands);
26700 : :
26701 : : default:
26702 : : return NULL;
26703 : : }
26704 : :
26705 : : case E_SImode:
26706 : : if (!register_operand (operands[0], E_SImode))
26707 : : return NULL;
26708 : : switch (pattern1701 (x3,
26709 : : E_SImode))
26710 : : {
26711 : : case 0:
26712 : : if (!
26713 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26714 : : (TARGET_SSE4_1))
26715 : : return NULL;
26716 : : return gen_split_3717 (insn, operands);
26717 : :
26718 : : case 1:
26719 : : if (!
26720 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26721 : : (TARGET_SSE4_1))
26722 : : return NULL;
26723 : : return gen_split_3718 (insn, operands);
26724 : :
26725 : : case 2:
26726 : : if (!
26727 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26728 : : (TARGET_SSE4_1))
26729 : : return NULL;
26730 : : return gen_split_3719 (insn, operands);
26731 : :
26732 : : case 3:
26733 : : if (!
26734 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26735 : : (TARGET_SSE4_1))
26736 : : return NULL;
26737 : : return gen_split_3720 (insn, operands);
26738 : :
26739 : : case 4:
26740 : : if (!
26741 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26742 : : (TARGET_SSE4_1))
26743 : : return NULL;
26744 : : return gen_split_3721 (insn, operands);
26745 : :
26746 : : case 5:
26747 : : if (!
26748 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26749 : : (TARGET_SSE4_1))
26750 : : return NULL;
26751 : : return gen_split_3722 (insn, operands);
26752 : :
26753 : : case 6:
26754 : : if (!
26755 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26756 : : (TARGET_SSE4_1))
26757 : : return NULL;
26758 : : return gen_split_3723 (insn, operands);
26759 : :
26760 : : case 7:
26761 : : if (!(
26762 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26763 : : (TARGET_SSE4_1) &&
26764 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26765 : : (TARGET_AVX)))
26766 : : return NULL;
26767 : : return gen_split_3724 (insn, operands);
26768 : :
26769 : : case 8:
26770 : : if (!(
26771 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26772 : : (TARGET_SSE4_1) &&
26773 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26774 : : (TARGET_AVX)))
26775 : : return NULL;
26776 : : return gen_split_3725 (insn, operands);
26777 : :
26778 : : case 9:
26779 : : if (!(
26780 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26781 : : (TARGET_SSE4_1) &&
26782 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26783 : : (TARGET_AVX)))
26784 : : return NULL;
26785 : : return gen_split_3726 (insn, operands);
26786 : :
26787 : : case 10:
26788 : : if (!(
26789 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26790 : : (TARGET_SSE4_1) &&
26791 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26792 : : (TARGET_AVX)))
26793 : : return NULL;
26794 : : return gen_split_3727 (insn, operands);
26795 : :
26796 : : case 11:
26797 : : if (!(
26798 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26799 : : (TARGET_SSE4_1) &&
26800 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26801 : : (TARGET_AVX)))
26802 : : return NULL;
26803 : : return gen_split_3728 (insn, operands);
26804 : :
26805 : : case 12:
26806 : : if (!(
26807 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26808 : : (TARGET_SSE4_1) &&
26809 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26810 : : (TARGET_AVX)))
26811 : : return NULL;
26812 : : return gen_split_3729 (insn, operands);
26813 : :
26814 : : case 13:
26815 : : if (!(
26816 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26817 : : (TARGET_SSE4_1) &&
26818 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26819 : : (TARGET_AVX)))
26820 : : return NULL;
26821 : : return gen_split_3730 (insn, operands);
26822 : :
26823 : : default:
26824 : : return NULL;
26825 : : }
26826 : :
26827 : : case E_DImode:
26828 : : if (!register_operand (operands[0], E_DImode))
26829 : : return NULL;
26830 : : switch (pattern1701 (x3,
26831 : : E_DImode))
26832 : : {
26833 : : case 0:
26834 : : if (!(
26835 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26836 : : (TARGET_SSE4_1) &&
26837 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26838 : : (TARGET_64BIT)))
26839 : : return NULL;
26840 : : return gen_split_3731 (insn, operands);
26841 : :
26842 : : case 1:
26843 : : if (!(
26844 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26845 : : (TARGET_SSE4_1) &&
26846 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26847 : : (TARGET_64BIT)))
26848 : : return NULL;
26849 : : return gen_split_3732 (insn, operands);
26850 : :
26851 : : case 2:
26852 : : if (!(
26853 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26854 : : (TARGET_SSE4_1) &&
26855 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26856 : : (TARGET_64BIT)))
26857 : : return NULL;
26858 : : return gen_split_3733 (insn, operands);
26859 : :
26860 : : case 3:
26861 : : if (!(
26862 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26863 : : (TARGET_SSE4_1) &&
26864 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26865 : : (TARGET_64BIT)))
26866 : : return NULL;
26867 : : return gen_split_3734 (insn, operands);
26868 : :
26869 : : case 4:
26870 : : if (!(
26871 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26872 : : (TARGET_SSE4_1) &&
26873 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26874 : : (TARGET_64BIT)))
26875 : : return NULL;
26876 : : return gen_split_3735 (insn, operands);
26877 : :
26878 : : case 5:
26879 : : if (!(
26880 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26881 : : (TARGET_SSE4_1) &&
26882 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26883 : : (TARGET_64BIT)))
26884 : : return NULL;
26885 : : return gen_split_3736 (insn, operands);
26886 : :
26887 : : case 6:
26888 : : if (!(
26889 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26890 : : (TARGET_SSE4_1) &&
26891 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26892 : : (TARGET_64BIT)))
26893 : : return NULL;
26894 : : return gen_split_3737 (insn, operands);
26895 : :
26896 : : case 7:
26897 : : if (!(
26898 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26899 : : (TARGET_SSE4_1) && ((((((
26900 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26901 : : (TARGET_64BIT) &&
26902 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26903 : : (TARGET_AVX)) &&
26904 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26905 : : (TARGET_AVX)) &&
26906 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26907 : : (TARGET_AVX)) &&
26908 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26909 : : (TARGET_AVX)) &&
26910 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26911 : : (TARGET_AVX)) &&
26912 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26913 : : (TARGET_AVX))))
26914 : : return NULL;
26915 : : return gen_split_3738 (insn, operands);
26916 : :
26917 : : case 8:
26918 : : if (!(
26919 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26920 : : (TARGET_SSE4_1) && ((((((
26921 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26922 : : (TARGET_64BIT) &&
26923 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26924 : : (TARGET_AVX)) &&
26925 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26926 : : (TARGET_AVX)) &&
26927 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26928 : : (TARGET_AVX)) &&
26929 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26930 : : (TARGET_AVX)) &&
26931 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26932 : : (TARGET_AVX)) &&
26933 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26934 : : (TARGET_AVX))))
26935 : : return NULL;
26936 : : return gen_split_3739 (insn, operands);
26937 : :
26938 : : case 9:
26939 : : if (!(
26940 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26941 : : (TARGET_SSE4_1) && ((((((
26942 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26943 : : (TARGET_64BIT) &&
26944 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26945 : : (TARGET_AVX)) &&
26946 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26947 : : (TARGET_AVX)) &&
26948 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26949 : : (TARGET_AVX)) &&
26950 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26951 : : (TARGET_AVX)) &&
26952 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26953 : : (TARGET_AVX)) &&
26954 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26955 : : (TARGET_AVX))))
26956 : : return NULL;
26957 : : return gen_split_3740 (insn, operands);
26958 : :
26959 : : case 10:
26960 : : if (!(
26961 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26962 : : (TARGET_SSE4_1) && ((((((
26963 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26964 : : (TARGET_64BIT) &&
26965 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26966 : : (TARGET_AVX)) &&
26967 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26968 : : (TARGET_AVX)) &&
26969 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26970 : : (TARGET_AVX)) &&
26971 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26972 : : (TARGET_AVX)) &&
26973 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26974 : : (TARGET_AVX)) &&
26975 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26976 : : (TARGET_AVX))))
26977 : : return NULL;
26978 : : return gen_split_3741 (insn, operands);
26979 : :
26980 : : case 11:
26981 : : if (!(
26982 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26983 : : (TARGET_SSE4_1) && ((((((
26984 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26985 : : (TARGET_64BIT) &&
26986 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26987 : : (TARGET_AVX)) &&
26988 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26989 : : (TARGET_AVX)) &&
26990 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26991 : : (TARGET_AVX)) &&
26992 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26993 : : (TARGET_AVX)) &&
26994 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26995 : : (TARGET_AVX)) &&
26996 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26997 : : (TARGET_AVX))))
26998 : : return NULL;
26999 : : return gen_split_3742 (insn, operands);
27000 : :
27001 : : case 12:
27002 : : if (!(
27003 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27004 : : (TARGET_SSE4_1) && ((((((
27005 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27006 : : (TARGET_64BIT) &&
27007 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27008 : : (TARGET_AVX)) &&
27009 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27010 : : (TARGET_AVX)) &&
27011 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27012 : : (TARGET_AVX)) &&
27013 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27014 : : (TARGET_AVX)) &&
27015 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27016 : : (TARGET_AVX)) &&
27017 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27018 : : (TARGET_AVX))))
27019 : : return NULL;
27020 : : return gen_split_3743 (insn, operands);
27021 : :
27022 : : case 13:
27023 : : if (!(
27024 : : #line 25699 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27025 : : (TARGET_SSE4_1) && ((((((
27026 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
27027 : : (TARGET_64BIT) &&
27028 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27029 : : (TARGET_AVX)) &&
27030 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27031 : : (TARGET_AVX)) &&
27032 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27033 : : (TARGET_AVX)) &&
27034 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27035 : : (TARGET_AVX)) &&
27036 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27037 : : (TARGET_AVX)) &&
27038 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27039 : : (TARGET_AVX))))
27040 : : return NULL;
27041 : : return gen_split_3744 (insn, operands);
27042 : :
27043 : : default:
27044 : : return NULL;
27045 : : }
27046 : :
27047 : : default:
27048 : : return NULL;
27049 : : }
27050 : :
27051 : : case STRICT_LOW_PART:
27052 : : x14 = XEXP (x13, 0);
27053 : : operands[0] = x14;
27054 : : if (!register_operand (operands[0], E_QImode))
27055 : : return NULL;
27056 : : switch (pattern1701 (x3,
27057 : : E_QImode))
27058 : : {
27059 : : case 0:
27060 : : if (!
27061 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27062 : : (TARGET_SSE4_1))
27063 : : return NULL;
27064 : : return gen_split_3745 (insn, operands);
27065 : :
27066 : : case 1:
27067 : : if (!
27068 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27069 : : (TARGET_SSE4_1))
27070 : : return NULL;
27071 : : return gen_split_3746 (insn, operands);
27072 : :
27073 : : case 2:
27074 : : if (!
27075 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27076 : : (TARGET_SSE4_1))
27077 : : return NULL;
27078 : : return gen_split_3747 (insn, operands);
27079 : :
27080 : : case 3:
27081 : : if (!
27082 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27083 : : (TARGET_SSE4_1))
27084 : : return NULL;
27085 : : return gen_split_3748 (insn, operands);
27086 : :
27087 : : case 4:
27088 : : if (!
27089 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27090 : : (TARGET_SSE4_1))
27091 : : return NULL;
27092 : : return gen_split_3749 (insn, operands);
27093 : :
27094 : : case 5:
27095 : : if (!
27096 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27097 : : (TARGET_SSE4_1))
27098 : : return NULL;
27099 : : return gen_split_3750 (insn, operands);
27100 : :
27101 : : case 6:
27102 : : if (!
27103 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27104 : : (TARGET_SSE4_1))
27105 : : return NULL;
27106 : : return gen_split_3751 (insn, operands);
27107 : :
27108 : : case 7:
27109 : : if (!(
27110 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27111 : : (TARGET_SSE4_1) &&
27112 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27113 : : (TARGET_AVX)))
27114 : : return NULL;
27115 : : return gen_split_3752 (insn, operands);
27116 : :
27117 : : case 8:
27118 : : if (!(
27119 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27120 : : (TARGET_SSE4_1) &&
27121 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27122 : : (TARGET_AVX)))
27123 : : return NULL;
27124 : : return gen_split_3753 (insn, operands);
27125 : :
27126 : : case 9:
27127 : : if (!(
27128 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27129 : : (TARGET_SSE4_1) &&
27130 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27131 : : (TARGET_AVX)))
27132 : : return NULL;
27133 : : return gen_split_3754 (insn, operands);
27134 : :
27135 : : case 10:
27136 : : if (!(
27137 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27138 : : (TARGET_SSE4_1) &&
27139 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27140 : : (TARGET_AVX)))
27141 : : return NULL;
27142 : : return gen_split_3755 (insn, operands);
27143 : :
27144 : : case 11:
27145 : : if (!(
27146 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27147 : : (TARGET_SSE4_1) &&
27148 : : #line 598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27149 : : (TARGET_AVX)))
27150 : : return NULL;
27151 : : return gen_split_3756 (insn, operands);
27152 : :
27153 : : case 12:
27154 : : if (!(
27155 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27156 : : (TARGET_SSE4_1) &&
27157 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27158 : : (TARGET_AVX)))
27159 : : return NULL;
27160 : : return gen_split_3757 (insn, operands);
27161 : :
27162 : : case 13:
27163 : : if (!(
27164 : : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27165 : : (TARGET_SSE4_1) &&
27166 : : #line 599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27167 : : (TARGET_AVX)))
27168 : : return NULL;
27169 : : return gen_split_3758 (insn, operands);
27170 : :
27171 : : default:
27172 : : return NULL;
27173 : : }
27174 : :
27175 : : default:
27176 : : return NULL;
27177 : : }
27178 : : }
27179 : :
27180 : : rtx_insn *
27181 : : split_72 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27182 : : {
27183 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27184 : : rtx x2, x3, x4;
27185 : : rtx_insn *res ATTRIBUTE_UNUSED;
27186 : : x2 = XEXP (x1, 1);
27187 : : x3 = XEXP (x2, 0);
27188 : : x4 = XEXP (x3, 0);
27189 : : switch (GET_CODE (x4))
27190 : : {
27191 : : case REG:
27192 : : case SUBREG:
27193 : : case MEM:
27194 : : case NOT:
27195 : : switch (pattern530 (x2))
27196 : : {
27197 : : case 0:
27198 : : if (!((
27199 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27200 : : ((64 == 64 || TARGET_AVX512VL
27201 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27202 : : && ix86_pre_reload_split ()
27203 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27204 : : STRIP_UNARY (operands[4]))
27205 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27206 : : STRIP_UNARY (operands[4]))
27207 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27208 : : STRIP_UNARY (operands[3]))
27209 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27210 : : STRIP_UNARY (operands[3])))) &&
27211 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27212 : : (TARGET_AVX512F)) &&
27213 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27214 : : ( 1)))
27215 : : return NULL;
27216 : : return gen_split_1744 (insn, operands);
27217 : :
27218 : : case 1:
27219 : : if (!((
27220 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27221 : : ((32 == 64 || TARGET_AVX512VL
27222 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27223 : : && ix86_pre_reload_split ()
27224 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27225 : : STRIP_UNARY (operands[4]))
27226 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27227 : : STRIP_UNARY (operands[4]))
27228 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27229 : : STRIP_UNARY (operands[3]))
27230 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27231 : : STRIP_UNARY (operands[3])))) &&
27232 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27233 : : (TARGET_AVX)) &&
27234 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27235 : : ( 1)))
27236 : : return NULL;
27237 : : return gen_split_1771 (insn, operands);
27238 : :
27239 : : case 2:
27240 : : if (!(
27241 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27242 : : ((16 == 64 || TARGET_AVX512VL
27243 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27244 : : && ix86_pre_reload_split ()
27245 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27246 : : STRIP_UNARY (operands[4]))
27247 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27248 : : STRIP_UNARY (operands[4]))
27249 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27250 : : STRIP_UNARY (operands[3]))
27251 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27252 : : STRIP_UNARY (operands[3])))) &&
27253 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27254 : : ( 1)))
27255 : : return NULL;
27256 : : return gen_split_1798 (insn, operands);
27257 : :
27258 : : case 3:
27259 : : if (!((
27260 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27261 : : ((64 == 64 || TARGET_AVX512VL
27262 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27263 : : && ix86_pre_reload_split ()
27264 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27265 : : STRIP_UNARY (operands[4]))
27266 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27267 : : STRIP_UNARY (operands[4]))
27268 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27269 : : STRIP_UNARY (operands[3]))
27270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27271 : : STRIP_UNARY (operands[3])))) &&
27272 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27273 : : (TARGET_AVX512F)) &&
27274 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27275 : : ( 1)))
27276 : : return NULL;
27277 : : return gen_split_1825 (insn, operands);
27278 : :
27279 : : case 4:
27280 : : if (!((
27281 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27282 : : ((32 == 64 || TARGET_AVX512VL
27283 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27284 : : && ix86_pre_reload_split ()
27285 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27286 : : STRIP_UNARY (operands[4]))
27287 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27288 : : STRIP_UNARY (operands[4]))
27289 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27290 : : STRIP_UNARY (operands[3]))
27291 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27292 : : STRIP_UNARY (operands[3])))) &&
27293 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27294 : : (TARGET_AVX)) &&
27295 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27296 : : ( 1)))
27297 : : return NULL;
27298 : : return gen_split_1852 (insn, operands);
27299 : :
27300 : : case 5:
27301 : : if (!(
27302 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27303 : : ((16 == 64 || TARGET_AVX512VL
27304 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27305 : : && ix86_pre_reload_split ()
27306 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27307 : : STRIP_UNARY (operands[4]))
27308 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27309 : : STRIP_UNARY (operands[4]))
27310 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27311 : : STRIP_UNARY (operands[3]))
27312 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27313 : : STRIP_UNARY (operands[3])))) &&
27314 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27315 : : ( 1)))
27316 : : return NULL;
27317 : : return gen_split_1879 (insn, operands);
27318 : :
27319 : : case 6:
27320 : : if (!((
27321 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27322 : : ((64 == 64 || TARGET_AVX512VL
27323 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27324 : : && ix86_pre_reload_split ()
27325 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27326 : : STRIP_UNARY (operands[4]))
27327 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27328 : : STRIP_UNARY (operands[4]))
27329 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27330 : : STRIP_UNARY (operands[3]))
27331 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27332 : : STRIP_UNARY (operands[3])))) &&
27333 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27334 : : (TARGET_AVX512F)) &&
27335 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27336 : : ( 1)))
27337 : : return NULL;
27338 : : return gen_split_1906 (insn, operands);
27339 : :
27340 : : case 7:
27341 : : if (!((
27342 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27343 : : ((32 == 64 || TARGET_AVX512VL
27344 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27345 : : && ix86_pre_reload_split ()
27346 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27347 : : STRIP_UNARY (operands[4]))
27348 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27349 : : STRIP_UNARY (operands[4]))
27350 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27351 : : STRIP_UNARY (operands[3]))
27352 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27353 : : STRIP_UNARY (operands[3])))) &&
27354 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27355 : : (TARGET_AVX)) &&
27356 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27357 : : ( 1)))
27358 : : return NULL;
27359 : : return gen_split_1933 (insn, operands);
27360 : :
27361 : : case 8:
27362 : : if (!(
27363 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27364 : : ((16 == 64 || TARGET_AVX512VL
27365 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27366 : : && ix86_pre_reload_split ()
27367 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27368 : : STRIP_UNARY (operands[4]))
27369 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27370 : : STRIP_UNARY (operands[4]))
27371 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27372 : : STRIP_UNARY (operands[3]))
27373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27374 : : STRIP_UNARY (operands[3])))) &&
27375 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27376 : : ( 1)))
27377 : : return NULL;
27378 : : return gen_split_1960 (insn, operands);
27379 : :
27380 : : case 9:
27381 : : if (!((
27382 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27383 : : ((64 == 64 || TARGET_AVX512VL
27384 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27385 : : && ix86_pre_reload_split ()
27386 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27387 : : STRIP_UNARY (operands[4]))
27388 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27389 : : STRIP_UNARY (operands[4]))
27390 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27391 : : STRIP_UNARY (operands[3]))
27392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27393 : : STRIP_UNARY (operands[3])))) &&
27394 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27395 : : (TARGET_AVX512F)) &&
27396 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27397 : : ( 1)))
27398 : : return NULL;
27399 : : return gen_split_1987 (insn, operands);
27400 : :
27401 : : case 10:
27402 : : if (!((
27403 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27404 : : ((32 == 64 || TARGET_AVX512VL
27405 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27406 : : && ix86_pre_reload_split ()
27407 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27408 : : STRIP_UNARY (operands[4]))
27409 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27410 : : STRIP_UNARY (operands[4]))
27411 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27412 : : STRIP_UNARY (operands[3]))
27413 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27414 : : STRIP_UNARY (operands[3])))) &&
27415 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27416 : : (TARGET_AVX)) &&
27417 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27418 : : ( 1)))
27419 : : return NULL;
27420 : : return gen_split_2014 (insn, operands);
27421 : :
27422 : : case 11:
27423 : : if (!(
27424 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27425 : : ((16 == 64 || TARGET_AVX512VL
27426 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27427 : : && ix86_pre_reload_split ()
27428 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27429 : : STRIP_UNARY (operands[4]))
27430 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27431 : : STRIP_UNARY (operands[4]))
27432 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27433 : : STRIP_UNARY (operands[3]))
27434 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27435 : : STRIP_UNARY (operands[3])))) &&
27436 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27437 : : ( 1)))
27438 : : return NULL;
27439 : : return gen_split_2041 (insn, operands);
27440 : :
27441 : : case 12:
27442 : : if (!((
27443 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27444 : : ((64 == 64 || TARGET_AVX512VL
27445 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27446 : : && ix86_pre_reload_split ()
27447 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27448 : : STRIP_UNARY (operands[4]))
27449 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27450 : : STRIP_UNARY (operands[4]))
27451 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27452 : : STRIP_UNARY (operands[3]))
27453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27454 : : STRIP_UNARY (operands[3])))) &&
27455 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27456 : : (TARGET_AVX512F)) &&
27457 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27458 : : ( 1)))
27459 : : return NULL;
27460 : : return gen_split_1747 (insn, operands);
27461 : :
27462 : : case 13:
27463 : : if (!((
27464 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27465 : : ((32 == 64 || TARGET_AVX512VL
27466 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27467 : : && ix86_pre_reload_split ()
27468 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27469 : : STRIP_UNARY (operands[4]))
27470 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27471 : : STRIP_UNARY (operands[4]))
27472 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27473 : : STRIP_UNARY (operands[3]))
27474 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27475 : : STRIP_UNARY (operands[3])))) &&
27476 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27477 : : (TARGET_AVX)) &&
27478 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27479 : : ( 1)))
27480 : : return NULL;
27481 : : return gen_split_1774 (insn, operands);
27482 : :
27483 : : case 14:
27484 : : if (!(
27485 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27486 : : ((16 == 64 || TARGET_AVX512VL
27487 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27488 : : && ix86_pre_reload_split ()
27489 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27490 : : STRIP_UNARY (operands[4]))
27491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27492 : : STRIP_UNARY (operands[4]))
27493 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27494 : : STRIP_UNARY (operands[3]))
27495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27496 : : STRIP_UNARY (operands[3])))) &&
27497 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27498 : : ( 1)))
27499 : : return NULL;
27500 : : return gen_split_1801 (insn, operands);
27501 : :
27502 : : case 15:
27503 : : if (!((
27504 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27505 : : ((64 == 64 || TARGET_AVX512VL
27506 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27507 : : && ix86_pre_reload_split ()
27508 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27509 : : STRIP_UNARY (operands[4]))
27510 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27511 : : STRIP_UNARY (operands[4]))
27512 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27513 : : STRIP_UNARY (operands[3]))
27514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27515 : : STRIP_UNARY (operands[3])))) &&
27516 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27517 : : (TARGET_AVX512F)) &&
27518 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27519 : : ( 1)))
27520 : : return NULL;
27521 : : return gen_split_1828 (insn, operands);
27522 : :
27523 : : case 16:
27524 : : if (!((
27525 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27526 : : ((32 == 64 || TARGET_AVX512VL
27527 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27528 : : && ix86_pre_reload_split ()
27529 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27530 : : STRIP_UNARY (operands[4]))
27531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27532 : : STRIP_UNARY (operands[4]))
27533 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27534 : : STRIP_UNARY (operands[3]))
27535 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27536 : : STRIP_UNARY (operands[3])))) &&
27537 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27538 : : (TARGET_AVX)) &&
27539 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27540 : : ( 1)))
27541 : : return NULL;
27542 : : return gen_split_1855 (insn, operands);
27543 : :
27544 : : case 17:
27545 : : if (!(
27546 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27547 : : ((16 == 64 || TARGET_AVX512VL
27548 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27549 : : && ix86_pre_reload_split ()
27550 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27551 : : STRIP_UNARY (operands[4]))
27552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27553 : : STRIP_UNARY (operands[4]))
27554 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27555 : : STRIP_UNARY (operands[3]))
27556 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27557 : : STRIP_UNARY (operands[3])))) &&
27558 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27559 : : ( 1)))
27560 : : return NULL;
27561 : : return gen_split_1882 (insn, operands);
27562 : :
27563 : : case 18:
27564 : : if (!((
27565 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27566 : : ((64 == 64 || TARGET_AVX512VL
27567 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27568 : : && ix86_pre_reload_split ()
27569 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27570 : : STRIP_UNARY (operands[4]))
27571 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27572 : : STRIP_UNARY (operands[4]))
27573 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27574 : : STRIP_UNARY (operands[3]))
27575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27576 : : STRIP_UNARY (operands[3])))) &&
27577 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27578 : : (TARGET_AVX512F)) &&
27579 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27580 : : ( 1)))
27581 : : return NULL;
27582 : : return gen_split_1909 (insn, operands);
27583 : :
27584 : : case 19:
27585 : : if (!((
27586 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27587 : : ((32 == 64 || TARGET_AVX512VL
27588 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27589 : : && ix86_pre_reload_split ()
27590 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27591 : : STRIP_UNARY (operands[4]))
27592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27593 : : STRIP_UNARY (operands[4]))
27594 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27595 : : STRIP_UNARY (operands[3]))
27596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27597 : : STRIP_UNARY (operands[3])))) &&
27598 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27599 : : (TARGET_AVX)) &&
27600 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27601 : : ( 1)))
27602 : : return NULL;
27603 : : return gen_split_1936 (insn, operands);
27604 : :
27605 : : case 20:
27606 : : if (!(
27607 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27608 : : ((16 == 64 || TARGET_AVX512VL
27609 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27610 : : && ix86_pre_reload_split ()
27611 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27612 : : STRIP_UNARY (operands[4]))
27613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27614 : : STRIP_UNARY (operands[4]))
27615 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27616 : : STRIP_UNARY (operands[3]))
27617 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27618 : : STRIP_UNARY (operands[3])))) &&
27619 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27620 : : ( 1)))
27621 : : return NULL;
27622 : : return gen_split_1963 (insn, operands);
27623 : :
27624 : : case 21:
27625 : : if (!((
27626 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27627 : : ((64 == 64 || TARGET_AVX512VL
27628 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27629 : : && ix86_pre_reload_split ()
27630 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27631 : : STRIP_UNARY (operands[4]))
27632 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27633 : : STRIP_UNARY (operands[4]))
27634 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27635 : : STRIP_UNARY (operands[3]))
27636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27637 : : STRIP_UNARY (operands[3])))) &&
27638 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27639 : : (TARGET_AVX512F)) &&
27640 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27641 : : ( 1)))
27642 : : return NULL;
27643 : : return gen_split_1990 (insn, operands);
27644 : :
27645 : : case 22:
27646 : : if (!((
27647 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27648 : : ((32 == 64 || TARGET_AVX512VL
27649 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27650 : : && ix86_pre_reload_split ()
27651 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27652 : : STRIP_UNARY (operands[4]))
27653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27654 : : STRIP_UNARY (operands[4]))
27655 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27656 : : STRIP_UNARY (operands[3]))
27657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27658 : : STRIP_UNARY (operands[3])))) &&
27659 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27660 : : (TARGET_AVX)) &&
27661 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27662 : : ( 1)))
27663 : : return NULL;
27664 : : return gen_split_2017 (insn, operands);
27665 : :
27666 : : case 23:
27667 : : if (!(
27668 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27669 : : ((16 == 64 || TARGET_AVX512VL
27670 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27671 : : && ix86_pre_reload_split ()
27672 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27673 : : STRIP_UNARY (operands[4]))
27674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27675 : : STRIP_UNARY (operands[4]))
27676 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27677 : : STRIP_UNARY (operands[3]))
27678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27679 : : STRIP_UNARY (operands[3])))) &&
27680 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27681 : : ( 1)))
27682 : : return NULL;
27683 : : return gen_split_2044 (insn, operands);
27684 : :
27685 : : case 24:
27686 : : if (!((
27687 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27688 : : ((64 == 64 || TARGET_AVX512VL
27689 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27690 : : && ix86_pre_reload_split ()
27691 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27692 : : STRIP_UNARY (operands[4]))
27693 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27694 : : STRIP_UNARY (operands[4]))
27695 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27696 : : STRIP_UNARY (operands[3]))
27697 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27698 : : STRIP_UNARY (operands[3])))) &&
27699 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27700 : : (TARGET_AVX512F)) &&
27701 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27702 : : ( 1)))
27703 : : return NULL;
27704 : : return gen_split_1750 (insn, operands);
27705 : :
27706 : : case 25:
27707 : : if (!((
27708 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27709 : : ((32 == 64 || TARGET_AVX512VL
27710 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27711 : : && ix86_pre_reload_split ()
27712 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27713 : : STRIP_UNARY (operands[4]))
27714 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27715 : : STRIP_UNARY (operands[4]))
27716 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27717 : : STRIP_UNARY (operands[3]))
27718 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27719 : : STRIP_UNARY (operands[3])))) &&
27720 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27721 : : (TARGET_AVX)) &&
27722 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27723 : : ( 1)))
27724 : : return NULL;
27725 : : return gen_split_1777 (insn, operands);
27726 : :
27727 : : case 26:
27728 : : if (!(
27729 : : #line 14050 "/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 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27734 : : STRIP_UNARY (operands[4]))
27735 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27736 : : STRIP_UNARY (operands[4]))
27737 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27738 : : STRIP_UNARY (operands[3]))
27739 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27740 : : STRIP_UNARY (operands[3])))) &&
27741 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27742 : : ( 1)))
27743 : : return NULL;
27744 : : return gen_split_1804 (insn, operands);
27745 : :
27746 : : case 27:
27747 : : if (!((
27748 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27749 : : ((64 == 64 || TARGET_AVX512VL
27750 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27751 : : && ix86_pre_reload_split ()
27752 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27753 : : STRIP_UNARY (operands[4]))
27754 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27755 : : STRIP_UNARY (operands[4]))
27756 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27757 : : STRIP_UNARY (operands[3]))
27758 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27759 : : STRIP_UNARY (operands[3])))) &&
27760 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27761 : : (TARGET_AVX512F)) &&
27762 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27763 : : ( 1)))
27764 : : return NULL;
27765 : : return gen_split_1831 (insn, operands);
27766 : :
27767 : : case 28:
27768 : : if (!((
27769 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27770 : : ((32 == 64 || TARGET_AVX512VL
27771 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27772 : : && ix86_pre_reload_split ()
27773 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27774 : : STRIP_UNARY (operands[4]))
27775 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27776 : : STRIP_UNARY (operands[4]))
27777 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27778 : : STRIP_UNARY (operands[3]))
27779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27780 : : STRIP_UNARY (operands[3])))) &&
27781 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27782 : : (TARGET_AVX)) &&
27783 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27784 : : ( 1)))
27785 : : return NULL;
27786 : : return gen_split_1858 (insn, operands);
27787 : :
27788 : : case 29:
27789 : : if (!(
27790 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27791 : : ((16 == 64 || TARGET_AVX512VL
27792 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27793 : : && ix86_pre_reload_split ()
27794 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27795 : : STRIP_UNARY (operands[4]))
27796 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27797 : : STRIP_UNARY (operands[4]))
27798 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27799 : : STRIP_UNARY (operands[3]))
27800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27801 : : STRIP_UNARY (operands[3])))) &&
27802 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27803 : : ( 1)))
27804 : : return NULL;
27805 : : return gen_split_1885 (insn, operands);
27806 : :
27807 : : case 30:
27808 : : if (!((
27809 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27810 : : ((64 == 64 || TARGET_AVX512VL
27811 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27812 : : && ix86_pre_reload_split ()
27813 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27814 : : STRIP_UNARY (operands[4]))
27815 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27816 : : STRIP_UNARY (operands[4]))
27817 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27818 : : STRIP_UNARY (operands[3]))
27819 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27820 : : STRIP_UNARY (operands[3])))) &&
27821 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27822 : : (TARGET_AVX512F)) &&
27823 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27824 : : ( 1)))
27825 : : return NULL;
27826 : : return gen_split_1912 (insn, operands);
27827 : :
27828 : : case 31:
27829 : : if (!((
27830 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27831 : : ((32 == 64 || TARGET_AVX512VL
27832 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27833 : : && ix86_pre_reload_split ()
27834 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27835 : : STRIP_UNARY (operands[4]))
27836 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27837 : : STRIP_UNARY (operands[4]))
27838 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27839 : : STRIP_UNARY (operands[3]))
27840 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27841 : : STRIP_UNARY (operands[3])))) &&
27842 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27843 : : (TARGET_AVX)) &&
27844 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27845 : : ( 1)))
27846 : : return NULL;
27847 : : return gen_split_1939 (insn, operands);
27848 : :
27849 : : case 32:
27850 : : if (!(
27851 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27852 : : ((16 == 64 || TARGET_AVX512VL
27853 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27854 : : && ix86_pre_reload_split ()
27855 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27856 : : STRIP_UNARY (operands[4]))
27857 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27858 : : STRIP_UNARY (operands[4]))
27859 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27860 : : STRIP_UNARY (operands[3]))
27861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27862 : : STRIP_UNARY (operands[3])))) &&
27863 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27864 : : ( 1)))
27865 : : return NULL;
27866 : : return gen_split_1966 (insn, operands);
27867 : :
27868 : : case 33:
27869 : : if (!((
27870 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27871 : : ((64 == 64 || TARGET_AVX512VL
27872 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27873 : : && ix86_pre_reload_split ()
27874 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27875 : : STRIP_UNARY (operands[4]))
27876 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27877 : : STRIP_UNARY (operands[4]))
27878 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27879 : : STRIP_UNARY (operands[3]))
27880 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27881 : : STRIP_UNARY (operands[3])))) &&
27882 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27883 : : (TARGET_AVX512F)) &&
27884 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27885 : : ( 1)))
27886 : : return NULL;
27887 : : return gen_split_1993 (insn, operands);
27888 : :
27889 : : case 34:
27890 : : if (!((
27891 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27892 : : ((32 == 64 || TARGET_AVX512VL
27893 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27894 : : && ix86_pre_reload_split ()
27895 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27896 : : STRIP_UNARY (operands[4]))
27897 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27898 : : STRIP_UNARY (operands[4]))
27899 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27900 : : STRIP_UNARY (operands[3]))
27901 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27902 : : STRIP_UNARY (operands[3])))) &&
27903 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27904 : : (TARGET_AVX)) &&
27905 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27906 : : ( 1)))
27907 : : return NULL;
27908 : : return gen_split_2020 (insn, operands);
27909 : :
27910 : : case 35:
27911 : : if (!(
27912 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27913 : : ((16 == 64 || TARGET_AVX512VL
27914 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27915 : : && ix86_pre_reload_split ()
27916 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27917 : : STRIP_UNARY (operands[4]))
27918 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27919 : : STRIP_UNARY (operands[4]))
27920 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27921 : : STRIP_UNARY (operands[3]))
27922 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27923 : : STRIP_UNARY (operands[3])))) &&
27924 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27925 : : ( 1)))
27926 : : return NULL;
27927 : : return gen_split_2047 (insn, operands);
27928 : :
27929 : : case 36:
27930 : : if (!((
27931 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27932 : : ((64 == 64 || TARGET_AVX512VL
27933 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27934 : : && ix86_pre_reload_split ()) &&
27935 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27936 : : (TARGET_AVX512F)) &&
27937 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27938 : : ( 1)))
27939 : : return NULL;
27940 : : return gen_split_3034 (insn, operands);
27941 : :
27942 : : case 37:
27943 : : if (!((
27944 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27945 : : ((32 == 64 || TARGET_AVX512VL
27946 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27947 : : && ix86_pre_reload_split ()) &&
27948 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27949 : : (TARGET_AVX)) &&
27950 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27951 : : ( 1)))
27952 : : return NULL;
27953 : : return gen_split_3043 (insn, operands);
27954 : :
27955 : : case 38:
27956 : : if (!(
27957 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27958 : : ((16 == 64 || TARGET_AVX512VL
27959 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27960 : : && ix86_pre_reload_split ()) &&
27961 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27962 : : ( 1)))
27963 : : return NULL;
27964 : : return gen_split_3052 (insn, operands);
27965 : :
27966 : : case 39:
27967 : : if (!((
27968 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27969 : : ((64 == 64 || TARGET_AVX512VL
27970 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27971 : : && ix86_pre_reload_split ()) &&
27972 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27973 : : (TARGET_AVX512F)) &&
27974 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27975 : : ( 1)))
27976 : : return NULL;
27977 : : return gen_split_3061 (insn, operands);
27978 : :
27979 : : case 40:
27980 : : if (!((
27981 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27982 : : ((32 == 64 || TARGET_AVX512VL
27983 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27984 : : && ix86_pre_reload_split ()) &&
27985 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27986 : : (TARGET_AVX)) &&
27987 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27988 : : ( 1)))
27989 : : return NULL;
27990 : : return gen_split_3070 (insn, operands);
27991 : :
27992 : : case 41:
27993 : : if (!(
27994 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27995 : : ((16 == 64 || TARGET_AVX512VL
27996 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27997 : : && ix86_pre_reload_split ()) &&
27998 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27999 : : ( 1)))
28000 : : return NULL;
28001 : : return gen_split_3079 (insn, operands);
28002 : :
28003 : : case 42:
28004 : : if (!((
28005 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28006 : : ((64 == 64 || TARGET_AVX512VL
28007 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28008 : : && ix86_pre_reload_split ()) &&
28009 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28010 : : (TARGET_AVX512F)) &&
28011 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28012 : : ( 1)))
28013 : : return NULL;
28014 : : return gen_split_3088 (insn, operands);
28015 : :
28016 : : case 43:
28017 : : if (!((
28018 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28019 : : ((32 == 64 || TARGET_AVX512VL
28020 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28021 : : && ix86_pre_reload_split ()) &&
28022 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28023 : : (TARGET_AVX)) &&
28024 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28025 : : ( 1)))
28026 : : return NULL;
28027 : : return gen_split_3097 (insn, operands);
28028 : :
28029 : : case 44:
28030 : : if (!(
28031 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28032 : : ((16 == 64 || TARGET_AVX512VL
28033 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28034 : : && ix86_pre_reload_split ()) &&
28035 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28036 : : ( 1)))
28037 : : return NULL;
28038 : : return gen_split_3106 (insn, operands);
28039 : :
28040 : : case 45:
28041 : : if (!((
28042 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28043 : : ((64 == 64 || TARGET_AVX512VL
28044 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28045 : : && ix86_pre_reload_split ()) &&
28046 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28047 : : (TARGET_AVX512F)) &&
28048 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28049 : : ( 1)))
28050 : : return NULL;
28051 : : return gen_split_3115 (insn, operands);
28052 : :
28053 : : case 46:
28054 : : if (!((
28055 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28056 : : ((32 == 64 || TARGET_AVX512VL
28057 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28058 : : && ix86_pre_reload_split ()) &&
28059 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28060 : : (TARGET_AVX)) &&
28061 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28062 : : ( 1)))
28063 : : return NULL;
28064 : : return gen_split_3124 (insn, operands);
28065 : :
28066 : : case 47:
28067 : : if (!(
28068 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28069 : : ((16 == 64 || TARGET_AVX512VL
28070 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28071 : : && ix86_pre_reload_split ()) &&
28072 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28073 : : ( 1)))
28074 : : return NULL;
28075 : : return gen_split_3133 (insn, operands);
28076 : :
28077 : : default:
28078 : : return NULL;
28079 : : }
28080 : :
28081 : : case AND:
28082 : : switch (pattern532 (x2))
28083 : : {
28084 : : case 0:
28085 : : if (!((
28086 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28087 : : ((64 == 64 || TARGET_AVX512VL
28088 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28089 : : && ix86_pre_reload_split ()
28090 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28091 : : STRIP_UNARY (operands[4]))
28092 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28093 : : STRIP_UNARY (operands[4]))
28094 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28095 : : STRIP_UNARY (operands[3]))
28096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28097 : : STRIP_UNARY (operands[3])))) &&
28098 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28099 : : (TARGET_AVX512F)) &&
28100 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28101 : : ( 1)))
28102 : : return NULL;
28103 : : return gen_split_2392 (insn, operands);
28104 : :
28105 : : case 1:
28106 : : if (!((
28107 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28108 : : ((32 == 64 || TARGET_AVX512VL
28109 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28110 : : && ix86_pre_reload_split ()
28111 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28112 : : STRIP_UNARY (operands[4]))
28113 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28114 : : STRIP_UNARY (operands[4]))
28115 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28116 : : STRIP_UNARY (operands[3]))
28117 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28118 : : STRIP_UNARY (operands[3])))) &&
28119 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28120 : : (TARGET_AVX)) &&
28121 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28122 : : ( 1)))
28123 : : return NULL;
28124 : : return gen_split_2419 (insn, operands);
28125 : :
28126 : : case 2:
28127 : : if (!(
28128 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28129 : : ((16 == 64 || TARGET_AVX512VL
28130 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28131 : : && ix86_pre_reload_split ()
28132 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28133 : : STRIP_UNARY (operands[4]))
28134 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28135 : : STRIP_UNARY (operands[4]))
28136 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28137 : : STRIP_UNARY (operands[3]))
28138 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28139 : : STRIP_UNARY (operands[3])))) &&
28140 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28141 : : ( 1)))
28142 : : return NULL;
28143 : : return gen_split_2446 (insn, operands);
28144 : :
28145 : : case 3:
28146 : : if (!((
28147 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28148 : : ((64 == 64 || TARGET_AVX512VL
28149 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28150 : : && ix86_pre_reload_split ()
28151 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28152 : : STRIP_UNARY (operands[4]))
28153 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28154 : : STRIP_UNARY (operands[4]))
28155 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28156 : : STRIP_UNARY (operands[3]))
28157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28158 : : STRIP_UNARY (operands[3])))) &&
28159 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28160 : : (TARGET_AVX512F)) &&
28161 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28162 : : ( 1)))
28163 : : return NULL;
28164 : : return gen_split_2473 (insn, operands);
28165 : :
28166 : : case 4:
28167 : : if (!((
28168 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28169 : : ((32 == 64 || TARGET_AVX512VL
28170 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28171 : : && ix86_pre_reload_split ()
28172 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28173 : : STRIP_UNARY (operands[4]))
28174 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28175 : : STRIP_UNARY (operands[4]))
28176 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28177 : : STRIP_UNARY (operands[3]))
28178 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28179 : : STRIP_UNARY (operands[3])))) &&
28180 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28181 : : (TARGET_AVX)) &&
28182 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28183 : : ( 1)))
28184 : : return NULL;
28185 : : return gen_split_2500 (insn, operands);
28186 : :
28187 : : case 5:
28188 : : if (!(
28189 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28190 : : ((16 == 64 || TARGET_AVX512VL
28191 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28192 : : && ix86_pre_reload_split ()
28193 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28194 : : STRIP_UNARY (operands[4]))
28195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28196 : : STRIP_UNARY (operands[4]))
28197 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28198 : : STRIP_UNARY (operands[3]))
28199 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28200 : : STRIP_UNARY (operands[3])))) &&
28201 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28202 : : ( 1)))
28203 : : return NULL;
28204 : : return gen_split_2527 (insn, operands);
28205 : :
28206 : : case 6:
28207 : : if (!((
28208 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28209 : : ((64 == 64 || TARGET_AVX512VL
28210 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28211 : : && ix86_pre_reload_split ()
28212 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28213 : : STRIP_UNARY (operands[4]))
28214 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28215 : : STRIP_UNARY (operands[4]))
28216 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28217 : : STRIP_UNARY (operands[3]))
28218 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28219 : : STRIP_UNARY (operands[3])))) &&
28220 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28221 : : (TARGET_AVX512F)) &&
28222 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28223 : : ( 1)))
28224 : : return NULL;
28225 : : return gen_split_2554 (insn, operands);
28226 : :
28227 : : case 7:
28228 : : if (!((
28229 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28230 : : ((32 == 64 || TARGET_AVX512VL
28231 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28232 : : && ix86_pre_reload_split ()
28233 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28234 : : STRIP_UNARY (operands[4]))
28235 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28236 : : STRIP_UNARY (operands[4]))
28237 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28238 : : STRIP_UNARY (operands[3]))
28239 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28240 : : STRIP_UNARY (operands[3])))) &&
28241 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28242 : : (TARGET_AVX)) &&
28243 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28244 : : ( 1)))
28245 : : return NULL;
28246 : : return gen_split_2581 (insn, operands);
28247 : :
28248 : : case 8:
28249 : : if (!(
28250 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28251 : : ((16 == 64 || TARGET_AVX512VL
28252 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28253 : : && ix86_pre_reload_split ()
28254 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28255 : : STRIP_UNARY (operands[4]))
28256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28257 : : STRIP_UNARY (operands[4]))
28258 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28259 : : STRIP_UNARY (operands[3]))
28260 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28261 : : STRIP_UNARY (operands[3])))) &&
28262 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28263 : : ( 1)))
28264 : : return NULL;
28265 : : return gen_split_2608 (insn, operands);
28266 : :
28267 : : case 9:
28268 : : if (!((
28269 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28270 : : ((64 == 64 || TARGET_AVX512VL
28271 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28272 : : && ix86_pre_reload_split ()
28273 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28274 : : STRIP_UNARY (operands[4]))
28275 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28276 : : STRIP_UNARY (operands[4]))
28277 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28278 : : STRIP_UNARY (operands[3]))
28279 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28280 : : STRIP_UNARY (operands[3])))) &&
28281 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28282 : : (TARGET_AVX512F)) &&
28283 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28284 : : ( 1)))
28285 : : return NULL;
28286 : : return gen_split_2635 (insn, operands);
28287 : :
28288 : : case 10:
28289 : : if (!((
28290 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28291 : : ((32 == 64 || TARGET_AVX512VL
28292 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28293 : : && ix86_pre_reload_split ()
28294 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28295 : : STRIP_UNARY (operands[4]))
28296 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28297 : : STRIP_UNARY (operands[4]))
28298 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28299 : : STRIP_UNARY (operands[3]))
28300 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28301 : : STRIP_UNARY (operands[3])))) &&
28302 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28303 : : (TARGET_AVX)) &&
28304 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28305 : : ( 1)))
28306 : : return NULL;
28307 : : return gen_split_2662 (insn, operands);
28308 : :
28309 : : case 11:
28310 : : if (!(
28311 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28312 : : ((16 == 64 || TARGET_AVX512VL
28313 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28314 : : && ix86_pre_reload_split ()
28315 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28316 : : STRIP_UNARY (operands[4]))
28317 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28318 : : STRIP_UNARY (operands[4]))
28319 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28320 : : STRIP_UNARY (operands[3]))
28321 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28322 : : STRIP_UNARY (operands[3])))) &&
28323 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28324 : : ( 1)))
28325 : : return NULL;
28326 : : return gen_split_2689 (insn, operands);
28327 : :
28328 : : default:
28329 : : return NULL;
28330 : : }
28331 : :
28332 : : case IOR:
28333 : : switch (pattern532 (x2))
28334 : : {
28335 : : case 0:
28336 : : if (!((
28337 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28338 : : ((64 == 64 || TARGET_AVX512VL
28339 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28340 : : && ix86_pre_reload_split ()
28341 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28342 : : STRIP_UNARY (operands[4]))
28343 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28344 : : STRIP_UNARY (operands[4]))
28345 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28346 : : STRIP_UNARY (operands[3]))
28347 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28348 : : STRIP_UNARY (operands[3])))) &&
28349 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28350 : : (TARGET_AVX512F)) &&
28351 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28352 : : ( 1)))
28353 : : return NULL;
28354 : : return gen_split_2395 (insn, operands);
28355 : :
28356 : : case 1:
28357 : : if (!((
28358 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28359 : : ((32 == 64 || TARGET_AVX512VL
28360 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28361 : : && ix86_pre_reload_split ()
28362 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28363 : : STRIP_UNARY (operands[4]))
28364 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28365 : : STRIP_UNARY (operands[4]))
28366 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28367 : : STRIP_UNARY (operands[3]))
28368 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28369 : : STRIP_UNARY (operands[3])))) &&
28370 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28371 : : (TARGET_AVX)) &&
28372 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28373 : : ( 1)))
28374 : : return NULL;
28375 : : return gen_split_2422 (insn, operands);
28376 : :
28377 : : case 2:
28378 : : if (!(
28379 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28380 : : ((16 == 64 || TARGET_AVX512VL
28381 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28382 : : && ix86_pre_reload_split ()
28383 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28384 : : STRIP_UNARY (operands[4]))
28385 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28386 : : STRIP_UNARY (operands[4]))
28387 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28388 : : STRIP_UNARY (operands[3]))
28389 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28390 : : STRIP_UNARY (operands[3])))) &&
28391 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28392 : : ( 1)))
28393 : : return NULL;
28394 : : return gen_split_2449 (insn, operands);
28395 : :
28396 : : case 3:
28397 : : if (!((
28398 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28399 : : ((64 == 64 || TARGET_AVX512VL
28400 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28401 : : && ix86_pre_reload_split ()
28402 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28403 : : STRIP_UNARY (operands[4]))
28404 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28405 : : STRIP_UNARY (operands[4]))
28406 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28407 : : STRIP_UNARY (operands[3]))
28408 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28409 : : STRIP_UNARY (operands[3])))) &&
28410 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28411 : : (TARGET_AVX512F)) &&
28412 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28413 : : ( 1)))
28414 : : return NULL;
28415 : : return gen_split_2476 (insn, operands);
28416 : :
28417 : : case 4:
28418 : : if (!((
28419 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28420 : : ((32 == 64 || TARGET_AVX512VL
28421 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28422 : : && ix86_pre_reload_split ()
28423 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28424 : : STRIP_UNARY (operands[4]))
28425 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28426 : : STRIP_UNARY (operands[4]))
28427 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28428 : : STRIP_UNARY (operands[3]))
28429 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28430 : : STRIP_UNARY (operands[3])))) &&
28431 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28432 : : (TARGET_AVX)) &&
28433 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28434 : : ( 1)))
28435 : : return NULL;
28436 : : return gen_split_2503 (insn, operands);
28437 : :
28438 : : case 5:
28439 : : if (!(
28440 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28441 : : ((16 == 64 || TARGET_AVX512VL
28442 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28443 : : && ix86_pre_reload_split ()
28444 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28445 : : STRIP_UNARY (operands[4]))
28446 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28447 : : STRIP_UNARY (operands[4]))
28448 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28449 : : STRIP_UNARY (operands[3]))
28450 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28451 : : STRIP_UNARY (operands[3])))) &&
28452 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28453 : : ( 1)))
28454 : : return NULL;
28455 : : return gen_split_2530 (insn, operands);
28456 : :
28457 : : case 6:
28458 : : if (!((
28459 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28460 : : ((64 == 64 || TARGET_AVX512VL
28461 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28462 : : && ix86_pre_reload_split ()
28463 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28464 : : STRIP_UNARY (operands[4]))
28465 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28466 : : STRIP_UNARY (operands[4]))
28467 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28468 : : STRIP_UNARY (operands[3]))
28469 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28470 : : STRIP_UNARY (operands[3])))) &&
28471 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28472 : : (TARGET_AVX512F)) &&
28473 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28474 : : ( 1)))
28475 : : return NULL;
28476 : : return gen_split_2557 (insn, operands);
28477 : :
28478 : : case 7:
28479 : : if (!((
28480 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28481 : : ((32 == 64 || TARGET_AVX512VL
28482 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28483 : : && ix86_pre_reload_split ()
28484 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28485 : : STRIP_UNARY (operands[4]))
28486 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28487 : : STRIP_UNARY (operands[4]))
28488 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28489 : : STRIP_UNARY (operands[3]))
28490 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28491 : : STRIP_UNARY (operands[3])))) &&
28492 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28493 : : (TARGET_AVX)) &&
28494 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28495 : : ( 1)))
28496 : : return NULL;
28497 : : return gen_split_2584 (insn, operands);
28498 : :
28499 : : case 8:
28500 : : if (!(
28501 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28502 : : ((16 == 64 || TARGET_AVX512VL
28503 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28504 : : && ix86_pre_reload_split ()
28505 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28506 : : STRIP_UNARY (operands[4]))
28507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28508 : : STRIP_UNARY (operands[4]))
28509 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28510 : : STRIP_UNARY (operands[3]))
28511 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28512 : : STRIP_UNARY (operands[3])))) &&
28513 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28514 : : ( 1)))
28515 : : return NULL;
28516 : : return gen_split_2611 (insn, operands);
28517 : :
28518 : : case 9:
28519 : : if (!((
28520 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28521 : : ((64 == 64 || TARGET_AVX512VL
28522 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28523 : : && ix86_pre_reload_split ()
28524 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28525 : : STRIP_UNARY (operands[4]))
28526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28527 : : STRIP_UNARY (operands[4]))
28528 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28529 : : STRIP_UNARY (operands[3]))
28530 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28531 : : STRIP_UNARY (operands[3])))) &&
28532 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28533 : : (TARGET_AVX512F)) &&
28534 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28535 : : ( 1)))
28536 : : return NULL;
28537 : : return gen_split_2638 (insn, operands);
28538 : :
28539 : : case 10:
28540 : : if (!((
28541 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28542 : : ((32 == 64 || TARGET_AVX512VL
28543 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28544 : : && ix86_pre_reload_split ()
28545 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28546 : : STRIP_UNARY (operands[4]))
28547 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28548 : : STRIP_UNARY (operands[4]))
28549 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28550 : : STRIP_UNARY (operands[3]))
28551 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28552 : : STRIP_UNARY (operands[3])))) &&
28553 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28554 : : (TARGET_AVX)) &&
28555 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28556 : : ( 1)))
28557 : : return NULL;
28558 : : return gen_split_2665 (insn, operands);
28559 : :
28560 : : case 11:
28561 : : if (!(
28562 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28563 : : ((16 == 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 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28575 : : ( 1)))
28576 : : return NULL;
28577 : : return gen_split_2692 (insn, operands);
28578 : :
28579 : : default:
28580 : : return NULL;
28581 : : }
28582 : :
28583 : : case XOR:
28584 : : switch (pattern532 (x2))
28585 : : {
28586 : : case 0:
28587 : : if (!((
28588 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28589 : : ((64 == 64 || TARGET_AVX512VL
28590 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28591 : : && ix86_pre_reload_split ()
28592 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28593 : : STRIP_UNARY (operands[4]))
28594 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28595 : : STRIP_UNARY (operands[4]))
28596 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28597 : : STRIP_UNARY (operands[3]))
28598 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28599 : : STRIP_UNARY (operands[3])))) &&
28600 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28601 : : (TARGET_AVX512F)) &&
28602 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28603 : : ( 1)))
28604 : : return NULL;
28605 : : return gen_split_2398 (insn, operands);
28606 : :
28607 : : case 1:
28608 : : if (!((
28609 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28610 : : ((32 == 64 || TARGET_AVX512VL
28611 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28612 : : && ix86_pre_reload_split ()
28613 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28614 : : STRIP_UNARY (operands[4]))
28615 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28616 : : STRIP_UNARY (operands[4]))
28617 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28618 : : STRIP_UNARY (operands[3]))
28619 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28620 : : STRIP_UNARY (operands[3])))) &&
28621 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28622 : : (TARGET_AVX)) &&
28623 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28624 : : ( 1)))
28625 : : return NULL;
28626 : : return gen_split_2425 (insn, operands);
28627 : :
28628 : : case 2:
28629 : : if (!(
28630 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28631 : : ((16 == 64 || TARGET_AVX512VL
28632 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28633 : : && ix86_pre_reload_split ()
28634 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28635 : : STRIP_UNARY (operands[4]))
28636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28637 : : STRIP_UNARY (operands[4]))
28638 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28639 : : STRIP_UNARY (operands[3]))
28640 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28641 : : STRIP_UNARY (operands[3])))) &&
28642 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28643 : : ( 1)))
28644 : : return NULL;
28645 : : return gen_split_2452 (insn, operands);
28646 : :
28647 : : case 3:
28648 : : if (!((
28649 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28650 : : ((64 == 64 || TARGET_AVX512VL
28651 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28652 : : && ix86_pre_reload_split ()
28653 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28654 : : STRIP_UNARY (operands[4]))
28655 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28656 : : STRIP_UNARY (operands[4]))
28657 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28658 : : STRIP_UNARY (operands[3]))
28659 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28660 : : STRIP_UNARY (operands[3])))) &&
28661 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28662 : : (TARGET_AVX512F)) &&
28663 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28664 : : ( 1)))
28665 : : return NULL;
28666 : : return gen_split_2479 (insn, operands);
28667 : :
28668 : : case 4:
28669 : : if (!((
28670 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28671 : : ((32 == 64 || TARGET_AVX512VL
28672 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28673 : : && ix86_pre_reload_split ()
28674 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28675 : : STRIP_UNARY (operands[4]))
28676 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28677 : : STRIP_UNARY (operands[4]))
28678 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28679 : : STRIP_UNARY (operands[3]))
28680 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28681 : : STRIP_UNARY (operands[3])))) &&
28682 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28683 : : (TARGET_AVX)) &&
28684 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28685 : : ( 1)))
28686 : : return NULL;
28687 : : return gen_split_2506 (insn, operands);
28688 : :
28689 : : case 5:
28690 : : if (!(
28691 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28692 : : ((16 == 64 || TARGET_AVX512VL
28693 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28694 : : && ix86_pre_reload_split ()
28695 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28696 : : STRIP_UNARY (operands[4]))
28697 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28698 : : STRIP_UNARY (operands[4]))
28699 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28700 : : STRIP_UNARY (operands[3]))
28701 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28702 : : STRIP_UNARY (operands[3])))) &&
28703 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28704 : : ( 1)))
28705 : : return NULL;
28706 : : return gen_split_2533 (insn, operands);
28707 : :
28708 : : case 6:
28709 : : if (!((
28710 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28711 : : ((64 == 64 || TARGET_AVX512VL
28712 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28713 : : && ix86_pre_reload_split ()
28714 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28715 : : STRIP_UNARY (operands[4]))
28716 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28717 : : STRIP_UNARY (operands[4]))
28718 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28719 : : STRIP_UNARY (operands[3]))
28720 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28721 : : STRIP_UNARY (operands[3])))) &&
28722 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28723 : : (TARGET_AVX512F)) &&
28724 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28725 : : ( 1)))
28726 : : return NULL;
28727 : : return gen_split_2560 (insn, operands);
28728 : :
28729 : : case 7:
28730 : : if (!((
28731 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28732 : : ((32 == 64 || TARGET_AVX512VL
28733 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28734 : : && ix86_pre_reload_split ()
28735 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28736 : : STRIP_UNARY (operands[4]))
28737 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28738 : : STRIP_UNARY (operands[4]))
28739 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28740 : : STRIP_UNARY (operands[3]))
28741 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28742 : : STRIP_UNARY (operands[3])))) &&
28743 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28744 : : (TARGET_AVX)) &&
28745 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28746 : : ( 1)))
28747 : : return NULL;
28748 : : return gen_split_2587 (insn, operands);
28749 : :
28750 : : case 8:
28751 : : if (!(
28752 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28753 : : ((16 == 64 || TARGET_AVX512VL
28754 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28755 : : && ix86_pre_reload_split ()
28756 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28757 : : STRIP_UNARY (operands[4]))
28758 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28759 : : STRIP_UNARY (operands[4]))
28760 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28761 : : STRIP_UNARY (operands[3]))
28762 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28763 : : STRIP_UNARY (operands[3])))) &&
28764 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28765 : : ( 1)))
28766 : : return NULL;
28767 : : return gen_split_2614 (insn, operands);
28768 : :
28769 : : case 9:
28770 : : if (!((
28771 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28772 : : ((64 == 64 || TARGET_AVX512VL
28773 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28774 : : && ix86_pre_reload_split ()
28775 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28776 : : STRIP_UNARY (operands[4]))
28777 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28778 : : STRIP_UNARY (operands[4]))
28779 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28780 : : STRIP_UNARY (operands[3]))
28781 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28782 : : STRIP_UNARY (operands[3])))) &&
28783 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28784 : : (TARGET_AVX512F)) &&
28785 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28786 : : ( 1)))
28787 : : return NULL;
28788 : : return gen_split_2641 (insn, operands);
28789 : :
28790 : : case 10:
28791 : : if (!((
28792 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28793 : : ((32 == 64 || TARGET_AVX512VL
28794 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28795 : : && ix86_pre_reload_split ()
28796 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28797 : : STRIP_UNARY (operands[4]))
28798 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28799 : : STRIP_UNARY (operands[4]))
28800 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28801 : : STRIP_UNARY (operands[3]))
28802 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28803 : : STRIP_UNARY (operands[3])))) &&
28804 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28805 : : (TARGET_AVX)) &&
28806 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28807 : : ( 1)))
28808 : : return NULL;
28809 : : return gen_split_2668 (insn, operands);
28810 : :
28811 : : case 11:
28812 : : if (!(
28813 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28814 : : ((16 == 64 || TARGET_AVX512VL
28815 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28816 : : && ix86_pre_reload_split ()
28817 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28818 : : STRIP_UNARY (operands[4]))
28819 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28820 : : STRIP_UNARY (operands[4]))
28821 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28822 : : STRIP_UNARY (operands[3]))
28823 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28824 : : STRIP_UNARY (operands[3])))) &&
28825 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28826 : : ( 1)))
28827 : : return NULL;
28828 : : return gen_split_2695 (insn, operands);
28829 : :
28830 : : default:
28831 : : return NULL;
28832 : : }
28833 : :
28834 : : default:
28835 : : return NULL;
28836 : : }
28837 : : }
28838 : :
28839 : : rtx_insn *
28840 : : split_80 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28841 : : {
28842 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28843 : : rtx x2, x3, x4, x5, x6, x7;
28844 : : rtx_insn *res ATTRIBUTE_UNUSED;
28845 : : x2 = XEXP (x1, 1);
28846 : : x3 = XEXP (x2, 1);
28847 : : switch (GET_CODE (x3))
28848 : : {
28849 : : case VEC_SELECT:
28850 : : if (GET_MODE (x3) != E_DFmode)
28851 : : return NULL;
28852 : : x4 = XEXP (x3, 1);
28853 : : if (GET_CODE (x4) != PARALLEL
28854 : : || XVECLEN (x4, 0) != 1)
28855 : : return NULL;
28856 : : x5 = XVECEXP (x4, 0, 0);
28857 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
28858 : : || !memory_operand (operands[0], E_V2DFmode)
28859 : : || GET_MODE (x2) != E_V2DFmode
28860 : : || !register_operand (operands[1], E_DFmode))
28861 : : return NULL;
28862 : : x6 = XEXP (x3, 0);
28863 : : if (!rtx_equal_p (x6, operands[0])
28864 : : || !
28865 : : #line 15109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28866 : : (TARGET_SSE2 && reload_completed))
28867 : : return NULL;
28868 : : return gen_split_3250 (insn, operands);
28869 : :
28870 : : case UNSPEC:
28871 : : if (XVECLEN (x3, 0) != 1
28872 : : || XINT (x3, 1) != 148)
28873 : : return NULL;
28874 : : x7 = XVECEXP (x3, 0, 0);
28875 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
28876 : : return NULL;
28877 : : switch (GET_MODE (operands[0]))
28878 : : {
28879 : : case E_V8SImode:
28880 : : if (pattern1034 (x2,
28881 : : E_V4SImode,
28882 : : E_V8SImode) != 0
28883 : : || !(
28884 : : #line 29223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28885 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
28886 : : #line 29225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28887 : : ( reload_completed)))
28888 : : return NULL;
28889 : : return gen_split_3865 (insn, operands);
28890 : :
28891 : : case E_V8SFmode:
28892 : : if (pattern1034 (x2,
28893 : : E_V4SFmode,
28894 : : E_V8SFmode) != 0
28895 : : || !(
28896 : : #line 29223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28897 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
28898 : : #line 29225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28899 : : ( reload_completed)))
28900 : : return NULL;
28901 : : return gen_split_3866 (insn, operands);
28902 : :
28903 : : case E_V4DFmode:
28904 : : if (pattern1034 (x2,
28905 : : E_V2DFmode,
28906 : : E_V4DFmode) != 0
28907 : : || !(
28908 : : #line 29223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28909 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
28910 : : #line 29225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28911 : : ( reload_completed)))
28912 : : return NULL;
28913 : : return gen_split_3867 (insn, operands);
28914 : :
28915 : : case E_V16SImode:
28916 : : if (pattern1034 (x2,
28917 : : E_V8SImode,
28918 : : E_V16SImode) != 0
28919 : : || !(
28920 : : #line 30565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28921 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
28922 : : #line 30567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28923 : : ( reload_completed)))
28924 : : return NULL;
28925 : : return gen_split_3913 (insn, operands);
28926 : :
28927 : : case E_V16SFmode:
28928 : : if (pattern1034 (x2,
28929 : : E_V8SFmode,
28930 : : E_V16SFmode) != 0
28931 : : || !(
28932 : : #line 30565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28933 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
28934 : : #line 30567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28935 : : ( reload_completed)))
28936 : : return NULL;
28937 : : return gen_split_3914 (insn, operands);
28938 : :
28939 : : case E_V8DFmode:
28940 : : if (pattern1034 (x2,
28941 : : E_V4DFmode,
28942 : : E_V8DFmode) != 0
28943 : : || !(
28944 : : #line 30565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28945 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
28946 : : #line 30567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28947 : : ( reload_completed)))
28948 : : return NULL;
28949 : : return gen_split_3915 (insn, operands);
28950 : :
28951 : : default:
28952 : : return NULL;
28953 : : }
28954 : :
28955 : : default:
28956 : : return NULL;
28957 : : }
28958 : : }
28959 : :
28960 : : rtx_insn *
28961 : : split_82 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28962 : : {
28963 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28964 : : rtx x2, x3, x4, x5;
28965 : : rtx_insn *res ATTRIBUTE_UNUSED;
28966 : : x2 = XEXP (x1, 1);
28967 : : switch (GET_CODE (x2))
28968 : : {
28969 : : case AND:
28970 : : res = split_69 (x1, insn);
28971 : : if (res != NULL_RTX)
28972 : : return res;
28973 : : break;
28974 : :
28975 : : case IOR:
28976 : : res = split_76 (x1, insn);
28977 : : if (res != NULL_RTX)
28978 : : return res;
28979 : : break;
28980 : :
28981 : : case XOR:
28982 : : x3 = XEXP (x2, 0);
28983 : : switch (GET_CODE (x3))
28984 : : {
28985 : : case AND:
28986 : : res = split_71 (x1, insn);
28987 : : if (res != NULL_RTX)
28988 : : return res;
28989 : : break;
28990 : :
28991 : : case IOR:
28992 : : res = split_72 (x1, insn);
28993 : : if (res != NULL_RTX)
28994 : : return res;
28995 : : break;
28996 : :
28997 : : case XOR:
28998 : : x4 = XEXP (x3, 0);
28999 : : switch (GET_CODE (x4))
29000 : : {
29001 : : case REG:
29002 : : case SUBREG:
29003 : : case MEM:
29004 : : case NOT:
29005 : : switch (pattern530 (x2))
29006 : : {
29007 : : case 0:
29008 : : if (((
29009 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29010 : : ((64 == 64 || TARGET_AVX512VL
29011 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29012 : : && ix86_pre_reload_split ()
29013 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29014 : : STRIP_UNARY (operands[4]))
29015 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29016 : : STRIP_UNARY (operands[4]))
29017 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29018 : : STRIP_UNARY (operands[3]))
29019 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29020 : : STRIP_UNARY (operands[3])))) &&
29021 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29022 : : (TARGET_AVX512F)) &&
29023 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29024 : : ( 1)))
29025 : : return gen_split_1753 (insn, operands);
29026 : : break;
29027 : :
29028 : : case 1:
29029 : : if (((
29030 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29031 : : ((32 == 64 || TARGET_AVX512VL
29032 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29033 : : && ix86_pre_reload_split ()
29034 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29035 : : STRIP_UNARY (operands[4]))
29036 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29037 : : STRIP_UNARY (operands[4]))
29038 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29039 : : STRIP_UNARY (operands[3]))
29040 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29041 : : STRIP_UNARY (operands[3])))) &&
29042 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29043 : : (TARGET_AVX)) &&
29044 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29045 : : ( 1)))
29046 : : return gen_split_1780 (insn, operands);
29047 : : break;
29048 : :
29049 : : case 2:
29050 : : if ((
29051 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29052 : : ((16 == 64 || TARGET_AVX512VL
29053 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29054 : : && ix86_pre_reload_split ()
29055 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29056 : : STRIP_UNARY (operands[4]))
29057 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29058 : : STRIP_UNARY (operands[4]))
29059 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29060 : : STRIP_UNARY (operands[3]))
29061 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29062 : : STRIP_UNARY (operands[3])))) &&
29063 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29064 : : ( 1)))
29065 : : return gen_split_1807 (insn, operands);
29066 : : break;
29067 : :
29068 : : case 3:
29069 : : if (((
29070 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29071 : : ((64 == 64 || TARGET_AVX512VL
29072 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29073 : : && ix86_pre_reload_split ()
29074 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29075 : : STRIP_UNARY (operands[4]))
29076 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29077 : : STRIP_UNARY (operands[4]))
29078 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29079 : : STRIP_UNARY (operands[3]))
29080 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29081 : : STRIP_UNARY (operands[3])))) &&
29082 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29083 : : (TARGET_AVX512F)) &&
29084 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29085 : : ( 1)))
29086 : : return gen_split_1834 (insn, operands);
29087 : : break;
29088 : :
29089 : : case 4:
29090 : : if (((
29091 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29092 : : ((32 == 64 || TARGET_AVX512VL
29093 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29094 : : && ix86_pre_reload_split ()
29095 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29096 : : STRIP_UNARY (operands[4]))
29097 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29098 : : STRIP_UNARY (operands[4]))
29099 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29100 : : STRIP_UNARY (operands[3]))
29101 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29102 : : STRIP_UNARY (operands[3])))) &&
29103 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29104 : : (TARGET_AVX)) &&
29105 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29106 : : ( 1)))
29107 : : return gen_split_1861 (insn, operands);
29108 : : break;
29109 : :
29110 : : case 5:
29111 : : if ((
29112 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29113 : : ((16 == 64 || TARGET_AVX512VL
29114 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29115 : : && ix86_pre_reload_split ()
29116 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29117 : : STRIP_UNARY (operands[4]))
29118 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29119 : : STRIP_UNARY (operands[4]))
29120 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29121 : : STRIP_UNARY (operands[3]))
29122 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29123 : : STRIP_UNARY (operands[3])))) &&
29124 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29125 : : ( 1)))
29126 : : return gen_split_1888 (insn, operands);
29127 : : break;
29128 : :
29129 : : case 6:
29130 : : if (((
29131 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29132 : : ((64 == 64 || TARGET_AVX512VL
29133 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29134 : : && ix86_pre_reload_split ()
29135 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29136 : : STRIP_UNARY (operands[4]))
29137 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29138 : : STRIP_UNARY (operands[4]))
29139 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29140 : : STRIP_UNARY (operands[3]))
29141 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29142 : : STRIP_UNARY (operands[3])))) &&
29143 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29144 : : (TARGET_AVX512F)) &&
29145 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29146 : : ( 1)))
29147 : : return gen_split_1915 (insn, operands);
29148 : : break;
29149 : :
29150 : : case 7:
29151 : : if (((
29152 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29153 : : ((32 == 64 || TARGET_AVX512VL
29154 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29155 : : && ix86_pre_reload_split ()
29156 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29157 : : STRIP_UNARY (operands[4]))
29158 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29159 : : STRIP_UNARY (operands[4]))
29160 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29161 : : STRIP_UNARY (operands[3]))
29162 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29163 : : STRIP_UNARY (operands[3])))) &&
29164 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29165 : : (TARGET_AVX)) &&
29166 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29167 : : ( 1)))
29168 : : return gen_split_1942 (insn, operands);
29169 : : break;
29170 : :
29171 : : case 8:
29172 : : if ((
29173 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29174 : : ((16 == 64 || TARGET_AVX512VL
29175 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29176 : : && ix86_pre_reload_split ()
29177 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29178 : : STRIP_UNARY (operands[4]))
29179 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29180 : : STRIP_UNARY (operands[4]))
29181 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29182 : : STRIP_UNARY (operands[3]))
29183 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29184 : : STRIP_UNARY (operands[3])))) &&
29185 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29186 : : ( 1)))
29187 : : return gen_split_1969 (insn, operands);
29188 : : break;
29189 : :
29190 : : case 9:
29191 : : if (((
29192 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29193 : : ((64 == 64 || TARGET_AVX512VL
29194 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29195 : : && ix86_pre_reload_split ()
29196 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29197 : : STRIP_UNARY (operands[4]))
29198 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29199 : : STRIP_UNARY (operands[4]))
29200 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29201 : : STRIP_UNARY (operands[3]))
29202 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29203 : : STRIP_UNARY (operands[3])))) &&
29204 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29205 : : (TARGET_AVX512F)) &&
29206 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29207 : : ( 1)))
29208 : : return gen_split_1996 (insn, operands);
29209 : : break;
29210 : :
29211 : : case 10:
29212 : : if (((
29213 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29214 : : ((32 == 64 || TARGET_AVX512VL
29215 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29216 : : && ix86_pre_reload_split ()
29217 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29218 : : STRIP_UNARY (operands[4]))
29219 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29220 : : STRIP_UNARY (operands[4]))
29221 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29222 : : STRIP_UNARY (operands[3]))
29223 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29224 : : STRIP_UNARY (operands[3])))) &&
29225 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29226 : : (TARGET_AVX)) &&
29227 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29228 : : ( 1)))
29229 : : return gen_split_2023 (insn, operands);
29230 : : break;
29231 : :
29232 : : case 11:
29233 : : if ((
29234 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29235 : : ((16 == 64 || TARGET_AVX512VL
29236 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29237 : : && ix86_pre_reload_split ()
29238 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29239 : : STRIP_UNARY (operands[4]))
29240 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29241 : : STRIP_UNARY (operands[4]))
29242 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29243 : : STRIP_UNARY (operands[3]))
29244 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29245 : : STRIP_UNARY (operands[3])))) &&
29246 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29247 : : ( 1)))
29248 : : return gen_split_2050 (insn, operands);
29249 : : break;
29250 : :
29251 : : case 12:
29252 : : if (((
29253 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29254 : : ((64 == 64 || TARGET_AVX512VL
29255 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29256 : : && ix86_pre_reload_split ()
29257 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29258 : : STRIP_UNARY (operands[4]))
29259 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29260 : : STRIP_UNARY (operands[4]))
29261 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29262 : : STRIP_UNARY (operands[3]))
29263 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29264 : : STRIP_UNARY (operands[3])))) &&
29265 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29266 : : (TARGET_AVX512F)) &&
29267 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29268 : : ( 1)))
29269 : : return gen_split_1756 (insn, operands);
29270 : : break;
29271 : :
29272 : : case 13:
29273 : : if (((
29274 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29275 : : ((32 == 64 || TARGET_AVX512VL
29276 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29277 : : && ix86_pre_reload_split ()
29278 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29279 : : STRIP_UNARY (operands[4]))
29280 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29281 : : STRIP_UNARY (operands[4]))
29282 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29283 : : STRIP_UNARY (operands[3]))
29284 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29285 : : STRIP_UNARY (operands[3])))) &&
29286 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29287 : : (TARGET_AVX)) &&
29288 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29289 : : ( 1)))
29290 : : return gen_split_1783 (insn, operands);
29291 : : break;
29292 : :
29293 : : case 14:
29294 : : if ((
29295 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29296 : : ((16 == 64 || TARGET_AVX512VL
29297 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29298 : : && ix86_pre_reload_split ()
29299 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29300 : : STRIP_UNARY (operands[4]))
29301 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29302 : : STRIP_UNARY (operands[4]))
29303 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29304 : : STRIP_UNARY (operands[3]))
29305 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29306 : : STRIP_UNARY (operands[3])))) &&
29307 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29308 : : ( 1)))
29309 : : return gen_split_1810 (insn, operands);
29310 : : break;
29311 : :
29312 : : case 15:
29313 : : if (((
29314 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29315 : : ((64 == 64 || TARGET_AVX512VL
29316 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29317 : : && ix86_pre_reload_split ()
29318 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29319 : : STRIP_UNARY (operands[4]))
29320 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29321 : : STRIP_UNARY (operands[4]))
29322 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29323 : : STRIP_UNARY (operands[3]))
29324 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29325 : : STRIP_UNARY (operands[3])))) &&
29326 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29327 : : (TARGET_AVX512F)) &&
29328 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29329 : : ( 1)))
29330 : : return gen_split_1837 (insn, operands);
29331 : : break;
29332 : :
29333 : : case 16:
29334 : : if (((
29335 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29336 : : ((32 == 64 || TARGET_AVX512VL
29337 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29338 : : && ix86_pre_reload_split ()
29339 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29340 : : STRIP_UNARY (operands[4]))
29341 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29342 : : STRIP_UNARY (operands[4]))
29343 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29344 : : STRIP_UNARY (operands[3]))
29345 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29346 : : STRIP_UNARY (operands[3])))) &&
29347 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29348 : : (TARGET_AVX)) &&
29349 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29350 : : ( 1)))
29351 : : return gen_split_1864 (insn, operands);
29352 : : break;
29353 : :
29354 : : case 17:
29355 : : if ((
29356 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29357 : : ((16 == 64 || TARGET_AVX512VL
29358 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29359 : : && ix86_pre_reload_split ()
29360 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29361 : : STRIP_UNARY (operands[4]))
29362 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29363 : : STRIP_UNARY (operands[4]))
29364 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29365 : : STRIP_UNARY (operands[3]))
29366 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29367 : : STRIP_UNARY (operands[3])))) &&
29368 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29369 : : ( 1)))
29370 : : return gen_split_1891 (insn, operands);
29371 : : break;
29372 : :
29373 : : case 18:
29374 : : if (((
29375 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29376 : : ((64 == 64 || TARGET_AVX512VL
29377 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29378 : : && ix86_pre_reload_split ()
29379 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29380 : : STRIP_UNARY (operands[4]))
29381 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29382 : : STRIP_UNARY (operands[4]))
29383 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29384 : : STRIP_UNARY (operands[3]))
29385 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29386 : : STRIP_UNARY (operands[3])))) &&
29387 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29388 : : (TARGET_AVX512F)) &&
29389 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29390 : : ( 1)))
29391 : : return gen_split_1918 (insn, operands);
29392 : : break;
29393 : :
29394 : : case 19:
29395 : : if (((
29396 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29397 : : ((32 == 64 || TARGET_AVX512VL
29398 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29399 : : && ix86_pre_reload_split ()
29400 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29401 : : STRIP_UNARY (operands[4]))
29402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29403 : : STRIP_UNARY (operands[4]))
29404 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29405 : : STRIP_UNARY (operands[3]))
29406 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29407 : : STRIP_UNARY (operands[3])))) &&
29408 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29409 : : (TARGET_AVX)) &&
29410 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29411 : : ( 1)))
29412 : : return gen_split_1945 (insn, operands);
29413 : : break;
29414 : :
29415 : : case 20:
29416 : : if ((
29417 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29418 : : ((16 == 64 || TARGET_AVX512VL
29419 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29420 : : && ix86_pre_reload_split ()
29421 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29422 : : STRIP_UNARY (operands[4]))
29423 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29424 : : STRIP_UNARY (operands[4]))
29425 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29426 : : STRIP_UNARY (operands[3]))
29427 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29428 : : STRIP_UNARY (operands[3])))) &&
29429 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29430 : : ( 1)))
29431 : : return gen_split_1972 (insn, operands);
29432 : : break;
29433 : :
29434 : : case 21:
29435 : : if (((
29436 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29437 : : ((64 == 64 || TARGET_AVX512VL
29438 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29439 : : && ix86_pre_reload_split ()
29440 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29441 : : STRIP_UNARY (operands[4]))
29442 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29443 : : STRIP_UNARY (operands[4]))
29444 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29445 : : STRIP_UNARY (operands[3]))
29446 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29447 : : STRIP_UNARY (operands[3])))) &&
29448 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29449 : : (TARGET_AVX512F)) &&
29450 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29451 : : ( 1)))
29452 : : return gen_split_1999 (insn, operands);
29453 : : break;
29454 : :
29455 : : case 22:
29456 : : if (((
29457 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29458 : : ((32 == 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 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29470 : : (TARGET_AVX)) &&
29471 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29472 : : ( 1)))
29473 : : return gen_split_2026 (insn, operands);
29474 : : break;
29475 : :
29476 : : case 23:
29477 : : if ((
29478 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29479 : : ((16 == 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 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29491 : : ( 1)))
29492 : : return gen_split_2053 (insn, operands);
29493 : : break;
29494 : :
29495 : : case 24:
29496 : : if (((
29497 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29498 : : ((64 == 64 || TARGET_AVX512VL
29499 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29500 : : && ix86_pre_reload_split ()
29501 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29502 : : STRIP_UNARY (operands[4]))
29503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29504 : : STRIP_UNARY (operands[4]))
29505 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29506 : : STRIP_UNARY (operands[3]))
29507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29508 : : STRIP_UNARY (operands[3])))) &&
29509 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29510 : : (TARGET_AVX512F)) &&
29511 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29512 : : ( 1)))
29513 : : return gen_split_1759 (insn, operands);
29514 : : break;
29515 : :
29516 : : case 25:
29517 : : if (((
29518 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29519 : : ((32 == 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 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29531 : : (TARGET_AVX)) &&
29532 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29533 : : ( 1)))
29534 : : return gen_split_1786 (insn, operands);
29535 : : break;
29536 : :
29537 : : case 26:
29538 : : if ((
29539 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29540 : : ((16 == 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 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29552 : : ( 1)))
29553 : : return gen_split_1813 (insn, operands);
29554 : : break;
29555 : :
29556 : : case 27:
29557 : : if (((
29558 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29559 : : ((64 == 64 || TARGET_AVX512VL
29560 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29561 : : && ix86_pre_reload_split ()
29562 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29563 : : STRIP_UNARY (operands[4]))
29564 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29565 : : STRIP_UNARY (operands[4]))
29566 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29567 : : STRIP_UNARY (operands[3]))
29568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29569 : : STRIP_UNARY (operands[3])))) &&
29570 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29571 : : (TARGET_AVX512F)) &&
29572 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29573 : : ( 1)))
29574 : : return gen_split_1840 (insn, operands);
29575 : : break;
29576 : :
29577 : : case 28:
29578 : : if (((
29579 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29580 : : ((32 == 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 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29592 : : (TARGET_AVX)) &&
29593 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29594 : : ( 1)))
29595 : : return gen_split_1867 (insn, operands);
29596 : : break;
29597 : :
29598 : : case 29:
29599 : : if ((
29600 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29601 : : ((16 == 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 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29613 : : ( 1)))
29614 : : return gen_split_1894 (insn, operands);
29615 : : break;
29616 : :
29617 : : case 30:
29618 : : if (((
29619 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29620 : : ((64 == 64 || TARGET_AVX512VL
29621 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29622 : : && ix86_pre_reload_split ()
29623 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29624 : : STRIP_UNARY (operands[4]))
29625 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29626 : : STRIP_UNARY (operands[4]))
29627 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29628 : : STRIP_UNARY (operands[3]))
29629 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29630 : : STRIP_UNARY (operands[3])))) &&
29631 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29632 : : (TARGET_AVX512F)) &&
29633 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29634 : : ( 1)))
29635 : : return gen_split_1921 (insn, operands);
29636 : : break;
29637 : :
29638 : : case 31:
29639 : : if (((
29640 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29641 : : ((32 == 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 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29653 : : (TARGET_AVX)) &&
29654 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29655 : : ( 1)))
29656 : : return gen_split_1948 (insn, operands);
29657 : : break;
29658 : :
29659 : : case 32:
29660 : : if ((
29661 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29662 : : ((16 == 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 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29674 : : ( 1)))
29675 : : return gen_split_1975 (insn, operands);
29676 : : break;
29677 : :
29678 : : case 33:
29679 : : if (((
29680 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29681 : : ((64 == 64 || TARGET_AVX512VL
29682 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29683 : : && ix86_pre_reload_split ()
29684 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29685 : : STRIP_UNARY (operands[4]))
29686 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29687 : : STRIP_UNARY (operands[4]))
29688 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29689 : : STRIP_UNARY (operands[3]))
29690 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29691 : : STRIP_UNARY (operands[3])))) &&
29692 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29693 : : (TARGET_AVX512F)) &&
29694 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29695 : : ( 1)))
29696 : : return gen_split_2002 (insn, operands);
29697 : : break;
29698 : :
29699 : : case 34:
29700 : : if (((
29701 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29702 : : ((32 == 64 || TARGET_AVX512VL
29703 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29704 : : && ix86_pre_reload_split ()
29705 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29706 : : STRIP_UNARY (operands[4]))
29707 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29708 : : STRIP_UNARY (operands[4]))
29709 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29710 : : STRIP_UNARY (operands[3]))
29711 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29712 : : STRIP_UNARY (operands[3])))) &&
29713 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29714 : : (TARGET_AVX)) &&
29715 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29716 : : ( 1)))
29717 : : return gen_split_2029 (insn, operands);
29718 : : break;
29719 : :
29720 : : case 35:
29721 : : if ((
29722 : : #line 14050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29723 : : ((16 == 64 || TARGET_AVX512VL
29724 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29725 : : && ix86_pre_reload_split ()
29726 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29727 : : STRIP_UNARY (operands[4]))
29728 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29729 : : STRIP_UNARY (operands[4]))
29730 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29731 : : STRIP_UNARY (operands[3]))
29732 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29733 : : STRIP_UNARY (operands[3])))) &&
29734 : : #line 14062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29735 : : ( 1)))
29736 : : return gen_split_2056 (insn, operands);
29737 : : break;
29738 : :
29739 : : case 36:
29740 : : if (((
29741 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29742 : : ((64 == 64 || TARGET_AVX512VL
29743 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29744 : : && ix86_pre_reload_split ()) &&
29745 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29746 : : (TARGET_AVX512F)) &&
29747 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29748 : : ( 1)))
29749 : : return gen_split_3037 (insn, operands);
29750 : : break;
29751 : :
29752 : : case 37:
29753 : : if (((
29754 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29755 : : ((32 == 64 || TARGET_AVX512VL
29756 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29757 : : && ix86_pre_reload_split ()) &&
29758 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29759 : : (TARGET_AVX)) &&
29760 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29761 : : ( 1)))
29762 : : return gen_split_3046 (insn, operands);
29763 : : break;
29764 : :
29765 : : case 38:
29766 : : if ((
29767 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29768 : : ((16 == 64 || TARGET_AVX512VL
29769 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29770 : : && ix86_pre_reload_split ()) &&
29771 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29772 : : ( 1)))
29773 : : return gen_split_3055 (insn, operands);
29774 : : break;
29775 : :
29776 : : case 39:
29777 : : if (((
29778 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29779 : : ((64 == 64 || TARGET_AVX512VL
29780 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29781 : : && ix86_pre_reload_split ()) &&
29782 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29783 : : (TARGET_AVX512F)) &&
29784 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29785 : : ( 1)))
29786 : : return gen_split_3064 (insn, operands);
29787 : : break;
29788 : :
29789 : : case 40:
29790 : : if (((
29791 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29792 : : ((32 == 64 || TARGET_AVX512VL
29793 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29794 : : && ix86_pre_reload_split ()) &&
29795 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29796 : : (TARGET_AVX)) &&
29797 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29798 : : ( 1)))
29799 : : return gen_split_3073 (insn, operands);
29800 : : break;
29801 : :
29802 : : case 41:
29803 : : if ((
29804 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29805 : : ((16 == 64 || TARGET_AVX512VL
29806 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29807 : : && ix86_pre_reload_split ()) &&
29808 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29809 : : ( 1)))
29810 : : return gen_split_3082 (insn, operands);
29811 : : break;
29812 : :
29813 : : case 42:
29814 : : if (((
29815 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29816 : : ((64 == 64 || TARGET_AVX512VL
29817 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29818 : : && ix86_pre_reload_split ()) &&
29819 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29820 : : (TARGET_AVX512F)) &&
29821 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29822 : : ( 1)))
29823 : : return gen_split_3091 (insn, operands);
29824 : : break;
29825 : :
29826 : : case 43:
29827 : : if (((
29828 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29829 : : ((32 == 64 || TARGET_AVX512VL
29830 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29831 : : && ix86_pre_reload_split ()) &&
29832 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29833 : : (TARGET_AVX)) &&
29834 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29835 : : ( 1)))
29836 : : return gen_split_3100 (insn, operands);
29837 : : break;
29838 : :
29839 : : case 44:
29840 : : if ((
29841 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29842 : : ((16 == 64 || TARGET_AVX512VL
29843 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29844 : : && ix86_pre_reload_split ()) &&
29845 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29846 : : ( 1)))
29847 : : return gen_split_3109 (insn, operands);
29848 : : break;
29849 : :
29850 : : case 45:
29851 : : if (((
29852 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29853 : : ((64 == 64 || TARGET_AVX512VL
29854 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29855 : : && ix86_pre_reload_split ()) &&
29856 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29857 : : (TARGET_AVX512F)) &&
29858 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29859 : : ( 1)))
29860 : : return gen_split_3118 (insn, operands);
29861 : : break;
29862 : :
29863 : : case 46:
29864 : : if (((
29865 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29866 : : ((32 == 64 || TARGET_AVX512VL
29867 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29868 : : && ix86_pre_reload_split ()) &&
29869 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29870 : : (TARGET_AVX)) &&
29871 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29872 : : ( 1)))
29873 : : return gen_split_3127 (insn, operands);
29874 : : break;
29875 : :
29876 : : case 47:
29877 : : if ((
29878 : : #line 14219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29879 : : ((16 == 64 || TARGET_AVX512VL
29880 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29881 : : && ix86_pre_reload_split ()) &&
29882 : : #line 14223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29883 : : ( 1)))
29884 : : return gen_split_3136 (insn, operands);
29885 : : break;
29886 : :
29887 : : default:
29888 : : break;
29889 : : }
29890 : : break;
29891 : :
29892 : : case AND:
29893 : : switch (pattern532 (x2))
29894 : : {
29895 : : case 0:
29896 : : if (((
29897 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29898 : : ((64 == 64 || TARGET_AVX512VL
29899 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29900 : : && ix86_pre_reload_split ()
29901 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29902 : : STRIP_UNARY (operands[4]))
29903 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29904 : : STRIP_UNARY (operands[4]))
29905 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29906 : : STRIP_UNARY (operands[3]))
29907 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29908 : : STRIP_UNARY (operands[3])))) &&
29909 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29910 : : (TARGET_AVX512F)) &&
29911 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29912 : : ( 1)))
29913 : : return gen_split_2401 (insn, operands);
29914 : : break;
29915 : :
29916 : : case 1:
29917 : : if (((
29918 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29919 : : ((32 == 64 || TARGET_AVX512VL
29920 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29921 : : && ix86_pre_reload_split ()
29922 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29923 : : STRIP_UNARY (operands[4]))
29924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29925 : : STRIP_UNARY (operands[4]))
29926 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29927 : : STRIP_UNARY (operands[3]))
29928 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29929 : : STRIP_UNARY (operands[3])))) &&
29930 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29931 : : (TARGET_AVX)) &&
29932 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29933 : : ( 1)))
29934 : : return gen_split_2428 (insn, operands);
29935 : : break;
29936 : :
29937 : : case 2:
29938 : : if ((
29939 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29940 : : ((16 == 64 || TARGET_AVX512VL
29941 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29942 : : && ix86_pre_reload_split ()
29943 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29944 : : STRIP_UNARY (operands[4]))
29945 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29946 : : STRIP_UNARY (operands[4]))
29947 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29948 : : STRIP_UNARY (operands[3]))
29949 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29950 : : STRIP_UNARY (operands[3])))) &&
29951 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29952 : : ( 1)))
29953 : : return gen_split_2455 (insn, operands);
29954 : : break;
29955 : :
29956 : : case 3:
29957 : : if (((
29958 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29959 : : ((64 == 64 || TARGET_AVX512VL
29960 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29961 : : && ix86_pre_reload_split ()
29962 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29963 : : STRIP_UNARY (operands[4]))
29964 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29965 : : STRIP_UNARY (operands[4]))
29966 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29967 : : STRIP_UNARY (operands[3]))
29968 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29969 : : STRIP_UNARY (operands[3])))) &&
29970 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29971 : : (TARGET_AVX512F)) &&
29972 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29973 : : ( 1)))
29974 : : return gen_split_2482 (insn, operands);
29975 : : break;
29976 : :
29977 : : case 4:
29978 : : if (((
29979 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29980 : : ((32 == 64 || TARGET_AVX512VL
29981 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29982 : : && ix86_pre_reload_split ()
29983 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29984 : : STRIP_UNARY (operands[4]))
29985 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29986 : : STRIP_UNARY (operands[4]))
29987 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29988 : : STRIP_UNARY (operands[3]))
29989 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29990 : : STRIP_UNARY (operands[3])))) &&
29991 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29992 : : (TARGET_AVX)) &&
29993 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29994 : : ( 1)))
29995 : : return gen_split_2509 (insn, operands);
29996 : : break;
29997 : :
29998 : : case 5:
29999 : : if ((
30000 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30001 : : ((16 == 64 || TARGET_AVX512VL
30002 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30003 : : && ix86_pre_reload_split ()
30004 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30005 : : STRIP_UNARY (operands[4]))
30006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30007 : : STRIP_UNARY (operands[4]))
30008 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30009 : : STRIP_UNARY (operands[3]))
30010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30011 : : STRIP_UNARY (operands[3])))) &&
30012 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30013 : : ( 1)))
30014 : : return gen_split_2536 (insn, operands);
30015 : : break;
30016 : :
30017 : : case 6:
30018 : : if (((
30019 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30020 : : ((64 == 64 || TARGET_AVX512VL
30021 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30022 : : && ix86_pre_reload_split ()
30023 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30024 : : STRIP_UNARY (operands[4]))
30025 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30026 : : STRIP_UNARY (operands[4]))
30027 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30028 : : STRIP_UNARY (operands[3]))
30029 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30030 : : STRIP_UNARY (operands[3])))) &&
30031 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30032 : : (TARGET_AVX512F)) &&
30033 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30034 : : ( 1)))
30035 : : return gen_split_2563 (insn, operands);
30036 : : break;
30037 : :
30038 : : case 7:
30039 : : if (((
30040 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30041 : : ((32 == 64 || TARGET_AVX512VL
30042 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30043 : : && ix86_pre_reload_split ()
30044 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30045 : : STRIP_UNARY (operands[4]))
30046 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30047 : : STRIP_UNARY (operands[4]))
30048 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30049 : : STRIP_UNARY (operands[3]))
30050 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30051 : : STRIP_UNARY (operands[3])))) &&
30052 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30053 : : (TARGET_AVX)) &&
30054 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30055 : : ( 1)))
30056 : : return gen_split_2590 (insn, operands);
30057 : : break;
30058 : :
30059 : : case 8:
30060 : : if ((
30061 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30062 : : ((16 == 64 || TARGET_AVX512VL
30063 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30064 : : && ix86_pre_reload_split ()
30065 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30066 : : STRIP_UNARY (operands[4]))
30067 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30068 : : STRIP_UNARY (operands[4]))
30069 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30070 : : STRIP_UNARY (operands[3]))
30071 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30072 : : STRIP_UNARY (operands[3])))) &&
30073 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30074 : : ( 1)))
30075 : : return gen_split_2617 (insn, operands);
30076 : : break;
30077 : :
30078 : : case 9:
30079 : : if (((
30080 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30081 : : ((64 == 64 || TARGET_AVX512VL
30082 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30083 : : && ix86_pre_reload_split ()
30084 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30085 : : STRIP_UNARY (operands[4]))
30086 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30087 : : STRIP_UNARY (operands[4]))
30088 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30089 : : STRIP_UNARY (operands[3]))
30090 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30091 : : STRIP_UNARY (operands[3])))) &&
30092 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30093 : : (TARGET_AVX512F)) &&
30094 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30095 : : ( 1)))
30096 : : return gen_split_2644 (insn, operands);
30097 : : break;
30098 : :
30099 : : case 10:
30100 : : if (((
30101 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30102 : : ((32 == 64 || TARGET_AVX512VL
30103 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30104 : : && ix86_pre_reload_split ()
30105 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30106 : : STRIP_UNARY (operands[4]))
30107 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30108 : : STRIP_UNARY (operands[4]))
30109 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30110 : : STRIP_UNARY (operands[3]))
30111 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30112 : : STRIP_UNARY (operands[3])))) &&
30113 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30114 : : (TARGET_AVX)) &&
30115 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30116 : : ( 1)))
30117 : : return gen_split_2671 (insn, operands);
30118 : : break;
30119 : :
30120 : : case 11:
30121 : : if ((
30122 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30123 : : ((16 == 64 || TARGET_AVX512VL
30124 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30125 : : && ix86_pre_reload_split ()
30126 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30127 : : STRIP_UNARY (operands[4]))
30128 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30129 : : STRIP_UNARY (operands[4]))
30130 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30131 : : STRIP_UNARY (operands[3]))
30132 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30133 : : STRIP_UNARY (operands[3])))) &&
30134 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30135 : : ( 1)))
30136 : : return gen_split_2698 (insn, operands);
30137 : : break;
30138 : :
30139 : : default:
30140 : : break;
30141 : : }
30142 : : break;
30143 : :
30144 : : case IOR:
30145 : : switch (pattern532 (x2))
30146 : : {
30147 : : case 0:
30148 : : if (((
30149 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30150 : : ((64 == 64 || TARGET_AVX512VL
30151 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30152 : : && ix86_pre_reload_split ()
30153 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30154 : : STRIP_UNARY (operands[4]))
30155 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30156 : : STRIP_UNARY (operands[4]))
30157 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30158 : : STRIP_UNARY (operands[3]))
30159 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30160 : : STRIP_UNARY (operands[3])))) &&
30161 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30162 : : (TARGET_AVX512F)) &&
30163 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30164 : : ( 1)))
30165 : : return gen_split_2404 (insn, operands);
30166 : : break;
30167 : :
30168 : : case 1:
30169 : : if (((
30170 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30171 : : ((32 == 64 || TARGET_AVX512VL
30172 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30173 : : && ix86_pre_reload_split ()
30174 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30175 : : STRIP_UNARY (operands[4]))
30176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30177 : : STRIP_UNARY (operands[4]))
30178 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30179 : : STRIP_UNARY (operands[3]))
30180 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30181 : : STRIP_UNARY (operands[3])))) &&
30182 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30183 : : (TARGET_AVX)) &&
30184 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30185 : : ( 1)))
30186 : : return gen_split_2431 (insn, operands);
30187 : : break;
30188 : :
30189 : : case 2:
30190 : : if ((
30191 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30192 : : ((16 == 64 || TARGET_AVX512VL
30193 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30194 : : && ix86_pre_reload_split ()
30195 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30196 : : STRIP_UNARY (operands[4]))
30197 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30198 : : STRIP_UNARY (operands[4]))
30199 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30200 : : STRIP_UNARY (operands[3]))
30201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30202 : : STRIP_UNARY (operands[3])))) &&
30203 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30204 : : ( 1)))
30205 : : return gen_split_2458 (insn, operands);
30206 : : break;
30207 : :
30208 : : case 3:
30209 : : if (((
30210 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30211 : : ((64 == 64 || TARGET_AVX512VL
30212 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30213 : : && ix86_pre_reload_split ()
30214 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30215 : : STRIP_UNARY (operands[4]))
30216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30217 : : STRIP_UNARY (operands[4]))
30218 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30219 : : STRIP_UNARY (operands[3]))
30220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30221 : : STRIP_UNARY (operands[3])))) &&
30222 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30223 : : (TARGET_AVX512F)) &&
30224 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30225 : : ( 1)))
30226 : : return gen_split_2485 (insn, operands);
30227 : : break;
30228 : :
30229 : : case 4:
30230 : : if (((
30231 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30232 : : ((32 == 64 || TARGET_AVX512VL
30233 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30234 : : && ix86_pre_reload_split ()
30235 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30236 : : STRIP_UNARY (operands[4]))
30237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30238 : : STRIP_UNARY (operands[4]))
30239 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30240 : : STRIP_UNARY (operands[3]))
30241 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30242 : : STRIP_UNARY (operands[3])))) &&
30243 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30244 : : (TARGET_AVX)) &&
30245 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30246 : : ( 1)))
30247 : : return gen_split_2512 (insn, operands);
30248 : : break;
30249 : :
30250 : : case 5:
30251 : : if ((
30252 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30253 : : ((16 == 64 || TARGET_AVX512VL
30254 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30255 : : && ix86_pre_reload_split ()
30256 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30257 : : STRIP_UNARY (operands[4]))
30258 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30259 : : STRIP_UNARY (operands[4]))
30260 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30261 : : STRIP_UNARY (operands[3]))
30262 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30263 : : STRIP_UNARY (operands[3])))) &&
30264 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30265 : : ( 1)))
30266 : : return gen_split_2539 (insn, operands);
30267 : : break;
30268 : :
30269 : : case 6:
30270 : : if (((
30271 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30272 : : ((64 == 64 || TARGET_AVX512VL
30273 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30274 : : && ix86_pre_reload_split ()
30275 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30276 : : STRIP_UNARY (operands[4]))
30277 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30278 : : STRIP_UNARY (operands[4]))
30279 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30280 : : STRIP_UNARY (operands[3]))
30281 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30282 : : STRIP_UNARY (operands[3])))) &&
30283 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30284 : : (TARGET_AVX512F)) &&
30285 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30286 : : ( 1)))
30287 : : return gen_split_2566 (insn, operands);
30288 : : break;
30289 : :
30290 : : case 7:
30291 : : if (((
30292 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30293 : : ((32 == 64 || TARGET_AVX512VL
30294 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30295 : : && ix86_pre_reload_split ()
30296 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30297 : : STRIP_UNARY (operands[4]))
30298 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30299 : : STRIP_UNARY (operands[4]))
30300 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30301 : : STRIP_UNARY (operands[3]))
30302 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30303 : : STRIP_UNARY (operands[3])))) &&
30304 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30305 : : (TARGET_AVX)) &&
30306 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30307 : : ( 1)))
30308 : : return gen_split_2593 (insn, operands);
30309 : : break;
30310 : :
30311 : : case 8:
30312 : : if ((
30313 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30314 : : ((16 == 64 || TARGET_AVX512VL
30315 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30316 : : && ix86_pre_reload_split ()
30317 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30318 : : STRIP_UNARY (operands[4]))
30319 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30320 : : STRIP_UNARY (operands[4]))
30321 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30322 : : STRIP_UNARY (operands[3]))
30323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30324 : : STRIP_UNARY (operands[3])))) &&
30325 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30326 : : ( 1)))
30327 : : return gen_split_2620 (insn, operands);
30328 : : break;
30329 : :
30330 : : case 9:
30331 : : if (((
30332 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30333 : : ((64 == 64 || TARGET_AVX512VL
30334 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30335 : : && ix86_pre_reload_split ()
30336 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30337 : : STRIP_UNARY (operands[4]))
30338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30339 : : STRIP_UNARY (operands[4]))
30340 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30341 : : STRIP_UNARY (operands[3]))
30342 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30343 : : STRIP_UNARY (operands[3])))) &&
30344 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30345 : : (TARGET_AVX512F)) &&
30346 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30347 : : ( 1)))
30348 : : return gen_split_2647 (insn, operands);
30349 : : break;
30350 : :
30351 : : case 10:
30352 : : if (((
30353 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30354 : : ((32 == 64 || TARGET_AVX512VL
30355 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30356 : : && ix86_pre_reload_split ()
30357 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30358 : : STRIP_UNARY (operands[4]))
30359 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30360 : : STRIP_UNARY (operands[4]))
30361 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30362 : : STRIP_UNARY (operands[3]))
30363 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30364 : : STRIP_UNARY (operands[3])))) &&
30365 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30366 : : (TARGET_AVX)) &&
30367 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30368 : : ( 1)))
30369 : : return gen_split_2674 (insn, operands);
30370 : : break;
30371 : :
30372 : : case 11:
30373 : : if ((
30374 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30375 : : ((16 == 64 || TARGET_AVX512VL
30376 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30377 : : && ix86_pre_reload_split ()
30378 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30379 : : STRIP_UNARY (operands[4]))
30380 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30381 : : STRIP_UNARY (operands[4]))
30382 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30383 : : STRIP_UNARY (operands[3]))
30384 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30385 : : STRIP_UNARY (operands[3])))) &&
30386 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30387 : : ( 1)))
30388 : : return gen_split_2701 (insn, operands);
30389 : : break;
30390 : :
30391 : : default:
30392 : : break;
30393 : : }
30394 : : break;
30395 : :
30396 : : case XOR:
30397 : : switch (pattern532 (x2))
30398 : : {
30399 : : case 0:
30400 : : if (((
30401 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30402 : : ((64 == 64 || TARGET_AVX512VL
30403 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30404 : : && ix86_pre_reload_split ()
30405 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30406 : : STRIP_UNARY (operands[4]))
30407 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30408 : : STRIP_UNARY (operands[4]))
30409 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30410 : : STRIP_UNARY (operands[3]))
30411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30412 : : STRIP_UNARY (operands[3])))) &&
30413 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30414 : : (TARGET_AVX512F)) &&
30415 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30416 : : ( 1)))
30417 : : return gen_split_2407 (insn, operands);
30418 : : break;
30419 : :
30420 : : case 1:
30421 : : if (((
30422 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30423 : : ((32 == 64 || TARGET_AVX512VL
30424 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30425 : : && ix86_pre_reload_split ()
30426 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30427 : : STRIP_UNARY (operands[4]))
30428 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30429 : : STRIP_UNARY (operands[4]))
30430 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30431 : : STRIP_UNARY (operands[3]))
30432 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30433 : : STRIP_UNARY (operands[3])))) &&
30434 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30435 : : (TARGET_AVX)) &&
30436 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30437 : : ( 1)))
30438 : : return gen_split_2434 (insn, operands);
30439 : : break;
30440 : :
30441 : : case 2:
30442 : : if ((
30443 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30444 : : ((16 == 64 || TARGET_AVX512VL
30445 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30446 : : && ix86_pre_reload_split ()
30447 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30448 : : STRIP_UNARY (operands[4]))
30449 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30450 : : STRIP_UNARY (operands[4]))
30451 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30452 : : STRIP_UNARY (operands[3]))
30453 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30454 : : STRIP_UNARY (operands[3])))) &&
30455 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30456 : : ( 1)))
30457 : : return gen_split_2461 (insn, operands);
30458 : : break;
30459 : :
30460 : : case 3:
30461 : : if (((
30462 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30463 : : ((64 == 64 || TARGET_AVX512VL
30464 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30465 : : && ix86_pre_reload_split ()
30466 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30467 : : STRIP_UNARY (operands[4]))
30468 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30469 : : STRIP_UNARY (operands[4]))
30470 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30471 : : STRIP_UNARY (operands[3]))
30472 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30473 : : STRIP_UNARY (operands[3])))) &&
30474 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30475 : : (TARGET_AVX512F)) &&
30476 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30477 : : ( 1)))
30478 : : return gen_split_2488 (insn, operands);
30479 : : break;
30480 : :
30481 : : case 4:
30482 : : if (((
30483 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30484 : : ((32 == 64 || TARGET_AVX512VL
30485 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30486 : : && ix86_pre_reload_split ()
30487 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30488 : : STRIP_UNARY (operands[4]))
30489 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30490 : : STRIP_UNARY (operands[4]))
30491 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30492 : : STRIP_UNARY (operands[3]))
30493 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30494 : : STRIP_UNARY (operands[3])))) &&
30495 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30496 : : (TARGET_AVX)) &&
30497 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30498 : : ( 1)))
30499 : : return gen_split_2515 (insn, operands);
30500 : : break;
30501 : :
30502 : : case 5:
30503 : : if ((
30504 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30505 : : ((16 == 64 || TARGET_AVX512VL
30506 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30507 : : && ix86_pre_reload_split ()
30508 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30509 : : STRIP_UNARY (operands[4]))
30510 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30511 : : STRIP_UNARY (operands[4]))
30512 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30513 : : STRIP_UNARY (operands[3]))
30514 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30515 : : STRIP_UNARY (operands[3])))) &&
30516 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30517 : : ( 1)))
30518 : : return gen_split_2542 (insn, operands);
30519 : : break;
30520 : :
30521 : : case 6:
30522 : : if (((
30523 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30524 : : ((64 == 64 || TARGET_AVX512VL
30525 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30526 : : && ix86_pre_reload_split ()
30527 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30528 : : STRIP_UNARY (operands[4]))
30529 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30530 : : STRIP_UNARY (operands[4]))
30531 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30532 : : STRIP_UNARY (operands[3]))
30533 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30534 : : STRIP_UNARY (operands[3])))) &&
30535 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30536 : : (TARGET_AVX512F)) &&
30537 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30538 : : ( 1)))
30539 : : return gen_split_2569 (insn, operands);
30540 : : break;
30541 : :
30542 : : case 7:
30543 : : if (((
30544 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30545 : : ((32 == 64 || TARGET_AVX512VL
30546 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30547 : : && ix86_pre_reload_split ()
30548 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30549 : : STRIP_UNARY (operands[4]))
30550 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30551 : : STRIP_UNARY (operands[4]))
30552 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30553 : : STRIP_UNARY (operands[3]))
30554 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30555 : : STRIP_UNARY (operands[3])))) &&
30556 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30557 : : (TARGET_AVX)) &&
30558 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30559 : : ( 1)))
30560 : : return gen_split_2596 (insn, operands);
30561 : : break;
30562 : :
30563 : : case 8:
30564 : : if ((
30565 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30566 : : ((16 == 64 || TARGET_AVX512VL
30567 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30568 : : && ix86_pre_reload_split ()
30569 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30570 : : STRIP_UNARY (operands[4]))
30571 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30572 : : STRIP_UNARY (operands[4]))
30573 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30574 : : STRIP_UNARY (operands[3]))
30575 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30576 : : STRIP_UNARY (operands[3])))) &&
30577 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30578 : : ( 1)))
30579 : : return gen_split_2623 (insn, operands);
30580 : : break;
30581 : :
30582 : : case 9:
30583 : : if (((
30584 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30585 : : ((64 == 64 || TARGET_AVX512VL
30586 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30587 : : && ix86_pre_reload_split ()
30588 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30589 : : STRIP_UNARY (operands[4]))
30590 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30591 : : STRIP_UNARY (operands[4]))
30592 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30593 : : STRIP_UNARY (operands[3]))
30594 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30595 : : STRIP_UNARY (operands[3])))) &&
30596 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30597 : : (TARGET_AVX512F)) &&
30598 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30599 : : ( 1)))
30600 : : return gen_split_2650 (insn, operands);
30601 : : break;
30602 : :
30603 : : case 10:
30604 : : if (((
30605 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30606 : : ((32 == 64 || TARGET_AVX512VL
30607 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30608 : : && ix86_pre_reload_split ()
30609 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30610 : : STRIP_UNARY (operands[4]))
30611 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30612 : : STRIP_UNARY (operands[4]))
30613 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30614 : : STRIP_UNARY (operands[3]))
30615 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30616 : : STRIP_UNARY (operands[3])))) &&
30617 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30618 : : (TARGET_AVX)) &&
30619 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30620 : : ( 1)))
30621 : : return gen_split_2677 (insn, operands);
30622 : : break;
30623 : :
30624 : : case 11:
30625 : : if ((
30626 : : #line 14135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30627 : : ((16 == 64 || TARGET_AVX512VL
30628 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30629 : : && ix86_pre_reload_split ()
30630 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30631 : : STRIP_UNARY (operands[4]))
30632 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30633 : : STRIP_UNARY (operands[4]))
30634 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30635 : : STRIP_UNARY (operands[3]))
30636 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30637 : : STRIP_UNARY (operands[3])))) &&
30638 : : #line 14147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30639 : : ( 1)))
30640 : : return gen_split_2704 (insn, operands);
30641 : : break;
30642 : :
30643 : : default:
30644 : : break;
30645 : : }
30646 : : break;
30647 : :
30648 : : default:
30649 : : break;
30650 : : }
30651 : : break;
30652 : :
30653 : : case REG:
30654 : : case SUBREG:
30655 : : case MEM:
30656 : : case VEC_DUPLICATE:
30657 : : operands[1] = x3;
30658 : : x5 = XEXP (x2, 1);
30659 : : operands[2] = x5;
30660 : : switch (GET_MODE (operands[0]))
30661 : : {
30662 : : case E_V16SImode:
30663 : : if (pattern929 (x2,
30664 : : E_V16SImode) == 0
30665 : : && ((
30666 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30667 : : (TARGET_AVX512F
30668 : : && (!false
30669 : : || SImode == SImode
30670 : : || SImode == DImode)) &&
30671 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30672 : : (TARGET_AVX512F)) &&
30673 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30674 : : ( reload_completed && !REG_P (operands[1]) && !false
30675 : : && optimize_insn_for_speed_p ())))
30676 : : return gen_split_3410 (insn, operands);
30677 : : break;
30678 : :
30679 : : case E_V8DImode:
30680 : : if (pattern929 (x2,
30681 : : E_V8DImode) == 0
30682 : : && ((
30683 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30684 : : (TARGET_AVX512F
30685 : : && (!false
30686 : : || DImode == SImode
30687 : : || DImode == DImode)) &&
30688 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30689 : : (TARGET_AVX512F)) &&
30690 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30691 : : ( reload_completed && !REG_P (operands[1]) && !false
30692 : : && optimize_insn_for_speed_p ())))
30693 : : return gen_split_3411 (insn, operands);
30694 : : break;
30695 : :
30696 : : case E_V64QImode:
30697 : : if (pattern929 (x2,
30698 : : E_V64QImode) == 0
30699 : : && ((
30700 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30701 : : (TARGET_AVX512F
30702 : : && (!false
30703 : : || QImode == SImode
30704 : : || QImode == DImode)) &&
30705 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30706 : : (TARGET_AVX512BW)) &&
30707 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30708 : : ( reload_completed && !REG_P (operands[1]) && !false
30709 : : && optimize_insn_for_speed_p ())))
30710 : : return gen_split_3412 (insn, operands);
30711 : : break;
30712 : :
30713 : : case E_V32QImode:
30714 : : if (pattern929 (x2,
30715 : : E_V32QImode) == 0
30716 : : && ((
30717 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30718 : : (TARGET_AVX512F
30719 : : && (!false
30720 : : || QImode == SImode
30721 : : || QImode == DImode)) &&
30722 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30723 : : (TARGET_AVX)) &&
30724 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30725 : : ( reload_completed && !REG_P (operands[1]) && !false
30726 : : && optimize_insn_for_speed_p ())))
30727 : : return gen_split_3413 (insn, operands);
30728 : : break;
30729 : :
30730 : : case E_V16QImode:
30731 : : if (pattern929 (x2,
30732 : : E_V16QImode) == 0
30733 : : && (
30734 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30735 : : (TARGET_AVX512F
30736 : : && (!false
30737 : : || QImode == SImode
30738 : : || QImode == DImode)) &&
30739 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30740 : : ( reload_completed && !REG_P (operands[1]) && !false
30741 : : && optimize_insn_for_speed_p ())))
30742 : : return gen_split_3414 (insn, operands);
30743 : : break;
30744 : :
30745 : : case E_V32HImode:
30746 : : if (pattern929 (x2,
30747 : : E_V32HImode) == 0
30748 : : && ((
30749 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30750 : : (TARGET_AVX512F
30751 : : && (!false
30752 : : || HImode == SImode
30753 : : || HImode == DImode)) &&
30754 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30755 : : (TARGET_AVX512BW)) &&
30756 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30757 : : ( reload_completed && !REG_P (operands[1]) && !false
30758 : : && optimize_insn_for_speed_p ())))
30759 : : return gen_split_3415 (insn, operands);
30760 : : break;
30761 : :
30762 : : case E_V16HImode:
30763 : : if (pattern929 (x2,
30764 : : E_V16HImode) == 0
30765 : : && ((
30766 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30767 : : (TARGET_AVX512F
30768 : : && (!false
30769 : : || HImode == SImode
30770 : : || HImode == DImode)) &&
30771 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30772 : : (TARGET_AVX)) &&
30773 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30774 : : ( reload_completed && !REG_P (operands[1]) && !false
30775 : : && optimize_insn_for_speed_p ())))
30776 : : return gen_split_3416 (insn, operands);
30777 : : break;
30778 : :
30779 : : case E_V8HImode:
30780 : : if (pattern929 (x2,
30781 : : E_V8HImode) == 0
30782 : : && (
30783 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30784 : : (TARGET_AVX512F
30785 : : && (!false
30786 : : || HImode == SImode
30787 : : || HImode == DImode)) &&
30788 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30789 : : ( reload_completed && !REG_P (operands[1]) && !false
30790 : : && optimize_insn_for_speed_p ())))
30791 : : return gen_split_3417 (insn, operands);
30792 : : break;
30793 : :
30794 : : case E_V8SImode:
30795 : : if (pattern929 (x2,
30796 : : E_V8SImode) == 0
30797 : : && ((
30798 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30799 : : (TARGET_AVX512F
30800 : : && (!false
30801 : : || SImode == SImode
30802 : : || SImode == DImode)) &&
30803 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30804 : : (TARGET_AVX)) &&
30805 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30806 : : ( reload_completed && !REG_P (operands[1]) && !false
30807 : : && optimize_insn_for_speed_p ())))
30808 : : return gen_split_3418 (insn, operands);
30809 : : break;
30810 : :
30811 : : case E_V4SImode:
30812 : : if (pattern929 (x2,
30813 : : E_V4SImode) == 0
30814 : : && (
30815 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30816 : : (TARGET_AVX512F
30817 : : && (!false
30818 : : || SImode == SImode
30819 : : || SImode == DImode)) &&
30820 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30821 : : ( reload_completed && !REG_P (operands[1]) && !false
30822 : : && optimize_insn_for_speed_p ())))
30823 : : return gen_split_3419 (insn, operands);
30824 : : break;
30825 : :
30826 : : case E_V4DImode:
30827 : : if (pattern929 (x2,
30828 : : E_V4DImode) == 0
30829 : : && ((
30830 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30831 : : (TARGET_AVX512F
30832 : : && (!false
30833 : : || DImode == SImode
30834 : : || DImode == DImode)) &&
30835 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30836 : : (TARGET_AVX)) &&
30837 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30838 : : ( reload_completed && !REG_P (operands[1]) && !false
30839 : : && optimize_insn_for_speed_p ())))
30840 : : return gen_split_3420 (insn, operands);
30841 : : break;
30842 : :
30843 : : case E_V2DImode:
30844 : : if (pattern929 (x2,
30845 : : E_V2DImode) == 0
30846 : : && (
30847 : : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30848 : : (TARGET_AVX512F
30849 : : && (!false
30850 : : || DImode == SImode
30851 : : || DImode == DImode)) &&
30852 : : #line 18656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30853 : : ( reload_completed && !REG_P (operands[1]) && !false
30854 : : && optimize_insn_for_speed_p ())))
30855 : : return gen_split_3421 (insn, operands);
30856 : : break;
30857 : :
30858 : : default:
30859 : : break;
30860 : : }
30861 : : if (GET_CODE (x3) == VEC_DUPLICATE)
30862 : : {
30863 : : switch (pattern598 (x2))
30864 : : {
30865 : : case 0:
30866 : : if ((
30867 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30868 : : (64 == 64 || TARGET_AVX512VL
30869 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30870 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30871 : : (TARGET_AVX512F)))
30872 : : return gen_split_3454 (insn, operands);
30873 : : break;
30874 : :
30875 : : case 1:
30876 : : if ((
30877 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30878 : : (64 == 64 || TARGET_AVX512VL
30879 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30880 : : #line 551 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30881 : : (TARGET_AVX512F)))
30882 : : return gen_split_3455 (insn, operands);
30883 : : break;
30884 : :
30885 : : case 2:
30886 : : if ((
30887 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30888 : : (64 == 64 || TARGET_AVX512VL
30889 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30890 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30891 : : (TARGET_AVX512BW)))
30892 : : return gen_split_3456 (insn, operands);
30893 : : break;
30894 : :
30895 : : case 3:
30896 : : if ((
30897 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30898 : : (32 == 64 || TARGET_AVX512VL
30899 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30900 : : #line 552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30901 : : (TARGET_AVX)))
30902 : : return gen_split_3457 (insn, operands);
30903 : : break;
30904 : :
30905 : : case 4:
30906 : : if (
30907 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30908 : : (16 == 64 || TARGET_AVX512VL
30909 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
30910 : : return gen_split_3458 (insn, operands);
30911 : : break;
30912 : :
30913 : : case 5:
30914 : : if ((
30915 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30916 : : (64 == 64 || TARGET_AVX512VL
30917 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30918 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30919 : : (TARGET_AVX512BW)))
30920 : : return gen_split_3459 (insn, operands);
30921 : : break;
30922 : :
30923 : : case 6:
30924 : : if ((
30925 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30926 : : (32 == 64 || TARGET_AVX512VL
30927 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30928 : : #line 553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30929 : : (TARGET_AVX)))
30930 : : return gen_split_3460 (insn, operands);
30931 : : break;
30932 : :
30933 : : case 7:
30934 : : if (
30935 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : : (16 == 64 || TARGET_AVX512VL
30937 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
30938 : : return gen_split_3461 (insn, operands);
30939 : : break;
30940 : :
30941 : : case 8:
30942 : : if ((
30943 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30944 : : (32 == 64 || TARGET_AVX512VL
30945 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30946 : : #line 554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30947 : : (TARGET_AVX)))
30948 : : return gen_split_3462 (insn, operands);
30949 : : break;
30950 : :
30951 : : case 9:
30952 : : if (
30953 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30954 : : (16 == 64 || TARGET_AVX512VL
30955 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
30956 : : return gen_split_3463 (insn, operands);
30957 : : break;
30958 : :
30959 : : case 10:
30960 : : if ((
30961 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30962 : : (32 == 64 || TARGET_AVX512VL
30963 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
30964 : : #line 555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30965 : : (TARGET_AVX)))
30966 : : return gen_split_3464 (insn, operands);
30967 : : break;
30968 : :
30969 : : case 11:
30970 : : if (
30971 : : #line 18949 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30972 : : (16 == 64 || TARGET_AVX512VL
30973 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
30974 : : return gen_split_3465 (insn, operands);
30975 : : break;
30976 : :
30977 : : default:
30978 : : break;
30979 : : }
30980 : : }
30981 : : break;
30982 : :
30983 : : default:
30984 : : break;
30985 : : }
30986 : : break;
30987 : :
30988 : : default:
30989 : : break;
30990 : : }
30991 : : operands[1] = x2;
30992 : : switch (pattern203 ())
30993 : : {
30994 : : case 0:
30995 : : if (((
30996 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30997 : : ((64 == 64 || TARGET_AVX512VL
30998 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30999 : : && ix86_pre_reload_split ()) &&
31000 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31001 : : (TARGET_AVX512F)) &&
31002 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31003 : : ( 1)))
31004 : : return gen_split_1721 (insn, operands);
31005 : : break;
31006 : :
31007 : : case 1:
31008 : : if (((
31009 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31010 : : ((32 == 64 || TARGET_AVX512VL
31011 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31012 : : && ix86_pre_reload_split ()) &&
31013 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31014 : : (TARGET_AVX)) &&
31015 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31016 : : ( 1)))
31017 : : return gen_split_1722 (insn, operands);
31018 : : break;
31019 : :
31020 : : case 2:
31021 : : if ((
31022 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31023 : : ((16 == 64 || TARGET_AVX512VL
31024 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31025 : : && ix86_pre_reload_split ()) &&
31026 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31027 : : ( 1)))
31028 : : return gen_split_1723 (insn, operands);
31029 : : break;
31030 : :
31031 : : case 3:
31032 : : if (((
31033 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31034 : : ((64 == 64 || TARGET_AVX512VL
31035 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31036 : : && ix86_pre_reload_split ()) &&
31037 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31038 : : (TARGET_AVX512F)) &&
31039 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31040 : : ( 1)))
31041 : : return gen_split_1724 (insn, operands);
31042 : : break;
31043 : :
31044 : : case 4:
31045 : : if (((
31046 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31047 : : ((32 == 64 || TARGET_AVX512VL
31048 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31049 : : && ix86_pre_reload_split ()) &&
31050 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31051 : : (TARGET_AVX)) &&
31052 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31053 : : ( 1)))
31054 : : return gen_split_1725 (insn, operands);
31055 : : break;
31056 : :
31057 : : case 5:
31058 : : if ((
31059 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31060 : : ((16 == 64 || TARGET_AVX512VL
31061 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31062 : : && ix86_pre_reload_split ()) &&
31063 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31064 : : ( 1)))
31065 : : return gen_split_1726 (insn, operands);
31066 : : break;
31067 : :
31068 : : case 6:
31069 : : if (((
31070 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31071 : : ((64 == 64 || TARGET_AVX512VL
31072 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31073 : : && ix86_pre_reload_split ()) &&
31074 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31075 : : (TARGET_AVX512F)) &&
31076 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31077 : : ( 1)))
31078 : : return gen_split_1727 (insn, operands);
31079 : : break;
31080 : :
31081 : : case 7:
31082 : : if (((
31083 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31084 : : ((32 == 64 || TARGET_AVX512VL
31085 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31086 : : && ix86_pre_reload_split ()) &&
31087 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31088 : : (TARGET_AVX)) &&
31089 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31090 : : ( 1)))
31091 : : return gen_split_1728 (insn, operands);
31092 : : break;
31093 : :
31094 : : case 8:
31095 : : if ((
31096 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31097 : : ((16 == 64 || TARGET_AVX512VL
31098 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31099 : : && ix86_pre_reload_split ()) &&
31100 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31101 : : ( 1)))
31102 : : return gen_split_1729 (insn, operands);
31103 : : break;
31104 : :
31105 : : case 9:
31106 : : if (((
31107 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31108 : : ((64 == 64 || TARGET_AVX512VL
31109 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31110 : : && ix86_pre_reload_split ()) &&
31111 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31112 : : (TARGET_AVX512F)) &&
31113 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31114 : : ( 1)))
31115 : : return gen_split_1730 (insn, operands);
31116 : : break;
31117 : :
31118 : : case 10:
31119 : : if (((
31120 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31121 : : ((32 == 64 || TARGET_AVX512VL
31122 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31123 : : && ix86_pre_reload_split ()) &&
31124 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31125 : : (TARGET_AVX)) &&
31126 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31127 : : ( 1)))
31128 : : return gen_split_1731 (insn, operands);
31129 : : break;
31130 : :
31131 : : case 11:
31132 : : if (((
31133 : : #line 14020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31134 : : ((16 == 64 || TARGET_AVX512VL
31135 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31136 : : && ix86_pre_reload_split ()) &&
31137 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31138 : : (TARGET_SSE2)) &&
31139 : : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31140 : : ( 1)))
31141 : : return gen_split_1732 (insn, operands);
31142 : : break;
31143 : :
31144 : : default:
31145 : : break;
31146 : : }
31147 : : switch (GET_CODE (x2))
31148 : : {
31149 : : case AND:
31150 : : return split_79 (x1, insn);
31151 : :
31152 : : case IOR:
31153 : : return split_78 (x1, insn);
31154 : :
31155 : : case XOR:
31156 : : return split_77 (x1, insn);
31157 : :
31158 : : default:
31159 : : return NULL;
31160 : : }
31161 : : }
31162 : :
31163 : : rtx_insn *
31164 : : peephole2_28 (rtx x1 ATTRIBUTE_UNUSED,
31165 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31166 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31167 : : {
31168 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31169 : : rtx x2, x3, x4, x5, x6, x7, x8;
31170 : : rtx_insn *res ATTRIBUTE_UNUSED;
31171 : : x2 = XEXP (x1, 1);
31172 : : if (GET_MODE (x2) != E_SImode)
31173 : : return NULL;
31174 : : x3 = XEXP (x2, 0);
31175 : : if (GET_CODE (x3) != AND
31176 : : || pattern119 (x2) != 0)
31177 : : return NULL;
31178 : : x4 = XEXP (x1, 0);
31179 : : operands[0] = x4;
31180 : : if (!general_reg_operand (operands[0], E_SImode))
31181 : : return NULL;
31182 : : x5 = XEXP (x3, 0);
31183 : : if (!rtx_equal_p (x5, operands[0]))
31184 : : return NULL;
31185 : : x6 = XEXP (x2, 1);
31186 : : x7 = XEXP (x6, 0);
31187 : : x8 = XEXP (x7, 0);
31188 : : if (!rtx_equal_p (x8, operands[0])
31189 : : || !
31190 : : #line 22964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31191 : : (!(TARGET_USE_XCHGB ||
31192 : : TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
31193 : : && peep2_regno_dead_p (0, FLAGS_REG)))
31194 : : return NULL;
31195 : : *pmatch_len_ = 0;
31196 : : return gen_peephole2_205 (insn, operands);
31197 : : }
31198 : :
31199 : : rtx_insn *
31200 : : peephole2_30 (rtx x1 ATTRIBUTE_UNUSED,
31201 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31202 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31203 : : {
31204 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31205 : : rtx x2, x3, x4, x5, x6, x7;
31206 : : rtx_insn *res ATTRIBUTE_UNUSED;
31207 : : x2 = XEXP (x1, 1);
31208 : : x3 = XEXP (x2, 0);
31209 : : switch (GET_CODE (x3))
31210 : : {
31211 : : case NE:
31212 : : case EQ:
31213 : : case GE:
31214 : : case GT:
31215 : : case LE:
31216 : : case LT:
31217 : : case LTGT:
31218 : : case GEU:
31219 : : case GTU:
31220 : : case LEU:
31221 : : case LTU:
31222 : : case UNORDERED:
31223 : : case ORDERED:
31224 : : case UNEQ:
31225 : : case UNGE:
31226 : : case UNGT:
31227 : : case UNLE:
31228 : : case UNLT:
31229 : : operands[1] = x3;
31230 : : switch (pattern246 (x1))
31231 : : {
31232 : : case 0:
31233 : : switch (GET_MODE (operands[0]))
31234 : : {
31235 : : case E_HImode:
31236 : : if (pattern1201 (x2,
31237 : : E_HImode) != 0
31238 : : || !
31239 : : #line 26829 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31240 : : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31241 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31242 : : && optimize_insn_for_speed_p ()))
31243 : : return NULL;
31244 : : *pmatch_len_ = 0;
31245 : : return gen_peephole2_213 (insn, operands);
31246 : :
31247 : : case E_SImode:
31248 : : if (pattern1201 (x2,
31249 : : E_SImode) != 0
31250 : : || !
31251 : : #line 26829 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31252 : : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31253 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31254 : : && optimize_insn_for_speed_p ()))
31255 : : return NULL;
31256 : : *pmatch_len_ = 0;
31257 : : return gen_peephole2_214 (insn, operands);
31258 : :
31259 : : case E_DImode:
31260 : : if (pattern1201 (x2,
31261 : : E_DImode) != 0
31262 : : || !(
31263 : : #line 26829 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31264 : : (TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31265 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31266 : : && optimize_insn_for_speed_p ()) &&
31267 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31268 : : (TARGET_64BIT)))
31269 : : return NULL;
31270 : : *pmatch_len_ = 0;
31271 : : return gen_peephole2_215 (insn, operands);
31272 : :
31273 : : case E_SFmode:
31274 : : if (!general_reg_operand (operands[0], E_SFmode)
31275 : : || pattern1262 (x2,
31276 : : E_SFmode) != 0
31277 : : || !
31278 : : #line 27081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31279 : : ((SFmode != DFmode || TARGET_64BIT)
31280 : : && TARGET_80387 && TARGET_CMOVE
31281 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31282 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31283 : : && optimize_insn_for_speed_p ()))
31284 : : return NULL;
31285 : : *pmatch_len_ = 0;
31286 : : return gen_peephole2_223 (insn, operands);
31287 : :
31288 : : case E_DFmode:
31289 : : if (!general_reg_operand (operands[0], E_DFmode)
31290 : : || pattern1262 (x2,
31291 : : E_DFmode) != 0
31292 : : || !
31293 : : #line 27081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31294 : : ((DFmode != DFmode || TARGET_64BIT)
31295 : : && TARGET_80387 && TARGET_CMOVE
31296 : : && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31297 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31298 : : && optimize_insn_for_speed_p ()))
31299 : : return NULL;
31300 : : *pmatch_len_ = 0;
31301 : : return gen_peephole2_224 (insn, operands);
31302 : :
31303 : : default:
31304 : : return NULL;
31305 : : }
31306 : :
31307 : : case 1:
31308 : : if (!register_operand (operands[0], E_DImode)
31309 : : || GET_MODE (x2) != E_DImode
31310 : : || !ix86_comparison_operator (operands[1], E_VOIDmode))
31311 : : return NULL;
31312 : : x4 = XEXP (x2, 1);
31313 : : x5 = XEXP (x4, 0);
31314 : : operands[2] = x5;
31315 : : if (!nonimmediate_operand (operands[2], E_SImode))
31316 : : return NULL;
31317 : : x6 = XEXP (x2, 2);
31318 : : x7 = XEXP (x6, 0);
31319 : : operands[3] = x7;
31320 : : if (!nonimmediate_operand (operands[3], E_SImode)
31321 : : || !
31322 : : #line 26859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31323 : : (TARGET_64BIT
31324 : : && TARGET_CMOVE && TARGET_AVOID_MEM_OPND_FOR_CMOVE
31325 : : && (MEM_P (operands[2]) || MEM_P (operands[3]))
31326 : : && optimize_insn_for_speed_p ()))
31327 : : return NULL;
31328 : : *pmatch_len_ = 0;
31329 : : return gen_peephole2_216 (insn, operands);
31330 : :
31331 : : default:
31332 : : return NULL;
31333 : : }
31334 : :
31335 : : default:
31336 : : return NULL;
31337 : : }
31338 : : }
31339 : :
31340 : : rtx_insn *
31341 : : peephole2_36 (rtx x1 ATTRIBUTE_UNUSED,
31342 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31343 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31344 : : {
31345 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31346 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31347 : : rtx x10, x11, x12;
31348 : : rtx_insn *res ATTRIBUTE_UNUSED;
31349 : : if (peep2_current_count < 3)
31350 : : return NULL;
31351 : : x2 = XEXP (x1, 0);
31352 : : operands[0] = x2;
31353 : : if (!register_operand (operands[0], E_QImode))
31354 : : return NULL;
31355 : : x3 = PATTERN (peep2_next_insn (1));
31356 : : if (pattern420 (x3,
31357 : : UNSPEC_VOLATILE,
31358 : : 3) != 0)
31359 : : return NULL;
31360 : : x4 = XVECEXP (x3, 0, 0);
31361 : : x5 = XEXP (x4, 1);
31362 : : if (XVECLEN (x5, 0) == 4
31363 : : && XINT (x5, 1) == 109
31364 : : && GET_MODE (x5) == E_QImode)
31365 : : {
31366 : : res = peephole2_35 (x1, insn, pmatch_len_);
31367 : : if (res != NULL_RTX)
31368 : : return res;
31369 : : }
31370 : : if (XVECLEN (x5, 0) != 2
31371 : : || XINT (x5, 1) != 110
31372 : : || GET_MODE (x5) != E_QImode)
31373 : : return NULL;
31374 : : x6 = XEXP (x1, 1);
31375 : : operands[2] = x6;
31376 : : if (!const_int_operand (operands[2], E_QImode))
31377 : : return NULL;
31378 : : x7 = XVECEXP (x3, 0, 1);
31379 : : if (GET_CODE (x7) != SET)
31380 : : return NULL;
31381 : : x8 = XEXP (x7, 1);
31382 : : if (GET_CODE (x8) != PLUS
31383 : : || GET_MODE (x8) != E_QImode
31384 : : || pattern1512 (x3) != 0
31385 : : || !memory_operand (operands[1], E_QImode)
31386 : : || pattern1703 (x3) != 0)
31387 : : return NULL;
31388 : : x9 = PATTERN (peep2_next_insn (2));
31389 : : x10 = XEXP (x9, 1);
31390 : : x11 = XEXP (x10, 1);
31391 : : operands[3] = x11;
31392 : : if (!const_int_operand (operands[3], E_QImode))
31393 : : return NULL;
31394 : : x12 = XEXP (x10, 0);
31395 : : if (!rtx_equal_p (x12, operands[0])
31396 : : || !
31397 : : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31398 : : (peep2_reg_dead_p (3, operands[0])
31399 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31400 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31401 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31402 : : return NULL;
31403 : : *pmatch_len_ = 2;
31404 : : return gen_peephole2_441 (insn, operands);
31405 : : }
31406 : :
31407 : : rtx_insn *
31408 : : peephole2_41 (rtx x1 ATTRIBUTE_UNUSED,
31409 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31410 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31411 : : {
31412 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31413 : : rtx x2, x3, x4, x5, x6, x7, x8;
31414 : : rtx_insn *res ATTRIBUTE_UNUSED;
31415 : : x2 = XVECEXP (x1, 0, 1);
31416 : : if (pattern235 (x2,
31417 : : E_CCmode,
31418 : : 17) != 0)
31419 : : return NULL;
31420 : : x3 = XVECEXP (x1, 0, 0);
31421 : : x4 = XEXP (x3, 1);
31422 : : switch (XWINT (x4, 0))
31423 : : {
31424 : : case 0L:
31425 : : res = peephole2_40 (x1, insn, pmatch_len_);
31426 : : if (res != NULL_RTX)
31427 : : return res;
31428 : : break;
31429 : :
31430 : : case 1L:
31431 : : x5 = XEXP (x3, 0);
31432 : : if (GET_CODE (x5) == ZERO_EXTRACT
31433 : : && pattern1069 (x5) == 0
31434 : : &&
31435 : : #line 19367 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31436 : : (TARGET_64BIT && !TARGET_USE_BT))
31437 : : {
31438 : : *pmatch_len_ = 0;
31439 : : res = gen_peephole2_179 (insn, operands);
31440 : : if (res != NULL_RTX)
31441 : : return res;
31442 : : }
31443 : : break;
31444 : :
31445 : : default:
31446 : : break;
31447 : : }
31448 : : if (peep2_current_count < 2
31449 : : || peep2_current_count < 3)
31450 : : return NULL;
31451 : : x5 = XEXP (x3, 0);
31452 : : operands[0] = x5;
31453 : : x6 = PATTERN (peep2_next_insn (1));
31454 : : if (pattern420 (x6,
31455 : : UNSPEC_VOLATILE,
31456 : : 3) != 0)
31457 : : return NULL;
31458 : : x7 = XVECEXP (x6, 0, 1);
31459 : : if (GET_CODE (x7) != SET)
31460 : : return NULL;
31461 : : x8 = PATTERN (peep2_next_insn (2));
31462 : : if (pattern1539 (x8) != 0)
31463 : : return NULL;
31464 : : switch (GET_MODE (operands[0]))
31465 : : {
31466 : : case E_SImode:
31467 : : if (!register_operand (operands[0], E_SImode))
31468 : : return NULL;
31469 : : operands[1] = x4;
31470 : : switch (pattern1826 (x6,
31471 : : E_SImode))
31472 : : {
31473 : : case 0:
31474 : : if (
31475 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31476 : : (REGNO (operands[0]) == REGNO (operands[2])))
31477 : : {
31478 : : *pmatch_len_ = 2;
31479 : : res = gen_peephole2_433 (insn, operands);
31480 : : if (res != NULL_RTX)
31481 : : return res;
31482 : : }
31483 : : break;
31484 : :
31485 : : case 1:
31486 : : if (
31487 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31488 : : (REGNO (operands[0]) == REGNO (operands[2])))
31489 : : {
31490 : : *pmatch_len_ = 2;
31491 : : res = gen_peephole2_435 (insn, operands);
31492 : : if (res != NULL_RTX)
31493 : : return res;
31494 : : }
31495 : : break;
31496 : :
31497 : : case 2:
31498 : : if (
31499 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31500 : : (REGNO (operands[0]) == REGNO (operands[2])))
31501 : : {
31502 : : *pmatch_len_ = 2;
31503 : : res = gen_peephole2_437 (insn, operands);
31504 : : if (res != NULL_RTX)
31505 : : return res;
31506 : : }
31507 : : break;
31508 : :
31509 : : case 3:
31510 : : if ((
31511 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31512 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
31513 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31514 : : (TARGET_64BIT)))
31515 : : {
31516 : : *pmatch_len_ = 2;
31517 : : res = gen_peephole2_439 (insn, operands);
31518 : : if (res != NULL_RTX)
31519 : : return res;
31520 : : }
31521 : : break;
31522 : :
31523 : : default:
31524 : : break;
31525 : : }
31526 : : operands[2] = x4;
31527 : : if (pattern1777 (x6,
31528 : : E_SImode) != 0
31529 : : || !
31530 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31531 : : (peep2_reg_dead_p (3, operands[0])
31532 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31533 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31534 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31535 : : return NULL;
31536 : : *pmatch_len_ = 2;
31537 : : return gen_peephole2_447 (insn, operands);
31538 : :
31539 : : case E_DImode:
31540 : : if (!register_operand (operands[0], E_DImode))
31541 : : return NULL;
31542 : : operands[1] = x4;
31543 : : switch (pattern1826 (x6,
31544 : : E_DImode))
31545 : : {
31546 : : case 0:
31547 : : if ((
31548 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31549 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
31550 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31551 : : (TARGET_64BIT)))
31552 : : {
31553 : : *pmatch_len_ = 2;
31554 : : res = gen_peephole2_434 (insn, operands);
31555 : : if (res != NULL_RTX)
31556 : : return res;
31557 : : }
31558 : : break;
31559 : :
31560 : : case 1:
31561 : : if ((
31562 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31563 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
31564 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31565 : : (TARGET_64BIT)))
31566 : : {
31567 : : *pmatch_len_ = 2;
31568 : : res = gen_peephole2_436 (insn, operands);
31569 : : if (res != NULL_RTX)
31570 : : return res;
31571 : : }
31572 : : break;
31573 : :
31574 : : case 2:
31575 : : if ((
31576 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31577 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
31578 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31579 : : (TARGET_64BIT)))
31580 : : {
31581 : : *pmatch_len_ = 2;
31582 : : res = gen_peephole2_438 (insn, operands);
31583 : : if (res != NULL_RTX)
31584 : : return res;
31585 : : }
31586 : : break;
31587 : :
31588 : : case 3:
31589 : : if ((
31590 : : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31591 : : (REGNO (operands[0]) == REGNO (operands[2])) &&
31592 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31593 : : (TARGET_64BIT)))
31594 : : {
31595 : : *pmatch_len_ = 2;
31596 : : res = gen_peephole2_440 (insn, operands);
31597 : : if (res != NULL_RTX)
31598 : : return res;
31599 : : }
31600 : : break;
31601 : :
31602 : : default:
31603 : : break;
31604 : : }
31605 : : operands[2] = x4;
31606 : : if (pattern1777 (x6,
31607 : : E_DImode) != 0
31608 : : || !(
31609 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31610 : : (peep2_reg_dead_p (3, operands[0])
31611 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31612 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31613 : : && !reg_overlap_mentioned_p (operands[0], operands[1])) &&
31614 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31615 : : (TARGET_64BIT)))
31616 : : return NULL;
31617 : : *pmatch_len_ = 2;
31618 : : return gen_peephole2_448 (insn, operands);
31619 : :
31620 : : case E_QImode:
31621 : : if (pattern1778 (x4,
31622 : : E_QImode) != 0
31623 : : || !
31624 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31625 : : (peep2_reg_dead_p (3, operands[0])
31626 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31627 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31628 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31629 : : return NULL;
31630 : : *pmatch_len_ = 2;
31631 : : return gen_peephole2_445 (insn, operands);
31632 : :
31633 : : case E_HImode:
31634 : : if (pattern1778 (x4,
31635 : : E_HImode) != 0
31636 : : || !
31637 : : #line 754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31638 : : (peep2_reg_dead_p (3, operands[0])
31639 : : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31640 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31641 : : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31642 : : return NULL;
31643 : : *pmatch_len_ = 2;
31644 : : return gen_peephole2_446 (insn, operands);
31645 : :
31646 : : default:
31647 : : return NULL;
31648 : : }
31649 : : }
31650 : :
31651 : : rtx_insn *
31652 : : peephole2_49 (rtx x1 ATTRIBUTE_UNUSED,
31653 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31654 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31655 : : {
31656 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31657 : : rtx x2, x3, x4, x5, x6, x7, x8;
31658 : : rtx_insn *res ATTRIBUTE_UNUSED;
31659 : : x2 = XVECEXP (x1, 0, 1);
31660 : : x3 = XEXP (x2, 0);
31661 : : if (GET_CODE (x3) != MEM
31662 : : || GET_MODE (x3) != E_BLKmode)
31663 : : return NULL;
31664 : : x4 = XEXP (x3, 0);
31665 : : if (GET_CODE (x4) != SCRATCH)
31666 : : return NULL;
31667 : : x5 = XVECEXP (x1, 0, 0);
31668 : : x6 = XEXP (x5, 1);
31669 : : x7 = XEXP (x6, 1);
31670 : : operands[1] = x7;
31671 : : x8 = XEXP (x6, 0);
31672 : : if (!rtx_equal_p (x8, operands[0]))
31673 : : return NULL;
31674 : : switch (GET_MODE (operands[0]))
31675 : : {
31676 : : case E_SImode:
31677 : : if (!register_operand (operands[0], E_SImode)
31678 : : || GET_MODE (x6) != E_SImode
31679 : : || !x86_64_nonmemory_operand (operands[1], E_SImode)
31680 : : || !(
31681 : : #line 27685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31682 : : (peep2_regno_dead_p (0, FLAGS_REG)) &&
31683 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31684 : : (Pmode == SImode)))
31685 : : return NULL;
31686 : : *pmatch_len_ = 0;
31687 : : return gen_peephole2_247 (insn, operands);
31688 : :
31689 : : case E_DImode:
31690 : : if (!register_operand (operands[0], E_DImode)
31691 : : || GET_MODE (x6) != E_DImode
31692 : : || !x86_64_nonmemory_operand (operands[1], E_DImode)
31693 : : || !(
31694 : : #line 27685 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31695 : : (peep2_regno_dead_p (0, FLAGS_REG)) &&
31696 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31697 : : (Pmode == DImode)))
31698 : : return NULL;
31699 : : *pmatch_len_ = 0;
31700 : : return gen_peephole2_248 (insn, operands);
31701 : :
31702 : : default:
31703 : : return NULL;
31704 : : }
31705 : : }
31706 : :
31707 : : rtx_insn *
31708 : : peephole2_52 (rtx x1 ATTRIBUTE_UNUSED,
31709 : : rtx_insn *insn ATTRIBUTE_UNUSED,
31710 : : int *pmatch_len_ ATTRIBUTE_UNUSED)
31711 : : {
31712 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31713 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31714 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
31715 : : rtx x18, x19;
31716 : : rtx_insn *res ATTRIBUTE_UNUSED;
31717 : : x2 = XVECEXP (x1, 0, 0);
31718 : : if (GET_CODE (x2) != SET)
31719 : : return NULL;
31720 : : x3 = XEXP (x2, 1);
31721 : : switch (GET_CODE (x3))
31722 : : {
31723 : : case REG:
31724 : : res = peephole2_39 (x1, insn, pmatch_len_);
31725 : : if (res != NULL_RTX)
31726 : : return res;
31727 : : break;
31728 : :
31729 : : case CONST_INT:
31730 : : res = peephole2_41 (x1, insn, pmatch_len_);
31731 : : if (res != NULL_RTX)
31732 : : return res;
31733 : : break;
31734 : :
31735 : : case PLUS:
31736 : : res = peephole2_42 (x1, insn, pmatch_len_);
31737 : : if (res != NULL_RTX)
31738 : : return res;
31739 : : break;
31740 : :
31741 : : case COMPARE:
31742 : : res = peephole2_44 (x1, insn, pmatch_len_);
31743 : : if (res != NULL_RTX)
31744 : : return res;
31745 : : break;
31746 : :
31747 : : case MULT:
31748 : : res = peephole2_45 (x1, insn, pmatch_len_);
31749 : : if (res != NULL_RTX)
31750 : : return res;
31751 : : break;
31752 : :
31753 : : case NEG:
31754 : : res = peephole2_46 (x1, insn, pmatch_len_);
31755 : : if (res != NULL_RTX)
31756 : : return res;
31757 : : break;
31758 : :
31759 : : case ASHIFT:
31760 : : if (pattern247 (x1) == 0)
31761 : : {
31762 : : x4 = XEXP (x3, 1);
31763 : : operands[2] = x4;
31764 : : if (nonmemory_operand (operands[2], E_QImode))
31765 : : {
31766 : : switch (GET_MODE (operands[0]))
31767 : : {
31768 : : case E_DImode:
31769 : : if (register_operand (operands[0], E_DImode)
31770 : : && GET_MODE (x3) == E_DImode
31771 : : && nonmemory_operand (operands[1], E_DImode)
31772 : : && (
31773 : : #line 15643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31774 : : (TARGET_CMOVE) &&
31775 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31776 : : (!TARGET_64BIT)))
31777 : : {
31778 : : *pmatch_len_ = 0;
31779 : : res = gen_peephole2_173 (insn, operands);
31780 : : if (res != NULL_RTX)
31781 : : return res;
31782 : : }
31783 : : break;
31784 : :
31785 : : case E_TImode:
31786 : : if (register_operand (operands[0], E_TImode)
31787 : : && GET_MODE (x3) == E_TImode
31788 : : && nonmemory_operand (operands[1], E_TImode)
31789 : : && (
31790 : : #line 15643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31791 : : (TARGET_CMOVE) &&
31792 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31793 : : (TARGET_64BIT)))
31794 : : {
31795 : : *pmatch_len_ = 0;
31796 : : res = gen_peephole2_174 (insn, operands);
31797 : : if (res != NULL_RTX)
31798 : : return res;
31799 : : }
31800 : : break;
31801 : :
31802 : : default:
31803 : : break;
31804 : : }
31805 : : }
31806 : : }
31807 : : break;
31808 : :
31809 : : case LSHIFTRT:
31810 : : switch (pattern249 (x1))
31811 : : {
31812 : : case 0:
31813 : : if ((
31814 : : #line 17013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31815 : : (TARGET_CMOVE) &&
31816 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31817 : : (!TARGET_64BIT)))
31818 : : {
31819 : : *pmatch_len_ = 0;
31820 : : res = gen_peephole2_175 (insn, operands);
31821 : : if (res != NULL_RTX)
31822 : : return res;
31823 : : }
31824 : : break;
31825 : :
31826 : : case 1:
31827 : : if ((
31828 : : #line 17013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31829 : : (TARGET_CMOVE) &&
31830 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31831 : : (TARGET_64BIT)))
31832 : : {
31833 : : *pmatch_len_ = 0;
31834 : : res = gen_peephole2_177 (insn, operands);
31835 : : if (res != NULL_RTX)
31836 : : return res;
31837 : : }
31838 : : break;
31839 : :
31840 : : default:
31841 : : break;
31842 : : }
31843 : : break;
31844 : :
31845 : : case ASHIFTRT:
31846 : : switch (pattern249 (x1))
31847 : : {
31848 : : case 0:
31849 : : if ((
31850 : : #line 17013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31851 : : (TARGET_CMOVE) &&
31852 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31853 : : (!TARGET_64BIT)))
31854 : : {
31855 : : *pmatch_len_ = 0;
31856 : : res = gen_peephole2_176 (insn, operands);
31857 : : if (res != NULL_RTX)
31858 : : return res;
31859 : : }
31860 : : break;
31861 : :
31862 : : case 1:
31863 : : if ((
31864 : : #line 17013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31865 : : (TARGET_CMOVE) &&
31866 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31867 : : (TARGET_64BIT)))
31868 : : {
31869 : : *pmatch_len_ = 0;
31870 : : res = gen_peephole2_178 (insn, operands);
31871 : : if (res != NULL_RTX)
31872 : : return res;
31873 : : }
31874 : : break;
31875 : :
31876 : : default:
31877 : : break;
31878 : : }
31879 : : break;
31880 : :
31881 : : case NOT:
31882 : : if (GET_MODE (x3) == E_DImode)
31883 : : {
31884 : : x5 = XEXP (x3, 0);
31885 : : if (GET_CODE (x5) == ZERO_EXTRACT
31886 : : && pattern379 (x1) == 0)
31887 : : {
31888 : : x6 = XEXP (x5, 0);
31889 : : if (rtx_equal_p (x6, operands[0]))
31890 : : {
31891 : : x7 = XEXP (x5, 2);
31892 : : if (rtx_equal_p (x7, operands[1])
31893 : : &&
31894 : : #line 19416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31895 : : (TARGET_64BIT && !TARGET_USE_BT))
31896 : : {
31897 : : *pmatch_len_ = 0;
31898 : : res = gen_peephole2_181 (insn, operands);
31899 : : if (res != NULL_RTX)
31900 : : return res;
31901 : : }
31902 : : }
31903 : : }
31904 : : }
31905 : : break;
31906 : :
31907 : : case POPCOUNT:
31908 : : res = peephole2_47 (x1, insn, pmatch_len_);
31909 : : if (res != NULL_RTX)
31910 : : return res;
31911 : : break;
31912 : :
31913 : : default:
31914 : : break;
31915 : : }
31916 : : if (peep2_current_count >= 2)
31917 : : {
31918 : : res = peephole2_48 (x1, insn, pmatch_len_);
31919 : : if (res != NULL_RTX)
31920 : : return res;
31921 : : }
31922 : : x8 = XVECEXP (x1, 0, 1);
31923 : : if (GET_CODE (x8) != CLOBBER)
31924 : : return NULL;
31925 : : switch (GET_CODE (x3))
31926 : : {
31927 : : case COMPARE:
31928 : : case PLUS:
31929 : : case MINUS:
31930 : : case MULT:
31931 : : case DIV:
31932 : : case MOD:
31933 : : case UDIV:
31934 : : case UMOD:
31935 : : case AND:
31936 : : case IOR:
31937 : : case XOR:
31938 : : case ASHIFT:
31939 : : case ROTATE:
31940 : : case ASHIFTRT:
31941 : : case LSHIFTRT:
31942 : : case ROTATERT:
31943 : : case SMIN:
31944 : : case SMAX:
31945 : : case UMIN:
31946 : : case UMAX:
31947 : : x9 = XEXP (x2, 0);
31948 : : operands[0] = x9;
31949 : : res = peephole2_50 (x1, insn, pmatch_len_);
31950 : : if (res != NULL_RTX)
31951 : : return res;
31952 : : x10 = XEXP (x8, 0);
31953 : : if (GET_CODE (x10) != REG
31954 : : || REGNO (x10) != 17
31955 : : || GET_MODE (x10) != E_CCmode)
31956 : : return NULL;
31957 : : switch (GET_CODE (x3))
31958 : : {
31959 : : case PLUS:
31960 : : case MINUS:
31961 : : case AND:
31962 : : case IOR:
31963 : : case XOR:
31964 : : if (peep2_current_count >= 2)
31965 : : {
31966 : : res = peephole2_51 (x1, insn, pmatch_len_);
31967 : : if (res != NULL_RTX)
31968 : : return res;
31969 : : }
31970 : : if (GET_CODE (x3) != PLUS
31971 : : || pattern421 (x2) != 0)
31972 : : return NULL;
31973 : : switch (pattern1452 (x2))
31974 : : {
31975 : : case 0:
31976 : : if ((
31977 : : #line 29279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31978 : : ((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
31979 : : && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
31980 : : && !ix86_red_zone_used) && (((((((
31981 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31982 : : (word_mode == SImode) &&
31983 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31984 : : (Pmode == SImode)) &&
31985 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31986 : : (Pmode == SImode)) &&
31987 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31988 : : (Pmode == SImode)) &&
31989 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31990 : : (Pmode == SImode)) &&
31991 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31992 : : (word_mode == SImode)) &&
31993 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31994 : : (Pmode == SImode)) &&
31995 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31996 : : (Pmode == SImode))))
31997 : : {
31998 : : *pmatch_len_ = 0;
31999 : : res = gen_peephole2_381 (insn, operands);
32000 : : if (res != NULL_RTX)
32001 : : return res;
32002 : : }
32003 : : if ((
32004 : : #line 29279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32005 : : ((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
32006 : : && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
32007 : : && !ix86_red_zone_used) && (((((((
32008 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32009 : : (word_mode == DImode) &&
32010 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32011 : : (Pmode == SImode)) &&
32012 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32013 : : (Pmode == SImode)) &&
32014 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32015 : : (Pmode == SImode)) &&
32016 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32017 : : (Pmode == SImode)) &&
32018 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32019 : : (word_mode == DImode)) &&
32020 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32021 : : (Pmode == SImode)) &&
32022 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32023 : : (Pmode == SImode))))
32024 : : {
32025 : : *pmatch_len_ = 0;
32026 : : res = gen_peephole2_382 (insn, operands);
32027 : : if (res != NULL_RTX)
32028 : : return res;
32029 : : }
32030 : : if ((
32031 : : #line 29291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32032 : : ((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
32033 : : && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
32034 : : && !ix86_red_zone_used) && ((((((((((
32035 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32036 : : (word_mode == SImode) &&
32037 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32038 : : (Pmode == SImode)) &&
32039 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32040 : : (Pmode == SImode)) &&
32041 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32042 : : (Pmode == SImode)) &&
32043 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32044 : : (Pmode == SImode)) &&
32045 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32046 : : (word_mode == SImode)) &&
32047 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32048 : : (Pmode == SImode)) &&
32049 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32050 : : (Pmode == SImode)) &&
32051 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32052 : : (word_mode == SImode)) &&
32053 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32054 : : (Pmode == SImode)) &&
32055 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32056 : : (Pmode == SImode))))
32057 : : {
32058 : : *pmatch_len_ = 0;
32059 : : res = gen_peephole2_385 (insn, operands);
32060 : : if (res != NULL_RTX)
32061 : : return res;
32062 : : }
32063 : : if ((
32064 : : #line 29291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32065 : : ((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
32066 : : && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
32067 : : && !ix86_red_zone_used) && ((((((((((
32068 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32069 : : (word_mode == DImode) &&
32070 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32071 : : (Pmode == SImode)) &&
32072 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32073 : : (Pmode == SImode)) &&
32074 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32075 : : (Pmode == SImode)) &&
32076 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32077 : : (Pmode == SImode)) &&
32078 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32079 : : (word_mode == DImode)) &&
32080 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32081 : : (Pmode == SImode)) &&
32082 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32083 : : (Pmode == SImode)) &&
32084 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32085 : : (word_mode == DImode)) &&
32086 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32087 : : (Pmode == SImode)) &&
32088 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32089 : : (Pmode == SImode))))
32090 : : {
32091 : : *pmatch_len_ = 0;
32092 : : res = gen_peephole2_386 (insn, operands);
32093 : : if (res != NULL_RTX)
32094 : : return res;
32095 : : }
32096 : : if ((
32097 : : #line 29347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32098 : : (INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
32099 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32100 : : (word_mode == SImode) &&
32101 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32102 : : (Pmode == SImode)) &&
32103 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32104 : : (Pmode == SImode)) &&
32105 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32106 : : (Pmode == SImode)) &&
32107 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32108 : : (Pmode == SImode)) &&
32109 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32110 : : (word_mode == SImode)) &&
32111 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32112 : : (Pmode == SImode)) &&
32113 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32114 : : (Pmode == SImode))))
32115 : : {
32116 : : *pmatch_len_ = 0;
32117 : : res = gen_peephole2_401 (insn, operands);
32118 : : if (res != NULL_RTX)
32119 : : return res;
32120 : : }
32121 : : if ((
32122 : : #line 29347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32123 : : (INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
32124 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32125 : : (word_mode == DImode) &&
32126 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32127 : : (Pmode == SImode)) &&
32128 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32129 : : (Pmode == SImode)) &&
32130 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32131 : : (Pmode == SImode)) &&
32132 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32133 : : (Pmode == SImode)) &&
32134 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32135 : : (word_mode == DImode)) &&
32136 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32137 : : (Pmode == SImode)) &&
32138 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32139 : : (Pmode == SImode))))
32140 : : {
32141 : : *pmatch_len_ = 0;
32142 : : res = gen_peephole2_402 (insn, operands);
32143 : : if (res != NULL_RTX)
32144 : : return res;
32145 : : }
32146 : : if ((
32147 : : #line 29359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32148 : : (INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32149 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32150 : : (word_mode == SImode) &&
32151 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32152 : : (Pmode == SImode)) &&
32153 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32154 : : (Pmode == SImode)) &&
32155 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32156 : : (Pmode == SImode)) &&
32157 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32158 : : (Pmode == SImode)) &&
32159 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32160 : : (word_mode == SImode)) &&
32161 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32162 : : (Pmode == SImode)) &&
32163 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32164 : : (Pmode == SImode)) &&
32165 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32166 : : (word_mode == SImode)) &&
32167 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32168 : : (Pmode == SImode)) &&
32169 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32170 : : (Pmode == SImode))))
32171 : : {
32172 : : *pmatch_len_ = 0;
32173 : : res = gen_peephole2_405 (insn, operands);
32174 : : if (res != NULL_RTX)
32175 : : return res;
32176 : : }
32177 : : if ((
32178 : : #line 29359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32179 : : (INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32180 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32181 : : (word_mode == DImode) &&
32182 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32183 : : (Pmode == SImode)) &&
32184 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32185 : : (Pmode == SImode)) &&
32186 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32187 : : (Pmode == SImode)) &&
32188 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32189 : : (Pmode == SImode)) &&
32190 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32191 : : (word_mode == DImode)) &&
32192 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32193 : : (Pmode == SImode)) &&
32194 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32195 : : (Pmode == SImode)) &&
32196 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32197 : : (word_mode == DImode)) &&
32198 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32199 : : (Pmode == SImode)) &&
32200 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32201 : : (Pmode == SImode))))
32202 : : {
32203 : : *pmatch_len_ = 0;
32204 : : res = gen_peephole2_406 (insn, operands);
32205 : : if (res != NULL_RTX)
32206 : : return res;
32207 : : }
32208 : : if ((
32209 : : #line 29369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32210 : : (optimize_insn_for_size_p ()
32211 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32212 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32213 : : (word_mode == SImode) &&
32214 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32215 : : (Pmode == SImode)) &&
32216 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32217 : : (Pmode == SImode)) &&
32218 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32219 : : (Pmode == SImode)) &&
32220 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32221 : : (Pmode == SImode)) &&
32222 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32223 : : (word_mode == SImode)) &&
32224 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32225 : : (Pmode == SImode)) &&
32226 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32227 : : (Pmode == SImode)) &&
32228 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32229 : : (word_mode == SImode)) &&
32230 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32231 : : (Pmode == SImode)) &&
32232 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32233 : : (Pmode == SImode))))
32234 : : {
32235 : : *pmatch_len_ = 0;
32236 : : res = gen_peephole2_409 (insn, operands);
32237 : : if (res != NULL_RTX)
32238 : : return res;
32239 : : }
32240 : : if (!(
32241 : : #line 29369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32242 : : (optimize_insn_for_size_p ()
32243 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32244 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32245 : : (word_mode == DImode) &&
32246 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32247 : : (Pmode == SImode)) &&
32248 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32249 : : (Pmode == SImode)) &&
32250 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32251 : : (Pmode == SImode)) &&
32252 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32253 : : (Pmode == SImode)) &&
32254 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32255 : : (word_mode == DImode)) &&
32256 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32257 : : (Pmode == SImode)) &&
32258 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32259 : : (Pmode == SImode)) &&
32260 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32261 : : (word_mode == DImode)) &&
32262 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32263 : : (Pmode == SImode)) &&
32264 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32265 : : (Pmode == SImode))))
32266 : : return NULL;
32267 : : *pmatch_len_ = 0;
32268 : : return gen_peephole2_410 (insn, operands);
32269 : :
32270 : : case 1:
32271 : : if ((
32272 : : #line 29279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32273 : : ((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
32274 : : && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
32275 : : && !ix86_red_zone_used) && (((((((
32276 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32277 : : (word_mode == SImode) &&
32278 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32279 : : (Pmode == DImode)) &&
32280 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32281 : : (Pmode == DImode)) &&
32282 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32283 : : (Pmode == DImode)) &&
32284 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32285 : : (Pmode == DImode)) &&
32286 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32287 : : (word_mode == SImode)) &&
32288 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32289 : : (Pmode == DImode)) &&
32290 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32291 : : (Pmode == DImode))))
32292 : : {
32293 : : *pmatch_len_ = 0;
32294 : : res = gen_peephole2_383 (insn, operands);
32295 : : if (res != NULL_RTX)
32296 : : return res;
32297 : : }
32298 : : if ((
32299 : : #line 29279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32300 : : ((TARGET_SINGLE_PUSH || optimize_insn_for_size_p ())
32301 : : && INTVAL (operands[0]) == -GET_MODE_SIZE (word_mode)
32302 : : && !ix86_red_zone_used) && (((((((
32303 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32304 : : (word_mode == DImode) &&
32305 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32306 : : (Pmode == DImode)) &&
32307 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32308 : : (Pmode == DImode)) &&
32309 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32310 : : (Pmode == DImode)) &&
32311 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32312 : : (Pmode == DImode)) &&
32313 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32314 : : (word_mode == DImode)) &&
32315 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32316 : : (Pmode == DImode)) &&
32317 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32318 : : (Pmode == DImode))))
32319 : : {
32320 : : *pmatch_len_ = 0;
32321 : : res = gen_peephole2_384 (insn, operands);
32322 : : if (res != NULL_RTX)
32323 : : return res;
32324 : : }
32325 : : if ((
32326 : : #line 29291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32327 : : ((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
32328 : : && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
32329 : : && !ix86_red_zone_used) && ((((((((((
32330 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32331 : : (word_mode == SImode) &&
32332 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32333 : : (Pmode == DImode)) &&
32334 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32335 : : (Pmode == DImode)) &&
32336 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32337 : : (Pmode == DImode)) &&
32338 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32339 : : (Pmode == DImode)) &&
32340 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32341 : : (word_mode == SImode)) &&
32342 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32343 : : (Pmode == DImode)) &&
32344 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32345 : : (Pmode == DImode)) &&
32346 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32347 : : (word_mode == SImode)) &&
32348 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32349 : : (Pmode == DImode)) &&
32350 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32351 : : (Pmode == DImode))))
32352 : : {
32353 : : *pmatch_len_ = 0;
32354 : : res = gen_peephole2_387 (insn, operands);
32355 : : if (res != NULL_RTX)
32356 : : return res;
32357 : : }
32358 : : if ((
32359 : : #line 29291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32360 : : ((TARGET_DOUBLE_PUSH || optimize_insn_for_size_p ())
32361 : : && INTVAL (operands[0]) == -2*GET_MODE_SIZE (word_mode)
32362 : : && !ix86_red_zone_used) && ((((((((((
32363 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32364 : : (word_mode == DImode) &&
32365 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32366 : : (Pmode == DImode)) &&
32367 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32368 : : (Pmode == DImode)) &&
32369 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32370 : : (Pmode == DImode)) &&
32371 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32372 : : (Pmode == DImode)) &&
32373 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32374 : : (word_mode == DImode)) &&
32375 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32376 : : (Pmode == DImode)) &&
32377 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32378 : : (Pmode == DImode)) &&
32379 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32380 : : (word_mode == DImode)) &&
32381 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32382 : : (Pmode == DImode)) &&
32383 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32384 : : (Pmode == DImode))))
32385 : : {
32386 : : *pmatch_len_ = 0;
32387 : : res = gen_peephole2_388 (insn, operands);
32388 : : if (res != NULL_RTX)
32389 : : return res;
32390 : : }
32391 : : if ((
32392 : : #line 29347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32393 : : (INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
32394 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32395 : : (word_mode == SImode) &&
32396 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32397 : : (Pmode == DImode)) &&
32398 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32399 : : (Pmode == DImode)) &&
32400 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32401 : : (Pmode == DImode)) &&
32402 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32403 : : (Pmode == DImode)) &&
32404 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32405 : : (word_mode == SImode)) &&
32406 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32407 : : (Pmode == DImode)) &&
32408 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32409 : : (Pmode == DImode))))
32410 : : {
32411 : : *pmatch_len_ = 0;
32412 : : res = gen_peephole2_403 (insn, operands);
32413 : : if (res != NULL_RTX)
32414 : : return res;
32415 : : }
32416 : : if ((
32417 : : #line 29347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32418 : : (INTVAL (operands[0]) == GET_MODE_SIZE (word_mode)) && (((((((
32419 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32420 : : (word_mode == DImode) &&
32421 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32422 : : (Pmode == DImode)) &&
32423 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32424 : : (Pmode == DImode)) &&
32425 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32426 : : (Pmode == DImode)) &&
32427 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32428 : : (Pmode == DImode)) &&
32429 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32430 : : (word_mode == DImode)) &&
32431 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32432 : : (Pmode == DImode)) &&
32433 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32434 : : (Pmode == DImode))))
32435 : : {
32436 : : *pmatch_len_ = 0;
32437 : : res = gen_peephole2_404 (insn, operands);
32438 : : if (res != NULL_RTX)
32439 : : return res;
32440 : : }
32441 : : if ((
32442 : : #line 29359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32443 : : (INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32444 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32445 : : (word_mode == SImode) &&
32446 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32447 : : (Pmode == DImode)) &&
32448 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32449 : : (Pmode == DImode)) &&
32450 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32451 : : (Pmode == DImode)) &&
32452 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32453 : : (Pmode == DImode)) &&
32454 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32455 : : (word_mode == SImode)) &&
32456 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32457 : : (Pmode == DImode)) &&
32458 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32459 : : (Pmode == DImode)) &&
32460 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32461 : : (word_mode == SImode)) &&
32462 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32463 : : (Pmode == DImode)) &&
32464 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32465 : : (Pmode == DImode))))
32466 : : {
32467 : : *pmatch_len_ = 0;
32468 : : res = gen_peephole2_407 (insn, operands);
32469 : : if (res != NULL_RTX)
32470 : : return res;
32471 : : }
32472 : : if ((
32473 : : #line 29359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32474 : : (INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32475 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32476 : : (word_mode == DImode) &&
32477 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32478 : : (Pmode == DImode)) &&
32479 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32480 : : (Pmode == DImode)) &&
32481 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32482 : : (Pmode == DImode)) &&
32483 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32484 : : (Pmode == DImode)) &&
32485 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32486 : : (word_mode == DImode)) &&
32487 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32488 : : (Pmode == DImode)) &&
32489 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32490 : : (Pmode == DImode)) &&
32491 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32492 : : (word_mode == DImode)) &&
32493 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32494 : : (Pmode == DImode)) &&
32495 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32496 : : (Pmode == DImode))))
32497 : : {
32498 : : *pmatch_len_ = 0;
32499 : : res = gen_peephole2_408 (insn, operands);
32500 : : if (res != NULL_RTX)
32501 : : return res;
32502 : : }
32503 : : if ((
32504 : : #line 29369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32505 : : (optimize_insn_for_size_p ()
32506 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32507 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32508 : : (word_mode == SImode) &&
32509 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32510 : : (Pmode == DImode)) &&
32511 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32512 : : (Pmode == DImode)) &&
32513 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32514 : : (Pmode == DImode)) &&
32515 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32516 : : (Pmode == DImode)) &&
32517 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32518 : : (word_mode == SImode)) &&
32519 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32520 : : (Pmode == DImode)) &&
32521 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32522 : : (Pmode == DImode)) &&
32523 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32524 : : (word_mode == SImode)) &&
32525 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32526 : : (Pmode == DImode)) &&
32527 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32528 : : (Pmode == DImode))))
32529 : : {
32530 : : *pmatch_len_ = 0;
32531 : : res = gen_peephole2_411 (insn, operands);
32532 : : if (res != NULL_RTX)
32533 : : return res;
32534 : : }
32535 : : if (!(
32536 : : #line 29369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32537 : : (optimize_insn_for_size_p ()
32538 : : && INTVAL (operands[0]) == 2*GET_MODE_SIZE (word_mode)) && ((((((((((
32539 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32540 : : (word_mode == DImode) &&
32541 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32542 : : (Pmode == DImode)) &&
32543 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32544 : : (Pmode == DImode)) &&
32545 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32546 : : (Pmode == DImode)) &&
32547 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32548 : : (Pmode == DImode)) &&
32549 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32550 : : (word_mode == DImode)) &&
32551 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32552 : : (Pmode == DImode)) &&
32553 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32554 : : (Pmode == DImode)) &&
32555 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32556 : : (word_mode == DImode)) &&
32557 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32558 : : (Pmode == DImode)) &&
32559 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32560 : : (Pmode == DImode))))
32561 : : return NULL;
32562 : : *pmatch_len_ = 0;
32563 : : return gen_peephole2_412 (insn, operands);
32564 : :
32565 : : default:
32566 : : return NULL;
32567 : : }
32568 : :
32569 : : case MULT:
32570 : : operands[0] = x9;
32571 : : x5 = XEXP (x3, 0);
32572 : : operands[1] = x5;
32573 : : x4 = XEXP (x3, 1);
32574 : : operands[2] = x4;
32575 : : switch (GET_MODE (operands[0]))
32576 : : {
32577 : : case E_SImode:
32578 : : if (!register_operand (operands[0], E_SImode)
32579 : : || GET_MODE (x3) != E_SImode)
32580 : : return NULL;
32581 : : if (const359_operand (operands[2], E_SImode))
32582 : : {
32583 : : if (register_operand (operands[1], E_SImode))
32584 : : {
32585 : : *pmatch_len_ = 0;
32586 : : res = gen_peephole2_414 (insn, operands);
32587 : : if (res != NULL_RTX)
32588 : : return res;
32589 : : }
32590 : : if (nonimmediate_operand (operands[1], E_SImode)
32591 : : &&
32592 : : #line 29412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32593 : : (optimize_insn_for_speed_p ()
32594 : : && (!TARGET_PARTIAL_REG_STALL || SImode == SImode)))
32595 : : {
32596 : : *pmatch_len_ = 0;
32597 : : res = gen_peephole2_416 (insn, operands);
32598 : : if (res != NULL_RTX)
32599 : : return res;
32600 : : }
32601 : : }
32602 : : if (memory_operand (operands[1], E_SImode)
32603 : : && immediate_operand (operands[2], E_SImode)
32604 : : &&
32605 : : #line 29428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32606 : : (TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
32607 : : && !satisfies_constraint_K (operands[2])))
32608 : : {
32609 : : *pmatch_len_ = 0;
32610 : : res = gen_peephole2_418 (insn, operands);
32611 : : if (res != NULL_RTX)
32612 : : return res;
32613 : : }
32614 : : if (!nonimmediate_operand (operands[1], E_SImode)
32615 : : || !const_int_operand (operands[2], E_SImode)
32616 : : || !
32617 : : #line 29460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32618 : : (TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
32619 : : && satisfies_constraint_K (operands[2])))
32620 : : return NULL;
32621 : : *pmatch_len_ = 0;
32622 : : return gen_peephole2_422 (insn, operands);
32623 : :
32624 : : case E_DImode:
32625 : : if (!register_operand (operands[0], E_DImode)
32626 : : || GET_MODE (x3) != E_DImode)
32627 : : return NULL;
32628 : : if (const359_operand (operands[2], E_DImode))
32629 : : {
32630 : : if (register_operand (operands[1], E_DImode)
32631 : : && (
32632 : : #line 29398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32633 : : (!TARGET_PARTIAL_REG_STALL
32634 : : || DImode == SImode
32635 : : || optimize_function_for_size_p (cfun)) &&
32636 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32637 : : (TARGET_64BIT)))
32638 : : {
32639 : : *pmatch_len_ = 0;
32640 : : res = gen_peephole2_415 (insn, operands);
32641 : : if (res != NULL_RTX)
32642 : : return res;
32643 : : }
32644 : : if (nonimmediate_operand (operands[1], E_DImode)
32645 : : && (
32646 : : #line 29412 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32647 : : (optimize_insn_for_speed_p ()
32648 : : && (!TARGET_PARTIAL_REG_STALL || DImode == SImode)) &&
32649 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32650 : : (TARGET_64BIT)))
32651 : : {
32652 : : *pmatch_len_ = 0;
32653 : : res = gen_peephole2_417 (insn, operands);
32654 : : if (res != NULL_RTX)
32655 : : return res;
32656 : : }
32657 : : }
32658 : : if (memory_operand (operands[1], E_DImode)
32659 : : && immediate_operand (operands[2], E_DImode)
32660 : : && (
32661 : : #line 29428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32662 : : (TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
32663 : : && !satisfies_constraint_K (operands[2])) &&
32664 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32665 : : (TARGET_64BIT)))
32666 : : {
32667 : : *pmatch_len_ = 0;
32668 : : res = gen_peephole2_419 (insn, operands);
32669 : : if (res != NULL_RTX)
32670 : : return res;
32671 : : }
32672 : : if (!nonimmediate_operand (operands[1], E_DImode)
32673 : : || !const_int_operand (operands[2], E_DImode)
32674 : : || !(
32675 : : #line 29460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32676 : : (TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
32677 : : && satisfies_constraint_K (operands[2])) &&
32678 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32679 : : (TARGET_64BIT)))
32680 : : return NULL;
32681 : : *pmatch_len_ = 0;
32682 : : return gen_peephole2_423 (insn, operands);
32683 : :
32684 : : case E_HImode:
32685 : : if (pattern1358 (x3,
32686 : : E_HImode) != 0
32687 : : || !
32688 : : #line 29460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32689 : : (TARGET_SLOW_IMUL_IMM8 && optimize_insn_for_speed_p ()
32690 : : && satisfies_constraint_K (operands[2])))
32691 : : return NULL;
32692 : : *pmatch_len_ = 0;
32693 : : return gen_peephole2_421 (insn, operands);
32694 : :
32695 : : default:
32696 : : return NULL;
32697 : : }
32698 : :
32699 : : case ASHIFT:
32700 : : if (peep2_current_count < 2)
32701 : : return NULL;
32702 : : operands[0] = x9;
32703 : : if (!register_operand (operands[0], E_VOIDmode))
32704 : : return NULL;
32705 : : x5 = XEXP (x3, 0);
32706 : : operands[1] = x5;
32707 : : if (!register_operand (operands[1], E_VOIDmode))
32708 : : return NULL;
32709 : : x4 = XEXP (x3, 1);
32710 : : operands[2] = x4;
32711 : : if (!const_int_operand (operands[2], E_VOIDmode))
32712 : : return NULL;
32713 : : x11 = PATTERN (peep2_next_insn (1));
32714 : : if (pattern420 (x11,
32715 : : PLUS,
32716 : : 2) != 0)
32717 : : return NULL;
32718 : : x12 = XVECEXP (x11, 0, 1);
32719 : : if (GET_CODE (x12) != CLOBBER)
32720 : : return NULL;
32721 : : x13 = XEXP (x12, 0);
32722 : : if (GET_CODE (x13) != REG
32723 : : || REGNO (x13) != 17
32724 : : || GET_MODE (x13) != E_CCmode)
32725 : : return NULL;
32726 : : x14 = XVECEXP (x11, 0, 0);
32727 : : x15 = XEXP (x14, 0);
32728 : : operands[3] = x15;
32729 : : if (!register_operand (operands[3], E_VOIDmode))
32730 : : return NULL;
32731 : : x16 = XEXP (x14, 1);
32732 : : x17 = XEXP (x16, 1);
32733 : : operands[4] = x17;
32734 : : if (!x86_64_general_operand (operands[4], E_VOIDmode))
32735 : : return NULL;
32736 : : x18 = XEXP (x16, 0);
32737 : : if (!rtx_equal_p (x18, operands[0]))
32738 : : return NULL;
32739 : : if ((
32740 : : #line 29492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32741 : : (IN_RANGE (INTVAL (operands[2]), 1, 3)
32742 : : /* Validate MODE for lea. */
32743 : : && ((!TARGET_PARTIAL_REG_STALL
32744 : : && (GET_MODE (operands[0]) == QImode
32745 : : || GET_MODE (operands[0]) == HImode))
32746 : : || GET_MODE (operands[0]) == SImode
32747 : : || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
32748 : : && (rtx_equal_p (operands[0], operands[3])
32749 : : || peep2_reg_dead_p (2, operands[0]))
32750 : : /* We reorder load and the shift. */
32751 : : && !reg_overlap_mentioned_p (operands[0], operands[4])) &&
32752 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32753 : : (word_mode == SImode)))
32754 : : {
32755 : : *pmatch_len_ = 1;
32756 : : res = gen_peephole2_424 (insn, operands);
32757 : : if (res != NULL_RTX)
32758 : : return res;
32759 : : }
32760 : : if (!(
32761 : : #line 29492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32762 : : (IN_RANGE (INTVAL (operands[2]), 1, 3)
32763 : : /* Validate MODE for lea. */
32764 : : && ((!TARGET_PARTIAL_REG_STALL
32765 : : && (GET_MODE (operands[0]) == QImode
32766 : : || GET_MODE (operands[0]) == HImode))
32767 : : || GET_MODE (operands[0]) == SImode
32768 : : || (TARGET_64BIT && GET_MODE (operands[0]) == DImode))
32769 : : && (rtx_equal_p (operands[0], operands[3])
32770 : : || peep2_reg_dead_p (2, operands[0]))
32771 : : /* We reorder load and the shift. */
32772 : : && !reg_overlap_mentioned_p (operands[0], operands[4])) &&
32773 : : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32774 : : (word_mode == DImode)))
32775 : : return NULL;
32776 : : *pmatch_len_ = 1;
32777 : : return gen_peephole2_425 (insn, operands);
32778 : :
32779 : : default:
32780 : : return NULL;
32781 : : }
32782 : :
32783 : : case ZERO_EXTEND:
32784 : : if (GET_MODE (x3) != E_DImode)
32785 : : return NULL;
32786 : : x5 = XEXP (x3, 0);
32787 : : if (GET_CODE (x5) != MULT
32788 : : || GET_MODE (x5) != E_SImode
32789 : : || pattern814 (x1,
32790 : : E_DImode) != 0)
32791 : : return NULL;
32792 : : x6 = XEXP (x5, 0);
32793 : : operands[1] = x6;
32794 : : if (!memory_operand (operands[1], E_SImode))
32795 : : return NULL;
32796 : : x19 = XEXP (x5, 1);
32797 : : operands[2] = x19;
32798 : : if (!immediate_operand (operands[2], E_SImode)
32799 : : || !
32800 : : #line 29441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32801 : : (TARGET_64BIT
32802 : : && TARGET_SLOW_IMUL_IMM32_MEM && optimize_insn_for_speed_p ()
32803 : : && !satisfies_constraint_K (operands[2])))
32804 : : return NULL;
32805 : : *pmatch_len_ = 0;
32806 : : return gen_peephole2_420 (insn, operands);
32807 : :
32808 : : default:
32809 : : return NULL;
32810 : : }
32811 : : }
|