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 : 64 : pattern1 (rtx x1)
57 : : {
58 : 64 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 : 64 : rtx x2, x3;
60 : 64 : int res ATTRIBUTE_UNUSED;
61 : 64 : x2 = XEXP (x1, 1);
62 : 64 : x3 = XEXP (x2, 1);
63 : 64 : operands[3] = x3;
64 : 64 : if (!const_int_operand (operands[3], E_QImode))
65 : : return -1;
66 : 64 : return pattern0 (x1); /* [-1, 1] */
67 : : }
68 : :
69 : : int
70 : 255 : pattern10 (rtx x1)
71 : : {
72 : 255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
73 : 255 : int res ATTRIBUTE_UNUSED;
74 : 255 : if (!memory_operand (operands[0], E_V8QImode)
75 : 255 : || GET_MODE (x1) != E_V8QImode)
76 : : return -1;
77 : 26 : switch (GET_MODE (operands[1]))
78 : : {
79 : 18 : case E_V8HImode:
80 : 18 : if (!register_operand (operands[1], E_V8HImode))
81 : : return -1;
82 : : return 0;
83 : :
84 : 4 : case E_V8SImode:
85 : 4 : if (!register_operand (operands[1], E_V8SImode))
86 : : return -1;
87 : : return 1;
88 : :
89 : 4 : case E_V8DImode:
90 : 4 : if (!register_operand (operands[1], E_V8DImode))
91 : : return -1;
92 : : return 2;
93 : :
94 : : default:
95 : : return -1;
96 : : }
97 : : }
98 : :
99 : : int
100 : 3163805 : pattern21 (rtx x1)
101 : : {
102 : 3163805 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
103 : 3163805 : int res ATTRIBUTE_UNUSED;
104 : 3163805 : switch (GET_MODE (operands[0]))
105 : : {
106 : 647556 : case E_SImode:
107 : 647556 : if (!register_operand (operands[0], E_SImode)
108 : 647556 : || GET_MODE (x1) != E_SImode)
109 : : return -1;
110 : : return 0;
111 : :
112 : 2067678 : case E_DImode:
113 : 2067678 : if (!register_operand (operands[0], E_DImode)
114 : 2067678 : || GET_MODE (x1) != E_DImode)
115 : : return -1;
116 : : return 1;
117 : :
118 : : default:
119 : : return -1;
120 : : }
121 : : }
122 : :
123 : : int
124 : 80867 : pattern26 (rtx x1)
125 : : {
126 : 80867 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
127 : 80867 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
128 : 80867 : rtx x10;
129 : 80867 : int res ATTRIBUTE_UNUSED;
130 : 80867 : x2 = XEXP (x1, 0);
131 : 80867 : operands[0] = x2;
132 : 80867 : x3 = XEXP (x1, 1);
133 : 80867 : x4 = XEXP (x3, 0);
134 : 80867 : switch (GET_CODE (x4))
135 : : {
136 : 46162 : case REG:
137 : 46162 : case SUBREG:
138 : 46162 : case MEM:
139 : 46162 : operands[1] = x4;
140 : 46162 : switch (GET_MODE (operands[0]))
141 : : {
142 : 92 : case E_V8HImode:
143 : 92 : if (!register_operand (operands[0], E_V8HImode)
144 : 86 : || GET_MODE (x3) != E_V8HImode
145 : 178 : || !vector_operand (operands[1], E_V8HFmode))
146 : 6 : return -1;
147 : : return 0;
148 : :
149 : 30 : case E_V16HImode:
150 : 30 : if (!register_operand (operands[0], E_V16HImode)
151 : 24 : || GET_MODE (x3) != E_V16HImode
152 : 54 : || !vector_operand (operands[1], E_V16HFmode))
153 : 6 : return -1;
154 : : return 1;
155 : :
156 : 30 : case E_V32HImode:
157 : 30 : if (!register_operand (operands[0], E_V32HImode)
158 : 24 : || GET_MODE (x3) != E_V32HImode
159 : 54 : || !vector_operand (operands[1], E_V32HFmode))
160 : 6 : return -1;
161 : : return 2;
162 : :
163 : 507 : case E_V8SImode:
164 : 507 : if (!register_operand (operands[0], E_V8SImode)
165 : 507 : || GET_MODE (x3) != E_V8SImode)
166 : : return -1;
167 : : return 3;
168 : :
169 : 140 : case E_V16SImode:
170 : 140 : if (!register_operand (operands[0], E_V16SImode)
171 : 140 : || GET_MODE (x3) != E_V16SImode)
172 : : return -1;
173 : 94 : switch (GET_MODE (operands[1]))
174 : : {
175 : 34 : case E_V16HFmode:
176 : 34 : if (!vector_operand (operands[1], E_V16HFmode))
177 : : return -1;
178 : : return 4;
179 : :
180 : 60 : case E_V16SFmode:
181 : 60 : if (!vector_operand (operands[1], E_V16SFmode))
182 : : return -1;
183 : : return 5;
184 : :
185 : : default:
186 : : return -1;
187 : : }
188 : :
189 : 221 : case E_V8DImode:
190 : 221 : if (!register_operand (operands[0], E_V8DImode)
191 : 221 : || GET_MODE (x3) != E_V8DImode)
192 : : return -1;
193 : 170 : switch (GET_MODE (operands[1]))
194 : : {
195 : 20 : case E_V8HFmode:
196 : 20 : if (!vector_operand (operands[1], E_V8HFmode))
197 : : return -1;
198 : : return 6;
199 : :
200 : 94 : case E_V8DFmode:
201 : 94 : if (!vector_operand (operands[1], E_V8DFmode))
202 : : return -1;
203 : : return 7;
204 : :
205 : 56 : case E_V8SFmode:
206 : 56 : if (!vector_operand (operands[1], E_V8SFmode))
207 : : return -1;
208 : : return 8;
209 : :
210 : : default:
211 : : return -1;
212 : : }
213 : :
214 : 5980 : case E_V4SImode:
215 : 5980 : if (!register_operand (operands[0], E_V4SImode)
216 : 5980 : || GET_MODE (x3) != E_V4SImode)
217 : : return -1;
218 : : return 9;
219 : :
220 : 144 : case E_V4DImode:
221 : 144 : if (!register_operand (operands[0], E_V4DImode)
222 : 144 : || GET_MODE (x3) != E_V4DImode)
223 : : return -1;
224 : 105 : switch (GET_MODE (operands[1]))
225 : : {
226 : 3 : case E_V4HFmode:
227 : 3 : if (!memory_operand (operands[1], E_V4HFmode))
228 : : return -1;
229 : : return 10;
230 : :
231 : 46 : case E_V4DFmode:
232 : 46 : if (!vector_operand (operands[1], E_V4DFmode))
233 : : return -1;
234 : : return 11;
235 : :
236 : 56 : case E_V4SFmode:
237 : 56 : if (!vector_operand (operands[1], E_V4SFmode))
238 : : return -1;
239 : : return 12;
240 : :
241 : : default:
242 : : return -1;
243 : : }
244 : :
245 : 80 : case E_V2DImode:
246 : 80 : if (!register_operand (operands[0], E_V2DImode)
247 : 80 : || GET_MODE (x3) != E_V2DImode)
248 : : return -1;
249 : 45 : switch (GET_MODE (operands[1]))
250 : : {
251 : 3 : case E_V2HFmode:
252 : 3 : if (!memory_operand (operands[1], E_V2HFmode))
253 : : return -1;
254 : : return 13;
255 : :
256 : 37 : case E_V2DFmode:
257 : 37 : if (!vector_operand (operands[1], E_V2DFmode))
258 : : return -1;
259 : : return 14;
260 : :
261 : : default:
262 : : return -1;
263 : : }
264 : :
265 : : default:
266 : : return -1;
267 : : }
268 : :
269 : 607 : case VEC_SELECT:
270 : 607 : x5 = XEXP (x4, 1);
271 : 607 : if (GET_CODE (x5) != PARALLEL)
272 : : return -1;
273 : 607 : x6 = XEXP (x4, 0);
274 : 607 : operands[1] = x6;
275 : 607 : switch (XVECLEN (x5, 0))
276 : : {
277 : 247 : case 4:
278 : 247 : x7 = XVECEXP (x5, 0, 0);
279 : 247 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
280 : : return -1;
281 : 181 : x8 = XVECEXP (x5, 0, 1);
282 : 181 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
283 : : return -1;
284 : 181 : x9 = XVECEXP (x5, 0, 2);
285 : 181 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
286 : : return -1;
287 : 121 : x10 = XVECEXP (x5, 0, 3);
288 : 121 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
289 : 121 : || GET_MODE (x4) != E_V4HFmode
290 : 218 : || !register_operand (operands[1], E_V8HFmode))
291 : 48 : return -1;
292 : 73 : res = pattern25 (x3);
293 : 73 : if (res >= 0)
294 : 56 : return res + 15; /* [15, 16] */
295 : : return -1;
296 : :
297 : 204 : case 2:
298 : 204 : x7 = XVECEXP (x5, 0, 0);
299 : 204 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
300 : : return -1;
301 : 204 : x8 = XVECEXP (x5, 0, 1);
302 : 204 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
303 : 204 : || !register_operand (operands[0], E_V2DImode)
304 : 360 : || GET_MODE (x3) != E_V2DImode)
305 : 48 : return -1;
306 : 156 : switch (GET_MODE (x4))
307 : : {
308 : 24 : case E_V2HFmode:
309 : 24 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
310 : : return -1;
311 : : return 17;
312 : :
313 : 132 : case E_V2SFmode:
314 : 132 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
315 : : return -1;
316 : : return 18;
317 : :
318 : : default:
319 : : return -1;
320 : : }
321 : :
322 : : default:
323 : : return -1;
324 : : }
325 : :
326 : : default:
327 : : return -1;
328 : : }
329 : : }
330 : :
331 : : int
332 : 13705114 : pattern82 (rtx x1, machine_mode i1, int i2, int i3)
333 : : {
334 : 13705114 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
335 : 13705114 : int res ATTRIBUTE_UNUSED;
336 : 13705114 : if (GET_CODE (x1) != UNSPEC
337 : 20044 : || XVECLEN (x1, 0) != i3
338 : 19231 : || XINT (x1, 1) != i2
339 : 17404 : || GET_MODE (x1) != i1)
340 : 13687710 : return -1;
341 : : return 0;
342 : : }
343 : :
344 : : int
345 : 46 : pattern88 (rtx x1, machine_mode i1)
346 : : {
347 : 46 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
348 : 46 : rtx x2;
349 : 46 : int res ATTRIBUTE_UNUSED;
350 : 46 : if (!nonimmediate_operand (operands[0], i1)
351 : 46 : || GET_MODE (x1) != i1)
352 : : return -1;
353 : 46 : x2 = XEXP (x1, 0);
354 : 46 : if (GET_MODE (x2) != i1
355 : 46 : || !general_operand (operands[1], i1))
356 : 0 : return -1;
357 : : return 0;
358 : : }
359 : :
360 : : int
361 : 8299 : pattern91 (rtx x1)
362 : : {
363 : 8299 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
364 : 8299 : rtx x2, x3, x4, x5, x6, x7, x8;
365 : 8299 : int res ATTRIBUTE_UNUSED;
366 : 8299 : x2 = XEXP (x1, 1);
367 : 8299 : x3 = XEXP (x2, 0);
368 : 8299 : x4 = XEXP (x3, 1);
369 : 8299 : if (GET_CODE (x4) != PARALLEL)
370 : : return -1;
371 : 8299 : x5 = XEXP (x2, 1);
372 : 8299 : if (GET_CODE (x5) != VEC_SELECT)
373 : : return -1;
374 : 1942 : x6 = XEXP (x5, 1);
375 : 1942 : if (GET_CODE (x6) != PARALLEL)
376 : : return -1;
377 : 1942 : x7 = XEXP (x1, 0);
378 : 1942 : operands[0] = x7;
379 : 1942 : x8 = XEXP (x3, 0);
380 : 1942 : switch (GET_CODE (x8))
381 : : {
382 : : case REG:
383 : : case SUBREG:
384 : : return 0;
385 : :
386 : 1016 : case VEC_CONCAT:
387 : 1016 : return 1;
388 : :
389 : : default:
390 : : return -1;
391 : : }
392 : : }
393 : :
394 : : int
395 : 13489 : pattern100 (rtx x1)
396 : : {
397 : 13489 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
398 : 13489 : rtx x2, x3, x4, x5;
399 : 13489 : int res ATTRIBUTE_UNUSED;
400 : 13489 : x2 = XEXP (x1, 0);
401 : 13489 : x3 = XEXP (x2, 0);
402 : 13489 : operands[1] = x3;
403 : 13489 : x4 = XEXP (x1, 2);
404 : 13489 : operands[2] = x4;
405 : 13489 : if (!register_operand (operands[2], E_QImode))
406 : : return -1;
407 : 6640 : x5 = XEXP (x1, 1);
408 : 6640 : if (!rtx_equal_p (x5, operands[0]))
409 : : return -1;
410 : 3719 : switch (GET_MODE (operands[0]))
411 : : {
412 : 248 : case E_V2QImode:
413 : 248 : return pattern97 (x1,
414 : 248 : E_V2QImode); /* [-1, 0] */
415 : :
416 : 516 : case E_V4QImode:
417 : 516 : res = pattern98 (x1,
418 : : E_V4QImode);
419 : 516 : if (res >= 0)
420 : 516 : return res + 1; /* [1, 2] */
421 : : return -1;
422 : :
423 : 811 : case E_V8QImode:
424 : 811 : if (!memory_operand (operands[0], E_V8QImode)
425 : 811 : || GET_MODE (x1) != E_V8QImode
426 : 1622 : || GET_MODE (x2) != E_V8QImode)
427 : : return -1;
428 : 811 : res = pattern99 ();
429 : 811 : if (res >= 0)
430 : 811 : return res + 3; /* [3, 5] */
431 : : return -1;
432 : :
433 : 519 : case E_V4HImode:
434 : 519 : res = pattern98 (x1,
435 : : E_V4HImode);
436 : 519 : if (res >= 0)
437 : 519 : return res + 6; /* [6, 7] */
438 : : return -1;
439 : :
440 : 253 : case E_V2HImode:
441 : 253 : if (pattern97 (x1,
442 : : E_V2HImode) != 0)
443 : : return -1;
444 : : return 8;
445 : :
446 : 237 : case E_V2SImode:
447 : 237 : if (pattern97 (x1,
448 : : E_V2SImode) != 0)
449 : : return -1;
450 : : return 9;
451 : :
452 : : default:
453 : : return -1;
454 : : }
455 : : }
456 : :
457 : : int
458 : 2591 : pattern115 (rtx x1)
459 : : {
460 : 2591 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
461 : 2591 : rtx x2, x3, x4;
462 : 2591 : int res ATTRIBUTE_UNUSED;
463 : 2591 : x2 = XEXP (x1, 1);
464 : 2591 : x3 = XEXP (x2, 0);
465 : 2591 : operands[2] = x3;
466 : 2591 : if (!register_operand (operands[2], E_QImode))
467 : : return -1;
468 : 1710 : x4 = XEXP (x2, 1);
469 : 1710 : operands[3] = x4;
470 : 1710 : if (!const_int_operand (operands[3], E_QImode))
471 : : return -1;
472 : 1710 : switch (GET_MODE (operands[0]))
473 : : {
474 : 1292 : case E_DImode:
475 : 1292 : if (GET_MODE (x1) != E_DImode)
476 : : return -1;
477 : : return 0;
478 : :
479 : 298 : case E_SImode:
480 : 298 : if (!nonimmediate_operand (operands[0], E_SImode)
481 : 298 : || GET_MODE (x1) != E_SImode
482 : 596 : || !nonimmediate_operand (operands[1], E_SImode))
483 : 261 : return -1;
484 : : return 1;
485 : :
486 : : default:
487 : : return -1;
488 : : }
489 : : }
490 : :
491 : : int
492 : 196519 : pattern125 (rtx x1)
493 : : {
494 : 196519 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
495 : 196519 : int res ATTRIBUTE_UNUSED;
496 : 196519 : switch (GET_MODE (operands[0]))
497 : : {
498 : 66979 : case E_SImode:
499 : 66979 : if (!register_operand (operands[0], E_SImode)
500 : 66036 : || GET_MODE (x1) != E_SImode
501 : 133015 : || !nonimmediate_operand (operands[1], E_SImode))
502 : 27854 : return -1;
503 : : return 0;
504 : :
505 : 100514 : case E_DImode:
506 : 100514 : if (!register_operand (operands[0], E_DImode)
507 : 100177 : || GET_MODE (x1) != E_DImode
508 : 200691 : || !nonimmediate_operand (operands[1], E_DImode))
509 : 35993 : return -1;
510 : : return 1;
511 : :
512 : : default:
513 : : return -1;
514 : : }
515 : : }
516 : :
517 : : int
518 : 861 : pattern134 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
519 : : {
520 : 861 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
521 : 861 : rtx x2;
522 : 861 : int res ATTRIBUTE_UNUSED;
523 : 861 : if (!register_operand (operands[0], i1)
524 : 861 : || GET_MODE (x1) != i1)
525 : : return -1;
526 : 767 : x2 = XEXP (x1, 0);
527 : 767 : if (GET_MODE (x2) != i1
528 : 767 : || !vector_operand (operands[1], i3)
529 : 765 : || !nonimm_or_0_operand (operands[2], i1)
530 : 1510 : || !register_operand (operands[3], i2))
531 : 136 : return -1;
532 : : return 0;
533 : : }
534 : :
535 : : int
536 : 16453 : pattern141 (rtx x1)
537 : : {
538 : 16453 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
539 : 16453 : rtx x2, x3, x4, x5, x6;
540 : 16453 : int res ATTRIBUTE_UNUSED;
541 : 16453 : x2 = XEXP (x1, 0);
542 : 16453 : x3 = XEXP (x2, 0);
543 : 16453 : operands[1] = x3;
544 : 16453 : x4 = XEXP (x2, 1);
545 : 16453 : operands[2] = x4;
546 : 16453 : x5 = XEXP (x1, 1);
547 : 16453 : operands[3] = x5;
548 : 16453 : x6 = XEXP (x1, 2);
549 : 16453 : operands[4] = x6;
550 : 16453 : switch (GET_MODE (operands[0]))
551 : : {
552 : 1562 : case E_V16HImode:
553 : 1562 : return pattern128 (x1,
554 : : E_HImode,
555 : 1562 : E_V16HImode); /* [-1, 0] */
556 : :
557 : 1452 : case E_V8HImode:
558 : 1452 : if (pattern128 (x1,
559 : : E_QImode,
560 : : E_V8HImode) != 0)
561 : : return -1;
562 : : return 1;
563 : :
564 : 2597 : case E_V8SImode:
565 : 2597 : if (pattern128 (x1,
566 : : E_QImode,
567 : : E_V8SImode) != 0)
568 : : return -1;
569 : : return 2;
570 : :
571 : 2428 : case E_V4SImode:
572 : 2428 : if (pattern128 (x1,
573 : : E_QImode,
574 : : E_V4SImode) != 0)
575 : : return -1;
576 : : return 3;
577 : :
578 : 1679 : case E_V4DImode:
579 : 1679 : if (pattern128 (x1,
580 : : E_QImode,
581 : : E_V4DImode) != 0)
582 : : return -1;
583 : : return 4;
584 : :
585 : 1162 : case E_V2DImode:
586 : 1162 : if (pattern128 (x1,
587 : : E_QImode,
588 : : E_V2DImode) != 0)
589 : : return -1;
590 : : return 5;
591 : :
592 : 1595 : case E_V32HImode:
593 : 1595 : if (pattern128 (x1,
594 : : E_SImode,
595 : : E_V32HImode) != 0)
596 : : return -1;
597 : : return 6;
598 : :
599 : 2566 : case E_V16SImode:
600 : 2566 : if (pattern128 (x1,
601 : : E_HImode,
602 : : E_V16SImode) != 0)
603 : : return -1;
604 : : return 7;
605 : :
606 : 1410 : case E_V8DImode:
607 : 1410 : if (pattern128 (x1,
608 : : E_QImode,
609 : : E_V8DImode) != 0)
610 : : return -1;
611 : : return 8;
612 : :
613 : : default:
614 : : return -1;
615 : : }
616 : : }
617 : :
618 : : int
619 : 107872 : pattern151 (rtx x1, machine_mode i1)
620 : : {
621 : 107872 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
622 : 107872 : int res ATTRIBUTE_UNUSED;
623 : 107872 : if (!register_operand (operands[0], i1)
624 : 106366 : || GET_MODE (x1) != i1
625 : 106366 : || !register_operand (operands[1], i1)
626 : 189225 : || !vector_operand (operands[2], i1))
627 : 29566 : return -1;
628 : : return 0;
629 : : }
630 : :
631 : : int
632 : 619 : pattern154 (rtx x1)
633 : : {
634 : 619 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
635 : 619 : rtx x2, x3, x4, x5;
636 : 619 : int res ATTRIBUTE_UNUSED;
637 : 619 : x2 = XEXP (x1, 0);
638 : 619 : operands[0] = x2;
639 : 619 : x3 = XEXP (x1, 1);
640 : 619 : x4 = XVECEXP (x3, 0, 0);
641 : 619 : operands[1] = x4;
642 : 619 : x5 = XVECEXP (x3, 0, 1);
643 : 619 : operands[2] = x5;
644 : 619 : switch (GET_MODE (operands[0]))
645 : : {
646 : 153 : case E_V32HFmode:
647 : 153 : return pattern153 (x3,
648 : 153 : E_V32HFmode); /* [-1, 0] */
649 : :
650 : 222 : case E_V16HFmode:
651 : 222 : if (pattern153 (x3,
652 : : E_V16HFmode) != 0)
653 : : return -1;
654 : : return 1;
655 : :
656 : 244 : case E_V8HFmode:
657 : 244 : if (pattern153 (x3,
658 : : E_V8HFmode) != 0)
659 : : return -1;
660 : : return 2;
661 : :
662 : : default:
663 : : return -1;
664 : : }
665 : : }
666 : :
667 : : int
668 : 494 : pattern160 (rtx x1)
669 : : {
670 : 494 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
671 : 494 : rtx x2, x3, x4, x5;
672 : 494 : int res ATTRIBUTE_UNUSED;
673 : 494 : x2 = XEXP (x1, 0);
674 : 494 : operands[0] = x2;
675 : 494 : x3 = XEXP (x1, 1);
676 : 494 : x4 = XVECEXP (x3, 0, 0);
677 : 494 : operands[1] = x4;
678 : 494 : x5 = XVECEXP (x3, 0, 1);
679 : 494 : operands[2] = x5;
680 : 494 : switch (GET_MODE (operands[0]))
681 : : {
682 : 128 : case E_V16SImode:
683 : 128 : return pattern151 (x3,
684 : 128 : E_V16SImode); /* [-1, 0] */
685 : :
686 : 184 : case E_V8SImode:
687 : 184 : if (pattern151 (x3,
688 : : E_V8SImode) != 0)
689 : : return -1;
690 : : return 1;
691 : :
692 : 182 : case E_V4SImode:
693 : 182 : if (pattern151 (x3,
694 : : E_V4SImode) != 0)
695 : : return -1;
696 : : return 2;
697 : :
698 : : default:
699 : : return -1;
700 : : }
701 : : }
702 : :
703 : : int
704 : 18 : pattern168 (rtx x1)
705 : : {
706 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
707 : 18 : rtx x2, x3, x4, x5, x6;
708 : 18 : int res ATTRIBUTE_UNUSED;
709 : 18 : x2 = XEXP (x1, 0);
710 : 18 : operands[0] = x2;
711 : 18 : x3 = XEXP (x1, 1);
712 : 18 : x4 = XVECEXP (x3, 0, 0);
713 : 18 : operands[1] = x4;
714 : 18 : x5 = XVECEXP (x3, 0, 1);
715 : 18 : operands[2] = x5;
716 : 18 : x6 = XVECEXP (x3, 0, 2);
717 : 18 : operands[3] = x6;
718 : 18 : switch (GET_MODE (operands[0]))
719 : : {
720 : 6 : case E_V16SFmode:
721 : 6 : return pattern167 (x3,
722 : 6 : E_V16SFmode); /* [-1, 0] */
723 : :
724 : 6 : case E_V8SFmode:
725 : 6 : if (pattern167 (x3,
726 : : E_V8SFmode) != 0)
727 : : return -1;
728 : : return 1;
729 : :
730 : 6 : case E_V4SFmode:
731 : 6 : if (pattern167 (x3,
732 : : E_V4SFmode) != 0)
733 : : return -1;
734 : : return 2;
735 : :
736 : : default:
737 : : return -1;
738 : : }
739 : : }
740 : :
741 : : int
742 : 477 : pattern178 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
743 : : {
744 : 477 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
745 : 477 : rtx x2;
746 : 477 : int res ATTRIBUTE_UNUSED;
747 : 477 : if (!register_operand (operands[0], i3)
748 : 477 : || GET_MODE (x1) != i3)
749 : : return -1;
750 : 457 : x2 = XEXP (x1, 0);
751 : 457 : if (GET_MODE (x2) != i1
752 : 457 : || !nonimmediate_operand (operands[1], i2)
753 : 816 : || !const0_operand (operands[2], i1))
754 : 98 : return -1;
755 : : return 0;
756 : : }
757 : :
758 : : int
759 : 7046352 : pattern182 (rtx x1)
760 : : {
761 : 7046352 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
762 : 7046352 : rtx x2, x3;
763 : 7046352 : int res ATTRIBUTE_UNUSED;
764 : 7046352 : x2 = XEXP (x1, 0);
765 : 7046352 : operands[1] = x2;
766 : 7046352 : x3 = XEXP (x1, 1);
767 : 7046352 : operands[2] = x3;
768 : 7046352 : switch (GET_MODE (operands[0]))
769 : : {
770 : 815 : case E_V32HFmode:
771 : 815 : return pattern181 (x1,
772 : 815 : E_V32HFmode); /* [-1, 0] */
773 : :
774 : 896 : case E_V16HFmode:
775 : 896 : if (pattern181 (x1,
776 : : E_V16HFmode) != 0)
777 : : return -1;
778 : : return 1;
779 : :
780 : 1861 : case E_V8HFmode:
781 : 1861 : if (pattern181 (x1,
782 : : E_V8HFmode) != 0)
783 : : return -1;
784 : : return 2;
785 : :
786 : 2251 : case E_V16SFmode:
787 : 2251 : if (pattern181 (x1,
788 : : E_V16SFmode) != 0)
789 : : return -1;
790 : : return 3;
791 : :
792 : 39960 : case E_V8SFmode:
793 : 39960 : if (pattern181 (x1,
794 : : E_V8SFmode) != 0)
795 : : return -1;
796 : : return 4;
797 : :
798 : 274712 : case E_V4SFmode:
799 : 274712 : if (pattern181 (x1,
800 : : E_V4SFmode) != 0)
801 : : return -1;
802 : : return 5;
803 : :
804 : 3199 : case E_V8DFmode:
805 : 3199 : if (pattern181 (x1,
806 : : E_V8DFmode) != 0)
807 : : return -1;
808 : : return 6;
809 : :
810 : 56433 : case E_V4DFmode:
811 : 56433 : if (pattern181 (x1,
812 : : E_V4DFmode) != 0)
813 : : return -1;
814 : : return 7;
815 : :
816 : 223535 : case E_V2DFmode:
817 : 223535 : if (pattern181 (x1,
818 : : E_V2DFmode) != 0)
819 : : return -1;
820 : : return 8;
821 : :
822 : 932 : case E_V64QImode:
823 : 932 : if (pattern181 (x1,
824 : : E_V64QImode) != 0)
825 : : return -1;
826 : : return 9;
827 : :
828 : 8052 : case E_V32QImode:
829 : 8052 : if (pattern181 (x1,
830 : : E_V32QImode) != 0)
831 : : return -1;
832 : : return 10;
833 : :
834 : 63151 : case E_V16QImode:
835 : 63151 : if (pattern181 (x1,
836 : : E_V16QImode) != 0)
837 : : return -1;
838 : : return 11;
839 : :
840 : 930 : case E_V32HImode:
841 : 930 : if (pattern181 (x1,
842 : : E_V32HImode) != 0)
843 : : return -1;
844 : : return 12;
845 : :
846 : 9282 : case E_V16HImode:
847 : 9282 : if (pattern181 (x1,
848 : : E_V16HImode) != 0)
849 : : return -1;
850 : : return 13;
851 : :
852 : 107643 : case E_V8HImode:
853 : 107643 : if (pattern181 (x1,
854 : : E_V8HImode) != 0)
855 : : return -1;
856 : : return 14;
857 : :
858 : 13164 : case E_V16SImode:
859 : 13164 : if (pattern181 (x1,
860 : : E_V16SImode) != 0)
861 : : return -1;
862 : : return 15;
863 : :
864 : 29767 : case E_V8SImode:
865 : 29767 : if (pattern181 (x1,
866 : : E_V8SImode) != 0)
867 : : return -1;
868 : : return 16;
869 : :
870 : 689847 : case E_V4SImode:
871 : 689847 : if (pattern181 (x1,
872 : : E_V4SImode) != 0)
873 : : return -1;
874 : : return 17;
875 : :
876 : 6042 : case E_V8DImode:
877 : 6042 : if (pattern181 (x1,
878 : : E_V8DImode) != 0)
879 : : return -1;
880 : : return 18;
881 : :
882 : 12261 : case E_V4DImode:
883 : 12261 : if (pattern181 (x1,
884 : : E_V4DImode) != 0)
885 : : return -1;
886 : : return 19;
887 : :
888 : 222064 : case E_V2DImode:
889 : 222064 : if (pattern181 (x1,
890 : : E_V2DImode) != 0)
891 : : return -1;
892 : : return 20;
893 : :
894 : 174 : case E_V32BFmode:
895 : 174 : if (pattern12 (x1,
896 : : E_V32BFmode) != 0)
897 : : return -1;
898 : : return 21;
899 : :
900 : 174 : case E_V16BFmode:
901 : 174 : if (pattern12 (x1,
902 : : E_V16BFmode) != 0)
903 : : return -1;
904 : : return 22;
905 : :
906 : 202 : case E_V8BFmode:
907 : 202 : if (pattern12 (x1,
908 : : E_V8BFmode) != 0)
909 : : return -1;
910 : : return 23;
911 : :
912 : : default:
913 : : return -1;
914 : : }
915 : : }
916 : :
917 : : int
918 : 272 : pattern197 (rtx x1)
919 : : {
920 : 272 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
921 : 272 : rtx x2, x3;
922 : 272 : int res ATTRIBUTE_UNUSED;
923 : 272 : x2 = XEXP (x1, 1);
924 : 272 : x3 = XEXP (x2, 1);
925 : 272 : operands[3] = x3;
926 : 272 : if (!const_int_operand (operands[3], E_QImode))
927 : : return -1;
928 : 272 : return pattern196 (x1); /* [-1, 3] */
929 : : }
930 : :
931 : : int
932 : 88 : pattern199 (rtx x1)
933 : : {
934 : 88 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
935 : 88 : rtx x2, x3;
936 : 88 : int res ATTRIBUTE_UNUSED;
937 : 88 : x2 = XEXP (x1, 1);
938 : 88 : x3 = XEXP (x2, 0);
939 : 88 : operands[2] = x3;
940 : 88 : if (!nonimmediate_operand (operands[2], E_QImode))
941 : : return -1;
942 : 88 : return pattern197 (x1); /* [-1, 3] */
943 : : }
944 : :
945 : : int
946 : 41462 : pattern203 (rtx x1, machine_mode i1)
947 : : {
948 : 41462 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
949 : 41462 : int res ATTRIBUTE_UNUSED;
950 : 41462 : if (!register_operand (operands[0], i1)
951 : 41357 : || GET_MODE (x1) != i1
952 : 41357 : || !nonimmediate_operand (operands[1], i1)
953 : 82516 : || !nonimmediate_operand (operands[2], i1))
954 : 3760 : return -1;
955 : : return 0;
956 : : }
957 : :
958 : : int
959 : 67269 : pattern207 (rtx x1)
960 : : {
961 : 67269 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
962 : 67269 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
963 : 67269 : rtx x10, x11;
964 : 67269 : int res ATTRIBUTE_UNUSED;
965 : 67269 : x2 = XVECEXP (x1, 0, 0);
966 : 67269 : x3 = XEXP (x2, 1);
967 : 67269 : if (GET_MODE (x3) != E_V4SFmode)
968 : : return -1;
969 : 5664 : x4 = XEXP (x3, 0);
970 : 5664 : if (GET_CODE (x4) != VEC_DUPLICATE
971 : 1540 : || GET_MODE (x4) != E_V4SFmode)
972 : : return -1;
973 : 1540 : x5 = XEXP (x4, 0);
974 : 1540 : if (GET_CODE (x5) != FLOAT
975 : 1395 : || GET_MODE (x5) != E_V2SFmode)
976 : : return -1;
977 : 1293 : x6 = XEXP (x3, 2);
978 : 1293 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
979 : : return -1;
980 : 1293 : x7 = XVECEXP (x1, 0, 1);
981 : 1293 : if (GET_CODE (x7) != CLOBBER)
982 : : return -1;
983 : 1195 : x8 = XEXP (x2, 0);
984 : 1195 : operands[0] = x8;
985 : 1195 : if (!register_operand (operands[0], E_V4SFmode))
986 : : return -1;
987 : 1192 : x9 = XEXP (x5, 0);
988 : 1192 : operands[2] = x9;
989 : 1192 : if (!register_mmxmem_operand (operands[2], E_V2SImode))
990 : : return -1;
991 : 969 : x10 = XEXP (x3, 1);
992 : 969 : operands[1] = x10;
993 : 969 : if (!register_operand (operands[1], E_V4SFmode))
994 : : return -1;
995 : 798 : x11 = XEXP (x7, 0);
996 : 798 : operands[3] = x11;
997 : 798 : if (!scratch_operand (operands[3], E_V4SFmode))
998 : : return -1;
999 : : return 0;
1000 : : }
1001 : :
1002 : : int
1003 : 2238 : pattern215 (rtx x1)
1004 : : {
1005 : 2238 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1006 : 2238 : rtx x2, x3, x4;
1007 : 2238 : int res ATTRIBUTE_UNUSED;
1008 : 2238 : x2 = XVECEXP (x1, 0, 1);
1009 : 2238 : if (GET_CODE (x2) != CLOBBER)
1010 : : return -1;
1011 : 1846 : x3 = XEXP (x2, 0);
1012 : 1846 : if (GET_CODE (x3) != REG
1013 : 1846 : || REGNO (x3) != 17
1014 : 3692 : || GET_MODE (x3) != E_CCmode)
1015 : : return -1;
1016 : 1846 : x4 = XVECEXP (x1, 0, 2);
1017 : 1846 : if (GET_CODE (x4) != CLOBBER)
1018 : : return -1;
1019 : 898 : return pattern214 (x1); /* [-1, 1] */
1020 : : }
1021 : :
1022 : : int
1023 : 825 : pattern220 (rtx x1)
1024 : : {
1025 : 825 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1026 : 825 : rtx x2, x3, x4, x5, x6, x7, x8;
1027 : 825 : int res ATTRIBUTE_UNUSED;
1028 : 825 : x2 = XVECEXP (x1, 0, 1);
1029 : 825 : if (GET_CODE (x2) != UNSPEC
1030 : 655 : || XVECLEN (x2, 0) != 1
1031 : 655 : || XINT (x2, 1) != 39)
1032 : : return -1;
1033 : 655 : x3 = XVECEXP (x1, 0, 2);
1034 : 655 : if (GET_CODE (x3) != CLOBBER)
1035 : : return -1;
1036 : 655 : x4 = XEXP (x3, 0);
1037 : 655 : if (GET_CODE (x4) != REG
1038 : 655 : || REGNO (x4) != 17
1039 : 1310 : || GET_MODE (x4) != E_CCmode)
1040 : : return -1;
1041 : 655 : x5 = XVECEXP (x1, 0, 0);
1042 : 655 : x6 = XEXP (x5, 0);
1043 : 655 : operands[0] = x6;
1044 : 655 : x7 = XEXP (x5, 1);
1045 : 655 : x8 = XEXP (x7, 0);
1046 : 655 : operands[1] = x8;
1047 : 655 : return pattern219 (x1); /* [-1, 1] */
1048 : : }
1049 : :
1050 : : int
1051 : 3082683 : pattern233 (rtx x1)
1052 : : {
1053 : 3082683 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1054 : 3082683 : rtx x2, x3;
1055 : 3082683 : int res ATTRIBUTE_UNUSED;
1056 : 3082683 : if (GET_CODE (x1) != VEC_SELECT)
1057 : : return -1;
1058 : 29784 : x2 = XEXP (x1, 0);
1059 : 29784 : if (GET_CODE (x2) != SUBREG
1060 : 29784 : || maybe_ne (SUBREG_BYTE (x2), 0))
1061 : : return -1;
1062 : 5464 : x3 = XEXP (x1, 1);
1063 : 5464 : if (GET_CODE (x3) != PARALLEL)
1064 : 0 : return -1;
1065 : : return 0;
1066 : : }
1067 : :
1068 : : int
1069 : 48 : pattern238 (rtx x1, machine_mode i1)
1070 : : {
1071 : 48 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1072 : 48 : rtx x2, x3, x4;
1073 : 48 : int res ATTRIBUTE_UNUSED;
1074 : 48 : if (!register_operand (operands[0], i1)
1075 : 48 : || GET_MODE (x1) != i1)
1076 : : return -1;
1077 : 40 : x2 = XEXP (x1, 0);
1078 : 40 : operands[1] = x2;
1079 : 40 : if (!register_operand (operands[1], i1))
1080 : : return -1;
1081 : 40 : x3 = XEXP (x1, 1);
1082 : 40 : operands[2] = x3;
1083 : 40 : if (!register_operand (operands[2], i1))
1084 : : return -1;
1085 : 28 : x4 = XEXP (x1, 2);
1086 : 28 : operands[3] = x4;
1087 : 28 : if (!register_operand (operands[3], i1))
1088 : : return -1;
1089 : : return 0;
1090 : : }
1091 : :
1092 : : int
1093 : 10540 : pattern248 (rtx x1, int *pnum_clobbers, machine_mode i1, machine_mode i2)
1094 : : {
1095 : 10540 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1096 : 10540 : int res ATTRIBUTE_UNUSED;
1097 : 10540 : if (pnum_clobbers == NULL
1098 : 10540 : || !nonimmediate_operand (operands[0], i2)
1099 : 9742 : || GET_MODE (x1) != i2
1100 : 20282 : || !register_operand (operands[1], i1))
1101 : 5597 : return -1;
1102 : : return 0;
1103 : : }
1104 : :
1105 : : int
1106 : 757 : pattern254 (rtx x1)
1107 : : {
1108 : 757 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1109 : 757 : rtx x2, x3, x4;
1110 : 757 : int res ATTRIBUTE_UNUSED;
1111 : 757 : x2 = XEXP (x1, 1);
1112 : 757 : x3 = XEXP (x2, 0);
1113 : 757 : x4 = XEXP (x3, 1);
1114 : 757 : operands[3] = x4;
1115 : 757 : if (!const_int_operand (operands[3], E_VOIDmode))
1116 : : return -1;
1117 : 756 : return pattern0 (x1); /* [-1, 1] */
1118 : : }
1119 : :
1120 : : int
1121 : 114 : pattern264 (rtx x1)
1122 : : {
1123 : 114 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1124 : 114 : rtx x2, x3;
1125 : 114 : int res ATTRIBUTE_UNUSED;
1126 : 114 : x2 = XEXP (x1, 0);
1127 : 114 : if (GET_MODE (x2) != E_V4SImode)
1128 : : return -1;
1129 : 114 : x3 = XEXP (x1, 1);
1130 : 114 : if (XVECLEN (x3, 0) != 2
1131 : 114 : || pattern263 (x1,
1132 : : E_V4SFmode,
1133 : : E_V2SImode,
1134 : : 1) != 0)
1135 : 114 : return -1;
1136 : : return 0;
1137 : : }
1138 : :
1139 : : int
1140 : 49103 : pattern266 (rtx x1)
1141 : : {
1142 : 49103 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1143 : 49103 : rtx x2;
1144 : 49103 : int res ATTRIBUTE_UNUSED;
1145 : 49103 : switch (GET_MODE (operands[0]))
1146 : : {
1147 : 8477 : case E_SImode:
1148 : 8477 : if (!register_operand (operands[0], E_SImode)
1149 : 8477 : || GET_MODE (x1) != E_SImode)
1150 : : return -1;
1151 : 8358 : x2 = XEXP (x1, 0);
1152 : 8358 : switch (GET_MODE (x2))
1153 : : {
1154 : : case E_QImode:
1155 : : return 0;
1156 : :
1157 : 3834 : case E_HImode:
1158 : 3834 : return 1;
1159 : :
1160 : : default:
1161 : : return -1;
1162 : : }
1163 : :
1164 : 18328 : case E_DImode:
1165 : 18328 : if (!register_operand (operands[0], E_DImode)
1166 : 18328 : || GET_MODE (x1) != E_DImode)
1167 : : return -1;
1168 : 16932 : x2 = XEXP (x1, 0);
1169 : 16932 : switch (GET_MODE (x2))
1170 : : {
1171 : : case E_QImode:
1172 : : return 2;
1173 : :
1174 : : case E_HImode:
1175 : : return 3;
1176 : :
1177 : : case E_SImode:
1178 : : return 4;
1179 : :
1180 : : default:
1181 : : return -1;
1182 : : }
1183 : :
1184 : : default:
1185 : : return -1;
1186 : : }
1187 : : }
1188 : :
1189 : : int
1190 : 26229 : pattern280 (rtx x1, machine_mode i1)
1191 : : {
1192 : 26229 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1193 : 26229 : rtx x2, x3, x4, x5;
1194 : 26229 : int res ATTRIBUTE_UNUSED;
1195 : 26229 : x2 = XEXP (x1, 0);
1196 : 26229 : if (GET_MODE (x2) != i1
1197 : 11624 : || !register_operand (operands[0], i1)
1198 : 37816 : || GET_MODE (x1) != i1)
1199 : 14642 : return -1;
1200 : 11587 : x3 = XEXP (x2, 0);
1201 : 11587 : operands[1] = x3;
1202 : 11587 : if (!nonimmediate_operand (operands[1], i1))
1203 : : return -1;
1204 : 11574 : x4 = XEXP (x2, 1);
1205 : 11574 : operands[2] = x4;
1206 : 11574 : if (!const_int_operand (operands[2], E_QImode))
1207 : : return -1;
1208 : 11371 : x5 = XEXP (x1, 1);
1209 : 11371 : operands[3] = x5;
1210 : 11371 : if (!const_int_operand (operands[3], E_QImode))
1211 : : return -1;
1212 : : return 0;
1213 : : }
1214 : :
1215 : : int
1216 : 4684 : pattern288 (rtx x1)
1217 : : {
1218 : 4684 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1219 : 4684 : int res ATTRIBUTE_UNUSED;
1220 : 4684 : switch (GET_MODE (operands[0]))
1221 : : {
1222 : 1138 : case E_DImode:
1223 : 1138 : return pattern162 (x1,
1224 : : E_DImode,
1225 : 1138 : E_V64QImode); /* [-1, 0] */
1226 : :
1227 : 2243 : case E_SImode:
1228 : 2243 : if (!register_operand (operands[0], E_SImode)
1229 : 2243 : || GET_MODE (x1) != E_SImode)
1230 : : return -1;
1231 : 2207 : switch (GET_MODE (operands[1]))
1232 : : {
1233 : 994 : case E_V32QImode:
1234 : 994 : if (!register_operand (operands[1], E_V32QImode)
1235 : 994 : || !nonimmediate_operand (operands[2], E_V32QImode))
1236 : 89 : return -1;
1237 : : return 1;
1238 : :
1239 : 1213 : case E_V32HImode:
1240 : 1213 : if (!register_operand (operands[1], E_V32HImode)
1241 : 1213 : || !nonimmediate_operand (operands[2], E_V32HImode))
1242 : 126 : return -1;
1243 : : return 2;
1244 : :
1245 : : default:
1246 : : return -1;
1247 : : }
1248 : :
1249 : : default:
1250 : : return -1;
1251 : : }
1252 : : }
1253 : :
1254 : : int
1255 : 946 : pattern301 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1256 : : {
1257 : 946 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1258 : 946 : rtx x2, x3, x4, x5, x6;
1259 : 946 : int res ATTRIBUTE_UNUSED;
1260 : 946 : if (!register_operand (operands[0], i1)
1261 : 946 : || GET_MODE (x1) != i1)
1262 : : return -1;
1263 : 882 : x2 = XEXP (x1, 0);
1264 : 882 : if (GET_MODE (x2) != i1)
1265 : : return -1;
1266 : 882 : x3 = XEXP (x2, 0);
1267 : 882 : if (GET_MODE (x3) != i1)
1268 : : return -1;
1269 : 882 : x4 = XEXP (x3, 0);
1270 : 882 : if (GET_MODE (x4) != i3
1271 : 882 : || !nonimmediate_operand (operands[1], i2))
1272 : 24 : return -1;
1273 : 858 : x5 = XEXP (x2, 1);
1274 : 858 : if (GET_MODE (x5) != i1)
1275 : : return -1;
1276 : 858 : x6 = XEXP (x5, 0);
1277 : 858 : if (GET_MODE (x6) != i3
1278 : 858 : || !nonimmediate_operand (operands[2], i2)
1279 : 1692 : || !nonimm_or_0_operand (operands[3], i1))
1280 : 56 : return -1;
1281 : : return 0;
1282 : : }
1283 : :
1284 : : int
1285 : 788 : pattern310 (rtx x1)
1286 : : {
1287 : 788 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1288 : 788 : rtx x2;
1289 : 788 : int res ATTRIBUTE_UNUSED;
1290 : 788 : x2 = XVECEXP (x1, 0, 0);
1291 : 788 : operands[1] = x2;
1292 : 788 : switch (GET_MODE (operands[0]))
1293 : : {
1294 : 132 : case E_V16SFmode:
1295 : 132 : if (!register_operand (operands[0], E_V16SFmode)
1296 : 117 : || GET_MODE (x1) != E_V16SFmode
1297 : 249 : || !nonimmediate_operand (operands[1], E_V16SFmode))
1298 : 19 : return -1;
1299 : : return 0;
1300 : :
1301 : 132 : case E_V8SFmode:
1302 : 132 : if (!register_operand (operands[0], E_V8SFmode)
1303 : 117 : || GET_MODE (x1) != E_V8SFmode
1304 : 249 : || !nonimmediate_operand (operands[1], E_V8SFmode))
1305 : 19 : return -1;
1306 : : return 1;
1307 : :
1308 : 127 : case E_V4SFmode:
1309 : 127 : if (!register_operand (operands[0], E_V4SFmode)
1310 : 115 : || GET_MODE (x1) != E_V4SFmode
1311 : 242 : || !nonimmediate_operand (operands[1], E_V4SFmode))
1312 : 15 : return -1;
1313 : : return 2;
1314 : :
1315 : 135 : case E_V8DFmode:
1316 : 135 : if (!register_operand (operands[0], E_V8DFmode)
1317 : 120 : || GET_MODE (x1) != E_V8DFmode
1318 : 255 : || !nonimmediate_operand (operands[1], E_V8DFmode))
1319 : 20 : return -1;
1320 : : return 3;
1321 : :
1322 : 132 : case E_V4DFmode:
1323 : 132 : if (!register_operand (operands[0], E_V4DFmode)
1324 : 117 : || GET_MODE (x1) != E_V4DFmode
1325 : 249 : || !nonimmediate_operand (operands[1], E_V4DFmode))
1326 : 19 : return -1;
1327 : : return 4;
1328 : :
1329 : 130 : case E_V2DFmode:
1330 : 130 : if (!register_operand (operands[0], E_V2DFmode)
1331 : 118 : || GET_MODE (x1) != E_V2DFmode
1332 : 248 : || !nonimmediate_operand (operands[1], E_V2DFmode))
1333 : 16 : return -1;
1334 : : return 5;
1335 : :
1336 : : default:
1337 : : return -1;
1338 : : }
1339 : : }
1340 : :
1341 : : int
1342 : 75194 : pattern320 (rtx x1)
1343 : : {
1344 : 75194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1345 : 75194 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1346 : 75194 : int res ATTRIBUTE_UNUSED;
1347 : 75194 : if (GET_MODE (x1) != E_V4SImode)
1348 : : return -1;
1349 : 1959 : x2 = XEXP (x1, 0);
1350 : 1959 : if (GET_CODE (x2) != SIGN_EXTEND
1351 : 1538 : || GET_MODE (x2) != E_V4SImode)
1352 : : return -1;
1353 : 1538 : x3 = XEXP (x2, 0);
1354 : 1538 : if (GET_CODE (x3) != VEC_SELECT
1355 : 1538 : || GET_MODE (x3) != E_V4HImode)
1356 : : return -1;
1357 : 1538 : x4 = XEXP (x3, 1);
1358 : 1538 : if (GET_CODE (x4) != PARALLEL
1359 : 1538 : || XVECLEN (x4, 0) != 4)
1360 : : return -1;
1361 : 1538 : x5 = XVECEXP (x4, 0, 0);
1362 : 1538 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1363 : : return -1;
1364 : 1538 : x6 = XVECEXP (x4, 0, 1);
1365 : 1538 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1366 : : return -1;
1367 : 1538 : x7 = XVECEXP (x4, 0, 2);
1368 : 1538 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1369 : : return -1;
1370 : 1538 : x8 = XVECEXP (x4, 0, 3);
1371 : 1538 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1372 : : return -1;
1373 : 1538 : x9 = XEXP (x1, 1);
1374 : 1538 : if (GET_CODE (x9) != SIGN_EXTEND)
1375 : 0 : return -1;
1376 : : return 0;
1377 : : }
1378 : :
1379 : : int
1380 : 5766 : pattern328 (rtx x1)
1381 : : {
1382 : 5766 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1383 : 5766 : rtx x2, x3, x4, x5, x6;
1384 : 5766 : int res ATTRIBUTE_UNUSED;
1385 : 5766 : x2 = XEXP (x1, 0);
1386 : 5766 : operands[0] = x2;
1387 : 5766 : x3 = XEXP (x1, 1);
1388 : 5766 : x4 = XEXP (x3, 1);
1389 : 5766 : x5 = XEXP (x4, 0);
1390 : 5766 : operands[2] = x5;
1391 : 5766 : if (!register_operand (operands[2], E_QImode))
1392 : : return -1;
1393 : 4674 : x6 = XEXP (x4, 1);
1394 : 4674 : operands[3] = x6;
1395 : 4674 : if (!const_int_operand (operands[3], E_QImode))
1396 : : return -1;
1397 : 4674 : switch (GET_MODE (operands[0]))
1398 : : {
1399 : 3534 : case E_DImode:
1400 : 3534 : if (GET_MODE (x3) != E_DImode)
1401 : : return -1;
1402 : : return 0;
1403 : :
1404 : 6 : case E_TImode:
1405 : 6 : if (!register_operand (operands[0], E_TImode)
1406 : 6 : || GET_MODE (x3) != E_TImode
1407 : 12 : || !register_operand (operands[1], E_TImode))
1408 : 0 : return -1;
1409 : : return 1;
1410 : :
1411 : 1004 : case E_SImode:
1412 : 1004 : if (!nonimmediate_operand (operands[0], E_SImode)
1413 : 1004 : || GET_MODE (x3) != E_SImode
1414 : 2008 : || !nonimmediate_operand (operands[1], E_SImode))
1415 : 263 : return -1;
1416 : : return 2;
1417 : :
1418 : : default:
1419 : : return -1;
1420 : : }
1421 : : }
1422 : :
1423 : : int
1424 : 16105 : pattern334 (rtx x1)
1425 : : {
1426 : 16105 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1427 : 16105 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1428 : 16105 : int res ATTRIBUTE_UNUSED;
1429 : 16105 : x2 = XVECEXP (x1, 0, 1);
1430 : 16105 : if (GET_CODE (x2) != CLOBBER)
1431 : : return -1;
1432 : 5674 : x3 = XEXP (x2, 0);
1433 : 5674 : if (GET_CODE (x3) != REG
1434 : 5674 : || REGNO (x3) != 17
1435 : 10936 : || GET_MODE (x3) != E_CCmode)
1436 : : return -1;
1437 : 5262 : x4 = XVECEXP (x1, 0, 0);
1438 : 5262 : x5 = XEXP (x4, 0);
1439 : 5262 : operands[0] = x5;
1440 : 5262 : x6 = XEXP (x4, 1);
1441 : 5262 : x7 = XEXP (x6, 0);
1442 : 5262 : x8 = XEXP (x7, 0);
1443 : 5262 : operands[1] = x8;
1444 : 5262 : x9 = XEXP (x7, 1);
1445 : 5262 : operands[2] = x9;
1446 : 5262 : return 0;
1447 : : }
1448 : :
1449 : : int
1450 : 3994 : pattern337 (rtx x1)
1451 : : {
1452 : 3994 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1453 : 3994 : rtx x2, x3, x4, x5;
1454 : 3994 : int res ATTRIBUTE_UNUSED;
1455 : 3994 : x2 = XVECEXP (x1, 0, 1);
1456 : 3994 : if (GET_CODE (x2) != CLOBBER)
1457 : : return -1;
1458 : 2910 : x3 = XEXP (x2, 0);
1459 : 2910 : if (GET_CODE (x3) != REG
1460 : 2910 : || REGNO (x3) != 17
1461 : 5820 : || GET_MODE (x3) != E_CCmode)
1462 : : return -1;
1463 : 2910 : x4 = XVECEXP (x1, 0, 0);
1464 : 2910 : x5 = XEXP (x4, 0);
1465 : 2910 : operands[0] = x5;
1466 : 2910 : return 0;
1467 : : }
1468 : :
1469 : : int
1470 : 6372 : pattern342 (rtx x1)
1471 : : {
1472 : 6372 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1473 : 6372 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1474 : 6372 : int res ATTRIBUTE_UNUSED;
1475 : 6372 : x2 = XVECEXP (x1, 0, 1);
1476 : 6372 : if (GET_CODE (x2) != CLOBBER)
1477 : : return -1;
1478 : 6012 : x3 = XEXP (x2, 0);
1479 : 6012 : if (GET_CODE (x3) != REG
1480 : 6012 : || REGNO (x3) != 17
1481 : 12024 : || GET_MODE (x3) != E_CCmode)
1482 : : return -1;
1483 : 6012 : x4 = XVECEXP (x1, 0, 0);
1484 : 6012 : x5 = XEXP (x4, 0);
1485 : 6012 : operands[0] = x5;
1486 : 6012 : x6 = XEXP (x4, 1);
1487 : 6012 : x7 = XEXP (x6, 0);
1488 : 6012 : x8 = XEXP (x7, 0);
1489 : 6012 : operands[1] = x8;
1490 : 6012 : x9 = XEXP (x7, 1);
1491 : 6012 : operands[2] = x9;
1492 : 6012 : return pattern341 (x6); /* [-1, 5] */
1493 : : }
1494 : :
1495 : : int
1496 : 30426 : pattern348 (rtx x1)
1497 : : {
1498 : 30426 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1499 : 30426 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1500 : 30426 : rtx x10;
1501 : 30426 : int res ATTRIBUTE_UNUSED;
1502 : 30426 : x2 = XVECEXP (x1, 0, 0);
1503 : 30426 : x3 = XEXP (x2, 1);
1504 : 30426 : x4 = XEXP (x3, 0);
1505 : 30426 : x5 = XEXP (x4, 0);
1506 : 30426 : if (GET_CODE (x5) != ASHIFT)
1507 : : return -1;
1508 : 8614 : x6 = XEXP (x5, 0);
1509 : 8614 : if (GET_CODE (x6) != ZERO_EXTEND)
1510 : : return -1;
1511 : 7950 : x7 = XEXP (x4, 1);
1512 : 7950 : if (GET_CODE (x7) != ZERO_EXTEND)
1513 : : return -1;
1514 : 7950 : x8 = XVECEXP (x1, 0, 1);
1515 : 7950 : if (GET_CODE (x8) != CLOBBER)
1516 : : return -1;
1517 : 6313 : x9 = XEXP (x8, 0);
1518 : 6313 : if (GET_CODE (x9) != REG
1519 : 6313 : || REGNO (x9) != 17
1520 : 12626 : || GET_MODE (x9) != E_CCmode)
1521 : : return -1;
1522 : 6313 : x10 = XEXP (x2, 0);
1523 : 6313 : operands[0] = x10;
1524 : 6313 : return pattern347 (x3); /* [-1, 3] */
1525 : : }
1526 : :
1527 : : int
1528 : 23489 : pattern355 (rtx x1, machine_mode i1)
1529 : : {
1530 : 23489 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1531 : 23489 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1532 : 23489 : rtx x10, x11, x12, x13;
1533 : 23489 : int res ATTRIBUTE_UNUSED;
1534 : 23489 : x2 = XVECEXP (x1, 0, 0);
1535 : 23489 : x3 = XEXP (x2, 1);
1536 : 23489 : if (GET_MODE (x3) != i1)
1537 : : return -1;
1538 : 23489 : x4 = XEXP (x3, 0);
1539 : 23489 : x5 = XEXP (x4, 0);
1540 : 23489 : x6 = XVECEXP (x5, 0, 0);
1541 : 23489 : operands[0] = x6;
1542 : 23489 : x7 = XVECEXP (x5, 0, 1);
1543 : 23489 : operands[2] = x7;
1544 : 23489 : if (!const_int_operand (operands[2], E_SImode))
1545 : : return -1;
1546 : 23489 : x8 = XEXP (x4, 1);
1547 : 23489 : operands[1] = x8;
1548 : 23489 : x9 = XVECEXP (x1, 0, 1);
1549 : 23489 : x10 = XEXP (x9, 1);
1550 : 23489 : x11 = XEXP (x10, 0);
1551 : 23489 : if (!rtx_equal_p (x11, operands[0]))
1552 : : return -1;
1553 : 23489 : x12 = XEXP (x10, 1);
1554 : 23489 : if (!rtx_equal_p (x12, operands[1]))
1555 : : return -1;
1556 : 23489 : x13 = XEXP (x9, 0);
1557 : 23489 : if (!rtx_equal_p (x13, operands[0]))
1558 : : return -1;
1559 : 23489 : switch (GET_MODE (x4))
1560 : : {
1561 : 2928 : case E_QImode:
1562 : 2928 : return pattern354 (x1,
1563 : 2928 : E_QImode); /* [-1, 0] */
1564 : :
1565 : 2628 : case E_HImode:
1566 : 2628 : if (pattern354 (x1,
1567 : : E_HImode) != 0)
1568 : : return -1;
1569 : : return 1;
1570 : :
1571 : 14361 : case E_SImode:
1572 : 14361 : if (pattern354 (x1,
1573 : : E_SImode) != 0)
1574 : : return -1;
1575 : : return 2;
1576 : :
1577 : 3572 : case E_DImode:
1578 : 3572 : if (pattern354 (x1,
1579 : : E_DImode) != 0)
1580 : : return -1;
1581 : : return 3;
1582 : :
1583 : : default:
1584 : : return -1;
1585 : : }
1586 : : }
1587 : :
1588 : : int
1589 : 682 : pattern369 (rtx x1)
1590 : : {
1591 : 682 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1592 : 682 : rtx x2, x3, x4, x5, x6, x7, x8;
1593 : 682 : int res ATTRIBUTE_UNUSED;
1594 : 682 : x2 = XVECEXP (x1, 0, 0);
1595 : 682 : x3 = XEXP (x2, 0);
1596 : 682 : operands[0] = x3;
1597 : 682 : x4 = XEXP (x2, 1);
1598 : 682 : x5 = XEXP (x4, 0);
1599 : 682 : x6 = XEXP (x5, 0);
1600 : 682 : operands[1] = x6;
1601 : 682 : x7 = XVECEXP (x1, 0, 1);
1602 : 682 : switch (GET_CODE (x7))
1603 : : {
1604 : 482 : case CLOBBER:
1605 : 482 : x8 = XEXP (x7, 0);
1606 : 482 : if (GET_CODE (x8) != REG
1607 : 482 : || REGNO (x8) != 17
1608 : 961 : || GET_MODE (x8) != E_CCmode)
1609 : : return -1;
1610 : 479 : switch (GET_MODE (operands[0]))
1611 : : {
1612 : 16 : case E_DImode:
1613 : 16 : return pattern368 (x4,
1614 : 16 : E_DImode); /* [-1, 0] */
1615 : :
1616 : 0 : case E_TImode:
1617 : 0 : if (pattern368 (x4,
1618 : : E_TImode) != 0)
1619 : : return -1;
1620 : : return 1;
1621 : :
1622 : 0 : case E_QImode:
1623 : 0 : if (pattern368 (x4,
1624 : : E_QImode) != 0)
1625 : : return -1;
1626 : : return 2;
1627 : :
1628 : 0 : case E_HImode:
1629 : 0 : if (pattern368 (x4,
1630 : : E_HImode) != 0)
1631 : : return -1;
1632 : : return 3;
1633 : :
1634 : 190 : case E_SImode:
1635 : 190 : if (pattern368 (x4,
1636 : : E_SImode) != 0)
1637 : : return -1;
1638 : : return 4;
1639 : :
1640 : : default:
1641 : : return -1;
1642 : : }
1643 : :
1644 : 5 : case USE:
1645 : 5 : x8 = XEXP (x7, 0);
1646 : 5 : operands[2] = x8;
1647 : 5 : return 5;
1648 : :
1649 : : default:
1650 : : return -1;
1651 : : }
1652 : : }
1653 : :
1654 : : int
1655 : 174386 : pattern386 (rtx x1, int i1)
1656 : : {
1657 : 174386 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1658 : 174386 : rtx x2;
1659 : 174386 : int res ATTRIBUTE_UNUSED;
1660 : 174386 : if (XINT (x1, 1) != i1
1661 : 273 : || GET_MODE (x1) != E_SImode)
1662 : : return -1;
1663 : 273 : x2 = XVECEXP (x1, 0, 1);
1664 : 273 : if (GET_CODE (x2) != REG
1665 : 265 : || REGNO (x2) != 20
1666 : 514 : || GET_MODE (x2) != E_V2DImode)
1667 : 32 : return -1;
1668 : : return 0;
1669 : : }
1670 : :
1671 : : int
1672 : 1783 : pattern393 (rtx x1, machine_mode i1, machine_mode i2)
1673 : : {
1674 : 1783 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1675 : 1783 : rtx x2;
1676 : 1783 : int res ATTRIBUTE_UNUSED;
1677 : 1783 : if (!nonimmediate_operand (operands[0], i1)
1678 : 1783 : || GET_MODE (x1) != i1)
1679 : : return -1;
1680 : 1777 : x2 = XEXP (x1, 0);
1681 : 1777 : if (GET_MODE (x2) != i1
1682 : 1777 : || !nonimmediate_operand (operands[1], i2)
1683 : 3082 : || !const_scalar_int_operand (operands[2], i1))
1684 : 472 : return -1;
1685 : : return 0;
1686 : : }
1687 : :
1688 : : int
1689 : 77904 : pattern400 (rtx x1)
1690 : : {
1691 : 77904 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1692 : 77904 : rtx x2, x3, x4, x5, x6;
1693 : 77904 : int res ATTRIBUTE_UNUSED;
1694 : 77904 : x2 = XEXP (x1, 0);
1695 : 77904 : x3 = XEXP (x2, 1);
1696 : 77904 : if (GET_CODE (x3) != UNSPEC
1697 : 303 : || XVECLEN (x3, 0) != 1
1698 : 303 : || XINT (x3, 1) != 148)
1699 : : return -1;
1700 : 295 : x4 = XVECEXP (x3, 0, 0);
1701 : 295 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1702 : : return -1;
1703 : 295 : x5 = XEXP (x1, 1);
1704 : 295 : if (GET_CODE (x5) != UNSPEC
1705 : 295 : || XVECLEN (x5, 0) != 1
1706 : 295 : || XINT (x5, 1) != 148)
1707 : : return -1;
1708 : 295 : x6 = XVECEXP (x5, 0, 0);
1709 : 295 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1710 : 0 : return -1;
1711 : : return 0;
1712 : : }
1713 : :
1714 : : int
1715 : 3733796 : pattern406 (rtx x1)
1716 : : {
1717 : 3733796 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1718 : 3733796 : rtx x2, x3, x4;
1719 : 3733796 : int res ATTRIBUTE_UNUSED;
1720 : 3733796 : x2 = XEXP (x1, 1);
1721 : 3733796 : x3 = XEXP (x2, 0);
1722 : 3733796 : if (GET_CODE (x3) != REG
1723 : 3733796 : || REGNO (x3) != 7)
1724 : : return -1;
1725 : 2216152 : x4 = XEXP (x1, 0);
1726 : 2216152 : if (GET_CODE (x4) != REG
1727 : 2216152 : || REGNO (x4) != 7)
1728 : 11 : return -1;
1729 : : return 0;
1730 : : }
1731 : :
1732 : : int
1733 : 132 : pattern410 (rtx x1)
1734 : : {
1735 : 132 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1736 : 132 : rtx x2, x3, x4, x5, x6;
1737 : 132 : int res ATTRIBUTE_UNUSED;
1738 : 132 : x2 = XVECEXP (x1, 0, 0);
1739 : 132 : x3 = XEXP (x2, 0);
1740 : 132 : operands[1] = x3;
1741 : 132 : x4 = XEXP (x2, 1);
1742 : 132 : operands[2] = x4;
1743 : 132 : x5 = XVECEXP (x1, 0, 1);
1744 : 132 : operands[3] = x5;
1745 : 132 : x6 = XVECEXP (x1, 0, 2);
1746 : 132 : operands[4] = x6;
1747 : 132 : if (!const_0_to_7_operand (operands[4], E_SImode))
1748 : : return -1;
1749 : 132 : switch (GET_MODE (operands[0]))
1750 : : {
1751 : 44 : case E_HImode:
1752 : 44 : return pattern408 (x1); /* [-1, 1] */
1753 : :
1754 : 22 : case E_QImode:
1755 : 22 : if (pattern409 (x1,
1756 : : E_V8HImode,
1757 : : E_QImode) != 0)
1758 : : return -1;
1759 : : return 2;
1760 : :
1761 : : default:
1762 : : return -1;
1763 : : }
1764 : : }
1765 : :
1766 : : int
1767 : 385 : pattern419 (rtx x1, machine_mode i1)
1768 : : {
1769 : 385 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1770 : 385 : rtx x2, x3;
1771 : 385 : int res ATTRIBUTE_UNUSED;
1772 : 385 : if (!register_operand (operands[0], i1)
1773 : 385 : || GET_MODE (x1) != i1)
1774 : : return -1;
1775 : 313 : x2 = XEXP (x1, 0);
1776 : 313 : if (GET_MODE (x2) != i1)
1777 : : return -1;
1778 : 313 : x3 = XEXP (x2, 0);
1779 : 313 : if (GET_MODE (x3) != i1
1780 : 313 : || !register_no_SP_operand (operands[1], i1)
1781 : 268 : || !register_operand (operands[3], i1)
1782 : 544 : || !immediate_operand (operands[4], i1))
1783 : 146 : return -1;
1784 : : return 0;
1785 : : }
1786 : :
1787 : : int
1788 : 95 : pattern429 (rtx x1)
1789 : : {
1790 : 95 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1791 : 95 : rtx x2, x3, x4, x5;
1792 : 95 : int res ATTRIBUTE_UNUSED;
1793 : 95 : x2 = XEXP (x1, 0);
1794 : 95 : if (GET_MODE (x2) != E_SImode)
1795 : : return -1;
1796 : 93 : x3 = XEXP (x2, 0);
1797 : 93 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1798 : : return -1;
1799 : 64 : x4 = XEXP (x2, 1);
1800 : 64 : if (GET_CODE (x4) != CLZ
1801 : 64 : || GET_MODE (x4) != E_SImode)
1802 : : return -1;
1803 : 64 : x5 = XEXP (x1, 1);
1804 : 64 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1805 : 0 : return -1;
1806 : : return 0;
1807 : : }
1808 : :
1809 : : int
1810 : 9155 : pattern437 (rtx x1, int *pnum_clobbers)
1811 : : {
1812 : 9155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1813 : 9155 : rtx x2, x3, x4;
1814 : 9155 : int res ATTRIBUTE_UNUSED;
1815 : 9155 : if (pnum_clobbers == NULL)
1816 : : return -1;
1817 : 9155 : x2 = XEXP (x1, 1);
1818 : 9155 : x3 = XEXP (x2, 1);
1819 : 9155 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1820 : : return -1;
1821 : 7618 : x4 = XEXP (x2, 0);
1822 : 7618 : operands[2] = x4;
1823 : 7618 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1824 : : return -1;
1825 : 3848 : switch (GET_MODE (operands[0]))
1826 : : {
1827 : 199 : case E_SImode:
1828 : 199 : return pattern436 (x1,
1829 : 199 : E_SImode); /* [-1, 0] */
1830 : :
1831 : 3503 : case E_DImode:
1832 : 3503 : if (pattern436 (x1,
1833 : : E_DImode) != 0)
1834 : : return -1;
1835 : : return 1;
1836 : :
1837 : : default:
1838 : : return -1;
1839 : : }
1840 : : }
1841 : :
1842 : : int
1843 : 4382 : pattern447 (rtx x1, machine_mode i1, machine_mode i2)
1844 : : {
1845 : 4382 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1846 : 4382 : rtx x2;
1847 : 4382 : int res ATTRIBUTE_UNUSED;
1848 : 4382 : if (!register_operand (operands[0], i1)
1849 : 4382 : || GET_MODE (x1) != i1)
1850 : : return -1;
1851 : 4158 : x2 = XEXP (x1, 0);
1852 : 4158 : if (GET_MODE (x2) != i1
1853 : 4158 : || !register_operand (operands[1], i1)
1854 : 4108 : || !vector_operand (operands[2], i1)
1855 : 4100 : || !nonimm_or_0_operand (operands[3], i1)
1856 : 8180 : || !register_operand (operands[4], i2))
1857 : 202 : return -1;
1858 : : return 0;
1859 : : }
1860 : :
1861 : : int
1862 : 1527 : pattern452 (rtx x1)
1863 : : {
1864 : 1527 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1865 : 1527 : rtx x2, x3, x4, x5, x6, x7;
1866 : 1527 : int res ATTRIBUTE_UNUSED;
1867 : 1527 : x2 = XEXP (x1, 0);
1868 : 1527 : x3 = XVECEXP (x2, 0, 0);
1869 : 1527 : operands[1] = x3;
1870 : 1527 : x4 = XVECEXP (x2, 0, 1);
1871 : 1527 : operands[2] = x4;
1872 : 1527 : x5 = XEXP (x1, 2);
1873 : 1527 : switch (GET_CODE (x5))
1874 : : {
1875 : 1440 : case UNSPEC:
1876 : 1440 : if (XVECLEN (x5, 0) != 1
1877 : 1440 : || XINT (x5, 1) != 224)
1878 : : return -1;
1879 : 1440 : x6 = XEXP (x1, 1);
1880 : 1440 : operands[3] = x6;
1881 : 1440 : x7 = XVECEXP (x5, 0, 0);
1882 : 1440 : operands[4] = x7;
1883 : 1440 : switch (GET_MODE (operands[0]))
1884 : : {
1885 : 296 : case E_V32HFmode:
1886 : 296 : if (!register_operand (operands[0], E_V32HFmode)
1887 : 250 : || GET_MODE (x1) != E_V32HFmode
1888 : 250 : || GET_MODE (x2) != E_V32HFmode
1889 : 250 : || !vector_operand (operands[1], E_V32HFmode)
1890 : 250 : || !vector_operand (operands[2], E_V32HFmode)
1891 : 250 : || !nonimm_or_0_operand (operands[3], E_V32HFmode)
1892 : 246 : || GET_MODE (x5) != E_SImode
1893 : 542 : || !register_operand (operands[4], E_HImode))
1894 : 114 : return -1;
1895 : : return 0;
1896 : :
1897 : 573 : case E_V16HFmode:
1898 : 573 : if (pattern451 (x1,
1899 : : E_HImode,
1900 : : E_V16HFmode) != 0)
1901 : : return -1;
1902 : : return 1;
1903 : :
1904 : 571 : case E_V8HFmode:
1905 : 571 : if (pattern451 (x1,
1906 : : E_QImode,
1907 : : E_V8HFmode) != 0)
1908 : : return -1;
1909 : : return 2;
1910 : :
1911 : : default:
1912 : : return -1;
1913 : : }
1914 : :
1915 : 87 : case CONST_INT:
1916 : 87 : if (XWINT (x5, 0) != 3L
1917 : 87 : || !register_operand (operands[0], E_V8HFmode)
1918 : 67 : || GET_MODE (x1) != E_V8HFmode
1919 : 67 : || GET_MODE (x2) != E_V8HFmode
1920 : 67 : || !nonimmediate_operand (operands[1], E_V8HFmode)
1921 : 149 : || !vector_operand (operands[2], E_V8HFmode))
1922 : 25 : return -1;
1923 : 62 : x6 = XEXP (x1, 1);
1924 : 62 : if (!rtx_equal_p (x6, operands[1]))
1925 : : return -1;
1926 : : return 3;
1927 : :
1928 : : default:
1929 : : return -1;
1930 : : }
1931 : : }
1932 : :
1933 : : int
1934 : 57214 : pattern479 (rtx x1)
1935 : : {
1936 : 57214 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1937 : 57214 : rtx x2, x3;
1938 : 57214 : int res ATTRIBUTE_UNUSED;
1939 : 57214 : x2 = XEXP (x1, 2);
1940 : 57214 : switch (GET_CODE (x2))
1941 : : {
1942 : 21188 : case REG:
1943 : 21188 : case SUBREG:
1944 : 21188 : operands[4] = x2;
1945 : 21188 : x3 = XEXP (x1, 1);
1946 : 21188 : operands[3] = x3;
1947 : 21188 : switch (GET_MODE (operands[0]))
1948 : : {
1949 : 444 : case E_V32HFmode:
1950 : 444 : return pattern478 (x1,
1951 : : E_V32HFmode,
1952 : 444 : E_SImode); /* [-1, 0] */
1953 : :
1954 : 492 : case E_V16HFmode:
1955 : 492 : if (pattern478 (x1,
1956 : : E_V16HFmode,
1957 : : E_HImode) != 0)
1958 : : return -1;
1959 : : return 1;
1960 : :
1961 : 426 : case E_V8HFmode:
1962 : 426 : if (pattern478 (x1,
1963 : : E_V8HFmode,
1964 : : E_QImode) != 0)
1965 : : return -1;
1966 : : return 2;
1967 : :
1968 : 1077 : case E_V16SFmode:
1969 : 1077 : if (pattern478 (x1,
1970 : : E_V16SFmode,
1971 : : E_HImode) != 0)
1972 : : return -1;
1973 : : return 3;
1974 : :
1975 : 607 : case E_V8SFmode:
1976 : 607 : if (pattern478 (x1,
1977 : : E_V8SFmode,
1978 : : E_QImode) != 0)
1979 : : return -1;
1980 : : return 4;
1981 : :
1982 : 457 : case E_V4SFmode:
1983 : 457 : if (pattern478 (x1,
1984 : : E_V4SFmode,
1985 : : E_QImode) != 0)
1986 : : return -1;
1987 : : return 5;
1988 : :
1989 : 2015 : case E_V8DFmode:
1990 : 2015 : if (pattern478 (x1,
1991 : : E_V8DFmode,
1992 : : E_QImode) != 0)
1993 : : return -1;
1994 : : return 6;
1995 : :
1996 : 789 : case E_V4DFmode:
1997 : 789 : if (pattern478 (x1,
1998 : : E_V4DFmode,
1999 : : E_QImode) != 0)
2000 : : return -1;
2001 : : return 7;
2002 : :
2003 : 565 : case E_V2DFmode:
2004 : 565 : if (pattern478 (x1,
2005 : : E_V2DFmode,
2006 : : E_QImode) != 0)
2007 : : return -1;
2008 : : return 8;
2009 : :
2010 : 3983 : case E_V16SImode:
2011 : 3983 : if (pattern127 (x1,
2012 : : E_V16SImode,
2013 : : E_HImode) != 0)
2014 : : return -1;
2015 : : return 9;
2016 : :
2017 : 2940 : case E_V8SImode:
2018 : 2940 : if (pattern127 (x1,
2019 : : E_V8SImode,
2020 : : E_QImode) != 0)
2021 : : return -1;
2022 : : return 10;
2023 : :
2024 : 1459 : case E_V4SImode:
2025 : 1459 : if (pattern127 (x1,
2026 : : E_V4SImode,
2027 : : E_QImode) != 0)
2028 : : return -1;
2029 : : return 11;
2030 : :
2031 : 693 : case E_V8DImode:
2032 : 693 : if (pattern127 (x1,
2033 : : E_V8DImode,
2034 : : E_QImode) != 0)
2035 : : return -1;
2036 : : return 12;
2037 : :
2038 : 628 : case E_V4DImode:
2039 : 628 : if (pattern127 (x1,
2040 : : E_V4DImode,
2041 : : E_QImode) != 0)
2042 : : return -1;
2043 : : return 13;
2044 : :
2045 : 381 : case E_V2DImode:
2046 : 381 : if (pattern127 (x1,
2047 : : E_V2DImode,
2048 : : E_QImode) != 0)
2049 : : return -1;
2050 : : return 14;
2051 : :
2052 : 674 : case E_V64QImode:
2053 : 674 : if (pattern127 (x1,
2054 : : E_V64QImode,
2055 : : E_DImode) != 0)
2056 : : return -1;
2057 : : return 15;
2058 : :
2059 : 352 : case E_V16QImode:
2060 : 352 : if (pattern127 (x1,
2061 : : E_V16QImode,
2062 : : E_HImode) != 0)
2063 : : return -1;
2064 : : return 16;
2065 : :
2066 : 508 : case E_V32QImode:
2067 : 508 : if (pattern127 (x1,
2068 : : E_V32QImode,
2069 : : E_SImode) != 0)
2070 : : return -1;
2071 : : return 17;
2072 : :
2073 : 674 : case E_V32HImode:
2074 : 674 : if (pattern127 (x1,
2075 : : E_V32HImode,
2076 : : E_SImode) != 0)
2077 : : return -1;
2078 : : return 18;
2079 : :
2080 : 640 : case E_V16HImode:
2081 : 640 : if (pattern127 (x1,
2082 : : E_V16HImode,
2083 : : E_HImode) != 0)
2084 : : return -1;
2085 : : return 19;
2086 : :
2087 : 352 : case E_V8HImode:
2088 : 352 : if (pattern127 (x1,
2089 : : E_V8HImode,
2090 : : E_QImode) != 0)
2091 : : return -1;
2092 : : return 20;
2093 : :
2094 : 344 : case E_V32BFmode:
2095 : 344 : if (pattern129 (x1,
2096 : : E_V32BFmode,
2097 : : E_SImode) != 0)
2098 : : return -1;
2099 : : return 21;
2100 : :
2101 : 344 : case E_V16BFmode:
2102 : 344 : if (pattern129 (x1,
2103 : : E_V16BFmode,
2104 : : E_HImode) != 0)
2105 : : return -1;
2106 : : return 22;
2107 : :
2108 : 344 : case E_V8BFmode:
2109 : 344 : if (pattern129 (x1,
2110 : : E_V8BFmode,
2111 : : E_QImode) != 0)
2112 : : return -1;
2113 : : return 23;
2114 : :
2115 : : default:
2116 : : return -1;
2117 : : }
2118 : :
2119 : 34317 : case CONST_INT:
2120 : 34317 : res = pattern131 (x1);
2121 : 34317 : if (res >= 0)
2122 : 404 : return res + 24; /* [24, 26] */
2123 : : return -1;
2124 : :
2125 : : default:
2126 : : return -1;
2127 : : }
2128 : : }
2129 : :
2130 : : int
2131 : 562 : pattern509 (rtx x1, machine_mode i1)
2132 : : {
2133 : 562 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2134 : 562 : int res ATTRIBUTE_UNUSED;
2135 : 562 : if (!register_operand (operands[0], i1)
2136 : 562 : || GET_MODE (x1) != i1)
2137 : : return -1;
2138 : 525 : switch (GET_MODE (operands[1]))
2139 : : {
2140 : 419 : case E_V8SImode:
2141 : 419 : if (!nonimmediate_operand (operands[1], E_V8SImode))
2142 : : return -1;
2143 : : return 0;
2144 : :
2145 : 104 : case E_V8DImode:
2146 : 104 : if (!nonimmediate_operand (operands[1], E_V8DImode))
2147 : : return -1;
2148 : : return 1;
2149 : :
2150 : : default:
2151 : : return -1;
2152 : : }
2153 : : }
2154 : :
2155 : : int
2156 : 212050 : pattern514 (rtx x1)
2157 : : {
2158 : 212050 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2159 : 212050 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2160 : 212050 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
2161 : 212050 : rtx x18, x19, x20, x21, x22;
2162 : 212050 : int res ATTRIBUTE_UNUSED;
2163 : 212050 : x2 = XEXP (x1, 0);
2164 : 212050 : if (maybe_ne (SUBREG_BYTE (x2), 0))
2165 : : return -1;
2166 : 212050 : x3 = XEXP (x2, 0);
2167 : 212050 : if (GET_CODE (x3) != UNSPEC
2168 : 18884 : || XVECLEN (x3, 0) != 2
2169 : 8013 : || XINT (x3, 1) != 152)
2170 : : return -1;
2171 : 6 : x4 = XVECEXP (x3, 0, 0);
2172 : 6 : operands[1] = x4;
2173 : 6 : x5 = XVECEXP (x3, 0, 1);
2174 : 6 : operands[2] = x5;
2175 : 6 : x6 = XEXP (x1, 1);
2176 : 6 : switch (XVECLEN (x6, 0))
2177 : : {
2178 : 3 : case 16:
2179 : 3 : x7 = XVECEXP (x6, 0, 0);
2180 : 3 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2181 : : return -1;
2182 : 3 : x8 = XVECEXP (x6, 0, 1);
2183 : 3 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2184 : : return -1;
2185 : 3 : x9 = XVECEXP (x6, 0, 2);
2186 : 3 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2187 : : return -1;
2188 : 3 : x10 = XVECEXP (x6, 0, 3);
2189 : 3 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2190 : : return -1;
2191 : 3 : x11 = XVECEXP (x6, 0, 4);
2192 : 3 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2193 : : return -1;
2194 : 3 : x12 = XVECEXP (x6, 0, 5);
2195 : 3 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2196 : : return -1;
2197 : 3 : x13 = XVECEXP (x6, 0, 6);
2198 : 3 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2199 : : return -1;
2200 : 3 : x14 = XVECEXP (x6, 0, 7);
2201 : 3 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
2202 : : return -1;
2203 : 3 : x15 = XVECEXP (x6, 0, 8);
2204 : 3 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
2205 : : return -1;
2206 : 3 : x16 = XVECEXP (x6, 0, 9);
2207 : 3 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
2208 : : return -1;
2209 : 3 : x17 = XVECEXP (x6, 0, 10);
2210 : 3 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
2211 : : return -1;
2212 : 3 : x18 = XVECEXP (x6, 0, 11);
2213 : 3 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
2214 : : return -1;
2215 : 3 : x19 = XVECEXP (x6, 0, 12);
2216 : 3 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
2217 : : return -1;
2218 : 3 : x20 = XVECEXP (x6, 0, 13);
2219 : 3 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
2220 : : return -1;
2221 : 3 : x21 = XVECEXP (x6, 0, 14);
2222 : 3 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
2223 : : return -1;
2224 : 3 : x22 = XVECEXP (x6, 0, 15);
2225 : 3 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
2226 : 3 : || pattern513 (x1,
2227 : : E_V32HImode,
2228 : : E_V32HFmode,
2229 : : E_V16HFmode) != 0)
2230 : 1 : return -1;
2231 : : return 0;
2232 : :
2233 : 3 : case 8:
2234 : 3 : x7 = XVECEXP (x6, 0, 0);
2235 : 3 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2236 : : return -1;
2237 : 3 : x8 = XVECEXP (x6, 0, 1);
2238 : 3 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2239 : : return -1;
2240 : 3 : x9 = XVECEXP (x6, 0, 2);
2241 : 3 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2242 : : return -1;
2243 : 3 : x10 = XVECEXP (x6, 0, 3);
2244 : 3 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2245 : : return -1;
2246 : 3 : x11 = XVECEXP (x6, 0, 4);
2247 : 3 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2248 : : return -1;
2249 : 3 : x12 = XVECEXP (x6, 0, 5);
2250 : 3 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2251 : : return -1;
2252 : 3 : x13 = XVECEXP (x6, 0, 6);
2253 : 3 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2254 : : return -1;
2255 : 3 : x14 = XVECEXP (x6, 0, 7);
2256 : 3 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2257 : 3 : || pattern513 (x1,
2258 : : E_V16HImode,
2259 : : E_V16HFmode,
2260 : : E_V8HFmode) != 0)
2261 : 1 : return -1;
2262 : : return 1;
2263 : :
2264 : : default:
2265 : : return -1;
2266 : : }
2267 : : }
2268 : :
2269 : : int
2270 : 1282 : pattern538 (rtx x1)
2271 : : {
2272 : 1282 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2273 : 1282 : rtx x2, x3, x4, x5, x6, x7, x8;
2274 : 1282 : int res ATTRIBUTE_UNUSED;
2275 : 1282 : x2 = XVECEXP (x1, 0, 0);
2276 : 1282 : x3 = XEXP (x2, 1);
2277 : 1282 : if (GET_MODE (x3) != E_V2SFmode)
2278 : : return -1;
2279 : 140 : x4 = XVECEXP (x1, 0, 1);
2280 : 140 : if (GET_CODE (x4) != UNSPEC
2281 : 140 : || XVECLEN (x4, 0) != 1
2282 : 140 : || XINT (x4, 1) != 111)
2283 : : return -1;
2284 : 140 : x5 = XVECEXP (x4, 0, 0);
2285 : 140 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2286 : : return -1;
2287 : 140 : x6 = XEXP (x2, 0);
2288 : 140 : operands[0] = x6;
2289 : 140 : if (!register_operand (operands[0], E_V2SFmode))
2290 : : return -1;
2291 : 140 : x7 = XVECEXP (x3, 0, 0);
2292 : 140 : operands[1] = x7;
2293 : 140 : if (!register_operand (operands[1], E_V2SFmode))
2294 : : return -1;
2295 : 126 : x8 = XVECEXP (x3, 0, 1);
2296 : 126 : operands[2] = x8;
2297 : 126 : if (!nonimmediate_operand (operands[2], E_V2SFmode))
2298 : : return -1;
2299 : : return 0;
2300 : : }
2301 : :
2302 : : int
2303 : 480749 : pattern548 (rtx x1, rtx_code i1)
2304 : : {
2305 : 480749 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2306 : 480749 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2307 : 480749 : int res ATTRIBUTE_UNUSED;
2308 : 480749 : x2 = XVECEXP (x1, 0, 0);
2309 : 480749 : x3 = XEXP (x2, 1);
2310 : 480749 : x4 = XEXP (x3, 1);
2311 : 480749 : if (GET_CODE (x4) != i1)
2312 : : return -1;
2313 : 257439 : x5 = XVECEXP (x1, 0, 1);
2314 : 257439 : if (GET_CODE (x5) != CLOBBER)
2315 : : return -1;
2316 : 239223 : x6 = XEXP (x5, 0);
2317 : 239223 : if (GET_CODE (x6) != REG
2318 : 239223 : || REGNO (x6) != 17
2319 : 478446 : || GET_MODE (x6) != E_CCmode)
2320 : : return -1;
2321 : 239223 : x7 = XEXP (x3, 0);
2322 : 239223 : x8 = XEXP (x7, 0);
2323 : 239223 : operands[1] = x8;
2324 : 239223 : x9 = XEXP (x4, 0);
2325 : 239223 : operands[2] = x9;
2326 : 239223 : switch (GET_MODE (operands[0]))
2327 : : {
2328 : 125019 : case E_DImode:
2329 : 125019 : return pattern547 (x3,
2330 : : E_SImode,
2331 : 125019 : E_DImode); /* [-1, 0] */
2332 : :
2333 : 108732 : case E_TImode:
2334 : 108732 : if (pattern547 (x3,
2335 : : E_DImode,
2336 : : E_TImode) != 0)
2337 : : return -1;
2338 : : return 1;
2339 : :
2340 : 4806 : case E_HImode:
2341 : 4806 : if (pattern547 (x3,
2342 : : E_QImode,
2343 : : E_HImode) != 0)
2344 : : return -1;
2345 : : return 2;
2346 : :
2347 : : default:
2348 : : return -1;
2349 : : }
2350 : : }
2351 : :
2352 : : int
2353 : 343 : pattern560 (rtx x1)
2354 : : {
2355 : 343 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2356 : 343 : int res ATTRIBUTE_UNUSED;
2357 : 343 : if (GET_MODE (x1) != E_BLKmode
2358 : 343 : || !memory_operand (operands[0], E_BLKmode)
2359 : 343 : || !register_operand (operands[1], E_SImode)
2360 : 666 : || !register_operand (operands[2], E_SImode))
2361 : 141 : return -1;
2362 : : return 0;
2363 : : }
2364 : :
2365 : : int
2366 : 100 : pattern565 (rtx x1)
2367 : : {
2368 : 100 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2369 : 100 : rtx x2, x3, x4, x5;
2370 : 100 : int res ATTRIBUTE_UNUSED;
2371 : 100 : x2 = XEXP (x1, 1);
2372 : 100 : x3 = XEXP (x2, 0);
2373 : 100 : x4 = XEXP (x3, 0);
2374 : 100 : operands[2] = x4;
2375 : 100 : if (!int248_register_operand (operands[2], E_VOIDmode))
2376 : : return -1;
2377 : 100 : x5 = XEXP (x3, 1);
2378 : 100 : operands[3] = x5;
2379 : 100 : if (!const_int_operand (operands[3], E_VOIDmode))
2380 : : return -1;
2381 : 100 : return pattern564 (x1); /* [-1, 3] */
2382 : : }
2383 : :
2384 : : int
2385 : 892 : pattern572 (rtx x1)
2386 : : {
2387 : 892 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2388 : 892 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2389 : 892 : int res ATTRIBUTE_UNUSED;
2390 : 892 : x2 = XVECEXP (x1, 0, 0);
2391 : 892 : x3 = XEXP (x2, 1);
2392 : 892 : x4 = XEXP (x3, 0);
2393 : 892 : x5 = XEXP (x4, 0);
2394 : 892 : x6 = XEXP (x5, 0);
2395 : 892 : x7 = XEXP (x6, 0);
2396 : 892 : operands[1] = x7;
2397 : 892 : if (!int248_register_operand (operands[1], E_VOIDmode))
2398 : : return -1;
2399 : 892 : x8 = XEXP (x4, 1);
2400 : 892 : operands[2] = x8;
2401 : 892 : if (!general_operand (operands[2], E_QImode))
2402 : : return -1;
2403 : 892 : x9 = XVECEXP (x1, 0, 1);
2404 : 892 : return pattern571 (x9); /* [-1, 2] */
2405 : : }
2406 : :
2407 : : int
2408 : 49 : pattern576 (rtx x1)
2409 : : {
2410 : 49 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2411 : 49 : rtx x2, x3;
2412 : 49 : int res ATTRIBUTE_UNUSED;
2413 : 49 : x2 = XVECEXP (x1, 0, 1);
2414 : 49 : if (GET_CODE (x2) != CLOBBER)
2415 : : return -1;
2416 : 49 : x3 = XEXP (x2, 0);
2417 : 49 : if (GET_CODE (x3) != REG
2418 : 49 : || REGNO (x3) != 17
2419 : 98 : || GET_MODE (x3) != E_CCmode)
2420 : : return -1;
2421 : 49 : return pattern214 (x1); /* [-1, 1] */
2422 : : }
2423 : :
2424 : : int
2425 : 76 : pattern581 (rtx x1)
2426 : : {
2427 : 76 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2428 : 76 : rtx x2, x3, x4;
2429 : 76 : int res ATTRIBUTE_UNUSED;
2430 : 76 : x2 = XVECEXP (x1, 0, 1);
2431 : 76 : x3 = XEXP (x2, 0);
2432 : 76 : operands[2] = x3;
2433 : 76 : x4 = XVECEXP (x1, 0, 2);
2434 : 76 : operands[3] = x4;
2435 : 76 : switch (GET_MODE (operands[0]))
2436 : : {
2437 : 18 : case E_V32HFmode:
2438 : 18 : return pattern580 (x1,
2439 : : E_V32HFmode,
2440 : 18 : E_V16SFmode); /* [-1, 0] */
2441 : :
2442 : 18 : case E_V16HFmode:
2443 : 18 : if (pattern580 (x1,
2444 : : E_V16HFmode,
2445 : : E_V8SFmode) != 0)
2446 : : return -1;
2447 : : return 1;
2448 : :
2449 : 40 : case E_V8HFmode:
2450 : 40 : if (pattern580 (x1,
2451 : : E_V8HFmode,
2452 : : E_V4SFmode) != 0)
2453 : : return -1;
2454 : : return 2;
2455 : :
2456 : : default:
2457 : : return -1;
2458 : : }
2459 : : }
2460 : :
2461 : : int
2462 : 277660 : pattern586 (rtx x1)
2463 : : {
2464 : 277660 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2465 : 277660 : rtx x2, x3, x4, x5;
2466 : 277660 : int res ATTRIBUTE_UNUSED;
2467 : 277660 : if (GET_CODE (x1) != SET)
2468 : : return -1;
2469 : 271100 : x2 = XEXP (x1, 1);
2470 : 271100 : if (!commutative_operator (x2, E_VOIDmode))
2471 : : return -1;
2472 : 82378 : operands[3] = x2;
2473 : 82378 : x3 = XEXP (x2, 1);
2474 : 82378 : operands[2] = x3;
2475 : 82378 : if (!memory_operand (operands[2], E_VOIDmode))
2476 : : return -1;
2477 : 18097 : x4 = XEXP (x2, 0);
2478 : 18097 : if (!rtx_equal_p (x4, operands[0]))
2479 : : return -1;
2480 : 14223 : x5 = XEXP (x1, 0);
2481 : 14223 : if (!rtx_equal_p (x5, operands[0]))
2482 : : return -1;
2483 : : return 0;
2484 : : }
2485 : :
2486 : : int
2487 : 335365 : pattern594 (rtx x1)
2488 : : {
2489 : 335365 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2490 : 335365 : rtx x2;
2491 : 335365 : int res ATTRIBUTE_UNUSED;
2492 : 335365 : x2 = XEXP (x1, 1);
2493 : 335365 : switch (GET_CODE (x2))
2494 : : {
2495 : 16395 : case CONST_INT:
2496 : 16395 : case CONST_WIDE_INT:
2497 : 16395 : operands[3] = x2;
2498 : 16395 : switch (GET_MODE (operands[0]))
2499 : : {
2500 : 462 : case E_QImode:
2501 : 462 : return pattern591 (x1,
2502 : 462 : E_QImode); /* [-1, 0] */
2503 : :
2504 : 1875 : case E_HImode:
2505 : 1875 : if (pattern591 (x1,
2506 : : E_HImode) != 0)
2507 : : return -1;
2508 : : return 1;
2509 : :
2510 : 1 : case E_TImode:
2511 : 1 : if (pattern592 (x1,
2512 : : E_TImode) != 0)
2513 : : return -1;
2514 : : return 2;
2515 : :
2516 : : default:
2517 : : return -1;
2518 : : }
2519 : :
2520 : 31738 : case ZERO_EXTEND:
2521 : 31738 : if (pattern593 (x1,
2522 : : E_DImode,
2523 : : E_TImode) != 0)
2524 : : return -1;
2525 : : return 3;
2526 : :
2527 : : default:
2528 : : return -1;
2529 : : }
2530 : : }
2531 : :
2532 : : int
2533 : 22 : pattern602 (rtx x1, machine_mode i1)
2534 : : {
2535 : 22 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2536 : 22 : rtx x2;
2537 : 22 : int res ATTRIBUTE_UNUSED;
2538 : 22 : if (!register_operand (operands[0], i1)
2539 : 22 : || GET_MODE (x1) != i1)
2540 : : return -1;
2541 : 22 : x2 = XEXP (x1, 0);
2542 : 22 : if (GET_MODE (x2) != i1
2543 : 22 : || !general_operand (operands[1], i1))
2544 : 10 : return -1;
2545 : : return 0;
2546 : : }
2547 : :
2548 : : int
2549 : 843 : pattern609 (rtx x1)
2550 : : {
2551 : 843 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2552 : 843 : rtx x2, x3, x4, x5;
2553 : 843 : int res ATTRIBUTE_UNUSED;
2554 : 843 : x2 = XEXP (x1, 0);
2555 : 843 : x3 = XEXP (x2, 0);
2556 : 843 : x4 = XEXP (x3, 1);
2557 : 843 : operands[2] = x4;
2558 : 843 : if (!register_operand (operands[2], E_QImode))
2559 : : return -1;
2560 : 738 : x5 = XEXP (x1, 1);
2561 : 738 : operands[1] = x5;
2562 : 738 : switch (GET_MODE (operands[0]))
2563 : : {
2564 : 403 : case E_SImode:
2565 : 403 : return pattern608 (x1,
2566 : 403 : E_SImode); /* [-1, 0] */
2567 : :
2568 : 321 : case E_DImode:
2569 : 321 : if (pattern608 (x1,
2570 : : E_DImode) != 0)
2571 : : return -1;
2572 : : return 1;
2573 : :
2574 : : default:
2575 : : return -1;
2576 : : }
2577 : : }
2578 : :
2579 : : int
2580 : 2390 : pattern619 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2581 : : {
2582 : 2390 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2583 : 2390 : rtx x2;
2584 : 2390 : int res ATTRIBUTE_UNUSED;
2585 : 2390 : if (!register_operand (operands[0], i1)
2586 : 2390 : || GET_MODE (x1) != i1)
2587 : : return -1;
2588 : 2343 : x2 = XEXP (x1, 0);
2589 : 2343 : if (GET_MODE (x2) != i1
2590 : 2343 : || !nonimmediate_operand (operands[1], i3)
2591 : 2343 : || !nonimm_or_0_operand (operands[2], i1)
2592 : 4677 : || !register_operand (operands[3], i2))
2593 : 45 : return -1;
2594 : : return 0;
2595 : : }
2596 : :
2597 : : int
2598 : 4844 : pattern624 (rtx x1)
2599 : : {
2600 : 4844 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2601 : 4844 : rtx x2, x3, x4;
2602 : 4844 : int res ATTRIBUTE_UNUSED;
2603 : 4844 : x2 = XEXP (x1, 0);
2604 : 4844 : x3 = XVECEXP (x2, 0, 0);
2605 : 4844 : operands[1] = x3;
2606 : 4844 : x4 = XEXP (x1, 2);
2607 : 4844 : operands[3] = x4;
2608 : 4844 : switch (GET_MODE (operands[0]))
2609 : : {
2610 : 396 : case E_V16SImode:
2611 : 396 : return pattern621 (x1,
2612 : : E_V16SImode,
2613 : : E_HImode,
2614 : 396 : E_V16SFmode); /* [-1, 0] */
2615 : :
2616 : 788 : case E_V8SImode:
2617 : 788 : if (!register_operand (operands[0], E_V8SImode)
2618 : 788 : || GET_MODE (x1) != E_V8SImode
2619 : 788 : || GET_MODE (x2) != E_V8SImode
2620 : 788 : || !nonimm_or_0_operand (operands[2], E_V8SImode)
2621 : 1576 : || !register_operand (operands[3], E_QImode))
2622 : 4 : return -1;
2623 : 784 : switch (GET_MODE (operands[1]))
2624 : : {
2625 : 392 : case E_V8SFmode:
2626 : 392 : if (!vector_operand (operands[1], E_V8SFmode))
2627 : : return -1;
2628 : : return 1;
2629 : :
2630 : 392 : case E_V8DFmode:
2631 : 392 : if (!vector_operand (operands[1], E_V8DFmode))
2632 : : return -1;
2633 : : return 2;
2634 : :
2635 : : default:
2636 : : return -1;
2637 : : }
2638 : :
2639 : 1188 : case E_V4SImode:
2640 : 1188 : if (!register_operand (operands[0], E_V4SImode)
2641 : 1188 : || GET_MODE (x1) != E_V4SImode
2642 : 1188 : || GET_MODE (x2) != E_V4SImode
2643 : 1188 : || !nonimm_or_0_operand (operands[2], E_V4SImode)
2644 : 2376 : || !register_operand (operands[3], E_QImode))
2645 : 12 : return -1;
2646 : 1176 : switch (GET_MODE (operands[1]))
2647 : : {
2648 : 392 : case E_V4SFmode:
2649 : 392 : if (!vector_operand (operands[1], E_V4SFmode))
2650 : : return -1;
2651 : : return 3;
2652 : :
2653 : 392 : case E_V4DFmode:
2654 : 392 : if (!vector_operand (operands[1], E_V4DFmode))
2655 : : return -1;
2656 : : return 4;
2657 : :
2658 : 392 : case E_V2DFmode:
2659 : 392 : if (!vector_operand (operands[1], E_V2DFmode))
2660 : : return -1;
2661 : : return 5;
2662 : :
2663 : : default:
2664 : : return -1;
2665 : : }
2666 : :
2667 : 824 : case E_V8DImode:
2668 : 824 : if (!register_operand (operands[0], E_V8DImode)
2669 : 792 : || GET_MODE (x1) != E_V8DImode
2670 : 792 : || GET_MODE (x2) != E_V8DImode
2671 : 792 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
2672 : 1612 : || !register_operand (operands[3], E_QImode))
2673 : 40 : return -1;
2674 : 784 : switch (GET_MODE (operands[1]))
2675 : : {
2676 : 392 : case E_V8DFmode:
2677 : 392 : if (!vector_operand (operands[1], E_V8DFmode))
2678 : : return -1;
2679 : : return 6;
2680 : :
2681 : 392 : case E_V8SFmode:
2682 : 392 : if (!vector_operand (operands[1], E_V8SFmode))
2683 : : return -1;
2684 : : return 7;
2685 : :
2686 : : default:
2687 : : return -1;
2688 : : }
2689 : :
2690 : 824 : case E_V4DImode:
2691 : 824 : if (!register_operand (operands[0], E_V4DImode)
2692 : 792 : || GET_MODE (x1) != E_V4DImode
2693 : 792 : || GET_MODE (x2) != E_V4DImode
2694 : 792 : || !nonimm_or_0_operand (operands[2], E_V4DImode)
2695 : 1612 : || !register_operand (operands[3], E_QImode))
2696 : 40 : return -1;
2697 : 784 : switch (GET_MODE (operands[1]))
2698 : : {
2699 : 392 : case E_V4DFmode:
2700 : 392 : if (!vector_operand (operands[1], E_V4DFmode))
2701 : : return -1;
2702 : : return 8;
2703 : :
2704 : 392 : case E_V4SFmode:
2705 : 392 : if (!vector_operand (operands[1], E_V4SFmode))
2706 : : return -1;
2707 : : return 9;
2708 : :
2709 : : default:
2710 : : return -1;
2711 : : }
2712 : :
2713 : 824 : case E_V2DImode:
2714 : 824 : if (!register_operand (operands[0], E_V2DImode)
2715 : 792 : || GET_MODE (x1) != E_V2DImode
2716 : 792 : || GET_MODE (x2) != E_V2DImode
2717 : 792 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
2718 : 1612 : || !register_operand (operands[3], E_QImode))
2719 : 40 : return -1;
2720 : 784 : switch (GET_MODE (operands[1]))
2721 : : {
2722 : 392 : case E_V2DFmode:
2723 : 392 : if (!vector_operand (operands[1], E_V2DFmode))
2724 : : return -1;
2725 : : return 10;
2726 : :
2727 : 392 : case E_V4SFmode:
2728 : 392 : if (!vector_operand (operands[1], E_V4SFmode))
2729 : : return -1;
2730 : : return 11;
2731 : :
2732 : : default:
2733 : : return -1;
2734 : : }
2735 : :
2736 : : default:
2737 : : return -1;
2738 : : }
2739 : : }
2740 : :
2741 : : int
2742 : 6 : pattern663 (rtx x1, machine_mode i1, machine_mode i2)
2743 : : {
2744 : 6 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2745 : 6 : rtx x2, x3, x4, x5, x6;
2746 : 6 : int res ATTRIBUTE_UNUSED;
2747 : 6 : x2 = XEXP (x1, 0);
2748 : 6 : x3 = XEXP (x2, 1);
2749 : 6 : x4 = XVECEXP (x3, 0, 0);
2750 : 6 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2751 : : return -1;
2752 : 6 : x5 = XVECEXP (x3, 0, 1);
2753 : 6 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2754 : 6 : || !register_operand (operands[0], E_V2DImode)
2755 : 4 : || GET_MODE (x1) != E_V2DImode
2756 : 10 : || GET_MODE (x2) != i1)
2757 : 2 : return -1;
2758 : 4 : x6 = XEXP (x2, 0);
2759 : 4 : if (GET_MODE (x6) != i2)
2760 : : return -1;
2761 : : return 0;
2762 : : }
2763 : :
2764 : : int
2765 : 6 : pattern669 (rtx x1)
2766 : : {
2767 : 6 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2768 : 6 : rtx x2, x3, x4, x5, x6;
2769 : 6 : int res ATTRIBUTE_UNUSED;
2770 : 6 : x2 = XVECEXP (x1, 0, 0);
2771 : 6 : x3 = XEXP (x2, 1);
2772 : 6 : x4 = XEXP (x3, 1);
2773 : 6 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2774 : : return -1;
2775 : 6 : x5 = XEXP (x2, 0);
2776 : 6 : if (GET_CODE (x5) != REG
2777 : 6 : || REGNO (x5) != 17
2778 : 12 : || GET_MODE (x5) != E_CCZmode)
2779 : : return -1;
2780 : 6 : x6 = XVECEXP (x1, 0, 1);
2781 : 6 : if (GET_CODE (x6) != CLOBBER
2782 : 2 : || GET_MODE (x3) != E_CCZmode)
2783 : 4 : return -1;
2784 : : return 0;
2785 : : }
2786 : :
2787 : : int
2788 : 248 : pattern674 (rtx x1, machine_mode i1)
2789 : : {
2790 : 248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2791 : 248 : rtx x2;
2792 : 248 : int res ATTRIBUTE_UNUSED;
2793 : 248 : if (!nonimmediate_operand (operands[0], i1)
2794 : 248 : || GET_MODE (x1) != i1
2795 : 496 : || !general_operand (operands[1], i1))
2796 : 0 : return -1;
2797 : 248 : x2 = XEXP (x1, 1);
2798 : 248 : if (GET_MODE (x2) != i1)
2799 : : return -1;
2800 : : return 0;
2801 : : }
2802 : :
2803 : : int
2804 : 1907608 : pattern678 (rtx x1)
2805 : : {
2806 : 1907608 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2807 : 1907608 : rtx x2, x3, x4, x5, x6, x7;
2808 : 1907608 : int res ATTRIBUTE_UNUSED;
2809 : 1907608 : x2 = XVECEXP (x1, 0, 1);
2810 : 1907608 : if (GET_CODE (x2) != CLOBBER)
2811 : : return -1;
2812 : 262862 : x3 = XEXP (x2, 0);
2813 : 262862 : if (GET_CODE (x3) != REG
2814 : 262862 : || REGNO (x3) != 17
2815 : 486811 : || GET_MODE (x3) != E_CCmode)
2816 : : return -1;
2817 : 55446 : x4 = XVECEXP (x1, 0, 0);
2818 : 55446 : x5 = XEXP (x4, 1);
2819 : 55446 : x6 = XEXP (x5, 0);
2820 : 55446 : x7 = XEXP (x6, 0);
2821 : 55446 : switch (GET_CODE (x7))
2822 : : {
2823 : : case REG:
2824 : : case SUBREG:
2825 : : return 0;
2826 : :
2827 : 22825 : case ZERO_EXTRACT:
2828 : 22825 : return 1;
2829 : :
2830 : : default:
2831 : : return -1;
2832 : : }
2833 : : }
2834 : :
2835 : : int
2836 : 242 : pattern687 (rtx x1, int i1)
2837 : : {
2838 : 242 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2839 : 242 : rtx x2, x3, x4, x5, x6, x7, x8;
2840 : 242 : int res ATTRIBUTE_UNUSED;
2841 : 242 : x2 = XVECEXP (x1, 0, 0);
2842 : 242 : x3 = XEXP (x2, 1);
2843 : 242 : if (GET_MODE (x3) != E_DImode)
2844 : : return -1;
2845 : 242 : x4 = XVECEXP (x1, 0, 1);
2846 : 242 : if (GET_CODE (x4) != SET)
2847 : : return -1;
2848 : 242 : x5 = XEXP (x4, 1);
2849 : 242 : if (GET_CODE (x5) != UNSPEC_VOLATILE
2850 : 242 : || XVECLEN (x5, 0) != 1
2851 : 242 : || XINT (x5, 1) != i1
2852 : 242 : || GET_MODE (x5) != E_DImode
2853 : 484 : || !register_operand (operands[0], E_DImode))
2854 : 0 : return -1;
2855 : 242 : x6 = XVECEXP (x3, 0, 0);
2856 : 242 : operands[2] = x6;
2857 : 242 : if (!register_operand (operands[2], E_SImode))
2858 : : return -1;
2859 : 237 : x7 = XEXP (x4, 0);
2860 : 237 : operands[1] = x7;
2861 : 237 : if (!register_operand (operands[1], E_DImode))
2862 : : return -1;
2863 : 237 : x8 = XVECEXP (x5, 0, 0);
2864 : 237 : if (!rtx_equal_p (x8, operands[2]))
2865 : : return -1;
2866 : : return 0;
2867 : : }
2868 : :
2869 : : int
2870 : 265051 : pattern695 (rtx x1, unsigned int i1, rtx_code i2)
2871 : : {
2872 : 265051 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2873 : 265051 : rtx x2, x3, x4;
2874 : 265051 : int res ATTRIBUTE_UNUSED;
2875 : 265051 : if (GET_CODE (x1) != SET)
2876 : : return -1;
2877 : 236918 : x2 = XEXP (x1, 1);
2878 : 236918 : if (GET_CODE (x2) != i2)
2879 : : return -1;
2880 : 236918 : x3 = XEXP (x2, 0);
2881 : 236918 : if (GET_CODE (x3) != REG
2882 : 236918 : || REGNO (x3) != i1)
2883 : : return -1;
2884 : 236918 : x4 = XEXP (x1, 0);
2885 : 236918 : if (GET_CODE (x4) != REG
2886 : 236918 : || REGNO (x4) != i1)
2887 : 0 : return -1;
2888 : : return 0;
2889 : : }
2890 : :
2891 : : int
2892 : 17344 : pattern702 (rtx x1, machine_mode i1, machine_mode i2)
2893 : : {
2894 : 17344 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2895 : 17344 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2896 : 17344 : int res ATTRIBUTE_UNUSED;
2897 : 17344 : x2 = XVECEXP (x1, 0, 0);
2898 : 17344 : x3 = XEXP (x2, 1);
2899 : 17344 : x4 = XEXP (x3, 0);
2900 : 17344 : x5 = XEXP (x4, 0);
2901 : 17344 : if (GET_MODE (x5) != i2
2902 : 17344 : || !nonimmediate_operand (operands[1], i1)
2903 : 31650 : || !const_scalar_int_operand (operands[3], i2))
2904 : 8042 : return -1;
2905 : 9302 : x6 = XEXP (x3, 1);
2906 : 9302 : if (GET_MODE (x6) != i2)
2907 : : return -1;
2908 : 9302 : x7 = XEXP (x6, 0);
2909 : 9302 : if (GET_MODE (x7) != i1
2910 : 9302 : || !x86_64_hilo_general_operand (operands[2], i1)
2911 : 18220 : || !nonimmediate_operand (operands[0], i1))
2912 : 384 : return -1;
2913 : 8918 : x8 = XVECEXP (x1, 0, 1);
2914 : 8918 : x9 = XEXP (x8, 1);
2915 : 8918 : if (GET_MODE (x9) != i1)
2916 : : return -1;
2917 : : return 0;
2918 : : }
2919 : :
2920 : : int
2921 : 215850 : pattern710 (rtx x1, machine_mode i1)
2922 : : {
2923 : 215850 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2924 : 215850 : rtx x2, x3, x4, x5, x6, x7, x8;
2925 : 215850 : int res ATTRIBUTE_UNUSED;
2926 : 215850 : if (GET_CODE (x1) != SET)
2927 : : return -1;
2928 : 167331 : x2 = XEXP (x1, 1);
2929 : 167331 : operands[5] = x2;
2930 : 167331 : if (!register_operand (operands[5], i1))
2931 : : return -1;
2932 : 58840 : x3 = XEXP (x1, 0);
2933 : 58840 : if (!rtx_equal_p (x3, operands[1]))
2934 : : return -1;
2935 : 19193 : x4 = PATTERN (peep2_next_insn (3));
2936 : 19193 : if (GET_CODE (x4) != SET)
2937 : : return -1;
2938 : 18630 : x5 = XEXP (x4, 1);
2939 : 18630 : if (GET_CODE (x5) != COMPARE)
2940 : : return -1;
2941 : 1946 : x6 = XEXP (x5, 1);
2942 : 1946 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2943 : : return -1;
2944 : 206 : x7 = XEXP (x4, 0);
2945 : 206 : if (GET_CODE (x7) != REG
2946 : 206 : || REGNO (x7) != 17)
2947 : : return -1;
2948 : 206 : x8 = XEXP (x5, 0);
2949 : 206 : if (!rtx_equal_p (x8, operands[5]))
2950 : : return -1;
2951 : : return 0;
2952 : : }
2953 : :
2954 : : int
2955 : 3388 : pattern721 ()
2956 : : {
2957 : 3388 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2958 : 3388 : int res ATTRIBUTE_UNUSED;
2959 : 3388 : switch (GET_MODE (operands[1]))
2960 : : {
2961 : 1116 : case E_V16QImode:
2962 : 1116 : if (!register_operand (operands[1], E_V16QImode)
2963 : 1116 : || !nonimmediate_operand (operands[2], E_V16QImode))
2964 : 0 : return -1;
2965 : : return 0;
2966 : :
2967 : 1130 : case E_V16HImode:
2968 : 1130 : if (!register_operand (operands[1], E_V16HImode)
2969 : 1130 : || !nonimmediate_operand (operands[2], E_V16HImode))
2970 : 0 : return -1;
2971 : : return 1;
2972 : :
2973 : 1142 : case E_V16SImode:
2974 : 1142 : if (!register_operand (operands[1], E_V16SImode)
2975 : 1142 : || !nonimmediate_operand (operands[2], E_V16SImode))
2976 : 0 : return -1;
2977 : : return 2;
2978 : :
2979 : : default:
2980 : : return -1;
2981 : : }
2982 : : }
2983 : :
2984 : : int
2985 : 525298 : pattern729 (rtx x1)
2986 : : {
2987 : 525298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2988 : 525298 : rtx x2, x3, x4;
2989 : 525298 : int res ATTRIBUTE_UNUSED;
2990 : 525298 : if (!const_0_to_3_operand (operands[2], E_VOIDmode))
2991 : : return -1;
2992 : 463807 : x2 = XVECEXP (x1, 0, 1);
2993 : 463807 : operands[3] = x2;
2994 : 463807 : if (!const_0_to_3_operand (operands[3], E_VOIDmode))
2995 : : return -1;
2996 : 463656 : x3 = XVECEXP (x1, 0, 2);
2997 : 463656 : operands[4] = x3;
2998 : 463656 : if (!const_0_to_3_operand (operands[4], E_VOIDmode))
2999 : : return -1;
3000 : 458680 : x4 = XVECEXP (x1, 0, 3);
3001 : 458680 : operands[5] = x4;
3002 : 458680 : if (!const_0_to_3_operand (operands[5], E_VOIDmode))
3003 : : return -1;
3004 : : return 0;
3005 : : }
3006 : :
3007 : : int
3008 : 0 : pattern741 (rtx x1, machine_mode i1, machine_mode i2)
3009 : : {
3010 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3011 : 0 : rtx x2, x3, x4, x5;
3012 : 0 : int res ATTRIBUTE_UNUSED;
3013 : 0 : if (!register_operand (operands[0], i1)
3014 : 0 : || GET_MODE (x1) != i1)
3015 : : return -1;
3016 : 0 : x2 = XEXP (x1, 0);
3017 : 0 : if (GET_MODE (x2) != i2)
3018 : : return -1;
3019 : 0 : x3 = XEXP (x2, 0);
3020 : 0 : if (GET_MODE (x3) != i2)
3021 : : return -1;
3022 : 0 : x4 = XEXP (x3, 0);
3023 : 0 : if (GET_MODE (x4) != i2
3024 : 0 : || !nonimmediate_operand (operands[1], i1))
3025 : 0 : return -1;
3026 : 0 : x5 = XEXP (x3, 1);
3027 : 0 : if (GET_MODE (x5) != i2
3028 : 0 : || !nonimmediate_operand (operands[2], i1))
3029 : 0 : return -1;
3030 : : return 0;
3031 : : }
3032 : :
3033 : : int
3034 : 2846 : pattern749 (rtx x1, machine_mode i1)
3035 : : {
3036 : 2846 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3037 : 2846 : rtx x2, x3;
3038 : 2846 : int res ATTRIBUTE_UNUSED;
3039 : 2846 : if (!register_operand (operands[0], i1)
3040 : 2846 : || GET_MODE (x1) != i1)
3041 : : return -1;
3042 : 2762 : x2 = XEXP (x1, 0);
3043 : 2762 : if (GET_MODE (x2) != i1)
3044 : : return -1;
3045 : 2762 : x3 = XEXP (x2, 0);
3046 : 2762 : if (GET_MODE (x3) != i1
3047 : 2762 : || !register_operand (operands[1], i1)
3048 : 2762 : || !nonimmediate_operand (operands[2], i1)
3049 : 5524 : || !nonimm_or_0_operand (operands[3], i1))
3050 : 12 : return -1;
3051 : : return 0;
3052 : : }
3053 : :
3054 : : int
3055 : 3925 : pattern757 (rtx x1, machine_mode i1)
3056 : : {
3057 : 3925 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3058 : 3925 : rtx x2, x3, x4;
3059 : 3925 : int res ATTRIBUTE_UNUSED;
3060 : 3925 : if (!register_operand (operands[0], i1)
3061 : 3925 : || GET_MODE (x1) != i1)
3062 : : return -1;
3063 : 3851 : x2 = XVECEXP (x1, 0, 0);
3064 : 3851 : if (GET_MODE (x2) != i1)
3065 : : return -1;
3066 : 3851 : x3 = XEXP (x2, 0);
3067 : 3851 : if (GET_MODE (x3) != i1)
3068 : : return -1;
3069 : 3851 : x4 = XEXP (x3, 0);
3070 : 3851 : if (GET_MODE (x4) != i1
3071 : 3851 : || !register_operand (operands[1], i1)
3072 : 3829 : || !nonimmediate_operand (operands[2], i1)
3073 : 7648 : || !nonimm_or_0_operand (operands[3], i1))
3074 : 114 : return -1;
3075 : : return 0;
3076 : : }
3077 : :
3078 : : int
3079 : 20589 : pattern763 (rtx x1, machine_mode i1)
3080 : : {
3081 : 20589 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3082 : 20589 : int res ATTRIBUTE_UNUSED;
3083 : 20589 : if (!register_operand (operands[0], i1)
3084 : 20539 : || GET_MODE (x1) != i1
3085 : 20539 : || !nonimmediate_operand (operands[1], i1)
3086 : 40233 : || !register_operand (operands[2], i1))
3087 : 2982 : return -1;
3088 : : return 0;
3089 : : }
3090 : :
3091 : : int
3092 : 232 : pattern771 (rtx x1, int i1, int i2, int i3)
3093 : : {
3094 : 232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3095 : 232 : rtx x2, x3, x4, x5, x6, x7, x8;
3096 : 232 : int res ATTRIBUTE_UNUSED;
3097 : 232 : x2 = XVECEXP (x1, 0, 0);
3098 : 232 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3099 : : return -1;
3100 : 232 : x3 = XVECEXP (x1, 0, 1);
3101 : 232 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3102 : : return -1;
3103 : 232 : x4 = XVECEXP (x1, 0, 2);
3104 : 232 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3105 : : return -1;
3106 : 232 : x5 = XVECEXP (x1, 0, 3);
3107 : 232 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3108 : : return -1;
3109 : 232 : x6 = XVECEXP (x1, 0, 4);
3110 : 232 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
3111 : : return -1;
3112 : 232 : x7 = XVECEXP (x1, 0, 5);
3113 : 232 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
3114 : : return -1;
3115 : 232 : x8 = XVECEXP (x1, 0, 6);
3116 : 232 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
3117 : 0 : return -1;
3118 : : return 0;
3119 : : }
3120 : :
3121 : : int
3122 : 1219152 : pattern790 (rtx x1)
3123 : : {
3124 : 1219152 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3125 : 1219152 : rtx x2, x3, x4, x5, x6;
3126 : 1219152 : int res ATTRIBUTE_UNUSED;
3127 : 1219152 : if (!movq_parallel (operands[3], E_VOIDmode))
3128 : : return -1;
3129 : 95572 : x2 = XEXP (x1, 0);
3130 : 95572 : x3 = XEXP (x2, 0);
3131 : 95572 : operands[1] = x3;
3132 : 95572 : x4 = XEXP (x2, 1);
3133 : 95572 : operands[2] = x4;
3134 : 95572 : x5 = XEXP (x1, 1);
3135 : 95572 : x6 = XVECEXP (x5, 0, 0);
3136 : 95572 : operands[4] = x6;
3137 : 95572 : if (!const_int_operand (operands[4], E_VOIDmode))
3138 : : return -1;
3139 : 95572 : switch (GET_MODE (operands[0]))
3140 : : {
3141 : 24 : case E_V64QImode:
3142 : 24 : return pattern784 (x1,
3143 : : E_V64QImode,
3144 : 24 : E_V128QImode); /* [-1, 0] */
3145 : :
3146 : 28 : case E_V32QImode:
3147 : 28 : if (pattern784 (x1,
3148 : : E_V32QImode,
3149 : : E_V64QImode) != 0)
3150 : : return -1;
3151 : : return 1;
3152 : :
3153 : 96 : case E_V16QImode:
3154 : 96 : if (pattern784 (x1,
3155 : : E_V16QImode,
3156 : : E_V32QImode) != 0)
3157 : : return -1;
3158 : : return 2;
3159 : :
3160 : 46 : case E_V32HImode:
3161 : 46 : if (pattern784 (x1,
3162 : : E_V32HImode,
3163 : : E_V64HImode) != 0)
3164 : : return -1;
3165 : : return 3;
3166 : :
3167 : 50 : case E_V16HImode:
3168 : 50 : if (pattern784 (x1,
3169 : : E_V16HImode,
3170 : : E_V32HImode) != 0)
3171 : : return -1;
3172 : : return 4;
3173 : :
3174 : 131 : case E_V8HImode:
3175 : 131 : if (pattern784 (x1,
3176 : : E_V8HImode,
3177 : : E_V16HImode) != 0)
3178 : : return -1;
3179 : : return 5;
3180 : :
3181 : : default:
3182 : : return -1;
3183 : : }
3184 : : }
3185 : :
3186 : : int
3187 : 11984 : pattern801 (rtx x1)
3188 : : {
3189 : 11984 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3190 : 11984 : rtx x2;
3191 : 11984 : int res ATTRIBUTE_UNUSED;
3192 : 11984 : if (GET_MODE (x1) != E_SImode)
3193 : : return -1;
3194 : 11984 : x2 = XVECEXP (x1, 0, 3);
3195 : 11984 : if (GET_CODE (x2) != REG
3196 : 11984 : || REGNO (x2) != 7
3197 : 23968 : || GET_MODE (x2) != E_SImode)
3198 : 0 : return -1;
3199 : : return 0;
3200 : : }
3201 : :
3202 : : int
3203 : 57 : pattern807 (rtx x1)
3204 : : {
3205 : 57 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3206 : 57 : rtx x2, x3, x4;
3207 : 57 : int res ATTRIBUTE_UNUSED;
3208 : 57 : x2 = XVECEXP (x1, 0, 1);
3209 : 57 : if (GET_CODE (x2) != UNSPEC
3210 : 55 : || XVECLEN (x2, 0) != 1
3211 : 55 : || XINT (x2, 1) != 39)
3212 : : return -1;
3213 : 55 : x3 = XVECEXP (x1, 0, 2);
3214 : 55 : if (GET_CODE (x3) != CLOBBER)
3215 : : return -1;
3216 : 55 : x4 = XEXP (x3, 0);
3217 : 55 : if (GET_CODE (x4) != REG
3218 : 55 : || REGNO (x4) != 17
3219 : 110 : || GET_MODE (x4) != E_CCmode)
3220 : : return -1;
3221 : 55 : return pattern531 (x1); /* [-1, 1] */
3222 : : }
3223 : :
3224 : : int
3225 : 12 : pattern811 (rtx x1)
3226 : : {
3227 : 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3228 : 12 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3229 : 12 : rtx x10, x11;
3230 : 12 : int res ATTRIBUTE_UNUSED;
3231 : 12 : x2 = XVECEXP (x1, 0, 1);
3232 : 12 : if (GET_CODE (x2) != CLOBBER)
3233 : : return -1;
3234 : 0 : x3 = XVECEXP (x1, 0, 2);
3235 : 0 : if (GET_CODE (x3) != CLOBBER)
3236 : : return -1;
3237 : 0 : x4 = XEXP (x3, 0);
3238 : 0 : if (GET_CODE (x4) != REG
3239 : 0 : || REGNO (x4) != 17
3240 : 0 : || GET_MODE (x4) != E_CCmode)
3241 : : return -1;
3242 : 0 : x5 = XVECEXP (x1, 0, 0);
3243 : 0 : x6 = XEXP (x5, 0);
3244 : 0 : operands[0] = x6;
3245 : 0 : x7 = XEXP (x5, 1);
3246 : 0 : x8 = XEXP (x7, 0);
3247 : 0 : x9 = XEXP (x8, 0);
3248 : 0 : operands[1] = x9;
3249 : 0 : if (!register_operand (operands[1], E_SImode))
3250 : : return -1;
3251 : 0 : x10 = XEXP (x8, 1);
3252 : 0 : operands[2] = x10;
3253 : 0 : if (!nonimmediate_operand (operands[2], E_SImode))
3254 : : return -1;
3255 : 0 : x11 = XEXP (x2, 0);
3256 : 0 : operands[3] = x11;
3257 : 0 : if (!scratch_operand (operands[3], E_SImode))
3258 : : return -1;
3259 : : return 0;
3260 : : }
3261 : :
3262 : : int
3263 : 3400 : pattern821 (rtx x1, int i1, int i2, int i3)
3264 : : {
3265 : 3400 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3266 : 3400 : rtx x2, x3, x4, x5, x6, x7, x8;
3267 : 3400 : int res ATTRIBUTE_UNUSED;
3268 : 3400 : x2 = XVECEXP (x1, 0, 0);
3269 : 3400 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3270 : : return -1;
3271 : 1057 : x3 = XVECEXP (x1, 0, 1);
3272 : 1057 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3273 : : return -1;
3274 : 1024 : x4 = XVECEXP (x1, 0, 2);
3275 : 1024 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3276 : : return -1;
3277 : 1024 : x5 = XVECEXP (x1, 0, 3);
3278 : 1024 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3279 : : return -1;
3280 : 1024 : x6 = XVECEXP (x1, 0, 4);
3281 : 1024 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
3282 : : return -1;
3283 : 999 : x7 = XVECEXP (x1, 0, 5);
3284 : 999 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
3285 : : return -1;
3286 : 990 : x8 = XVECEXP (x1, 0, 6);
3287 : 990 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
3288 : 0 : return -1;
3289 : : return 0;
3290 : : }
3291 : :
3292 : : int
3293 : 144 : pattern831 (rtx x1, machine_mode i1)
3294 : : {
3295 : 144 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3296 : 144 : int res ATTRIBUTE_UNUSED;
3297 : 144 : if (GET_MODE (x1) != i1
3298 : 144 : || !register_operand (operands[3], i1)
3299 : 120 : || !nonmemory_operand (operands[4], i1)
3300 : 264 : || !const0_operand (operands[5], i1))
3301 : 72 : return -1;
3302 : : return 0;
3303 : : }
3304 : :
3305 : : int
3306 : 18407 : pattern835 (machine_mode i1)
3307 : : {
3308 : 18407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3309 : 18407 : int res ATTRIBUTE_UNUSED;
3310 : 18407 : if (!register_operand (operands[0], i1)
3311 : 18258 : || !ix86_comparison_int_operator (operands[1], i1)
3312 : 18150 : || !register_operand (operands[2], i1)
3313 : 28396 : || !register_operand (operands[3], i1))
3314 : 18272 : return -1;
3315 : : return 0;
3316 : : }
3317 : :
3318 : : int
3319 : 3199 : pattern839 (rtx x1)
3320 : : {
3321 : 3199 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3322 : 3199 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3323 : 3199 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3324 : 3199 : rtx x18, x19;
3325 : 3199 : int res ATTRIBUTE_UNUSED;
3326 : 3199 : x2 = XEXP (x1, 1);
3327 : 3199 : x3 = XEXP (x2, 0);
3328 : 3199 : if (GET_CODE (x3) != VEC_CONCAT)
3329 : : return -1;
3330 : 3191 : x4 = XEXP (x1, 0);
3331 : 3191 : x5 = XEXP (x4, 0);
3332 : 3191 : x6 = XEXP (x5, 0);
3333 : 3191 : operands[1] = x6;
3334 : 3191 : x7 = XEXP (x5, 1);
3335 : 3191 : operands[2] = x7;
3336 : 3191 : x8 = XEXP (x3, 0);
3337 : 3191 : if (!rtx_equal_p (x8, operands[1]))
3338 : : return -1;
3339 : 2669 : x9 = XEXP (x3, 1);
3340 : 2669 : if (!rtx_equal_p (x9, operands[2]))
3341 : : return -1;
3342 : 2659 : x10 = XEXP (x4, 1);
3343 : 2659 : switch (XVECLEN (x10, 0))
3344 : : {
3345 : 1264 : case 4:
3346 : 1264 : x11 = XVECEXP (x10, 0, 0);
3347 : 1264 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3348 : : return -1;
3349 : 669 : x12 = XVECEXP (x10, 0, 1);
3350 : 669 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3351 : : return -1;
3352 : 669 : x13 = XVECEXP (x10, 0, 2);
3353 : 669 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3354 : : return -1;
3355 : 669 : x14 = XVECEXP (x10, 0, 3);
3356 : 669 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3357 : : return -1;
3358 : 669 : x15 = XEXP (x2, 1);
3359 : 669 : if (XVECLEN (x15, 0) != 4)
3360 : : return -1;
3361 : 669 : x16 = XVECEXP (x15, 0, 0);
3362 : 669 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3363 : : return -1;
3364 : 669 : x17 = XVECEXP (x15, 0, 1);
3365 : 669 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3366 : : return -1;
3367 : 669 : x18 = XVECEXP (x15, 0, 2);
3368 : 669 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3369 : : return -1;
3370 : 669 : x19 = XVECEXP (x15, 0, 3);
3371 : 669 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3372 : 669 : || pattern838 (x1,
3373 : : E_V8HImode,
3374 : : E_V4HImode) != 0)
3375 : 379 : return -1;
3376 : : return 0;
3377 : :
3378 : 392 : case 2:
3379 : 392 : x11 = XVECEXP (x10, 0, 0);
3380 : 392 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3381 : : return -1;
3382 : 370 : x12 = XVECEXP (x10, 0, 1);
3383 : 370 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3384 : : return -1;
3385 : 370 : x15 = XEXP (x2, 1);
3386 : 370 : if (XVECLEN (x15, 0) != 2)
3387 : : return -1;
3388 : 370 : x16 = XVECEXP (x15, 0, 0);
3389 : 370 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3390 : : return -1;
3391 : 370 : x17 = XVECEXP (x15, 0, 1);
3392 : 370 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
3393 : 370 : || pattern838 (x1,
3394 : : E_V4SImode,
3395 : : E_V2SImode) != 0)
3396 : 72 : return -1;
3397 : : return 1;
3398 : :
3399 : : default:
3400 : : return -1;
3401 : : }
3402 : : }
3403 : :
3404 : : int
3405 : 55681 : pattern871 (rtx x1, machine_mode i1, machine_mode i2)
3406 : : {
3407 : 55681 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3408 : 55681 : rtx x2, x3, x4;
3409 : 55681 : int res ATTRIBUTE_UNUSED;
3410 : 55681 : if (!register_operand (operands[0], i1)
3411 : 55681 : || GET_MODE (x1) != i1)
3412 : : return -1;
3413 : 55020 : x2 = XEXP (x1, 0);
3414 : 55020 : if (GET_MODE (x2) != i1)
3415 : : return -1;
3416 : 55020 : x3 = XEXP (x2, 0);
3417 : 55020 : operands[2] = x3;
3418 : 55020 : if (!nonimmediate_operand (operands[2], i2))
3419 : : return -1;
3420 : 45329 : x4 = XEXP (x1, 1);
3421 : 45329 : operands[1] = x4;
3422 : 45329 : if (!register_operand (operands[1], i1))
3423 : : return -1;
3424 : : return 0;
3425 : : }
3426 : :
3427 : : int
3428 : 4435 : pattern882 (rtx x1)
3429 : : {
3430 : 4435 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3431 : 4435 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3432 : 4435 : rtx x10, x11, x12;
3433 : 4435 : int res ATTRIBUTE_UNUSED;
3434 : 4435 : if (!register_operand (operands[3], E_QImode))
3435 : : return -1;
3436 : 4151 : x2 = XEXP (x1, 0);
3437 : 4151 : x3 = XEXP (x2, 0);
3438 : 4151 : x4 = XEXP (x3, 1);
3439 : 4151 : switch (XVECLEN (x4, 0))
3440 : : {
3441 : 1281 : case 8:
3442 : 1281 : x5 = XVECEXP (x4, 0, 0);
3443 : 1281 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3444 : : return -1;
3445 : 1281 : x6 = XVECEXP (x4, 0, 1);
3446 : 1281 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3447 : : return -1;
3448 : 1281 : x7 = XVECEXP (x4, 0, 2);
3449 : 1281 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3450 : : return -1;
3451 : 1281 : x8 = XVECEXP (x4, 0, 3);
3452 : 1281 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3453 : : return -1;
3454 : 1281 : x9 = XVECEXP (x4, 0, 4);
3455 : 1281 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3456 : : return -1;
3457 : 1281 : x10 = XVECEXP (x4, 0, 5);
3458 : 1281 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3459 : : return -1;
3460 : 1281 : x11 = XVECEXP (x4, 0, 6);
3461 : 1281 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3462 : : return -1;
3463 : 1281 : x12 = XVECEXP (x4, 0, 7);
3464 : 1281 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3465 : 1281 : || GET_MODE (x3) != E_V8QImode
3466 : 2562 : || !register_operand (operands[1], E_V16QImode))
3467 : 8 : return -1;
3468 : 1273 : switch (GET_MODE (operands[0]))
3469 : : {
3470 : 399 : case E_V8HImode:
3471 : 399 : return pattern136 (x1,
3472 : 399 : E_V8HImode); /* [-1, 0] */
3473 : :
3474 : 410 : case E_V8SImode:
3475 : 410 : if (pattern136 (x1,
3476 : : E_V8SImode) != 0)
3477 : : return -1;
3478 : : return 1;
3479 : :
3480 : 464 : case E_V8DImode:
3481 : 464 : if (pattern136 (x1,
3482 : : E_V8DImode) != 0)
3483 : : return -1;
3484 : : return 2;
3485 : :
3486 : : default:
3487 : : return -1;
3488 : : }
3489 : :
3490 : 1645 : case 4:
3491 : 1645 : x5 = XVECEXP (x4, 0, 0);
3492 : 1645 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3493 : : return -1;
3494 : 1645 : x6 = XVECEXP (x4, 0, 1);
3495 : 1645 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3496 : : return -1;
3497 : 1645 : x7 = XVECEXP (x4, 0, 2);
3498 : 1645 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3499 : : return -1;
3500 : 1645 : x8 = XVECEXP (x4, 0, 3);
3501 : 1645 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3502 : : return -1;
3503 : 1645 : switch (GET_MODE (operands[0]))
3504 : : {
3505 : 810 : case E_V4SImode:
3506 : 810 : res = pattern881 (x1,
3507 : : E_V4SImode);
3508 : 810 : if (res >= 0)
3509 : 782 : return res + 3; /* [3, 4] */
3510 : : return -1;
3511 : :
3512 : 835 : case E_V4DImode:
3513 : 835 : res = pattern881 (x1,
3514 : : E_V4DImode);
3515 : 835 : if (res >= 0)
3516 : 745 : return res + 5; /* [5, 6] */
3517 : : return -1;
3518 : :
3519 : : default:
3520 : : return -1;
3521 : : }
3522 : :
3523 : 1225 : case 2:
3524 : 1225 : x5 = XVECEXP (x4, 0, 0);
3525 : 1225 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3526 : : return -1;
3527 : 1225 : x6 = XVECEXP (x4, 0, 1);
3528 : 1225 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
3529 : 1225 : || !register_operand (operands[0], E_V2DImode)
3530 : 1171 : || GET_MODE (x1) != E_V2DImode
3531 : 1171 : || GET_MODE (x2) != E_V2DImode
3532 : 2396 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3533 : 97 : return -1;
3534 : 1128 : switch (GET_MODE (x3))
3535 : : {
3536 : 388 : case E_V2QImode:
3537 : 388 : if (!register_operand (operands[1], E_V16QImode))
3538 : : return -1;
3539 : : return 7;
3540 : :
3541 : 370 : case E_V2HImode:
3542 : 370 : if (!register_operand (operands[1], E_V8HImode))
3543 : : return -1;
3544 : : return 8;
3545 : :
3546 : 370 : case E_V2SImode:
3547 : 370 : if (!register_operand (operands[1], E_V4SImode))
3548 : : return -1;
3549 : : return 9;
3550 : :
3551 : : default:
3552 : : return -1;
3553 : : }
3554 : :
3555 : : default:
3556 : : return -1;
3557 : : }
3558 : : }
3559 : :
3560 : : int
3561 : 242774 : pattern921 (rtx x1)
3562 : : {
3563 : 242774 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3564 : 242774 : rtx x2, x3, x4, x5, x6;
3565 : 242774 : int res ATTRIBUTE_UNUSED;
3566 : 242774 : x2 = XEXP (x1, 0);
3567 : 242774 : operands[0] = x2;
3568 : 242774 : x3 = XEXP (x1, 1);
3569 : 242774 : x4 = XEXP (x3, 0);
3570 : 242774 : x5 = XEXP (x4, 0);
3571 : 242774 : operands[2] = x5;
3572 : 242774 : x6 = XEXP (x3, 1);
3573 : 242774 : operands[1] = x6;
3574 : 242774 : switch (GET_MODE (operands[0]))
3575 : : {
3576 : 202352 : case E_DImode:
3577 : 202352 : return pattern920 (x3,
3578 : : E_DImode,
3579 : 202352 : E_SImode); /* [-1, 0] */
3580 : :
3581 : 3204 : case E_TImode:
3582 : 3204 : if (pattern920 (x3,
3583 : : E_TImode,
3584 : : E_DImode) != 0)
3585 : : return -1;
3586 : : return 1;
3587 : :
3588 : : default:
3589 : : return -1;
3590 : : }
3591 : : }
3592 : :
3593 : : int
3594 : 55 : pattern928 (rtx x1, machine_mode i1)
3595 : : {
3596 : 55 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3597 : 55 : rtx x2, x3, x4, x5;
3598 : 55 : int res ATTRIBUTE_UNUSED;
3599 : 55 : if (!register_operand (operands[0], i1)
3600 : 55 : || GET_MODE (x1) != i1)
3601 : : return -1;
3602 : 55 : x2 = XEXP (x1, 0);
3603 : 55 : if (GET_MODE (x2) != i1)
3604 : : return -1;
3605 : 55 : x3 = XVECEXP (x2, 0, 2);
3606 : 55 : if (GET_MODE (x3) != i1)
3607 : : return -1;
3608 : 55 : x4 = XEXP (x1, 1);
3609 : 55 : if (GET_MODE (x4) != i1)
3610 : : return -1;
3611 : 55 : x5 = XEXP (x4, 0);
3612 : 55 : if (GET_MODE (x5) != i1)
3613 : 0 : return -1;
3614 : : return 0;
3615 : : }
3616 : :
3617 : : int
3618 : 103537 : pattern937 (rtx x1, machine_mode i1)
3619 : : {
3620 : 103537 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3621 : 103537 : int res ATTRIBUTE_UNUSED;
3622 : 103537 : if (!nonimmediate_operand (operands[0], i1)
3623 : 103535 : || GET_MODE (x1) != i1
3624 : 103535 : || !nonimmediate_operand (operands[1], i1)
3625 : 206988 : || !float_vector_all_ones_operand (operands[2], i1))
3626 : 103530 : return -1;
3627 : : return 0;
3628 : : }
3629 : :
3630 : : int
3631 : 3089321 : pattern941 (rtx x1, machine_mode i1, machine_mode i2)
3632 : : {
3633 : 3089321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3634 : 3089321 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3635 : 3089321 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3636 : 3089321 : rtx x18;
3637 : 3089321 : int res ATTRIBUTE_UNUSED;
3638 : 3089321 : x2 = XEXP (x1, 0);
3639 : 3089321 : operands[2] = x2;
3640 : 3089321 : if (!general_reg_operand (operands[2], i2))
3641 : : return -1;
3642 : 1958971 : x3 = XEXP (x1, 1);
3643 : 1958971 : operands[3] = x3;
3644 : 1958971 : if (!general_reg_operand (operands[3], i2))
3645 : : return -1;
3646 : 340291 : x4 = PATTERN (peep2_next_insn (2));
3647 : 340291 : if (GET_CODE (x4) != PARALLEL)
3648 : : return -1;
3649 : 24620 : switch (XVECLEN (x4, 0))
3650 : : {
3651 : 14187 : case 2:
3652 : 14187 : x5 = XVECEXP (x4, 0, 0);
3653 : 14187 : if (GET_CODE (x5) != SET)
3654 : : return -1;
3655 : 14162 : x6 = XEXP (x5, 1);
3656 : 14162 : if (GET_CODE (x6) != MULT)
3657 : : return -1;
3658 : 2342 : x7 = XEXP (x5, 0);
3659 : 2342 : operands[4] = x7;
3660 : 2342 : x8 = XEXP (x6, 0);
3661 : 2342 : switch (GET_CODE (x8))
3662 : : {
3663 : 1613 : case ZERO_EXTEND:
3664 : 1613 : if (GET_MODE (x8) != i1)
3665 : : return -1;
3666 : 1613 : x9 = XEXP (x6, 1);
3667 : 1613 : if (GET_CODE (x9) != ZERO_EXTEND
3668 : 1613 : || GET_MODE (x9) != i1)
3669 : : return -1;
3670 : 1613 : x10 = XVECEXP (x4, 0, 1);
3671 : 1613 : if (GET_CODE (x10) != CLOBBER)
3672 : : return -1;
3673 : 1613 : x11 = XEXP (x10, 0);
3674 : 1613 : if (GET_CODE (x11) != REG
3675 : 1613 : || REGNO (x11) != 17
3676 : 1613 : || GET_MODE (x11) != E_CCmode
3677 : 1613 : || !general_reg_operand (operands[4], i1)
3678 : 3226 : || GET_MODE (x6) != i1)
3679 : 0 : return -1;
3680 : 1613 : x12 = XEXP (x8, 0);
3681 : 1613 : if (!rtx_equal_p (x12, operands[2]))
3682 : : return -1;
3683 : 1608 : x13 = XEXP (x9, 0);
3684 : 1608 : if (!rtx_equal_p (x13, operands[0]))
3685 : : return -1;
3686 : : return 0;
3687 : :
3688 : 441 : case REG:
3689 : 441 : if (!rtx_equal_p (x8, operands[2]))
3690 : : return -1;
3691 : 437 : x10 = XVECEXP (x4, 0, 1);
3692 : 437 : if (GET_CODE (x10) != SET)
3693 : : return -1;
3694 : 4 : x14 = XEXP (x10, 1);
3695 : 4 : if (GET_CODE (x14) != UMUL_HIGHPART
3696 : 4 : || GET_MODE (x14) != i2
3697 : 4 : || !general_reg_operand (operands[4], i2)
3698 : 8 : || GET_MODE (x6) != i2)
3699 : 0 : return -1;
3700 : 4 : x11 = XEXP (x10, 0);
3701 : 4 : operands[5] = x11;
3702 : 4 : if (!general_reg_operand (operands[5], i2))
3703 : : return -1;
3704 : 4 : x9 = XEXP (x6, 1);
3705 : 4 : if (!rtx_equal_p (x9, operands[0]))
3706 : : return -1;
3707 : 4 : x15 = XEXP (x14, 0);
3708 : 4 : if (!rtx_equal_p (x15, operands[2]))
3709 : : return -1;
3710 : 4 : x16 = XEXP (x14, 1);
3711 : 4 : if (!rtx_equal_p (x16, operands[0]))
3712 : : return -1;
3713 : : return 1;
3714 : :
3715 : : default:
3716 : : return -1;
3717 : : }
3718 : :
3719 : 9046 : case 3:
3720 : 9046 : x5 = XVECEXP (x4, 0, 0);
3721 : 9046 : if (GET_CODE (x5) != SET)
3722 : : return -1;
3723 : 9046 : x10 = XVECEXP (x4, 0, 1);
3724 : 9046 : if (GET_CODE (x10) != CLOBBER)
3725 : : return -1;
3726 : 7679 : x17 = XVECEXP (x4, 0, 2);
3727 : 7679 : if (GET_CODE (x17) != CLOBBER)
3728 : : return -1;
3729 : 7679 : x18 = XEXP (x17, 0);
3730 : 7679 : if (GET_CODE (x18) != REG
3731 : 7677 : || REGNO (x18) != 17
3732 : 15356 : || GET_MODE (x18) != E_CCmode)
3733 : : return -1;
3734 : 7677 : x7 = XEXP (x5, 0);
3735 : 7677 : operands[4] = x7;
3736 : 7677 : return 2;
3737 : :
3738 : : default:
3739 : : return -1;
3740 : : }
3741 : : }
3742 : :
3743 : : int
3744 : 326 : pattern967 (rtx x1, machine_mode i1)
3745 : : {
3746 : 326 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3747 : 326 : rtx x2;
3748 : 326 : int res ATTRIBUTE_UNUSED;
3749 : 326 : if (!register_operand (operands[0], i1)
3750 : 326 : || GET_MODE (x1) != i1)
3751 : : return -1;
3752 : 326 : x2 = XEXP (x1, 0);
3753 : 326 : return pattern966 (x2); /* [-1, 20] */
3754 : : }
3755 : :
3756 : : int
3757 : 0 : pattern970 (rtx x1, machine_mode i1)
3758 : : {
3759 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3760 : 0 : rtx x2, x3;
3761 : 0 : int res ATTRIBUTE_UNUSED;
3762 : 0 : if (!register_operand (operands[0], i1)
3763 : 0 : || GET_MODE (x1) != i1)
3764 : : return -1;
3765 : 0 : x2 = XEXP (x1, 0);
3766 : 0 : if (GET_MODE (x2) != i1)
3767 : : return -1;
3768 : 0 : x3 = XEXP (x2, 0);
3769 : 0 : if (GET_MODE (x3) != i1
3770 : 0 : || !nonimmediate_operand (operands[1], i1))
3771 : 0 : return -1;
3772 : : return 0;
3773 : : }
3774 : :
3775 : : int
3776 : 1588 : pattern973 (rtx x1)
3777 : : {
3778 : 1588 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3779 : 1588 : rtx x2;
3780 : 1588 : int res ATTRIBUTE_UNUSED;
3781 : 1588 : if (!register_operand (operands[0], E_DImode)
3782 : 1588 : || GET_MODE (x1) != E_DImode)
3783 : : return -1;
3784 : 1562 : x2 = XEXP (x1, 0);
3785 : 1562 : if (GET_MODE (x2) != E_DImode
3786 : 1562 : || !register_operand (operands[1], E_V64QImode)
3787 : 1446 : || !nonimmediate_operand (operands[2], E_V64QImode)
3788 : 3006 : || !const_0_to_7_operand (operands[3], E_SImode))
3789 : 118 : return -1;
3790 : : return 0;
3791 : : }
3792 : :
3793 : : int
3794 : 514 : pattern977 (rtx x1)
3795 : : {
3796 : 514 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3797 : 514 : rtx x2;
3798 : 514 : int res ATTRIBUTE_UNUSED;
3799 : 514 : if (!register_operand (operands[0], E_V16SImode)
3800 : 514 : || GET_MODE (x1) != E_V16SImode)
3801 : : return -1;
3802 : 459 : x2 = XEXP (x1, 0);
3803 : 459 : if (GET_MODE (x2) != E_V16SImode
3804 : 459 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
3805 : 891 : || !register_operand (operands[3], E_HImode))
3806 : 96 : return -1;
3807 : 363 : switch (GET_MODE (operands[1]))
3808 : : {
3809 : 198 : case E_V16HFmode:
3810 : 198 : if (!vector_operand (operands[1], E_V16HFmode))
3811 : : return -1;
3812 : : return 0;
3813 : :
3814 : 165 : case E_V16SFmode:
3815 : 165 : if (!vector_operand (operands[1], E_V16SFmode))
3816 : : return -1;
3817 : : return 1;
3818 : :
3819 : : default:
3820 : : return -1;
3821 : : }
3822 : : }
3823 : :
3824 : : int
3825 : 1171 : pattern984 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3826 : : {
3827 : 1171 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3828 : 1171 : rtx x2, x3;
3829 : 1171 : int res ATTRIBUTE_UNUSED;
3830 : 1171 : if (GET_MODE (x1) != i3)
3831 : : return -1;
3832 : 1171 : x2 = XEXP (x1, 0);
3833 : 1171 : if (GET_MODE (x2) != i3
3834 : 1171 : || !register_operand (operands[1], i2))
3835 : 9 : return -1;
3836 : 1162 : x3 = XEXP (x1, 2);
3837 : 1162 : if (!register_operand (x3, i1))
3838 : : return -1;
3839 : : return 0;
3840 : : }
3841 : :
3842 : : int
3843 : 174 : pattern993 (rtx x1)
3844 : : {
3845 : 174 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3846 : 174 : rtx x2, x3, x4, x5;
3847 : 174 : int res ATTRIBUTE_UNUSED;
3848 : 174 : x2 = XEXP (x1, 0);
3849 : 174 : x3 = XEXP (x2, 0);
3850 : 174 : x4 = XEXP (x3, 0);
3851 : 174 : operands[2] = x4;
3852 : 174 : x5 = XEXP (x1, 1);
3853 : 174 : operands[1] = x5;
3854 : 174 : switch (GET_MODE (operands[0]))
3855 : : {
3856 : 28 : case E_V8HImode:
3857 : 28 : return pattern992 (x1,
3858 : : E_V8HImode,
3859 : 28 : E_HImode); /* [-1, 0] */
3860 : :
3861 : 0 : case E_V8HFmode:
3862 : 0 : if (pattern992 (x1,
3863 : : E_V8HFmode,
3864 : : E_HFmode) != 0)
3865 : : return -1;
3866 : : return 1;
3867 : :
3868 : 0 : case E_V8BFmode:
3869 : 0 : if (pattern992 (x1,
3870 : : E_V8BFmode,
3871 : : E_BFmode) != 0)
3872 : : return -1;
3873 : : return 2;
3874 : :
3875 : : default:
3876 : : return -1;
3877 : : }
3878 : : }
3879 : :
3880 : : int
3881 : 221 : pattern1003 (rtx x1, machine_mode i1)
3882 : : {
3883 : 221 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3884 : 221 : rtx x2;
3885 : 221 : int res ATTRIBUTE_UNUSED;
3886 : 221 : if (!register_operand (operands[0], i1)
3887 : 221 : || GET_MODE (x1) != i1)
3888 : : return -1;
3889 : 213 : x2 = XVECEXP (x1, 0, 0);
3890 : 213 : if (GET_MODE (x2) != i1
3891 : 213 : || !register_operand (operands[1], i1))
3892 : 7 : return -1;
3893 : : return 0;
3894 : : }
3895 : :
3896 : : int
3897 : 177 : pattern1008 (rtx x1, machine_mode i1, machine_mode i2)
3898 : : {
3899 : 177 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3900 : 177 : rtx x2;
3901 : 177 : int res ATTRIBUTE_UNUSED;
3902 : 177 : x2 = XVECEXP (x1, 0, 0);
3903 : 177 : if (GET_MODE (x2) != i2
3904 : 177 : || !register_operand (operands[0], i2)
3905 : 173 : || GET_MODE (x1) != i2
3906 : 173 : || !register_operand (operands[1], i1)
3907 : 350 : || !const48_operand (operands[2], E_SImode))
3908 : 4 : return -1;
3909 : : return 0;
3910 : : }
3911 : :
3912 : : int
3913 : 23959 : pattern1014 (rtx x1, machine_mode i1)
3914 : : {
3915 : 23959 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3916 : 23959 : int res ATTRIBUTE_UNUSED;
3917 : 23959 : if (!register_operand (operands[0], i1)
3918 : 23479 : || GET_MODE (x1) != i1
3919 : 23479 : || !register_operand (operands[1], i1)
3920 : 18325 : || !vector_operand (operands[2], i1)
3921 : 39359 : || !register_operand (operands[3], i1))
3922 : 11252 : return -1;
3923 : : return 0;
3924 : : }
3925 : :
3926 : : int
3927 : 1312 : pattern1020 (rtx x1, machine_mode i1, machine_mode i2)
3928 : : {
3929 : 1312 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3930 : 1312 : rtx x2;
3931 : 1312 : int res ATTRIBUTE_UNUSED;
3932 : 1312 : if (!nonimmediate_operand (operands[0], i2)
3933 : 1312 : || GET_MODE (x1) != i2
3934 : 2624 : || !nonimmediate_operand (operands[1], i1))
3935 : 0 : return -1;
3936 : 1312 : x2 = XEXP (x1, 1);
3937 : 1312 : if (GET_MODE (x2) != i1)
3938 : : return -1;
3939 : : return 0;
3940 : : }
3941 : :
3942 : : int
3943 : 9827 : pattern1028 (rtx x1)
3944 : : {
3945 : 9827 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3946 : 9827 : rtx x2, x3, x4;
3947 : 9827 : int res ATTRIBUTE_UNUSED;
3948 : 9827 : x2 = XEXP (x1, 0);
3949 : 9827 : x3 = XEXP (x2, 0);
3950 : 9827 : operands[1] = x3;
3951 : 9827 : x4 = XEXP (x2, 1);
3952 : 9827 : operands[2] = x4;
3953 : 9827 : return pattern1027 (x1); /* [-1, 5] */
3954 : : }
3955 : :
3956 : : int
3957 : 328 : pattern1029 (rtx x1, machine_mode i1)
3958 : : {
3959 : 328 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3960 : 328 : rtx x2, x3, x4, x5, x6;
3961 : 328 : int res ATTRIBUTE_UNUSED;
3962 : 328 : if (!register_operand (operands[0], i1))
3963 : : return -1;
3964 : 328 : x2 = XVECEXP (x1, 0, 0);
3965 : 328 : x3 = XEXP (x2, 1);
3966 : 328 : if (GET_MODE (x3) != i1)
3967 : : return -1;
3968 : 328 : x4 = XEXP (x3, 0);
3969 : 328 : switch (GET_MODE (x4))
3970 : : {
3971 : 70 : case E_HImode:
3972 : 70 : if (!register_operand (operands[4], E_HImode))
3973 : : return -1;
3974 : 70 : x5 = XVECEXP (x1, 0, 1);
3975 : 70 : x6 = XEXP (x5, 1);
3976 : 70 : if (GET_MODE (x6) != E_HImode)
3977 : : return -1;
3978 : 70 : switch (GET_MODE (operands[1]))
3979 : : {
3980 : 14 : case E_V16SImode:
3981 : 14 : if (!nonimmediate_operand (operands[1], E_V16SImode)
3982 : 12 : || !nonimmediate_operand (operands[2], E_V16SImode)
3983 : 26 : || !const_0_to_7_operand (operands[3], E_SImode))
3984 : 2 : return -1;
3985 : : return 0;
3986 : :
3987 : 14 : case E_V16HFmode:
3988 : 14 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
3989 : 12 : || !nonimmediate_operand (operands[2], E_V16HFmode)
3990 : 26 : || !const_0_to_31_operand (operands[3], E_SImode))
3991 : 2 : return -1;
3992 : : return 1;
3993 : :
3994 : 14 : case E_V16SFmode:
3995 : 14 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
3996 : 12 : || !nonimmediate_operand (operands[2], E_V16SFmode)
3997 : 26 : || !const_0_to_31_operand (operands[3], E_SImode))
3998 : 2 : return -1;
3999 : : return 2;
4000 : :
4001 : 14 : case E_V16QImode:
4002 : 14 : if (!nonimmediate_operand (operands[1], E_V16QImode)
4003 : 12 : || !nonimmediate_operand (operands[2], E_V16QImode)
4004 : 26 : || !const_0_to_7_operand (operands[3], E_SImode))
4005 : 2 : return -1;
4006 : : return 3;
4007 : :
4008 : 14 : case E_V16HImode:
4009 : 14 : if (!nonimmediate_operand (operands[1], E_V16HImode)
4010 : 12 : || !nonimmediate_operand (operands[2], E_V16HImode)
4011 : 26 : || !const_0_to_7_operand (operands[3], E_SImode))
4012 : 2 : return -1;
4013 : : return 4;
4014 : :
4015 : : default:
4016 : : return -1;
4017 : : }
4018 : :
4019 : 237 : case E_QImode:
4020 : 237 : if (!register_operand (operands[4], E_QImode))
4021 : : return -1;
4022 : 237 : x5 = XVECEXP (x1, 0, 1);
4023 : 237 : x6 = XEXP (x5, 1);
4024 : 237 : if (GET_MODE (x6) != E_QImode)
4025 : : return -1;
4026 : 237 : switch (GET_MODE (operands[1]))
4027 : : {
4028 : 21 : case E_V8SImode:
4029 : 21 : if (!nonimmediate_operand (operands[1], E_V8SImode)
4030 : 18 : || !nonimmediate_operand (operands[2], E_V8SImode)
4031 : 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4032 : 3 : return -1;
4033 : : return 5;
4034 : :
4035 : 21 : case E_V4SImode:
4036 : 21 : if (!nonimmediate_operand (operands[1], E_V4SImode)
4037 : 18 : || !nonimmediate_operand (operands[2], E_V4SImode)
4038 : 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4039 : 3 : return -1;
4040 : : return 6;
4041 : :
4042 : 21 : case E_V8DImode:
4043 : 21 : if (!nonimmediate_operand (operands[1], E_V8DImode)
4044 : 18 : || !nonimmediate_operand (operands[2], E_V8DImode)
4045 : 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4046 : 3 : return -1;
4047 : : return 7;
4048 : :
4049 : 21 : case E_V4DImode:
4050 : 21 : if (!nonimmediate_operand (operands[1], E_V4DImode)
4051 : 18 : || !nonimmediate_operand (operands[2], E_V4DImode)
4052 : 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4053 : 3 : return -1;
4054 : : return 8;
4055 : :
4056 : 21 : case E_V2DImode:
4057 : 21 : if (!nonimmediate_operand (operands[1], E_V2DImode)
4058 : 18 : || !nonimmediate_operand (operands[2], E_V2DImode)
4059 : 39 : || !const_0_to_7_operand (operands[3], E_SImode))
4060 : 3 : return -1;
4061 : : return 9;
4062 : :
4063 : 15 : case E_V8HFmode:
4064 : 15 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
4065 : 15 : || !nonimmediate_operand (operands[2], E_V8HFmode)
4066 : 30 : || !const_0_to_31_operand (operands[3], E_SImode))
4067 : 0 : return -1;
4068 : : return 10;
4069 : :
4070 : 21 : case E_V8SFmode:
4071 : 21 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
4072 : 18 : || !nonimmediate_operand (operands[2], E_V8SFmode)
4073 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4074 : 3 : return -1;
4075 : : return 11;
4076 : :
4077 : 21 : case E_V4SFmode:
4078 : 21 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
4079 : 18 : || !nonimmediate_operand (operands[2], E_V4SFmode)
4080 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4081 : 3 : return -1;
4082 : : return 12;
4083 : :
4084 : 21 : case E_V8DFmode:
4085 : 21 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
4086 : 18 : || !nonimmediate_operand (operands[2], E_V8DFmode)
4087 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4088 : 3 : return -1;
4089 : : return 13;
4090 : :
4091 : 21 : case E_V4DFmode:
4092 : 21 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
4093 : 18 : || !nonimmediate_operand (operands[2], E_V4DFmode)
4094 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4095 : 3 : return -1;
4096 : : return 14;
4097 : :
4098 : 21 : case E_V2DFmode:
4099 : 21 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
4100 : 18 : || !nonimmediate_operand (operands[2], E_V2DFmode)
4101 : 39 : || !const_0_to_31_operand (operands[3], E_SImode))
4102 : 3 : return -1;
4103 : : return 15;
4104 : :
4105 : 12 : case E_V8HImode:
4106 : 12 : if (!nonimmediate_operand (operands[1], E_V8HImode)
4107 : 12 : || !nonimmediate_operand (operands[2], E_V8HImode)
4108 : 24 : || !const_0_to_7_operand (operands[3], E_SImode))
4109 : 0 : return -1;
4110 : : return 16;
4111 : :
4112 : : default:
4113 : : return -1;
4114 : : }
4115 : :
4116 : 21 : case E_SImode:
4117 : 21 : if (!register_operand (operands[4], E_SImode))
4118 : : return -1;
4119 : 21 : x5 = XVECEXP (x1, 0, 1);
4120 : 21 : x6 = XEXP (x5, 1);
4121 : 21 : if (GET_MODE (x6) != E_SImode)
4122 : : return -1;
4123 : 21 : switch (GET_MODE (operands[1]))
4124 : : {
4125 : 7 : case E_V32HFmode:
4126 : 7 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
4127 : 6 : || !nonimmediate_operand (operands[2], E_V32HFmode)
4128 : 13 : || !const_0_to_31_operand (operands[3], E_SImode))
4129 : 1 : return -1;
4130 : : return 17;
4131 : :
4132 : 7 : case E_V32QImode:
4133 : 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
4134 : 6 : || !nonimmediate_operand (operands[2], E_V32QImode)
4135 : 13 : || !const_0_to_7_operand (operands[3], E_SImode))
4136 : 1 : return -1;
4137 : : return 18;
4138 : :
4139 : 7 : case E_V32HImode:
4140 : 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4141 : 6 : || !nonimmediate_operand (operands[2], E_V32HImode)
4142 : 13 : || !const_0_to_7_operand (operands[3], E_SImode))
4143 : 1 : return -1;
4144 : : return 19;
4145 : :
4146 : : default:
4147 : : return -1;
4148 : : }
4149 : :
4150 : 0 : case E_DImode:
4151 : 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
4152 : 0 : || !nonimmediate_operand (operands[2], E_V64QImode)
4153 : 0 : || !const_0_to_7_operand (operands[3], E_SImode)
4154 : 0 : || !register_operand (operands[4], E_DImode))
4155 : 0 : return -1;
4156 : 0 : x5 = XVECEXP (x1, 0, 1);
4157 : 0 : x6 = XEXP (x5, 1);
4158 : 0 : if (GET_MODE (x6) != E_DImode)
4159 : : return -1;
4160 : : return 20;
4161 : :
4162 : : default:
4163 : : return -1;
4164 : : }
4165 : : }
4166 : :
4167 : : int
4168 : 6034 : pattern1108 (rtx x1, machine_mode i1)
4169 : : {
4170 : 6034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4171 : 6034 : int res ATTRIBUTE_UNUSED;
4172 : 6034 : if (!register_operand (operands[0], i1)
4173 : 4706 : || GET_MODE (x1) != i1
4174 : 4706 : || !vector_operand (operands[2], i1)
4175 : 4553 : || !register_operand (operands[1], i1)
4176 : 9653 : || !const_0_to_15_operand (operands[3], E_SImode))
4177 : 2445 : return -1;
4178 : : return 0;
4179 : : }
4180 : :
4181 : : int
4182 : 357 : pattern1114 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4183 : : {
4184 : 357 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4185 : 357 : rtx x2, x3, x4;
4186 : 357 : int res ATTRIBUTE_UNUSED;
4187 : 357 : if (!register_operand (operands[0], i2)
4188 : 357 : || GET_MODE (x1) != i2)
4189 : : return -1;
4190 : 357 : x2 = XEXP (x1, 0);
4191 : 357 : if (GET_MODE (x2) != i2)
4192 : : return -1;
4193 : 357 : x3 = XEXP (x2, 0);
4194 : 357 : if (GET_MODE (x3) != i4
4195 : 357 : || !register_operand (operands[1], i3))
4196 : 0 : return -1;
4197 : 357 : x4 = XEXP (x2, 1);
4198 : 357 : if (GET_MODE (x4) != i4
4199 : 357 : || !vector_operand (operands[2], i3)
4200 : 357 : || !nonimm_or_0_operand (operands[3], i2)
4201 : 712 : || !register_operand (operands[4], i1))
4202 : 7 : return -1;
4203 : : return 0;
4204 : : }
4205 : :
4206 : : int
4207 : 350 : pattern1124 (rtx x1)
4208 : : {
4209 : 350 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4210 : 350 : rtx x2;
4211 : 350 : int res ATTRIBUTE_UNUSED;
4212 : 350 : x2 = XVECEXP (x1, 0, 0);
4213 : 350 : if (GET_MODE (x2) != E_V32HFmode
4214 : 350 : || !register_operand (operands[0], E_V32HFmode)
4215 : 324 : || GET_MODE (x1) != E_V32HFmode
4216 : 324 : || !register_operand (operands[1], E_V32HFmode)
4217 : 308 : || !register_operand (operands[2], E_V32HFmode)
4218 : 650 : || !const_4_or_8_to_11_operand (operands[3], E_SImode))
4219 : 50 : return -1;
4220 : : return 0;
4221 : : }
4222 : :
4223 : : int
4224 : 2373 : pattern1132 (rtx x1)
4225 : : {
4226 : 2373 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4227 : 2373 : rtx x2, x3, x4, x5;
4228 : 2373 : int res ATTRIBUTE_UNUSED;
4229 : 2373 : x2 = XVECEXP (x1, 0, 0);
4230 : 2373 : switch (XWINT (x2, 0))
4231 : : {
4232 : 1541 : case 0L:
4233 : 1541 : x3 = XVECEXP (x1, 0, 1);
4234 : 1541 : switch (XWINT (x3, 0))
4235 : : {
4236 : : case 1L:
4237 : : return 0;
4238 : :
4239 : 232 : case 2L:
4240 : 232 : return 1;
4241 : :
4242 : : default:
4243 : : return -1;
4244 : : }
4245 : :
4246 : 224 : case 1L:
4247 : 224 : x3 = XVECEXP (x1, 0, 1);
4248 : 224 : if (XWINT (x3, 0) != 3L)
4249 : : return -1;
4250 : 224 : x4 = XVECEXP (x1, 0, 2);
4251 : 224 : if (XWINT (x4, 0) != 5L)
4252 : : return -1;
4253 : 224 : x5 = XVECEXP (x1, 0, 3);
4254 : 224 : if (XWINT (x5, 0) != 7L)
4255 : : return -1;
4256 : : return 2;
4257 : :
4258 : : default:
4259 : : return -1;
4260 : : }
4261 : : }
4262 : :
4263 : : int
4264 : 0 : pattern1143 (rtx x1)
4265 : : {
4266 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4267 : 0 : rtx x2;
4268 : 0 : int res ATTRIBUTE_UNUSED;
4269 : 0 : if (XVECLEN (x1, 0) != 1
4270 : 0 : || XINT (x1, 1) != 20
4271 : 0 : || GET_MODE (x1) != E_SImode)
4272 : : return -1;
4273 : 0 : x2 = XVECEXP (x1, 0, 0);
4274 : 0 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4275 : 0 : return -1;
4276 : : return 0;
4277 : : }
4278 : :
4279 : : int
4280 : 912 : pattern1148 (rtx x1)
4281 : : {
4282 : 912 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4283 : 912 : rtx x2, x3, x4, x5, x6, x7;
4284 : 912 : int res ATTRIBUTE_UNUSED;
4285 : 912 : x2 = XEXP (x1, 0);
4286 : 912 : x3 = XEXP (x2, 0);
4287 : 912 : x4 = XEXP (x3, 1);
4288 : 912 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4289 : : return -1;
4290 : 678 : x5 = XEXP (x3, 0);
4291 : 678 : operands[3] = x5;
4292 : 678 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
4293 : : return -1;
4294 : 239 : x6 = XEXP (x2, 1);
4295 : 239 : operands[1] = x6;
4296 : 239 : x7 = XEXP (x1, 1);
4297 : 239 : operands[2] = x7;
4298 : 239 : switch (GET_MODE (operands[0]))
4299 : : {
4300 : 0 : case E_QImode:
4301 : 0 : return pattern1146 (x1,
4302 : 0 : E_QImode); /* [-1, 0] */
4303 : :
4304 : 0 : case E_HImode:
4305 : 0 : if (pattern1146 (x1,
4306 : : E_HImode) != 0)
4307 : : return -1;
4308 : : return 1;
4309 : :
4310 : 217 : case E_SImode:
4311 : 217 : if (pattern1147 (x1,
4312 : : E_SImode) != 0)
4313 : : return -1;
4314 : : return 2;
4315 : :
4316 : 22 : case E_DImode:
4317 : 22 : if (pattern1147 (x1,
4318 : : E_DImode) != 0)
4319 : : return -1;
4320 : : return 3;
4321 : :
4322 : : default:
4323 : : return -1;
4324 : : }
4325 : : }
4326 : :
4327 : : int
4328 : 119 : pattern1163 (rtx x1, machine_mode i1, machine_mode i2)
4329 : : {
4330 : 119 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4331 : 119 : rtx x2, x3;
4332 : 119 : int res ATTRIBUTE_UNUSED;
4333 : 119 : x2 = XEXP (x1, 0);
4334 : 119 : if (GET_MODE (x2) != E_SImode
4335 : 119 : || !register_operand (operands[0], i2)
4336 : 238 : || GET_MODE (x1) != i2)
4337 : 0 : return -1;
4338 : 119 : x3 = XEXP (x2, 0);
4339 : 119 : operands[1] = x3;
4340 : 119 : if (!nonimmediate_operand (operands[1], i1))
4341 : : return -1;
4342 : : return 0;
4343 : : }
4344 : :
4345 : : int
4346 : 42 : pattern1170 (rtx x1, machine_mode i1)
4347 : : {
4348 : 42 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4349 : 42 : int res ATTRIBUTE_UNUSED;
4350 : 42 : if (!register_operand (operands[0], i1)
4351 : 42 : || GET_MODE (x1) != i1
4352 : 42 : || !nonimmediate_operand (operands[2], i1)
4353 : 84 : || !nonimmediate_operand (operands[3], i1))
4354 : 0 : return -1;
4355 : 42 : return pattern1169 (); /* [-1, 3] */
4356 : : }
4357 : :
4358 : : int
4359 : 183 : pattern1177 (rtx x1, machine_mode i1)
4360 : : {
4361 : 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4362 : 183 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4363 : 183 : rtx x10, x11, x12;
4364 : 183 : int res ATTRIBUTE_UNUSED;
4365 : 183 : x2 = XVECEXP (x1, 0, 0);
4366 : 183 : x3 = XEXP (x2, 1);
4367 : 183 : x4 = XEXP (x3, 0);
4368 : 183 : if (!rtx_equal_p (x4, operands[0]))
4369 : : return -1;
4370 : 183 : x5 = XVECEXP (x1, 0, 1);
4371 : 183 : x6 = XEXP (x5, 1);
4372 : 183 : if (GET_CODE (x6) != MINUS)
4373 : : return -1;
4374 : 183 : x7 = XEXP (x2, 0);
4375 : 183 : if (GET_MODE (x7) != E_CCmode
4376 : 183 : || GET_MODE (x3) != E_CCmode)
4377 : : return -1;
4378 : 183 : x8 = XEXP (x3, 1);
4379 : 183 : operands[2] = x8;
4380 : 183 : if (!memory_operand (operands[2], i1))
4381 : : return -1;
4382 : 106 : x9 = XEXP (x6, 0);
4383 : 106 : if (!rtx_equal_p (x9, operands[0]))
4384 : : return -1;
4385 : 106 : x10 = XEXP (x6, 1);
4386 : 106 : if (!rtx_equal_p (x10, operands[2]))
4387 : : return -1;
4388 : 106 : x11 = PATTERN (peep2_next_insn (2));
4389 : 106 : x12 = XEXP (x11, 0);
4390 : 106 : if (!rtx_equal_p (x12, operands[1]))
4391 : : return -1;
4392 : : return 0;
4393 : : }
4394 : :
4395 : : int
4396 : 1090771 : pattern1186 (rtx x1, machine_mode i1)
4397 : : {
4398 : 1090771 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4399 : 1090771 : int res ATTRIBUTE_UNUSED;
4400 : 1090771 : if (!register_operand (operands[0], i1)
4401 : 1082837 : || GET_MODE (x1) != i1
4402 : 1082837 : || !ix86_comparison_operator (operands[1], E_VOIDmode)
4403 : 1082837 : || !nonimmediate_operand (operands[2], i1)
4404 : 2142974 : || !nonimmediate_operand (operands[3], i1))
4405 : 44076 : return -1;
4406 : : return 0;
4407 : : }
4408 : :
4409 : : int
4410 : 27108 : pattern1190 ()
4411 : : {
4412 : 27108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4413 : 27108 : int res ATTRIBUTE_UNUSED;
4414 : 27108 : switch (GET_MODE (operands[2]))
4415 : : {
4416 : 990 : case E_HImode:
4417 : 990 : if (!extract_high_operator (operands[2], E_HImode))
4418 : : return -1;
4419 : : return 0;
4420 : :
4421 : 12658 : case E_SImode:
4422 : 12658 : if (!extract_high_operator (operands[2], E_SImode))
4423 : : return -1;
4424 : : return 1;
4425 : :
4426 : 13460 : case E_DImode:
4427 : 13460 : if (!extract_high_operator (operands[2], E_DImode))
4428 : : return -1;
4429 : : return 2;
4430 : :
4431 : : default:
4432 : : return -1;
4433 : : }
4434 : : }
4435 : :
4436 : : int
4437 : 246 : pattern1197 (rtx x1, machine_mode i1)
4438 : : {
4439 : 246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4440 : 246 : rtx x2;
4441 : 246 : int res ATTRIBUTE_UNUSED;
4442 : 246 : if (!register_operand (operands[0], i1)
4443 : 246 : || GET_MODE (x1) != i1
4444 : 492 : || !register_operand (operands[2], i1))
4445 : 156 : return -1;
4446 : 90 : x2 = XVECEXP (x1, 0, 2);
4447 : 90 : if (GET_MODE (x2) != i1)
4448 : : return -1;
4449 : : return 0;
4450 : : }
4451 : :
4452 : : int
4453 : 725 : pattern1205 (rtx x1, int i1, int i2, int i3, int i4)
4454 : : {
4455 : 725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4456 : 725 : rtx x2, x3, x4, x5;
4457 : 725 : int res ATTRIBUTE_UNUSED;
4458 : 725 : x2 = XVECEXP (x1, 0, 0);
4459 : 725 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4460 : : return -1;
4461 : 725 : x3 = XVECEXP (x1, 0, 1);
4462 : 725 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4463 : : return -1;
4464 : 725 : x4 = XVECEXP (x1, 0, 2);
4465 : 725 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4466 : : return -1;
4467 : 725 : x5 = XVECEXP (x1, 0, 3);
4468 : 725 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4469 : 0 : return -1;
4470 : : return 0;
4471 : : }
4472 : :
4473 : : int
4474 : 27 : pattern1212 (rtx x1)
4475 : : {
4476 : 27 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4477 : 27 : rtx x2, x3, x4, x5, x6, x7;
4478 : 27 : int res ATTRIBUTE_UNUSED;
4479 : 27 : x2 = XVECEXP (x1, 0, 2);
4480 : 27 : x3 = XEXP (x2, 0);
4481 : 27 : x4 = XEXP (x3, 0);
4482 : 27 : if (maybe_ne (SUBREG_BYTE (x4), 0))
4483 : : return -1;
4484 : 27 : x5 = XEXP (x4, 0);
4485 : 27 : if (GET_CODE (x5) != NOT)
4486 : : return -1;
4487 : 9 : x6 = XEXP (x5, 0);
4488 : 9 : operands[3] = x6;
4489 : 9 : x7 = XEXP (x3, 1);
4490 : 9 : operands[4] = x7;
4491 : 9 : switch (GET_MODE (operands[0]))
4492 : : {
4493 : 9 : case E_V16QImode:
4494 : 9 : if (!register_operand (operands[0], E_V16QImode)
4495 : 9 : || GET_MODE (x1) != E_V16QImode
4496 : 9 : || !register_operand (operands[1], E_V16QImode)
4497 : 9 : || !vector_operand (operands[2], E_V16QImode)
4498 : 9 : || GET_MODE (x2) != E_V16QImode
4499 : 9 : || GET_MODE (x5) != E_V16QImode
4500 : 18 : || !register_operand (operands[3], E_V16QImode))
4501 : 0 : return -1;
4502 : 9 : switch (GET_MODE (x3))
4503 : : {
4504 : 9 : case E_V4SImode:
4505 : 9 : if (GET_MODE (x4) != E_V4SImode
4506 : 9 : || !const0_operand (operands[4], E_V4SImode))
4507 : 0 : return -1;
4508 : : return 0;
4509 : :
4510 : 0 : case E_V2DImode:
4511 : 0 : if (GET_MODE (x4) != E_V2DImode
4512 : 0 : || !const0_operand (operands[4], E_V2DImode))
4513 : 0 : return -1;
4514 : : return 1;
4515 : :
4516 : : default:
4517 : : return -1;
4518 : : }
4519 : :
4520 : 0 : case E_V32QImode:
4521 : 0 : if (!register_operand (operands[0], E_V32QImode)
4522 : 0 : || GET_MODE (x1) != E_V32QImode
4523 : 0 : || !register_operand (operands[1], E_V32QImode)
4524 : 0 : || !vector_operand (operands[2], E_V32QImode)
4525 : 0 : || GET_MODE (x2) != E_V32QImode
4526 : 0 : || GET_MODE (x5) != E_V32QImode
4527 : 0 : || !register_operand (operands[3], E_V32QImode))
4528 : 0 : return -1;
4529 : 0 : switch (GET_MODE (x3))
4530 : : {
4531 : 0 : case E_V8SImode:
4532 : 0 : if (GET_MODE (x4) != E_V8SImode
4533 : 0 : || !const0_operand (operands[4], E_V8SImode))
4534 : 0 : return -1;
4535 : : return 2;
4536 : :
4537 : 0 : case E_V4DImode:
4538 : 0 : if (GET_MODE (x4) != E_V4DImode
4539 : 0 : || !const0_operand (operands[4], E_V4DImode))
4540 : 0 : return -1;
4541 : : return 3;
4542 : :
4543 : : default:
4544 : : return -1;
4545 : : }
4546 : :
4547 : : default:
4548 : : return -1;
4549 : : }
4550 : : }
4551 : :
4552 : : int
4553 : 58 : pattern1233 (rtx x1)
4554 : : {
4555 : 58 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4556 : 58 : rtx x2, x3, x4, x5;
4557 : 58 : int res ATTRIBUTE_UNUSED;
4558 : 58 : x2 = XEXP (x1, 0);
4559 : 58 : x3 = XEXP (x2, 0);
4560 : 58 : x4 = XEXP (x3, 0);
4561 : 58 : operands[1] = x4;
4562 : 58 : x5 = XEXP (x3, 1);
4563 : 58 : operands[2] = x5;
4564 : 58 : if (!register_operand (operands[2], E_QImode))
4565 : : return -1;
4566 : 50 : switch (GET_MODE (operands[0]))
4567 : : {
4568 : 40 : case E_SImode:
4569 : 40 : return pattern1232 (x1,
4570 : 40 : E_SImode); /* [-1, 0] */
4571 : :
4572 : 10 : case E_DImode:
4573 : 10 : if (pattern1232 (x1,
4574 : : E_DImode) != 0)
4575 : : return -1;
4576 : : return 1;
4577 : :
4578 : : default:
4579 : : return -1;
4580 : : }
4581 : : }
4582 : :
4583 : : int
4584 : 103196 : pattern1243 (rtx x1, int i1)
4585 : : {
4586 : 103196 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4587 : 103196 : rtx x2, x3, x4, x5, x6, x7, x8;
4588 : 103196 : int res ATTRIBUTE_UNUSED;
4589 : 103196 : if (GET_CODE (x1) != SET)
4590 : : return -1;
4591 : 75653 : x2 = XEXP (x1, 1);
4592 : 75653 : if (GET_CODE (x2) != COMPARE
4593 : 32380 : || GET_MODE (x2) != E_CCZmode)
4594 : : return -1;
4595 : 21245 : x3 = XEXP (x2, 1);
4596 : 21245 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4597 : : return -1;
4598 : 8941 : x4 = XEXP (x1, 0);
4599 : 8941 : if (GET_CODE (x4) != REG
4600 : 8941 : || REGNO (x4) != 17
4601 : 17882 : || GET_MODE (x4) != E_CCZmode)
4602 : : return -1;
4603 : 8941 : x5 = XEXP (x2, 0);
4604 : 8941 : if (!rtx_equal_p (x5, operands[0]))
4605 : : return -1;
4606 : 3301 : x6 = PATTERN (peep2_next_insn (2));
4607 : 3301 : if (GET_CODE (x6) != SET)
4608 : : return -1;
4609 : 3301 : x7 = XEXP (x6, 1);
4610 : 3301 : if (GET_CODE (x7) != IF_THEN_ELSE)
4611 : : return -1;
4612 : 3296 : x8 = XEXP (x7, 0);
4613 : 3296 : if (!bt_comparison_operator (x8, E_VOIDmode))
4614 : : return -1;
4615 : : return 0;
4616 : : }
4617 : :
4618 : : int
4619 : 0 : pattern1254 (rtx x1, machine_mode i1)
4620 : : {
4621 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4622 : 0 : rtx x2, x3;
4623 : 0 : int res ATTRIBUTE_UNUSED;
4624 : 0 : if (!nonimmediate_operand (operands[0], i1)
4625 : 0 : || GET_MODE (x1) != i1)
4626 : : return -1;
4627 : 0 : x2 = XEXP (x1, 0);
4628 : 0 : if (GET_MODE (x2) != i1
4629 : 0 : || !nonimmediate_operand (operands[1], i1))
4630 : 0 : return -1;
4631 : 0 : x3 = XEXP (x2, 1);
4632 : 0 : if (GET_MODE (x3) != i1
4633 : 0 : || !general_operand (operands[2], i1))
4634 : 0 : return -1;
4635 : : return 0;
4636 : : }
4637 : :
4638 : : int
4639 : 666 : pattern1262 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4640 : : {
4641 : 666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4642 : 666 : rtx x2;
4643 : 666 : int res ATTRIBUTE_UNUSED;
4644 : 666 : if (!register_operand (operands[0], i2)
4645 : 666 : || GET_MODE (x1) != i2)
4646 : : return -1;
4647 : 640 : x2 = XEXP (x1, 0);
4648 : 640 : if (GET_MODE (x2) != i2
4649 : 640 : || !register_operand (operands[1], i3)
4650 : 640 : || !nonimmediate_operand (operands[2], i3)
4651 : 640 : || !nonimm_or_0_operand (operands[4], i2)
4652 : 1259 : || !register_operand (operands[5], i1))
4653 : 54 : return -1;
4654 : : return 0;
4655 : : }
4656 : :
4657 : : int
4658 : 1509 : pattern1271 (rtx x1, machine_mode i1, machine_mode i2)
4659 : : {
4660 : 1509 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4661 : 1509 : int res ATTRIBUTE_UNUSED;
4662 : 1509 : if (!register_operand (operands[0], i2)
4663 : 1504 : || GET_MODE (x1) != i2
4664 : 1504 : || !vector_all_ones_operand (operands[1], i2)
4665 : 372 : || !const0_operand (operands[2], i2)
4666 : 372 : || !register_operand (operands[3], i1)
4667 : 1614 : || !nonimmediate_operand (operands[4], i1))
4668 : 1404 : return -1;
4669 : : return 0;
4670 : : }
4671 : :
4672 : : int
4673 : 1284 : pattern1277 (rtx x1, machine_mode i1, machine_mode i2)
4674 : : {
4675 : 1284 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4676 : 1284 : int res ATTRIBUTE_UNUSED;
4677 : 1284 : if (!nonimmediate_operand (operands[2], i2)
4678 : 1284 : || GET_MODE (x1) != i2
4679 : 1284 : || !nonimmediate_operand (operands[3], i2)
4680 : 2568 : || !register_operand (operands[4], i1))
4681 : 0 : return -1;
4682 : : return 0;
4683 : : }
4684 : :
4685 : : int
4686 : 666 : pattern1282 (rtx x1, machine_mode i1, machine_mode i2)
4687 : : {
4688 : 666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4689 : 666 : rtx x2, x3, x4;
4690 : 666 : int res ATTRIBUTE_UNUSED;
4691 : 666 : if (!register_operand (operands[0], i2)
4692 : 666 : || GET_MODE (x1) != i2)
4693 : : return -1;
4694 : 648 : x2 = XEXP (x1, 0);
4695 : 648 : if (GET_MODE (x2) != i2)
4696 : : return -1;
4697 : 648 : x3 = XEXP (x2, 0);
4698 : 648 : if (GET_MODE (x3) != i2
4699 : 648 : || !nonimmediate_operand (operands[1], i2))
4700 : 6 : return -1;
4701 : 642 : x4 = XEXP (x2, 2);
4702 : 642 : return pattern1277 (x4,
4703 : : i1,
4704 : 642 : i2); /* [-1, 0] */
4705 : : }
4706 : :
4707 : : int
4708 : 800 : pattern1291 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4709 : : {
4710 : 800 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4711 : 800 : rtx x2, x3;
4712 : 800 : int res ATTRIBUTE_UNUSED;
4713 : 800 : x2 = XVECEXP (x1, 0, 0);
4714 : 800 : x3 = XEXP (x2, 0);
4715 : 800 : if (GET_MODE (x3) != i2
4716 : 800 : || !register_operand (operands[0], i2)
4717 : 800 : || GET_MODE (x1) != i2
4718 : 800 : || GET_MODE (x2) != i2
4719 : 800 : || !register_operand (operands[1], i3)
4720 : 800 : || !nonimm_or_0_operand (operands[2], i2)
4721 : 800 : || !register_operand (operands[3], i1)
4722 : 1596 : || !const_4_or_8_to_11_operand (operands[4], E_SImode))
4723 : 4 : return -1;
4724 : : return 0;
4725 : : }
4726 : :
4727 : : int
4728 : 938 : pattern1298 (rtx x1, int i1)
4729 : : {
4730 : 938 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4731 : 938 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4732 : 938 : int res ATTRIBUTE_UNUSED;
4733 : 938 : if (XVECLEN (x1, 0) != i1)
4734 : : return -1;
4735 : 938 : x2 = XVECEXP (x1, 0, 0);
4736 : 938 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4737 : : return -1;
4738 : 938 : x3 = XVECEXP (x1, 0, 1);
4739 : 938 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
4740 : : return -1;
4741 : 938 : x4 = XVECEXP (x1, 0, 2);
4742 : 938 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
4743 : : return -1;
4744 : 938 : x5 = XVECEXP (x1, 0, 3);
4745 : 938 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
4746 : : return -1;
4747 : 938 : x6 = XVECEXP (x1, 0, 4);
4748 : 938 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4749 : : return -1;
4750 : 938 : x7 = XVECEXP (x1, 0, 5);
4751 : 938 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
4752 : : return -1;
4753 : 938 : x8 = XVECEXP (x1, 0, 6);
4754 : 938 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
4755 : : return -1;
4756 : 938 : x9 = XVECEXP (x1, 0, 7);
4757 : 938 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
4758 : 0 : return -1;
4759 : : return 0;
4760 : : }
4761 : :
4762 : : int
4763 : 108 : pattern1309 (rtx x1, machine_mode i1)
4764 : : {
4765 : 108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4766 : 108 : int res ATTRIBUTE_UNUSED;
4767 : 108 : if (!register_operand (operands[0], i1)
4768 : 108 : || GET_MODE (x1) != i1
4769 : 108 : || !register_operand (operands[1], i1)
4770 : 207 : || !general_operand (operands[2], i1))
4771 : 30 : return -1;
4772 : : return 0;
4773 : : }
4774 : :
4775 : : int
4776 : 1332 : pattern1316 (rtx x1, machine_mode i1)
4777 : : {
4778 : 1332 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4779 : 1332 : rtx x2;
4780 : 1332 : int res ATTRIBUTE_UNUSED;
4781 : 1332 : if (!nonimmediate_operand (operands[0], i1)
4782 : 1332 : || GET_MODE (x1) != i1)
4783 : : return -1;
4784 : 1332 : x2 = XEXP (x1, 0);
4785 : 1332 : if (GET_MODE (x2) != i1
4786 : 1332 : || !nonimmediate_operand (operands[1], i1)
4787 : 2206 : || !x86_64_general_operand (operands[2], i1))
4788 : 498 : return -1;
4789 : : return 0;
4790 : : }
4791 : :
4792 : : int
4793 : 1342023 : pattern1323 (rtx x1)
4794 : : {
4795 : 1342023 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4796 : 1342023 : rtx x2, x3;
4797 : 1342023 : int res ATTRIBUTE_UNUSED;
4798 : 1342023 : x2 = XEXP (x1, 0);
4799 : 1342023 : switch (GET_CODE (x2))
4800 : : {
4801 : 1338355 : case REG:
4802 : 1338355 : case SUBREG:
4803 : 1338355 : operands[0] = x2;
4804 : 1338355 : switch (GET_MODE (operands[0]))
4805 : : {
4806 : 832042 : case E_DImode:
4807 : 832042 : if (!register_operand (operands[0], E_DImode))
4808 : : return -1;
4809 : 832042 : x3 = XEXP (x1, 1);
4810 : 832042 : if (GET_MODE (x3) != E_DImode)
4811 : : return -1;
4812 : : return 0;
4813 : :
4814 : 25270 : case E_TImode:
4815 : 25270 : x3 = XEXP (x1, 1);
4816 : 25270 : if (pattern1321 (x3,
4817 : : E_TImode) != 0)
4818 : : return -1;
4819 : : return 1;
4820 : :
4821 : : default:
4822 : : return -1;
4823 : : }
4824 : :
4825 : 108 : case STRICT_LOW_PART:
4826 : 108 : res = pattern1322 (x1);
4827 : 108 : if (res >= 0)
4828 : 108 : return res + 2; /* [2, 3] */
4829 : : return -1;
4830 : :
4831 : : default:
4832 : : return -1;
4833 : : }
4834 : : }
4835 : :
4836 : : int
4837 : 2306 : pattern1338 (rtx x1, machine_mode i1)
4838 : : {
4839 : 2306 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4840 : 2306 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4841 : 2306 : rtx x10, x11, x12, x13, x14, x15, x16;
4842 : 2306 : int res ATTRIBUTE_UNUSED;
4843 : 2306 : x2 = XVECEXP (x1, 0, 0);
4844 : 2306 : x3 = XEXP (x2, 1);
4845 : 2306 : if (GET_MODE (x3) != i1)
4846 : : return -1;
4847 : 982 : x4 = XVECEXP (x1, 0, 1);
4848 : 982 : if (GET_CODE (x4) != CLOBBER)
4849 : : return -1;
4850 : 982 : x5 = XEXP (x4, 0);
4851 : 982 : if (GET_CODE (x5) != REG
4852 : 982 : || REGNO (x5) != 17
4853 : 1964 : || GET_MODE (x5) != E_CCmode)
4854 : : return -1;
4855 : 982 : x6 = XEXP (x2, 0);
4856 : 982 : operands[4] = x6;
4857 : 982 : if (!register_operand (operands[4], i1))
4858 : : return -1;
4859 : 852 : x7 = XEXP (x3, 0);
4860 : 852 : operands[3] = x7;
4861 : 852 : if (!register_operand (operands[3], i1))
4862 : : return -1;
4863 : 848 : x8 = XEXP (x3, 1);
4864 : 848 : operands[2] = x8;
4865 : 848 : if (!nonmemory_operand (operands[2], i1))
4866 : : return -1;
4867 : 433 : x9 = PATTERN (peep2_next_insn (2));
4868 : 433 : if (GET_CODE (x9) != SET)
4869 : : return -1;
4870 : 379 : x10 = XEXP (x9, 1);
4871 : 379 : if (!rtx_equal_p (x10, operands[4]))
4872 : : return -1;
4873 : 7 : x11 = XEXP (x9, 0);
4874 : 7 : if (!rtx_equal_p (x11, operands[1]))
4875 : : return -1;
4876 : 0 : x12 = PATTERN (peep2_next_insn (3));
4877 : 0 : if (GET_CODE (x12) != SET)
4878 : : return -1;
4879 : 0 : x13 = XEXP (x12, 1);
4880 : 0 : if (GET_CODE (x13) != COMPARE
4881 : 0 : || GET_MODE (x13) != E_CCZmode)
4882 : : return -1;
4883 : 0 : x14 = XEXP (x12, 0);
4884 : 0 : if (GET_CODE (x14) != REG
4885 : 0 : || REGNO (x14) != 17
4886 : 0 : || GET_MODE (x14) != E_CCZmode)
4887 : : return -1;
4888 : 0 : x15 = XEXP (x13, 0);
4889 : 0 : operands[5] = x15;
4890 : 0 : if (!register_operand (operands[5], i1))
4891 : : return -1;
4892 : 0 : x16 = XEXP (x13, 1);
4893 : 0 : operands[6] = x16;
4894 : 0 : if (!nonmemory_operand (operands[6], i1))
4895 : : return -1;
4896 : : return 0;
4897 : : }
4898 : :
4899 : : int
4900 : 276 : pattern1358 (rtx x1, machine_mode i1, machine_mode i2)
4901 : : {
4902 : 276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4903 : 276 : rtx x2;
4904 : 276 : int res ATTRIBUTE_UNUSED;
4905 : 276 : if (!register_operand (operands[0], i2)
4906 : 276 : || GET_MODE (x1) != i2)
4907 : : return -1;
4908 : 264 : x2 = XEXP (x1, 0);
4909 : 264 : if (GET_MODE (x2) != i2
4910 : 264 : || !register_operand (operands[1], i2)
4911 : 264 : || !register_operand (operands[2], i1)
4912 : 524 : || !nonimmediate_operand (operands[3], i1))
4913 : 4 : return -1;
4914 : : return 0;
4915 : : }
4916 : :
4917 : : int
4918 : 499 : pattern1366 (rtx x1, machine_mode i1)
4919 : : {
4920 : 499 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4921 : 499 : rtx x2;
4922 : 499 : int res ATTRIBUTE_UNUSED;
4923 : 499 : if (!register_operand (operands[0], i1)
4924 : 499 : || GET_MODE (x1) != i1)
4925 : : return -1;
4926 : 479 : x2 = XEXP (x1, 0);
4927 : 479 : if (GET_MODE (x2) != i1
4928 : 479 : || !nonimmediate_operand (operands[1], i1)
4929 : 476 : || !nonimmediate_operand (operands[2], i1)
4930 : 947 : || !nonimmediate_operand (operands[3], i1))
4931 : 11 : return -1;
4932 : : return 0;
4933 : : }
4934 : :
4935 : : int
4936 : 279 : pattern1375 (rtx x1, machine_mode i1, machine_mode i2)
4937 : : {
4938 : 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4939 : 279 : rtx x2, x3;
4940 : 279 : int res ATTRIBUTE_UNUSED;
4941 : 279 : if (!register_operand (operands[0], i2)
4942 : 279 : || GET_MODE (x1) != i2)
4943 : : return -1;
4944 : 273 : x2 = XEXP (x1, 0);
4945 : 273 : if (GET_MODE (x2) != i2)
4946 : : return -1;
4947 : 273 : x3 = XEXP (x2, 0);
4948 : 273 : if (GET_MODE (x3) != i2
4949 : 273 : || !nonimmediate_operand (operands[1], i2)
4950 : 546 : || pattern1363 (
4951 : : i1,
4952 : : i2) != 0)
4953 : 0 : return -1;
4954 : : return 0;
4955 : : }
4956 : :
4957 : : int
4958 : 1952 : pattern1384 (rtx x1, machine_mode i1)
4959 : : {
4960 : 1952 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4961 : 1952 : rtx x2, x3, x4;
4962 : 1952 : int res ATTRIBUTE_UNUSED;
4963 : 1952 : if (!register_operand (operands[0], i1)
4964 : 1952 : || GET_MODE (x1) != i1)
4965 : : return -1;
4966 : 1866 : x2 = XVECEXP (x1, 0, 0);
4967 : 1866 : if (GET_MODE (x2) != i1)
4968 : : return -1;
4969 : 1866 : x3 = XEXP (x2, 0);
4970 : 1866 : if (GET_MODE (x3) != i1)
4971 : : return -1;
4972 : 1866 : x4 = XEXP (x3, 0);
4973 : 1866 : if (GET_MODE (x4) != i1
4974 : 1866 : || !register_operand (operands[1], i1)
4975 : 1866 : || !register_operand (operands[2], i1)
4976 : 3732 : || !nonimm_or_0_operand (operands[4], i1))
4977 : 11 : return -1;
4978 : : return 0;
4979 : : }
4980 : :
4981 : : int
4982 : 2031 : pattern1394 (rtx x1, machine_mode i1)
4983 : : {
4984 : 2031 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4985 : 2031 : rtx x2, x3;
4986 : 2031 : int res ATTRIBUTE_UNUSED;
4987 : 2031 : if (!register_operand (operands[0], i1)
4988 : 2031 : || GET_MODE (x1) != i1)
4989 : : return -1;
4990 : 1919 : x2 = XVECEXP (x1, 0, 0);
4991 : 1919 : if (GET_MODE (x2) != i1)
4992 : : return -1;
4993 : 1919 : x3 = XEXP (x2, 0);
4994 : 1919 : if (GET_MODE (x3) != i1
4995 : 1919 : || !register_operand (operands[1], i1)
4996 : 3745 : || !register_operand (operands[2], i1))
4997 : 149 : return -1;
4998 : : return 0;
4999 : : }
5000 : :
5001 : : int
5002 : 124619 : pattern1403 (rtx x1, machine_mode i1, machine_mode i2)
5003 : : {
5004 : 124619 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5005 : 124619 : rtx x2;
5006 : 124619 : int res ATTRIBUTE_UNUSED;
5007 : 124619 : if (!register_operand (operands[0], i1)
5008 : 124619 : || GET_MODE (x1) != i1)
5009 : : return -1;
5010 : 123108 : x2 = XEXP (x1, 0);
5011 : 123108 : if (GET_MODE (x2) != i2
5012 : 122990 : || !register_operand (operands[1], i1)
5013 : 243862 : || !nonimmediate_operand (operands[2], i1))
5014 : 2955 : return -1;
5015 : : return 0;
5016 : : }
5017 : :
5018 : : int
5019 : 596 : pattern1408 (rtx x1, machine_mode i1)
5020 : : {
5021 : 596 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5022 : 596 : int res ATTRIBUTE_UNUSED;
5023 : 596 : if (!register_operand (operands[0], i1)
5024 : 596 : || GET_MODE (x1) != i1
5025 : 596 : || !nonimmediate_operand (operands[1], i1)
5026 : 1192 : || !register_operand (operands[2], i1))
5027 : 107 : return -1;
5028 : : return 0;
5029 : : }
5030 : :
5031 : : int
5032 : 447846 : pattern1414 (rtx x1, machine_mode i1)
5033 : : {
5034 : 447846 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5035 : 447846 : int res ATTRIBUTE_UNUSED;
5036 : 447846 : if (!nonimmediate_operand (operands[1], i1)
5037 : 447581 : || !x86_64_general_operand (operands[2], i1)
5038 : 443442 : || !nonimmediate_operand (operands[0], i1)
5039 : 891288 : || GET_MODE (x1) != i1)
5040 : 4404 : return -1;
5041 : : return 0;
5042 : : }
5043 : :
5044 : : int
5045 : 46976 : pattern1422 (rtx x1, machine_mode i1)
5046 : : {
5047 : 46976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5048 : 46976 : rtx x2;
5049 : 46976 : int res ATTRIBUTE_UNUSED;
5050 : 46976 : if (!register_operand (operands[0], i1)
5051 : 46976 : || GET_MODE (x1) != i1)
5052 : : return -1;
5053 : 44963 : x2 = XEXP (x1, 0);
5054 : 44963 : if (GET_MODE (x2) != i1
5055 : 44963 : || !register_operand (operands[1], i1)
5056 : 89192 : || !nonimmediate_operand (operands[2], i1))
5057 : 8182 : return -1;
5058 : : return 0;
5059 : : }
5060 : :
5061 : : int
5062 : 90963 : pattern1428 (rtx x1)
5063 : : {
5064 : 90963 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5065 : 90963 : rtx x2, x3, x4;
5066 : 90963 : int res ATTRIBUTE_UNUSED;
5067 : 90963 : x2 = XVECEXP (x1, 0, 0);
5068 : 90963 : x3 = XEXP (x2, 1);
5069 : 90963 : operands[1] = x3;
5070 : 90963 : x4 = XEXP (x2, 0);
5071 : 90963 : if (!rtx_equal_p (x4, operands[0]))
5072 : : return -1;
5073 : 89035 : switch (GET_MODE (operands[0]))
5074 : : {
5075 : 5492 : case E_QImode:
5076 : 5492 : return pattern1427 (x1,
5077 : 5492 : E_QImode); /* [-1, 0] */
5078 : :
5079 : 4044 : case E_HImode:
5080 : 4044 : if (pattern1427 (x1,
5081 : : E_HImode) != 0)
5082 : : return -1;
5083 : : return 1;
5084 : :
5085 : 56865 : case E_SImode:
5086 : 56865 : if (pattern1427 (x1,
5087 : : E_SImode) != 0)
5088 : : return -1;
5089 : : return 2;
5090 : :
5091 : 22634 : case E_DImode:
5092 : 22634 : if (pattern1427 (x1,
5093 : : E_DImode) != 0)
5094 : : return -1;
5095 : : return 3;
5096 : :
5097 : : default:
5098 : : return -1;
5099 : : }
5100 : : }
5101 : :
5102 : : int
5103 : 0 : pattern1440 (rtx x1)
5104 : : {
5105 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5106 : 0 : rtx x2, x3, x4, x5;
5107 : 0 : int res ATTRIBUTE_UNUSED;
5108 : 0 : x2 = XEXP (x1, 2);
5109 : 0 : x3 = XEXP (x2, 0);
5110 : 0 : x4 = XEXP (x3, 0);
5111 : 0 : operands[1] = x4;
5112 : 0 : x5 = XEXP (x3, 1);
5113 : 0 : operands[2] = x5;
5114 : 0 : if (!const_int_operand (operands[2], E_VOIDmode))
5115 : : return -1;
5116 : 0 : switch (GET_MODE (x1))
5117 : : {
5118 : 0 : case E_SImode:
5119 : 0 : return pattern1439 (x3,
5120 : 0 : E_SImode); /* [-1, 2] */
5121 : :
5122 : 0 : case E_DImode:
5123 : 0 : res = pattern1439 (x3,
5124 : : E_DImode);
5125 : 0 : if (res >= 0)
5126 : 0 : return res + 3; /* [3, 5] */
5127 : : return -1;
5128 : :
5129 : : default:
5130 : : return -1;
5131 : : }
5132 : : }
5133 : :
5134 : : int
5135 : 114 : pattern1451 (rtx x1, machine_mode i1, machine_mode i2)
5136 : : {
5137 : 114 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5138 : 114 : rtx x2, x3;
5139 : 114 : int res ATTRIBUTE_UNUSED;
5140 : 114 : if (!register_operand (operands[0], i1)
5141 : 114 : || GET_MODE (x1) != i1)
5142 : : return -1;
5143 : 108 : x2 = XEXP (x1, 0);
5144 : 108 : if (GET_MODE (x2) != i1)
5145 : : return -1;
5146 : 108 : x3 = XEXP (x2, 0);
5147 : 108 : if (GET_MODE (x3) != i2
5148 : 108 : || !register_operand (operands[2], i1))
5149 : 2 : return -1;
5150 : : return 0;
5151 : : }
5152 : :
5153 : : int
5154 : 27 : pattern1457 (rtx x1, machine_mode i1, machine_mode i2)
5155 : : {
5156 : 27 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5157 : 27 : rtx x2, x3;
5158 : 27 : int res ATTRIBUTE_UNUSED;
5159 : 27 : if (!register_operand (operands[0], i1)
5160 : 27 : || GET_MODE (x1) != i1
5161 : 27 : || !vector_operand (operands[1], i1)
5162 : 54 : || !vector_operand (operands[2], i1))
5163 : 0 : return -1;
5164 : 27 : x2 = XEXP (x1, 2);
5165 : 27 : if (GET_MODE (x2) != i2)
5166 : : return -1;
5167 : 27 : x3 = XVECEXP (x2, 0, 0);
5168 : 27 : if (GET_MODE (x3) != i1
5169 : 27 : || !register_operand (operands[3], E_VOIDmode)
5170 : 48 : || !const0_operand (operands[4], i1))
5171 : 14 : return -1;
5172 : : return 0;
5173 : : }
5174 : :
5175 : : int
5176 : 187 : pattern1466 (rtx x1)
5177 : : {
5178 : 187 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5179 : 187 : rtx x2, x3;
5180 : 187 : int res ATTRIBUTE_UNUSED;
5181 : 187 : if (!register_operand (operands[0], E_V2DFmode)
5182 : 187 : || GET_MODE (x1) != E_V2DFmode)
5183 : : return -1;
5184 : 178 : x2 = XVECEXP (x1, 0, 0);
5185 : 178 : if (GET_MODE (x2) != E_V2DFmode)
5186 : : return -1;
5187 : 178 : x3 = XEXP (x2, 0);
5188 : 178 : if (GET_MODE (x3) != E_V2DFmode)
5189 : 0 : return -1;
5190 : : return 0;
5191 : : }
5192 : :
5193 : : int
5194 : 226 : pattern1471 (rtx x1)
5195 : : {
5196 : 226 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5197 : 226 : rtx x2;
5198 : 226 : int res ATTRIBUTE_UNUSED;
5199 : 226 : if (!register_operand (operands[0], E_V4SFmode)
5200 : 226 : || GET_MODE (x1) != E_V4SFmode)
5201 : : return -1;
5202 : 222 : x2 = XEXP (x1, 0);
5203 : 222 : switch (GET_MODE (x2))
5204 : : {
5205 : 112 : case E_V4HFmode:
5206 : 112 : if (!memory_operand (operands[1], E_V8HFmode))
5207 : : return -1;
5208 : : return 0;
5209 : :
5210 : 110 : case E_V4BFmode:
5211 : 110 : if (!memory_operand (operands[1], E_V8BFmode))
5212 : : return -1;
5213 : : return 1;
5214 : :
5215 : : default:
5216 : : return -1;
5217 : : }
5218 : : }
5219 : :
5220 : : int
5221 : 32644 : pattern1482 (rtx x1)
5222 : : {
5223 : 32644 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5224 : 32644 : rtx x2, x3, x4, x5;
5225 : 32644 : int res ATTRIBUTE_UNUSED;
5226 : 32644 : if (!register_operand (operands[0], E_SImode))
5227 : : return -1;
5228 : 26028 : x2 = XVECEXP (x1, 0, 0);
5229 : 26028 : x3 = XEXP (x2, 1);
5230 : 26028 : if (GET_MODE (x3) != E_SImode
5231 : 26028 : || !nonimmediate_operand (operands[3], E_SImode)
5232 : 51632 : || !register_operand (operands[1], E_SImode))
5233 : 454 : return -1;
5234 : 25574 : x4 = XVECEXP (x1, 0, 1);
5235 : 25574 : x5 = XEXP (x4, 1);
5236 : 25574 : if (GET_MODE (x5) != E_SImode)
5237 : : return -1;
5238 : : return 0;
5239 : : }
5240 : :
5241 : : int
5242 : 92 : pattern1489 (rtx x1, rtx_code i1)
5243 : : {
5244 : 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5245 : 92 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5246 : 92 : rtx x10;
5247 : 92 : int res ATTRIBUTE_UNUSED;
5248 : 92 : x2 = XVECEXP (x1, 0, 1);
5249 : 92 : x3 = XEXP (x2, 1);
5250 : 92 : if (GET_CODE (x3) != i1)
5251 : : return -1;
5252 : 92 : x4 = XVECEXP (x1, 0, 0);
5253 : 92 : x5 = XEXP (x4, 0);
5254 : 92 : operands[1] = x5;
5255 : 92 : x6 = XEXP (x4, 1);
5256 : 92 : x7 = XEXP (x6, 0);
5257 : 92 : x8 = XEXP (x7, 0);
5258 : 92 : operands[2] = x8;
5259 : 92 : if (!register_operand (operands[2], E_SImode))
5260 : : return -1;
5261 : 92 : x9 = XEXP (x7, 1);
5262 : 92 : operands[3] = x9;
5263 : 92 : if (!nonimmediate_operand (operands[3], E_SImode))
5264 : : return -1;
5265 : 92 : x10 = XEXP (x2, 0);
5266 : 92 : operands[0] = x10;
5267 : 92 : return pattern1487 (x1); /* [-1, 1] */
5268 : : }
5269 : :
5270 : : int
5271 : 228 : pattern1499 (rtx x1, machine_mode i1)
5272 : : {
5273 : 228 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5274 : 228 : rtx x2, x3, x4;
5275 : 228 : int res ATTRIBUTE_UNUSED;
5276 : 228 : if (GET_MODE (x1) != i1)
5277 : : return -1;
5278 : 228 : x2 = XEXP (x1, 0);
5279 : 228 : if (GET_MODE (x2) != i1)
5280 : : return -1;
5281 : 228 : x3 = XEXP (x2, 0);
5282 : 228 : if (GET_MODE (x3) != i1)
5283 : : return -1;
5284 : 228 : x4 = XEXP (x3, 0);
5285 : 228 : if (GET_MODE (x4) != i1)
5286 : 0 : return -1;
5287 : : return 0;
5288 : : }
5289 : :
5290 : : int
5291 : 5450 : pattern1505 (rtx x1)
5292 : : {
5293 : 5450 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5294 : 5450 : rtx x2, x3, x4, x5, x6, x7;
5295 : 5450 : int res ATTRIBUTE_UNUSED;
5296 : 5450 : x2 = XVECEXP (x1, 0, 0);
5297 : 5450 : x3 = XEXP (x2, 0);
5298 : 5450 : x4 = XEXP (x3, 1);
5299 : 5450 : switch (GET_CODE (x4))
5300 : : {
5301 : 3784 : case REG:
5302 : 3784 : case SUBREG:
5303 : 3784 : case MEM:
5304 : 3784 : x5 = XEXP (x3, 2);
5305 : 3784 : operands[4] = x5;
5306 : 3784 : x6 = XVECEXP (x1, 0, 1);
5307 : 3784 : operands[5] = x6;
5308 : 3784 : switch (GET_MODE (operands[0]))
5309 : : {
5310 : : case E_V8HFmode:
5311 : : return 0;
5312 : :
5313 : : case E_V4SFmode:
5314 : : return 1;
5315 : :
5316 : : case E_V2DFmode:
5317 : : return 2;
5318 : :
5319 : : default:
5320 : : return -1;
5321 : : }
5322 : :
5323 : 1666 : case CONST_INT:
5324 : 1666 : case CONST_DOUBLE:
5325 : 1666 : case CONST_VECTOR:
5326 : 1666 : operands[4] = x4;
5327 : 1666 : x5 = XEXP (x3, 2);
5328 : 1666 : operands[5] = x5;
5329 : 1666 : x6 = XVECEXP (x1, 0, 1);
5330 : 1666 : operands[6] = x6;
5331 : 1666 : x7 = XEXP (x2, 1);
5332 : 1666 : if (!rtx_equal_p (x7, operands[1]))
5333 : : return -1;
5334 : 1666 : switch (GET_MODE (operands[0]))
5335 : : {
5336 : : case E_V8HFmode:
5337 : : return 3;
5338 : :
5339 : : case E_V4SFmode:
5340 : : return 4;
5341 : :
5342 : : case E_V2DFmode:
5343 : : return 5;
5344 : :
5345 : : default:
5346 : : return -1;
5347 : : }
5348 : :
5349 : : default:
5350 : : return -1;
5351 : : }
5352 : : }
5353 : :
5354 : : int
5355 : 4 : pattern1526 (rtx x1, machine_mode i1)
5356 : : {
5357 : 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5358 : 4 : int res ATTRIBUTE_UNUSED;
5359 : 4 : if (GET_MODE (x1) != i1
5360 : 4 : || !ix86_carry_flag_operator (operands[3], i1)
5361 : 4 : || !nonimmediate_operand (operands[1], i1)
5362 : 8 : || !x86_64_general_operand (operands[2], i1))
5363 : 0 : return -1;
5364 : : return 0;
5365 : : }
5366 : :
5367 : : int
5368 : 12 : pattern1532 (rtx x1, machine_mode i1)
5369 : : {
5370 : 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5371 : 12 : rtx x2, x3, x4, x5;
5372 : 12 : int res ATTRIBUTE_UNUSED;
5373 : 12 : if (!register_operand (operands[0], i1)
5374 : 12 : || GET_MODE (x1) != i1)
5375 : : return -1;
5376 : 6 : x2 = XEXP (x1, 0);
5377 : 6 : if (GET_MODE (x2) != i1)
5378 : : return -1;
5379 : 6 : x3 = XEXP (x2, 0);
5380 : 6 : if (GET_MODE (x3) != i1)
5381 : : return -1;
5382 : 6 : x4 = XEXP (x3, 0);
5383 : 6 : if (GET_MODE (x4) != i1
5384 : 6 : || !nonimmediate_operand (operands[2], i1)
5385 : 12 : || !nonimmediate_operand (operands[1], i1))
5386 : 0 : return -1;
5387 : 6 : x5 = XEXP (x3, 2);
5388 : 6 : if (GET_MODE (x5) != i1
5389 : 6 : || !nonimmediate_operand (operands[3], i1)
5390 : 12 : || !const0_operand (operands[4], i1))
5391 : 0 : return -1;
5392 : : return 0;
5393 : : }
5394 : :
5395 : : int
5396 : 523 : pattern1544 (rtx x1)
5397 : : {
5398 : 523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5399 : 523 : rtx x2, x3, x4, x5, x6, x7;
5400 : 523 : int res ATTRIBUTE_UNUSED;
5401 : 523 : x2 = XVECEXP (x1, 0, 2);
5402 : 523 : if (XWINT (x2, 0) != 2L)
5403 : : return -1;
5404 : 523 : x3 = XVECEXP (x1, 0, 3);
5405 : 523 : if (XWINT (x3, 0) != 3L)
5406 : : return -1;
5407 : 523 : x4 = XVECEXP (x1, 0, 4);
5408 : 523 : if (XWINT (x4, 0) != 4L)
5409 : : return -1;
5410 : 369 : x5 = XVECEXP (x1, 0, 5);
5411 : 369 : if (XWINT (x5, 0) != 5L)
5412 : : return -1;
5413 : 358 : x6 = XVECEXP (x1, 0, 6);
5414 : 358 : if (XWINT (x6, 0) != 6L)
5415 : : return -1;
5416 : 358 : x7 = XVECEXP (x1, 0, 7);
5417 : 358 : if (XWINT (x7, 0) != 7L)
5418 : 0 : return -1;
5419 : : return 0;
5420 : : }
5421 : :
5422 : : int
5423 : 0 : pattern1553 (rtx x1, machine_mode i1)
5424 : : {
5425 : 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5426 : 0 : rtx x2, x3;
5427 : 0 : int res ATTRIBUTE_UNUSED;
5428 : 0 : if (!nonimmediate_operand (operands[0], i1)
5429 : 0 : || GET_MODE (x1) != i1)
5430 : : return -1;
5431 : 0 : x2 = XEXP (x1, 0);
5432 : 0 : if (GET_MODE (x2) != i1
5433 : 0 : || !nonimmediate_operand (operands[1], i1))
5434 : 0 : return -1;
5435 : 0 : x3 = XEXP (x2, 1);
5436 : 0 : if (GET_MODE (x3) != i1
5437 : 0 : || !general_operand (operands[2], i1))
5438 : 0 : return -1;
5439 : : return 0;
5440 : : }
5441 : :
5442 : : int
5443 : 4 : pattern1561 (rtx x1)
5444 : : {
5445 : 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5446 : 4 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5447 : 4 : rtx x10, x11, x12;
5448 : 4 : int res ATTRIBUTE_UNUSED;
5449 : 4 : x2 = XVECEXP (x1, 0, 0);
5450 : 4 : x3 = XEXP (x2, 1);
5451 : 4 : x4 = XEXP (x3, 0);
5452 : 4 : x5 = XEXP (x4, 0);
5453 : 4 : x6 = XEXP (x5, 0);
5454 : 4 : operands[1] = x6;
5455 : 4 : x7 = XEXP (x4, 1);
5456 : 4 : if (!rtx_equal_p (x7, operands[1]))
5457 : : return -1;
5458 : 4 : x8 = XVECEXP (x1, 0, 1);
5459 : 4 : x9 = XEXP (x8, 1);
5460 : 4 : x10 = XEXP (x9, 0);
5461 : 4 : x11 = XEXP (x10, 0);
5462 : 4 : if (!rtx_equal_p (x11, operands[1]))
5463 : : return -1;
5464 : 4 : x12 = XEXP (x9, 1);
5465 : 4 : if (!rtx_equal_p (x12, operands[1]))
5466 : : return -1;
5467 : 4 : switch (GET_MODE (x4))
5468 : : {
5469 : 4 : case E_SImode:
5470 : 4 : return pattern1560 (x1,
5471 : 4 : E_SImode); /* [-1, 0] */
5472 : :
5473 : 0 : case E_DImode:
5474 : 0 : if (pattern1560 (x1,
5475 : : E_DImode) != 0)
5476 : : return -1;
5477 : : return 1;
5478 : :
5479 : : default:
5480 : : return -1;
5481 : : }
5482 : : }
5483 : :
5484 : : int
5485 : 1017 : pattern1575 (rtx x1, machine_mode i1, machine_mode i2)
5486 : : {
5487 : 1017 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5488 : 1017 : rtx x2, x3, x4;
5489 : 1017 : int res ATTRIBUTE_UNUSED;
5490 : 1017 : if (!register_operand (operands[0], i1)
5491 : 1017 : || GET_MODE (x1) != i1)
5492 : : return -1;
5493 : 977 : x2 = XVECEXP (x1, 0, 0);
5494 : 977 : if (GET_MODE (x2) != i1)
5495 : : return -1;
5496 : 977 : x3 = XEXP (x2, 0);
5497 : 977 : if (GET_MODE (x3) != i1
5498 : 977 : || !nonimmediate_operand (operands[1], i1)
5499 : 1944 : || !register_operand (operands[2], i1))
5500 : 19 : return -1;
5501 : 958 : x4 = XVECEXP (x3, 0, 2);
5502 : 958 : if (GET_MODE (x4) != i1
5503 : 958 : || !register_operand (operands[4], i2))
5504 : 10 : return -1;
5505 : : return 0;
5506 : : }
5507 : :
5508 : : int
5509 : 1223 : pattern1585 (rtx x1, machine_mode i1, machine_mode i2)
5510 : : {
5511 : 1223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5512 : 1223 : rtx x2, x3, x4;
5513 : 1223 : int res ATTRIBUTE_UNUSED;
5514 : 1223 : if (!register_operand (operands[0], i2)
5515 : 1223 : || GET_MODE (x1) != i2)
5516 : : return -1;
5517 : 1200 : x2 = XVECEXP (x1, 0, 0);
5518 : 1200 : if (GET_MODE (x2) != i2)
5519 : : return -1;
5520 : 1200 : x3 = XEXP (x2, 0);
5521 : 1200 : if (GET_MODE (x3) != i2)
5522 : : return -1;
5523 : 1200 : x4 = XEXP (x3, 0);
5524 : 1200 : if (GET_MODE (x4) != i2
5525 : 1200 : || !register_operand (operands[2], i2)
5526 : 2390 : || !register_operand (operands[4], i1))
5527 : 10 : return -1;
5528 : : return 0;
5529 : : }
5530 : :
5531 : : int
5532 : 156 : pattern1593 (machine_mode i1)
5533 : : {
5534 : 156 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5535 : 156 : int res ATTRIBUTE_UNUSED;
5536 : 156 : if (!vsib_address_operand (operands[0], i1))
5537 : : return -1;
5538 : 122 : switch (GET_MODE (operands[2]))
5539 : : {
5540 : 74 : case E_V4SImode:
5541 : 74 : if (!register_operand (operands[2], E_V4SImode))
5542 : : return -1;
5543 : : return 0;
5544 : :
5545 : 48 : case E_V4DImode:
5546 : 48 : if (!register_operand (operands[2], E_V4DImode))
5547 : : return -1;
5548 : : return 1;
5549 : :
5550 : : default:
5551 : : return -1;
5552 : : }
5553 : : }
5554 : :
5555 : : int
5556 : 30 : pattern1601 (machine_mode i1)
5557 : : {
5558 : 30 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5559 : 30 : int res ATTRIBUTE_UNUSED;
5560 : 30 : if (!vsib_address_operand (operands[3], i1))
5561 : : return -1;
5562 : 22 : switch (GET_MODE (operands[2]))
5563 : : {
5564 : 5 : case E_V8SImode:
5565 : 5 : if (!register_operand (operands[2], E_V8SImode))
5566 : : return -1;
5567 : : return 0;
5568 : :
5569 : 17 : case E_V4DImode:
5570 : 17 : if (!register_operand (operands[2], E_V4DImode))
5571 : : return -1;
5572 : : return 1;
5573 : :
5574 : : default:
5575 : : return -1;
5576 : : }
5577 : : }
5578 : :
5579 : : int
5580 : 184 : pattern1609 (rtx x1, int i1, int i2, int i3, int i4)
5581 : : {
5582 : 184 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5583 : 184 : rtx x2, x3, x4, x5;
5584 : 184 : int res ATTRIBUTE_UNUSED;
5585 : 184 : if (XVECLEN (x1, 0) != 4)
5586 : : return -1;
5587 : 184 : x2 = XVECEXP (x1, 0, 0);
5588 : 184 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5589 : : return -1;
5590 : 184 : x3 = XVECEXP (x1, 0, 1);
5591 : 184 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5592 : : return -1;
5593 : 184 : x4 = XVECEXP (x1, 0, 2);
5594 : 184 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5595 : : return -1;
5596 : 184 : x5 = XVECEXP (x1, 0, 3);
5597 : 184 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5598 : 0 : return -1;
5599 : : return 0;
5600 : : }
5601 : :
5602 : : int
5603 : 1 : pattern1619 (rtx x1, machine_mode i1)
5604 : : {
5605 : 1 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5606 : 1 : rtx x2;
5607 : 1 : int res ATTRIBUTE_UNUSED;
5608 : 1 : if (!register_operand (operands[0], i1)
5609 : 1 : || GET_MODE (x1) != i1)
5610 : : return -1;
5611 : 1 : x2 = XEXP (x1, 0);
5612 : 1 : if (GET_MODE (x2) != i1
5613 : 1 : || !nonimmediate_operand (operands[1], i1)
5614 : 2 : || !register_operand (operands[2], i1))
5615 : 0 : return -1;
5616 : : return 0;
5617 : : }
5618 : :
5619 : : int
5620 : 8 : pattern1629 (rtx x1, machine_mode i1)
5621 : : {
5622 : 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5623 : 8 : rtx x2, x3, x4, x5;
5624 : 8 : int res ATTRIBUTE_UNUSED;
5625 : 8 : if (!register_operand (operands[0], i1)
5626 : 8 : || GET_MODE (x1) != i1)
5627 : : return -1;
5628 : 8 : x2 = XEXP (x1, 0);
5629 : 8 : if (GET_MODE (x2) != i1)
5630 : : return -1;
5631 : 8 : x3 = XVECEXP (x2, 0, 2);
5632 : 8 : if (GET_MODE (x3) != i1)
5633 : : return -1;
5634 : 8 : x4 = XEXP (x1, 1);
5635 : 8 : if (GET_MODE (x4) != i1)
5636 : : return -1;
5637 : 8 : x5 = XEXP (x4, 0);
5638 : 8 : if (GET_MODE (x5) != i1)
5639 : 0 : return -1;
5640 : : return 0;
5641 : : }
5642 : :
5643 : : int
5644 : 451 : pattern1636 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5645 : : {
5646 : 451 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5647 : 451 : rtx x2, x3, x4, x5, x6, x7, x8;
5648 : 451 : int res ATTRIBUTE_UNUSED;
5649 : 451 : if (!register_operand (operands[0], i2)
5650 : 451 : || GET_MODE (x1) != i2)
5651 : : return -1;
5652 : 435 : x2 = XEXP (x1, 0);
5653 : 435 : if (GET_MODE (x2) != i2)
5654 : : return -1;
5655 : 435 : x3 = XEXP (x2, 0);
5656 : 435 : if (GET_MODE (x3) != i3)
5657 : : return -1;
5658 : 435 : x4 = XEXP (x3, 0);
5659 : 435 : if (GET_MODE (x4) != i3)
5660 : : return -1;
5661 : 435 : x5 = XEXP (x4, 0);
5662 : 435 : if (GET_MODE (x5) != i3)
5663 : : return -1;
5664 : 435 : x6 = XEXP (x5, 0);
5665 : 435 : if (GET_MODE (x6) != i3)
5666 : : return -1;
5667 : 435 : x7 = XEXP (x6, 0);
5668 : 435 : if (GET_MODE (x7) != i3
5669 : 435 : || !vector_operand (operands[1], i2))
5670 : 0 : return -1;
5671 : 435 : x8 = XEXP (x6, 1);
5672 : 435 : if (GET_MODE (x8) != i3
5673 : 435 : || !vector_operand (operands[2], i2)
5674 : 435 : || !const1_operand (operands[3], i2)
5675 : 435 : || !nonimm_or_0_operand (operands[4], i2)
5676 : 855 : || !register_operand (operands[5], i1))
5677 : 61 : return -1;
5678 : : return 0;
5679 : : }
5680 : :
5681 : : int
5682 : 446 : pattern1652 (rtx x1, machine_mode i1, machine_mode i2)
5683 : : {
5684 : 446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5685 : 446 : rtx x2, x3;
5686 : 446 : int res ATTRIBUTE_UNUSED;
5687 : 446 : if (!register_operand (operands[0], i2)
5688 : 440 : || GET_MODE (x1) != i2
5689 : 440 : || !register_operand (operands[1], i2)
5690 : 440 : || !register_operand (operands[7], E_QImode)
5691 : 769 : || !vsib_mem_operator (operands[6], i1))
5692 : 123 : return -1;
5693 : 323 : x2 = XVECEXP (x1, 0, 2);
5694 : 323 : x3 = XEXP (x2, 0);
5695 : 323 : switch (GET_MODE (x3))
5696 : : {
5697 : 0 : case E_SImode:
5698 : 0 : return pattern1651 (
5699 : 0 : E_SImode); /* [-1, 1] */
5700 : :
5701 : 323 : case E_DImode:
5702 : 323 : res = pattern1651 (
5703 : : E_DImode);
5704 : 323 : if (res >= 0)
5705 : 242 : return res + 2; /* [2, 3] */
5706 : : return -1;
5707 : :
5708 : : default:
5709 : : return -1;
5710 : : }
5711 : : }
5712 : :
5713 : : int
5714 : 506 : pattern1664 (rtx x1, machine_mode i1)
5715 : : {
5716 : 506 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5717 : 506 : rtx x2;
5718 : 506 : int res ATTRIBUTE_UNUSED;
5719 : 506 : if (!register_operand (operands[0], i1)
5720 : 506 : || GET_MODE (x1) != i1)
5721 : : return -1;
5722 : 452 : x2 = XEXP (x1, 0);
5723 : 452 : if (GET_MODE (x2) != i1
5724 : 452 : || !nonimmediate_operand (operands[1], i1)
5725 : 882 : || !nonimm_or_0_operand (operands[6], i1))
5726 : 42 : return -1;
5727 : : return 0;
5728 : : }
5729 : :
5730 : : int
5731 : 2 : pattern1672 (rtx x1, machine_mode i1)
5732 : : {
5733 : 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5734 : 2 : rtx x2, x3, x4;
5735 : 2 : int res ATTRIBUTE_UNUSED;
5736 : 2 : if (!register_operand (operands[0], i1)
5737 : 2 : || GET_MODE (x1) != i1)
5738 : : return -1;
5739 : 2 : x2 = XEXP (x1, 0);
5740 : 2 : if (GET_MODE (x2) != i1
5741 : 2 : || !nonimmediate_operand (operands[1], i1))
5742 : 0 : return -1;
5743 : 2 : x3 = XEXP (x1, 1);
5744 : 2 : if (GET_MODE (x3) != i1)
5745 : : return -1;
5746 : 2 : x4 = XEXP (x3, 0);
5747 : 2 : if (GET_MODE (x4) != i1)
5748 : : return -1;
5749 : : return 0;
5750 : : }
5751 : :
5752 : : int
5753 : 11 : pattern1679 (rtx x1, machine_mode i1)
5754 : : {
5755 : 11 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5756 : 11 : int res ATTRIBUTE_UNUSED;
5757 : 11 : if (!nonimmediate_operand (operands[1], i1)
5758 : 11 : || !register_operand (operands[0], i1)
5759 : 11 : || GET_MODE (x1) != i1
5760 : 22 : || !register_operand (operands[2], i1))
5761 : 0 : return -1;
5762 : : return 0;
5763 : : }
5764 : :
5765 : : int
5766 : 18 : pattern1683 (rtx x1, machine_mode i1)
5767 : : {
5768 : 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5769 : 18 : rtx x2, x3, x4, x5;
5770 : 18 : int res ATTRIBUTE_UNUSED;
5771 : 18 : x2 = XVECEXP (x1, 0, 0);
5772 : 18 : x3 = XEXP (x2, 0);
5773 : 18 : if (GET_MODE (x3) != i1
5774 : 18 : || !register_operand (operands[1], i1)
5775 : 36 : || !register_operand (operands[2], i1))
5776 : 0 : return -1;
5777 : 18 : x4 = XVECEXP (x1, 0, 1);
5778 : 18 : if (GET_MODE (x4) != i1)
5779 : : return -1;
5780 : 18 : x5 = XEXP (x4, 0);
5781 : 18 : if (GET_MODE (x5) != i1)
5782 : : return -1;
5783 : : return 0;
5784 : : }
5785 : :
5786 : : int
5787 : 447 : pattern1692 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5788 : : {
5789 : 447 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5790 : 447 : rtx x2, x3;
5791 : 447 : int res ATTRIBUTE_UNUSED;
5792 : 447 : if (!register_operand (operands[0], i2)
5793 : 447 : || GET_MODE (x1) != i2)
5794 : : return -1;
5795 : 441 : x2 = XVECEXP (x1, 0, 0);
5796 : 441 : if (GET_MODE (x2) != i2)
5797 : : return -1;
5798 : 441 : x3 = XEXP (x2, 0);
5799 : 441 : if (GET_MODE (x3) != i2
5800 : 441 : || !register_operand (operands[1], i2)
5801 : 441 : || !register_operand (operands[2], i2)
5802 : 441 : || !nonimmediate_operand (operands[3], i1)
5803 : 882 : || !register_operand (operands[5], i3))
5804 : 0 : return -1;
5805 : : return 0;
5806 : : }
5807 : :
5808 : : int
5809 : 94563 : pattern1701 (rtx x1)
5810 : : {
5811 : 94563 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5812 : 94563 : rtx x2, x3, x4, x5, x6, x7, x8;
5813 : 94563 : int res ATTRIBUTE_UNUSED;
5814 : 94563 : x2 = XEXP (x1, 1);
5815 : 94563 : x3 = XVECEXP (x2, 0, 4);
5816 : 94563 : if (XWINT (x3, 0) != 6L)
5817 : : return -1;
5818 : 94563 : x4 = XVECEXP (x2, 0, 5);
5819 : 94563 : if (XWINT (x4, 0) != 14L)
5820 : : return -1;
5821 : 94563 : x5 = XVECEXP (x2, 0, 6);
5822 : 94563 : if (XWINT (x5, 0) != 7L)
5823 : : return -1;
5824 : 94563 : x6 = XVECEXP (x2, 0, 7);
5825 : 94563 : if (XWINT (x6, 0) != 15L)
5826 : : return -1;
5827 : 94563 : x7 = XEXP (x1, 0);
5828 : 94563 : x8 = XEXP (x7, 1);
5829 : 94563 : operands[2] = x8;
5830 : 94563 : return 0;
5831 : : }
5832 : :
5833 : : int
5834 : 829 : pattern1710 (rtx x1, machine_mode i1, machine_mode i2)
5835 : : {
5836 : 829 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5837 : 829 : int res ATTRIBUTE_UNUSED;
5838 : 829 : if (!register_operand (operands[6], i1)
5839 : 829 : || !register_operand (operands[2], i2)
5840 : 1608 : || !scratch_operand (operands[1], i1))
5841 : 50 : return -1;
5842 : 779 : switch (GET_MODE (x1))
5843 : : {
5844 : 0 : case E_SImode:
5845 : 0 : if (!vsib_address_operand (operands[3], E_SImode))
5846 : : return -1;
5847 : : return 0;
5848 : :
5849 : 779 : case E_DImode:
5850 : 779 : if (!vsib_address_operand (operands[3], E_DImode))
5851 : : return -1;
5852 : : return 1;
5853 : :
5854 : : default:
5855 : : return -1;
5856 : : }
5857 : : }
5858 : :
5859 : : int
5860 : 214 : pattern1718 (machine_mode i1)
5861 : : {
5862 : 214 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5863 : 214 : int res ATTRIBUTE_UNUSED;
5864 : 214 : if (!vsib_address_operand (operands[3], i1))
5865 : : return -1;
5866 : 214 : switch (GET_MODE (operands[2]))
5867 : : {
5868 : 68 : case E_V4SImode:
5869 : 68 : if (!register_operand (operands[2], E_V4SImode))
5870 : : return -1;
5871 : : return 0;
5872 : :
5873 : 146 : case E_V2DImode:
5874 : 146 : if (!register_operand (operands[2], E_V2DImode))
5875 : : return -1;
5876 : : return 1;
5877 : :
5878 : : default:
5879 : : return -1;
5880 : : }
5881 : : }
5882 : :
5883 : : int
5884 : 517 : pattern1726 (rtx x1, machine_mode i1)
5885 : : {
5886 : 517 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5887 : 517 : rtx x2, x3, x4;
5888 : 517 : int res ATTRIBUTE_UNUSED;
5889 : 517 : if (!register_operand (operands[0], i1)
5890 : 517 : || GET_MODE (x1) != i1)
5891 : : return -1;
5892 : 492 : x2 = XVECEXP (x1, 0, 0);
5893 : 492 : if (GET_MODE (x2) != i1)
5894 : : return -1;
5895 : 492 : x3 = XEXP (x2, 0);
5896 : 492 : if (GET_MODE (x3) != i1)
5897 : : return -1;
5898 : 492 : x4 = XEXP (x3, 0);
5899 : 492 : if (GET_MODE (x4) != i1
5900 : 492 : || !register_operand (operands[2], i1)
5901 : 492 : || !nonimm_or_0_operand (operands[4], i1)
5902 : 981 : || !register_operand (operands[1], i1))
5903 : 3 : return -1;
5904 : : return 0;
5905 : : }
5906 : :
5907 : : int
5908 : 276 : pattern1733 (machine_mode i1)
5909 : : {
5910 : 276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5911 : 276 : int res ATTRIBUTE_UNUSED;
5912 : 276 : if (!vsib_address_operand (operands[3], i1))
5913 : : return -1;
5914 : 236 : switch (GET_MODE (operands[4]))
5915 : : {
5916 : 85 : case E_V4SImode:
5917 : 85 : if (!register_operand (operands[4], E_V4SImode))
5918 : : return -1;
5919 : : return 0;
5920 : :
5921 : 151 : case E_V2DImode:
5922 : 151 : if (!register_operand (operands[4], E_V2DImode))
5923 : : return -1;
5924 : : return 1;
5925 : :
5926 : : default:
5927 : : return -1;
5928 : : }
5929 : : }
5930 : :
5931 : : int
5932 : 1295 : pattern1742 (machine_mode i1)
5933 : : {
5934 : 1295 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5935 : 1295 : int res ATTRIBUTE_UNUSED;
5936 : 1295 : if (!vsib_address_operand (operands[4], i1))
5937 : : return -1;
5938 : 1295 : switch (GET_MODE (operands[3]))
5939 : : {
5940 : 616 : case E_V4SImode:
5941 : 616 : if (!register_operand (operands[3], E_V4SImode))
5942 : : return -1;
5943 : : return 0;
5944 : :
5945 : 679 : case E_V2DImode:
5946 : 679 : if (!register_operand (operands[3], E_V2DImode))
5947 : : return -1;
5948 : : return 1;
5949 : :
5950 : : default:
5951 : : return -1;
5952 : : }
5953 : : }
5954 : :
5955 : : int
5956 : 758 : pattern1749 (rtx x1, machine_mode i1, machine_mode i2)
5957 : : {
5958 : 758 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5959 : 758 : rtx x2, x3;
5960 : 758 : int res ATTRIBUTE_UNUSED;
5961 : 758 : if (!register_operand (operands[0], i1)
5962 : 758 : || GET_MODE (x1) != i1)
5963 : : return -1;
5964 : 689 : x2 = XEXP (x1, 0);
5965 : 689 : if (GET_MODE (x2) != i1)
5966 : : return -1;
5967 : 689 : x3 = XEXP (x2, 0);
5968 : 689 : if (GET_MODE (x3) != i2
5969 : 689 : || !register_operand (operands[1], i1)
5970 : 689 : || !nonimmediate_operand (operands[2], i1)
5971 : 672 : || !const_0_to_7_operand (operands[3], E_VOIDmode)
5972 : 672 : || !const_0_to_7_operand (operands[4], E_VOIDmode)
5973 : 642 : || !const_0_to_7_operand (operands[5], E_VOIDmode)
5974 : 642 : || !const_0_to_7_operand (operands[6], E_VOIDmode)
5975 : 642 : || !const_8_to_15_operand (operands[7], E_VOIDmode)
5976 : 642 : || !const_8_to_15_operand (operands[8], E_VOIDmode)
5977 : 642 : || !const_8_to_15_operand (operands[9], E_VOIDmode)
5978 : 642 : || !const_8_to_15_operand (operands[10], E_VOIDmode)
5979 : 1331 : || !nonimm_or_0_operand (operands[11], i1))
5980 : 54 : return -1;
5981 : : return 0;
5982 : : }
5983 : :
5984 : : int
5985 : 813 : pattern1765 (machine_mode i1)
5986 : : {
5987 : 813 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5988 : 813 : int res ATTRIBUTE_UNUSED;
5989 : 813 : if (!vsib_address_operand (operands[0], i1))
5990 : : return -1;
5991 : 794 : switch (GET_MODE (operands[2]))
5992 : : {
5993 : 400 : case E_V16SImode:
5994 : 400 : return pattern1763 (
5995 : : E_HImode,
5996 : : E_V16SFmode,
5997 : 400 : E_V16SImode); /* [-1, 0] */
5998 : :
5999 : 394 : case E_V8DImode:
6000 : 394 : if (pattern1763 (
6001 : : E_QImode,
6002 : : E_V8SFmode,
6003 : : E_V8DImode) != 0)
6004 : : return -1;
6005 : : return 1;
6006 : :
6007 : : default:
6008 : : return -1;
6009 : : }
6010 : : }
6011 : :
6012 : : int
6013 : 25 : pattern1772 (rtx x1, machine_mode i1)
6014 : : {
6015 : 25 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6016 : 25 : rtx x2, x3, x4, x5, x6, x7;
6017 : 25 : int res ATTRIBUTE_UNUSED;
6018 : 25 : if (!register_operand (operands[0], i1))
6019 : : return -1;
6020 : 25 : x2 = XVECEXP (x1, 0, 0);
6021 : 25 : x3 = XEXP (x2, 1);
6022 : 25 : if (GET_MODE (x3) != i1
6023 : 25 : || !register_operand (operands[1], i1))
6024 : 0 : return -1;
6025 : 25 : x4 = XVECEXP (x1, 0, 1);
6026 : 25 : x5 = XEXP (x4, 0);
6027 : 25 : if (GET_MODE (x5) != i1)
6028 : : return -1;
6029 : 25 : x6 = XEXP (x4, 1);
6030 : 25 : if (GET_MODE (x6) != i1)
6031 : : return -1;
6032 : 25 : x7 = XEXP (x6, 0);
6033 : 25 : if (GET_MODE (x7) != i1
6034 : 25 : || !const_int_operand (operands[2], i1))
6035 : 0 : return -1;
6036 : : return 0;
6037 : : }
6038 : :
6039 : : int
6040 : 662 : pattern1784 (rtx x1)
6041 : : {
6042 : 662 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6043 : 662 : rtx x2, x3, x4, x5, x6, x7;
6044 : 662 : int res ATTRIBUTE_UNUSED;
6045 : 662 : x2 = XEXP (x1, 1);
6046 : 662 : x3 = XEXP (x2, 0);
6047 : 662 : x4 = XEXP (x3, 1);
6048 : 662 : if (maybe_ne (SUBREG_BYTE (x4), 0)
6049 : 662 : || GET_MODE (x4) != E_QImode)
6050 : : return -1;
6051 : 662 : x5 = XEXP (x4, 0);
6052 : 662 : switch (GET_CODE (x5))
6053 : : {
6054 : 662 : case ASHIFTRT:
6055 : 662 : case LSHIFTRT:
6056 : 662 : case SIGN_EXTRACT:
6057 : 662 : case ZERO_EXTRACT:
6058 : 662 : operands[4] = x5;
6059 : 662 : x6 = XEXP (x5, 0);
6060 : 662 : operands[2] = x6;
6061 : 662 : if (!int248_register_operand (operands[2], E_VOIDmode))
6062 : : return -1;
6063 : 641 : x7 = XEXP (x1, 0);
6064 : 641 : switch (GET_MODE (x7))
6065 : : {
6066 : 558 : case E_HImode:
6067 : 558 : if (GET_MODE (x2) != E_HImode
6068 : 558 : || !extract_high_operator (operands[3], E_HImode)
6069 : 1116 : || !extract_high_operator (operands[4], E_HImode))
6070 : 0 : return -1;
6071 : : return 0;
6072 : :
6073 : 75 : case E_SImode:
6074 : 75 : if (GET_MODE (x2) != E_SImode
6075 : 75 : || !extract_high_operator (operands[3], E_SImode)
6076 : 150 : || !extract_high_operator (operands[4], E_SImode))
6077 : 0 : return -1;
6078 : : return 1;
6079 : :
6080 : 8 : case E_DImode:
6081 : 8 : if (GET_MODE (x2) != E_DImode
6082 : 8 : || !extract_high_operator (operands[3], E_DImode)
6083 : 16 : || !extract_high_operator (operands[4], E_DImode))
6084 : 0 : return -1;
6085 : : return 2;
6086 : :
6087 : : default:
6088 : : return -1;
6089 : : }
6090 : :
6091 : : default:
6092 : : return -1;
6093 : : }
6094 : : }
6095 : :
6096 : : int
6097 : 744 : pattern1802 (rtx x1, machine_mode i1)
6098 : : {
6099 : 744 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6100 : 744 : rtx x2, x3, x4, x5, x6, x7;
6101 : 744 : int res ATTRIBUTE_UNUSED;
6102 : 744 : x2 = XEXP (x1, 0);
6103 : 744 : x3 = XEXP (x2, 0);
6104 : 744 : x4 = XEXP (x3, 0);
6105 : 744 : x5 = XEXP (x4, 0);
6106 : 744 : operands[1] = x5;
6107 : 744 : if (!nonimmediate_operand (operands[1], i1)
6108 : 744 : || !register_operand (operands[3], i1))
6109 : 15 : return -1;
6110 : 729 : x6 = XEXP (x2, 1);
6111 : 729 : if (!rtx_equal_p (x6, operands[1]))
6112 : : return -1;
6113 : 321 : x7 = XEXP (x1, 1);
6114 : 321 : if (!rtx_equal_p (x7, operands[1]))
6115 : : return -1;
6116 : : return 0;
6117 : : }
6118 : :
6119 : : int
6120 : 434 : pattern1811 (machine_mode i1)
6121 : : {
6122 : 434 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6123 : 434 : int res ATTRIBUTE_UNUSED;
6124 : 434 : if (!vsib_address_operand (operands[0], i1))
6125 : : return -1;
6126 : 421 : switch (GET_MODE (operands[2]))
6127 : : {
6128 : 227 : case E_V8SImode:
6129 : 227 : if (!register_operand (operands[2], E_V8SImode)
6130 : 227 : || !register_operand (operands[3], E_V8SImode))
6131 : 38 : return -1;
6132 : : return 0;
6133 : :
6134 : 194 : case E_V4DImode:
6135 : 194 : if (!register_operand (operands[2], E_V4DImode)
6136 : 194 : || !register_operand (operands[3], E_V4SImode))
6137 : 21 : return -1;
6138 : : return 1;
6139 : :
6140 : : default:
6141 : : return -1;
6142 : : }
6143 : : }
6144 : :
6145 : : int
6146 : 73968 : pattern1820 (rtx x1, machine_mode i1)
6147 : : {
6148 : 73968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6149 : 73968 : rtx x2, x3, x4, x5;
6150 : 73968 : int res ATTRIBUTE_UNUSED;
6151 : 73968 : if (!register_operand (operands[2], i1)
6152 : 73968 : || !register_operand (operands[0], i1))
6153 : 0 : return -1;
6154 : 73968 : x2 = XVECEXP (x1, 0, 1);
6155 : 73968 : x3 = XEXP (x2, 1);
6156 : 73968 : if (GET_MODE (x3) != i1
6157 : 73968 : || !register_operand (operands[3], i1)
6158 : 73968 : || !register_operand (operands[5], i1)
6159 : 141772 : || !register_operand (operands[1], i1))
6160 : 6164 : return -1;
6161 : 67804 : x4 = XVECEXP (x1, 0, 2);
6162 : 67804 : x5 = XEXP (x4, 1);
6163 : 67804 : if (GET_MODE (x5) != i1
6164 : 67804 : || !register_operand (operands[4], i1))
6165 : 752 : return -1;
6166 : : return 0;
6167 : : }
6168 : :
6169 : : int
6170 : 194 : pattern1828 (machine_mode i1)
6171 : : {
6172 : 194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6173 : 194 : int res ATTRIBUTE_UNUSED;
6174 : 194 : if (!vsib_address_operand (operands[2], i1))
6175 : : return -1;
6176 : 186 : switch (GET_MODE (operands[3]))
6177 : : {
6178 : 106 : case E_V8SImode:
6179 : 106 : if (!register_operand (operands[3], E_V8SImode)
6180 : 106 : || !register_operand (operands[4], E_V8SImode))
6181 : 40 : return -1;
6182 : : return 0;
6183 : :
6184 : 80 : case E_V4DImode:
6185 : 80 : if (!register_operand (operands[3], E_V4DImode)
6186 : 80 : || !register_operand (operands[4], E_V4SImode))
6187 : 16 : return -1;
6188 : : return 1;
6189 : :
6190 : : default:
6191 : : return -1;
6192 : : }
6193 : : }
6194 : :
6195 : : int
6196 : 38068 : pattern1835 (rtx x1, machine_mode i1, machine_mode i2)
6197 : : {
6198 : 38068 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6199 : 38068 : rtx x2, x3, x4, x5, x6, x7, x8;
6200 : 38068 : int res ATTRIBUTE_UNUSED;
6201 : 38068 : if (!nonimmediate_operand (operands[1], i1))
6202 : : return -1;
6203 : 38068 : x2 = XVECEXP (x1, 0, 0);
6204 : 38068 : x3 = XEXP (x2, 1);
6205 : 38068 : x4 = XEXP (x3, 1);
6206 : 38068 : if (GET_MODE (x4) != i2
6207 : 38068 : || !ix86_carry_flag_operator (operands[4], i2))
6208 : 0 : return -1;
6209 : 38068 : x5 = XEXP (x4, 1);
6210 : 38068 : if (GET_MODE (x5) != i2
6211 : 38068 : || !nonimmediate_operand (operands[2], i1)
6212 : 74473 : || !nonimmediate_operand (operands[0], i1))
6213 : 1663 : return -1;
6214 : 36405 : x6 = XVECEXP (x1, 0, 1);
6215 : 36405 : x7 = XEXP (x6, 1);
6216 : 36405 : if (GET_MODE (x7) != i1)
6217 : : return -1;
6218 : 36405 : x8 = XEXP (x7, 0);
6219 : 36405 : if (GET_MODE (x8) != i1
6220 : 36405 : || !ix86_carry_flag_operator (operands[5], i1))
6221 : 0 : return -1;
6222 : : return 0;
6223 : : }
6224 : :
6225 : : int
6226 : 33967 : pattern1844 (rtx x1)
6227 : : {
6228 : 33967 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6229 : 33967 : rtx x2, x3, x4, x5;
6230 : 33967 : int res ATTRIBUTE_UNUSED;
6231 : 33967 : x2 = XVECEXP (x1, 0, 8);
6232 : 33967 : if (XWINT (x2, 0) != 12L)
6233 : : return -1;
6234 : 33951 : x3 = XVECEXP (x1, 0, 9);
6235 : 33951 : if (XWINT (x3, 0) != 28L)
6236 : : return -1;
6237 : 33951 : x4 = XVECEXP (x1, 0, 10);
6238 : 33951 : if (XWINT (x4, 0) != 13L)
6239 : : return -1;
6240 : 33951 : x5 = XVECEXP (x1, 0, 11);
6241 : 33951 : if (XWINT (x5, 0) != 29L)
6242 : 0 : return -1;
6243 : : return 0;
6244 : : }
6245 : :
6246 : : int
6247 : 215 : pattern1851 (rtx x1)
6248 : : {
6249 : 215 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6250 : 215 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6251 : 215 : rtx x10, x11, x12, x13, x14, x15;
6252 : 215 : int res ATTRIBUTE_UNUSED;
6253 : 215 : if (GET_CODE (x1) != SET)
6254 : : return -1;
6255 : 215 : x2 = XEXP (x1, 1);
6256 : 215 : if (GET_CODE (x2) != GTU
6257 : 146 : || GET_MODE (x2) != E_QImode)
6258 : : return -1;
6259 : 146 : x3 = XEXP (x2, 0);
6260 : 146 : if (GET_CODE (x3) != REG
6261 : 146 : || REGNO (x3) != 17
6262 : 292 : || GET_MODE (x3) != E_CCmode)
6263 : : return -1;
6264 : 146 : x4 = XEXP (x2, 1);
6265 : 146 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6266 : : return -1;
6267 : 146 : x5 = XEXP (x1, 0);
6268 : 146 : operands[7] = x5;
6269 : 146 : if (!register_operand (operands[7], E_QImode))
6270 : : return -1;
6271 : 146 : x6 = PATTERN (peep2_next_insn (2));
6272 : 146 : if (GET_CODE (x6) != SET)
6273 : : return -1;
6274 : 0 : x7 = XEXP (x6, 1);
6275 : 0 : if (GET_CODE (x7) != LTU
6276 : 0 : || GET_MODE (x7) != E_QImode)
6277 : : return -1;
6278 : 0 : x8 = XEXP (x7, 0);
6279 : 0 : if (GET_CODE (x8) != REG
6280 : 0 : || REGNO (x8) != 17
6281 : 0 : || GET_MODE (x8) != E_CCmode)
6282 : : return -1;
6283 : 0 : x9 = XEXP (x7, 1);
6284 : 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6285 : : return -1;
6286 : 0 : x10 = XEXP (x6, 0);
6287 : 0 : operands[8] = x10;
6288 : 0 : if (!register_operand (operands[8], E_QImode))
6289 : : return -1;
6290 : 0 : x11 = PATTERN (peep2_next_insn (3));
6291 : 0 : if (GET_CODE (x11) != SET)
6292 : : return -1;
6293 : 0 : x12 = XEXP (x11, 1);
6294 : 0 : if (GET_CODE (x12) != COMPARE)
6295 : : return -1;
6296 : 0 : x13 = XEXP (x11, 0);
6297 : 0 : if (GET_CODE (x13) != REG
6298 : 0 : || REGNO (x13) != 17)
6299 : : return -1;
6300 : 0 : x14 = XEXP (x12, 0);
6301 : 0 : if (!rtx_equal_p (x14, operands[7]))
6302 : : return -1;
6303 : 0 : x15 = XEXP (x12, 1);
6304 : 0 : if (!rtx_equal_p (x15, operands[8]))
6305 : : return -1;
6306 : : return 0;
6307 : : }
6308 : :
6309 : : int
6310 : 447 : pattern1864 ()
6311 : : {
6312 : 447 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6313 : 447 : int res ATTRIBUTE_UNUSED;
6314 : 447 : if (!const_0_to_15_operand (operands[4], E_VOIDmode)
6315 : 431 : || !const_0_to_15_operand (operands[5], E_VOIDmode)
6316 : 431 : || !const_0_to_15_operand (operands[6], E_VOIDmode)
6317 : 431 : || !const_0_to_15_operand (operands[7], E_VOIDmode)
6318 : 431 : || !const_0_to_15_operand (operands[8], E_VOIDmode)
6319 : 431 : || !const_0_to_15_operand (operands[9], E_VOIDmode)
6320 : 431 : || !const_0_to_15_operand (operands[10], E_VOIDmode)
6321 : 431 : || !const_16_to_31_operand (operands[11], E_VOIDmode)
6322 : 431 : || !const_16_to_31_operand (operands[12], E_VOIDmode)
6323 : 431 : || !const_16_to_31_operand (operands[13], E_VOIDmode)
6324 : 431 : || !const_16_to_31_operand (operands[14], E_VOIDmode)
6325 : 431 : || !const_16_to_31_operand (operands[15], E_VOIDmode)
6326 : 431 : || !const_16_to_31_operand (operands[16], E_VOIDmode)
6327 : 431 : || !const_16_to_31_operand (operands[17], E_VOIDmode)
6328 : 878 : || !const_16_to_31_operand (operands[18], E_VOIDmode))
6329 : 16 : return -1;
6330 : : return 0;
6331 : : }
6332 : :
6333 : : int
6334 : 24 : pattern1876 (rtx x1)
6335 : : {
6336 : 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6337 : 24 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6338 : 24 : int res ATTRIBUTE_UNUSED;
6339 : 24 : if (GET_CODE (x1) != SET)
6340 : : return -1;
6341 : 24 : x2 = XEXP (x1, 1);
6342 : 24 : switch (GET_CODE (x2))
6343 : : {
6344 : 12 : case NE:
6345 : 12 : case EQ:
6346 : 12 : case GE:
6347 : 12 : case GT:
6348 : 12 : case LE:
6349 : 12 : case LT:
6350 : 12 : operands[8] = x2;
6351 : 12 : if (!ix86_comparison_int_operator (operands[8], E_QImode))
6352 : : return -1;
6353 : 12 : x3 = XEXP (x2, 0);
6354 : 12 : if (GET_CODE (x3) != REG
6355 : 12 : || REGNO (x3) != 17)
6356 : : return -1;
6357 : 12 : x4 = XEXP (x2, 1);
6358 : 12 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6359 : : return -1;
6360 : 12 : x5 = XEXP (x1, 0);
6361 : 12 : operands[7] = x5;
6362 : 12 : if (!nonimmediate_operand (operands[7], E_QImode))
6363 : : return -1;
6364 : : return 0;
6365 : :
6366 : 12 : case IF_THEN_ELSE:
6367 : 12 : x3 = XEXP (x2, 0);
6368 : 12 : if (!ix86_comparison_int_operator (x3, E_VOIDmode))
6369 : : return -1;
6370 : 12 : operands[7] = x3;
6371 : 12 : x6 = XEXP (x3, 0);
6372 : 12 : if (GET_CODE (x6) != REG
6373 : 12 : || REGNO (x6) != 17)
6374 : : return -1;
6375 : 12 : x7 = XEXP (x3, 1);
6376 : 12 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6377 : : return -1;
6378 : 12 : x4 = XEXP (x2, 1);
6379 : 12 : if (GET_CODE (x4) != LABEL_REF)
6380 : : return -1;
6381 : 12 : x8 = XEXP (x2, 2);
6382 : 12 : if (GET_CODE (x8) != PC)
6383 : : return -1;
6384 : 12 : x5 = XEXP (x1, 0);
6385 : 12 : if (GET_CODE (x5) != PC)
6386 : : return -1;
6387 : 12 : x9 = XEXP (x4, 0);
6388 : 12 : operands[8] = x9;
6389 : 12 : return 1;
6390 : :
6391 : : default:
6392 : : return -1;
6393 : : }
6394 : : }
6395 : :
6396 : : int
6397 : 164 : recog_9 (rtx x1 ATTRIBUTE_UNUSED,
6398 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6399 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6400 : : {
6401 : 164 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6402 : 164 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6403 : 164 : rtx x10, x11;
6404 : 164 : int res ATTRIBUTE_UNUSED;
6405 : 164 : x2 = XEXP (x1, 1);
6406 : 164 : if (GET_MODE (x2) != E_CCFPmode)
6407 : : return -1;
6408 : 164 : x3 = XVECEXP (x2, 0, 0);
6409 : 164 : if (GET_CODE (x3) != VEC_SELECT)
6410 : : return -1;
6411 : 164 : x4 = XEXP (x3, 1);
6412 : 164 : if (GET_CODE (x4) != PARALLEL
6413 : 164 : || XVECLEN (x4, 0) != 1)
6414 : : return -1;
6415 : 164 : x5 = XVECEXP (x4, 0, 0);
6416 : 164 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6417 : : return -1;
6418 : 164 : x6 = XVECEXP (x2, 0, 1);
6419 : 164 : if (GET_CODE (x6) != VEC_SELECT)
6420 : : return -1;
6421 : 164 : x7 = XEXP (x6, 1);
6422 : 164 : if (GET_CODE (x7) != PARALLEL
6423 : 164 : || XVECLEN (x7, 0) != 1)
6424 : : return -1;
6425 : 164 : x8 = XVECEXP (x7, 0, 0);
6426 : 164 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6427 : : return -1;
6428 : 164 : x9 = XEXP (x1, 0);
6429 : 164 : if (GET_CODE (x9) != REG
6430 : 164 : || REGNO (x9) != 17
6431 : 328 : || GET_MODE (x9) != E_CCFPmode)
6432 : : return -1;
6433 : 164 : x10 = XEXP (x3, 0);
6434 : 164 : operands[0] = x10;
6435 : 164 : x11 = XEXP (x6, 0);
6436 : 164 : operands[1] = x11;
6437 : 164 : switch (GET_MODE (x3))
6438 : : {
6439 : 0 : case E_HFmode:
6440 : 0 : if (!register_operand (operands[0], E_V8HFmode)
6441 : 0 : || GET_MODE (x6) != E_HFmode
6442 : 0 : || !nonimmediate_operand (operands[1], E_V8HFmode)
6443 : 0 : || !(
6444 : : #line 4915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6445 : : (TARGET_AVX10_2) &&
6446 : : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6447 : : (TARGET_AVX512FP16)))
6448 : : return -1;
6449 : : return 3656; /* avx10_2_comxhf */
6450 : :
6451 : : case E_SFmode:
6452 : : if (!register_operand (operands[0], E_V4SFmode)
6453 : : || GET_MODE (x6) != E_SFmode
6454 : : || !nonimmediate_operand (operands[1], E_V4SFmode)
6455 : : || !
6456 : : #line 4915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6457 : : (TARGET_AVX10_2))
6458 : : return -1;
6459 : : return 3660; /* avx10_2_comxsf */
6460 : :
6461 : : case E_DFmode:
6462 : : if (!register_operand (operands[0], E_V2DFmode)
6463 : : || GET_MODE (x6) != E_DFmode
6464 : : || !nonimmediate_operand (operands[1], E_V2DFmode)
6465 : : || !
6466 : : #line 4915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6467 : : (TARGET_AVX10_2))
6468 : : return -1;
6469 : : return 3664; /* avx10_2_comxdf */
6470 : :
6471 : : default:
6472 : : return -1;
6473 : : }
6474 : : }
6475 : :
6476 : : int
6477 : : recog_11 (rtx x1 ATTRIBUTE_UNUSED,
6478 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6479 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6480 : : {
6481 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6482 : : rtx x2, x3, x4, x5, x6;
6483 : : int res ATTRIBUTE_UNUSED;
6484 : : x2 = XEXP (x1, 0);
6485 : : operands[0] = x2;
6486 : : x3 = XEXP (x1, 1);
6487 : : x4 = XVECEXP (x3, 0, 0);
6488 : : switch (GET_CODE (x4))
6489 : : {
6490 : : case CONST_INT:
6491 : : case CONST_DOUBLE:
6492 : : case CONST_VECTOR:
6493 : : case REG:
6494 : : case SUBREG:
6495 : : case MEM:
6496 : : operands[1] = x4;
6497 : : x5 = XVECEXP (x3, 0, 2);
6498 : : if (GET_CODE (x5) != CONST_INT)
6499 : : return -1;
6500 : : operands[3] = x5;
6501 : : x6 = XVECEXP (x3, 0, 1);
6502 : : operands[2] = x6;
6503 : : switch (pattern947 (x3))
6504 : : {
6505 : : case 0:
6506 : : switch (GET_MODE (operands[1]))
6507 : : {
6508 : : case E_HFmode:
6509 : : if (register_operand (operands[1], E_HFmode)
6510 : : && nonimmediate_operand (operands[2], E_HFmode)
6511 : : && const_0_to_31_operand (operands[3], E_SImode)
6512 : : &&
6513 : : #line 19847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6514 : : (TARGET_AVX512FP16))
6515 : : return 1461; /* setcc_hf_mask */
6516 : : break;
6517 : :
6518 : : case E_V8SImode:
6519 : : if (register_operand (operands[1], E_V8SImode)
6520 : : && nonimmediate_operand (operands[2], E_V8SImode)
6521 : : && const_0_to_7_operand (operands[3], E_SImode)
6522 : : && (
6523 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6524 : : (TARGET_AVX512F && 1) &&
6525 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6526 : : (TARGET_AVX512VL)))
6527 : : return 3272; /* avx512vl_cmpv8si3 */
6528 : : break;
6529 : :
6530 : : case E_V4SImode:
6531 : : if (register_operand (operands[1], E_V4SImode)
6532 : : && nonimmediate_operand (operands[2], E_V4SImode)
6533 : : && const_0_to_7_operand (operands[3], E_SImode)
6534 : : && (
6535 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6536 : : (TARGET_AVX512F && 1) &&
6537 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6538 : : (TARGET_AVX512VL)))
6539 : : return 3274; /* avx512vl_cmpv4si3 */
6540 : : break;
6541 : :
6542 : : case E_V8DImode:
6543 : : if (register_operand (operands[1], E_V8DImode)
6544 : : && nonimmediate_operand (operands[2], E_V8DImode)
6545 : : && const_0_to_7_operand (operands[3], E_SImode)
6546 : : &&
6547 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6548 : : (TARGET_AVX512F && 1))
6549 : : return 3276; /* avx512f_cmpv8di3 */
6550 : : break;
6551 : :
6552 : : case E_V4DImode:
6553 : : if (register_operand (operands[1], E_V4DImode)
6554 : : && nonimmediate_operand (operands[2], E_V4DImode)
6555 : : && const_0_to_7_operand (operands[3], E_SImode)
6556 : : && (
6557 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6558 : : (TARGET_AVX512F && 1) &&
6559 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6560 : : (TARGET_AVX512VL)))
6561 : : return 3280; /* avx512vl_cmpv4di3 */
6562 : : break;
6563 : :
6564 : : case E_V2DImode:
6565 : : if (register_operand (operands[1], E_V2DImode)
6566 : : && nonimmediate_operand (operands[2], E_V2DImode)
6567 : : && const_0_to_7_operand (operands[3], E_SImode)
6568 : : && (
6569 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6570 : : (TARGET_AVX512F && 1) &&
6571 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6572 : : (TARGET_AVX512VL)))
6573 : : return 3282; /* avx512vl_cmpv2di3 */
6574 : : break;
6575 : :
6576 : : case E_V8HFmode:
6577 : : if (register_operand (operands[1], E_V8HFmode)
6578 : : && nonimmediate_operand (operands[2], E_V8HFmode)
6579 : : && const_0_to_31_operand (operands[3], E_SImode)
6580 : : && (
6581 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6582 : : (TARGET_AVX512F && 1) &&
6583 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6584 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
6585 : : return 3290; /* avx512fp16_cmpv8hf3 */
6586 : : break;
6587 : :
6588 : : case E_V8SFmode:
6589 : : if (register_operand (operands[1], E_V8SFmode)
6590 : : && nonimmediate_operand (operands[2], E_V8SFmode)
6591 : : && const_0_to_31_operand (operands[3], E_SImode)
6592 : : && (
6593 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6594 : : (TARGET_AVX512F && 1) &&
6595 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6596 : : (TARGET_AVX512VL)))
6597 : : return 3296; /* avx512vl_cmpv8sf3 */
6598 : : break;
6599 : :
6600 : : case E_V4SFmode:
6601 : : if (register_operand (operands[1], E_V4SFmode)
6602 : : && nonimmediate_operand (operands[2], E_V4SFmode)
6603 : : && const_0_to_31_operand (operands[3], E_SImode)
6604 : : && (
6605 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6606 : : (TARGET_AVX512F && 1) &&
6607 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6608 : : (TARGET_AVX512VL)))
6609 : : return 3298; /* avx512vl_cmpv4sf3 */
6610 : : break;
6611 : :
6612 : : case E_V8DFmode:
6613 : : if (register_operand (operands[1], E_V8DFmode)
6614 : : && nonimmediate_operand (operands[2], E_V8DFmode)
6615 : : && const_0_to_31_operand (operands[3], E_SImode)
6616 : : &&
6617 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6618 : : (TARGET_AVX512F && 1))
6619 : : return 3300; /* avx512f_cmpv8df3 */
6620 : : break;
6621 : :
6622 : : case E_V4DFmode:
6623 : : if (register_operand (operands[1], E_V4DFmode)
6624 : : && nonimmediate_operand (operands[2], E_V4DFmode)
6625 : : && const_0_to_31_operand (operands[3], E_SImode)
6626 : : && (
6627 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6628 : : (TARGET_AVX512F && 1) &&
6629 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6630 : : (TARGET_AVX512VL)))
6631 : : return 3304; /* avx512vl_cmpv4df3 */
6632 : : break;
6633 : :
6634 : : case E_V2DFmode:
6635 : : if (register_operand (operands[1], E_V2DFmode)
6636 : : && nonimmediate_operand (operands[2], E_V2DFmode)
6637 : : && const_0_to_31_operand (operands[3], E_SImode)
6638 : : && (
6639 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6640 : : (TARGET_AVX512F && 1) &&
6641 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6642 : : (TARGET_AVX512VL)))
6643 : : return 3306; /* avx512vl_cmpv2df3 */
6644 : : break;
6645 : :
6646 : : case E_V8HImode:
6647 : : if (register_operand (operands[1], E_V8HImode)
6648 : : && nonimmediate_operand (operands[2], E_V8HImode)
6649 : : && const_0_to_7_operand (operands[3], E_SImode)
6650 : : && (
6651 : : #line 4547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6652 : : (TARGET_AVX512BW) &&
6653 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6654 : : (TARGET_AVX512VL)))
6655 : : return 3432; /* avx512vl_cmpv8hi3 */
6656 : : break;
6657 : :
6658 : : case E_V8BFmode:
6659 : : if (register_operand (operands[1], E_V8BFmode)
6660 : : && nonimmediate_operand (operands[2], E_V8BFmode)
6661 : : && const_0_to_31_operand (operands[3], E_VOIDmode)
6662 : : &&
6663 : : #line 32605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6664 : : (TARGET_AVX10_2))
6665 : : return 10700; /* avx10_2_cmpbf16_v8bf */
6666 : : break;
6667 : :
6668 : : default:
6669 : : break;
6670 : : }
6671 : : break;
6672 : :
6673 : : case 1:
6674 : : switch (GET_MODE (operands[1]))
6675 : : {
6676 : : case E_V16SImode:
6677 : : if (register_operand (operands[1], E_V16SImode)
6678 : : && nonimmediate_operand (operands[2], E_V16SImode)
6679 : : && const_0_to_7_operand (operands[3], E_SImode)
6680 : : &&
6681 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6682 : : (TARGET_AVX512F && 1))
6683 : : return 3268; /* avx512f_cmpv16si3 */
6684 : : break;
6685 : :
6686 : : case E_V16HFmode:
6687 : : if (register_operand (operands[1], E_V16HFmode)
6688 : : && nonimmediate_operand (operands[2], E_V16HFmode)
6689 : : && const_0_to_31_operand (operands[3], E_SImode)
6690 : : && (
6691 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6692 : : (TARGET_AVX512F && 1) &&
6693 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6694 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
6695 : : return 3288; /* avx512vl_cmpv16hf3 */
6696 : : break;
6697 : :
6698 : : case E_V16SFmode:
6699 : : if (register_operand (operands[1], E_V16SFmode)
6700 : : && nonimmediate_operand (operands[2], E_V16SFmode)
6701 : : && const_0_to_31_operand (operands[3], E_SImode)
6702 : : &&
6703 : : #line 4390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6704 : : (TARGET_AVX512F && 1))
6705 : : return 3292; /* avx512f_cmpv16sf3 */
6706 : : break;
6707 : :
6708 : : case E_V16QImode:
6709 : : if (register_operand (operands[1], E_V16QImode)
6710 : : && nonimmediate_operand (operands[2], E_V16QImode)
6711 : : && const_0_to_7_operand (operands[3], E_SImode)
6712 : : && (
6713 : : #line 4547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6714 : : (TARGET_AVX512BW) &&
6715 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6716 : : (TARGET_AVX512VL)))
6717 : : return 3424; /* avx512vl_cmpv16qi3 */
6718 : : break;
6719 : :
6720 : : case E_V16HImode:
6721 : : if (register_operand (operands[1], E_V16HImode)
6722 : : && nonimmediate_operand (operands[2], E_V16HImode)
6723 : : && const_0_to_7_operand (operands[3], E_SImode)
6724 : : && (
6725 : : #line 4547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6726 : : (TARGET_AVX512BW) &&
6727 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6728 : : (TARGET_AVX512VL)))
6729 : : return 3430; /* avx512vl_cmpv16hi3 */
6730 : : break;
6731 : :
6732 : : case E_V16BFmode:
6733 : : if (register_operand (operands[1], E_V16BFmode)
6734 : : && nonimmediate_operand (operands[2], E_V16BFmode)
6735 : : && const_0_to_31_operand (operands[3], E_VOIDmode)
6736 : : &&
6737 : : #line 32605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6738 : : (TARGET_AVX10_2))
6739 : : return 10698; /* avx10_2_cmpbf16_v16bf */
6740 : : break;
6741 : :
6742 : : default:
6743 : : break;
6744 : : }
6745 : : break;
6746 : :
6747 : : default:
6748 : : break;
6749 : : }
6750 : : if (XWINT (x5, 0) != 0L)
6751 : : return -1;
6752 : : operands[2] = x6;
6753 : : switch (pattern948 (x3))
6754 : : {
6755 : : case 0:
6756 : : if (!(
6757 : : #line 4642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6758 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6759 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6760 : : (TARGET_AVX512VL)))
6761 : : return -1;
6762 : : return 3486; /* *avx512vl_eqv16qi3_1 */
6763 : :
6764 : : case 1:
6765 : : if (!(
6766 : : #line 4642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6767 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6768 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6769 : : (TARGET_AVX512VL)))
6770 : : return -1;
6771 : : return 3498; /* *avx512vl_eqv16hi3_1 */
6772 : :
6773 : : case 2:
6774 : : if (!
6775 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6776 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
6777 : : return -1;
6778 : : return 3554; /* *avx512f_eqv16si3_1 */
6779 : :
6780 : : case 3:
6781 : : if (!(
6782 : : #line 4642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6783 : : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6784 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6785 : : (TARGET_AVX512VL)))
6786 : : return -1;
6787 : : return 3502; /* *avx512vl_eqv8hi3_1 */
6788 : :
6789 : : case 4:
6790 : : if (!(
6791 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6792 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6793 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6794 : : (TARGET_AVX512VL)))
6795 : : return -1;
6796 : : return 3558; /* *avx512vl_eqv8si3_1 */
6797 : :
6798 : : case 5:
6799 : : if (!(
6800 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6801 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6802 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6803 : : (TARGET_AVX512VL)))
6804 : : return -1;
6805 : : return 3562; /* *avx512vl_eqv4si3_1 */
6806 : :
6807 : : case 6:
6808 : : if (!
6809 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6810 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
6811 : : return -1;
6812 : : return 3566; /* *avx512f_eqv8di3_1 */
6813 : :
6814 : : case 7:
6815 : : if (!(
6816 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6817 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6818 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6819 : : (TARGET_AVX512VL)))
6820 : : return -1;
6821 : : return 3570; /* *avx512vl_eqv4di3_1 */
6822 : :
6823 : : case 8:
6824 : : if (!(
6825 : : #line 4731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6826 : : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
6827 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6828 : : (TARGET_AVX512VL)))
6829 : : return -1;
6830 : : return 3574; /* *avx512vl_eqv2di3_1 */
6831 : :
6832 : : default:
6833 : : return -1;
6834 : : }
6835 : :
6836 : : case US_MINUS:
6837 : : switch (pattern410 (x3))
6838 : : {
6839 : : case 0:
6840 : : if (!(
6841 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6842 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6843 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
6844 : : && (INTVAL (operands[4]) & 3) == 0) &&
6845 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6846 : : (TARGET_AVX512VL)))
6847 : : return -1;
6848 : : return 3634; /* *avx512vl_ucmpv16qi3_1 */
6849 : :
6850 : : case 1:
6851 : : if (!(
6852 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6853 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6854 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
6855 : : && (INTVAL (operands[4]) & 3) == 0) &&
6856 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6857 : : (TARGET_AVX512VL)))
6858 : : return -1;
6859 : : return 3640; /* *avx512vl_ucmpv16hi3_1 */
6860 : :
6861 : : case 2:
6862 : : if (!(
6863 : : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6864 : : (TARGET_AVX512BW && ix86_pre_reload_split ()
6865 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
6866 : : && (INTVAL (operands[4]) & 3) == 0) &&
6867 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6868 : : (TARGET_AVX512VL)))
6869 : : return -1;
6870 : : return 3642; /* *avx512vl_ucmpv8hi3_1 */
6871 : :
6872 : : default:
6873 : : return -1;
6874 : : }
6875 : :
6876 : : default:
6877 : : return -1;
6878 : : }
6879 : : }
6880 : :
6881 : : int
6882 : : recog_24 (rtx x1 ATTRIBUTE_UNUSED,
6883 : : rtx_insn *insn ATTRIBUTE_UNUSED,
6884 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
6885 : : {
6886 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6887 : : rtx x2, x3, x4, x5, x6, x7;
6888 : : int res ATTRIBUTE_UNUSED;
6889 : : x2 = XEXP (x1, 1);
6890 : : x3 = XEXP (x2, 0);
6891 : : switch (GET_CODE (x3))
6892 : : {
6893 : : case REG:
6894 : : case SUBREG:
6895 : : case MEM:
6896 : : switch (pattern35 (x1, pnum_clobbers))
6897 : : {
6898 : : case 0:
6899 : : if (pnum_clobbers != NULL
6900 : : && pattern279 (x1,
6901 : : E_TImode) == 0
6902 : : && (
6903 : : #line 16719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6904 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
6905 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
6906 : : == (2 * 8 * BITS_PER_UNIT - 1)))
6907 : : && ix86_pre_reload_split ()) &&
6908 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6909 : : (TARGET_64BIT)))
6910 : : {
6911 : : *pnum_clobbers = 1;
6912 : : return 1129; /* *ashrti3_doubleword_mask */
6913 : : }
6914 : : x4 = XEXP (x2, 1);
6915 : : operands[2] = x4;
6916 : : switch (pattern413 (x1, pnum_clobbers))
6917 : : {
6918 : : case 0:
6919 : : switch (GET_MODE (operands[0]))
6920 : : {
6921 : : case E_TImode:
6922 : : if (pnum_clobbers == NULL
6923 : : || pattern833 (x2,
6924 : : E_TImode,
6925 : : E_QImode) != 0
6926 : : || !
6927 : : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6928 : : (TARGET_64BIT))
6929 : : return -1;
6930 : : *pnum_clobbers = 1;
6931 : : return 1137; /* ashrti3_doubleword */
6932 : :
6933 : : case E_QImode:
6934 : : if (pattern612 (x2,
6935 : : E_QImode) != 0)
6936 : : return -1;
6937 : : if (
6938 : : #line 17669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6939 : : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
6940 : : && TARGET_APX_NF))
6941 : : return 1212; /* *ashrqi3_1_nf */
6942 : : if (pnum_clobbers == NULL
6943 : : || !
6944 : : #line 17669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6945 : : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
6946 : : && true))
6947 : : return -1;
6948 : : *pnum_clobbers = 1;
6949 : : return 1213; /* *ashrqi3_1 */
6950 : :
6951 : : case E_HImode:
6952 : : if (pattern612 (x2,
6953 : : E_HImode) != 0)
6954 : : return -1;
6955 : : if (
6956 : : #line 17669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6957 : : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
6958 : : && TARGET_APX_NF))
6959 : : return 1214; /* *ashrhi3_1_nf */
6960 : : if (pnum_clobbers == NULL
6961 : : || !
6962 : : #line 17669 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6963 : : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
6964 : : && true))
6965 : : return -1;
6966 : : *pnum_clobbers = 1;
6967 : : return 1215; /* *ashrhi3_1 */
6968 : :
6969 : : case E_V4HImode:
6970 : : if (pattern833 (x2,
6971 : : E_V4HImode,
6972 : : E_DImode) != 0
6973 : : || !
6974 : : #line 3877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6975 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
6976 : : return -1;
6977 : : return 2209; /* mmx_ashrv4hi3 */
6978 : :
6979 : : case E_V2SImode:
6980 : : if (pattern833 (x2,
6981 : : E_V2SImode,
6982 : : E_DImode) != 0
6983 : : || !
6984 : : #line 3877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6985 : : (TARGET_MMX || TARGET_MMX_WITH_SSE))
6986 : : return -1;
6987 : : return 2210; /* mmx_ashrv2si3 */
6988 : :
6989 : : case E_V2HImode:
6990 : : if (pattern833 (x2,
6991 : : E_V2HImode,
6992 : : E_DImode) != 0
6993 : : || !
6994 : : #line 3968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6995 : : (TARGET_SSE2))
6996 : : return -1;
6997 : : return 2223; /* ashrv2hi3 */
6998 : :
6999 : : case E_V2QImode:
7000 : : if (pnum_clobbers == NULL
7001 : : || pattern833 (x2,
7002 : : E_V2QImode,
7003 : : E_QImode) != 0
7004 : : || !
7005 : : #line 4030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7006 : : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7007 : : return -1;
7008 : : *pnum_clobbers = 1;
7009 : : return 2227; /* ashrv2qi3 */
7010 : :
7011 : : default:
7012 : : return -1;
7013 : : }
7014 : :
7015 : : case 1:
7016 : : if (!
7017 : : #line 17775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7018 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7019 : : return -1;
7020 : : *pnum_clobbers = 1;
7021 : : return 1221; /* *ashrqi3_1_slp */
7022 : :
7023 : : case 2:
7024 : : if (!
7025 : : #line 17775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7026 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7027 : : return -1;
7028 : : *pnum_clobbers = 1;
7029 : : return 1223; /* *ashrhi3_1_slp */
7030 : :
7031 : : default:
7032 : : return -1;
7033 : : }
7034 : :
7035 : : case 1:
7036 : : if (!(
7037 : : #line 16780 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7038 : : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7039 : : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7040 : : == (2 * 8 * BITS_PER_UNIT - 1)))
7041 : : && ix86_pre_reload_split ()) &&
7042 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7043 : : (TARGET_64BIT)))
7044 : : return -1;
7045 : : *pnum_clobbers = 1;
7046 : : return 1133; /* *ashrti3_doubleword_mask_1 */
7047 : :
7048 : : default:
7049 : : return -1;
7050 : : }
7051 : :
7052 : : case ASHIFT:
7053 : : x5 = XEXP (x1, 0);
7054 : : operands[0] = x5;
7055 : : x6 = XEXP (x3, 0);
7056 : : operands[1] = x6;
7057 : : x7 = XEXP (x3, 1);
7058 : : operands[2] = x7;
7059 : : if (!const_int_operand (operands[2], E_QImode))
7060 : : return -1;
7061 : : x4 = XEXP (x2, 1);
7062 : : operands[3] = x4;
7063 : : if (!const_int_operand (operands[3], E_QImode))
7064 : : return -1;
7065 : : switch (GET_MODE (operands[0]))
7066 : : {
7067 : : case E_TImode:
7068 : : if (pnum_clobbers == NULL
7069 : : || pattern737 (x2,
7070 : : E_TImode) != 0
7071 : : || !(
7072 : : #line 18123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7073 : : (INTVAL (operands[2]) == INTVAL (operands[3])
7074 : : && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
7075 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7076 : : (TARGET_64BIT)))
7077 : : return -1;
7078 : : *pnum_clobbers = 1;
7079 : : return 1285; /* *extendti2_doubleword_highpart */
7080 : :
7081 : : case E_V2DImode:
7082 : : if (pattern737 (x2,
7083 : : E_V2DImode) != 0)
7084 : : return -1;
7085 : : if (
7086 : : #line 18141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7087 : : (!TARGET_64BIT && TARGET_STV && TARGET_AVX512VL
7088 : : && INTVAL (operands[2]) == INTVAL (operands[3])
7089 : : && UINTVAL (operands[2]) < 32))
7090 : : return 1286; /* *extendv2di2_highpart_stv */
7091 : : if (!
7092 : : #line 18158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7093 : : (!TARGET_AVX512VL
7094 : : && INTVAL (operands[2]) == INTVAL (operands[3])
7095 : : && UINTVAL (operands[2]) < 32
7096 : : && ix86_pre_reload_split ()))
7097 : : return -1;
7098 : : return 1287; /* *extendv2di2_highpart_stv_noavx512vl */
7099 : :
7100 : : default:
7101 : : return -1;
7102 : : }
7103 : :
7104 : : default:
7105 : : return -1;
7106 : : }
7107 : : }
7108 : :
7109 : : int
7110 : : recog_28 (rtx x1 ATTRIBUTE_UNUSED,
7111 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7112 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7113 : : {
7114 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7115 : : rtx x2, x3, x4, x5, x6;
7116 : : int res ATTRIBUTE_UNUSED;
7117 : : if (!register_operand (operands[0], E_HImode))
7118 : : return -1;
7119 : : x2 = XEXP (x1, 1);
7120 : : if (GET_MODE (x2) != E_HImode)
7121 : : return -1;
7122 : : x3 = XEXP (x2, 0);
7123 : : switch (XVECLEN (x3, 0))
7124 : : {
7125 : : case 3:
7126 : : x4 = XVECEXP (x3, 0, 0);
7127 : : operands[1] = x4;
7128 : : x5 = XVECEXP (x3, 0, 1);
7129 : : operands[2] = x5;
7130 : : x6 = XVECEXP (x3, 0, 2);
7131 : : operands[3] = x6;
7132 : : switch (XINT (x3, 1))
7133 : : {
7134 : : case 60:
7135 : : switch (pattern966 (x3))
7136 : : {
7137 : : case 0:
7138 : : if (!
7139 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7140 : : (TARGET_AVX512F
7141 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7142 : : && (GET_MODE_NUNITS (V16SImode)
7143 : : < GET_MODE_PRECISION (HImode))))
7144 : : return -1;
7145 : : return 3308; /* *avx512f_cmpv16si3_zero_extendhi */
7146 : :
7147 : : case 1:
7148 : : if (!(
7149 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7150 : : (TARGET_AVX512F
7151 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7152 : : && (GET_MODE_NUNITS (V16HFmode)
7153 : : < GET_MODE_PRECISION (HImode))) &&
7154 : : #line 316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7155 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
7156 : : return -1;
7157 : : return 3329; /* *avx512vl_cmpv16hf3_zero_extendhi */
7158 : :
7159 : : case 2:
7160 : : if (!
7161 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7162 : : (TARGET_AVX512F
7163 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7164 : : && (GET_MODE_NUNITS (V16SFmode)
7165 : : < GET_MODE_PRECISION (HImode))))
7166 : : return -1;
7167 : : return 3335; /* *avx512f_cmpv16sf3_zero_extendhi */
7168 : :
7169 : : case 3:
7170 : : if (!(
7171 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7172 : : (TARGET_AVX512BW
7173 : : && (GET_MODE_NUNITS (V16QImode)
7174 : : < GET_MODE_PRECISION (HImode))) &&
7175 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7176 : : (TARGET_AVX512VL)))
7177 : : return -1;
7178 : : return 3437; /* *avx512vl_cmpv16qi3_zero_extendhi */
7179 : :
7180 : : case 4:
7181 : : if (!(
7182 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7183 : : (TARGET_AVX512BW
7184 : : && (GET_MODE_NUNITS (V16HImode)
7185 : : < GET_MODE_PRECISION (HImode))) &&
7186 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7187 : : (TARGET_AVX512VL)))
7188 : : return -1;
7189 : : return 3446; /* *avx512vl_cmpv16hi3_zero_extendhi */
7190 : :
7191 : : case 5:
7192 : : if (!(
7193 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7194 : : (TARGET_AVX512F
7195 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7196 : : && (GET_MODE_NUNITS (V8SImode)
7197 : : < GET_MODE_PRECISION (HImode))) &&
7198 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7199 : : (TARGET_AVX512VL)))
7200 : : return -1;
7201 : : return 3311; /* *avx512vl_cmpv8si3_zero_extendhi */
7202 : :
7203 : : case 6:
7204 : : if (!(
7205 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7206 : : (TARGET_AVX512F
7207 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7208 : : && (GET_MODE_NUNITS (V4SImode)
7209 : : < GET_MODE_PRECISION (HImode))) &&
7210 : : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7211 : : (TARGET_AVX512VL)))
7212 : : return -1;
7213 : : return 3314; /* *avx512vl_cmpv4si3_zero_extendhi */
7214 : :
7215 : : case 7:
7216 : : if (!
7217 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7218 : : (TARGET_AVX512F
7219 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7220 : : && (GET_MODE_NUNITS (V8DImode)
7221 : : < GET_MODE_PRECISION (HImode))))
7222 : : return -1;
7223 : : return 3317; /* *avx512f_cmpv8di3_zero_extendhi */
7224 : :
7225 : : case 8:
7226 : : if (!(
7227 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7228 : : (TARGET_AVX512F
7229 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7230 : : && (GET_MODE_NUNITS (V4DImode)
7231 : : < GET_MODE_PRECISION (HImode))) &&
7232 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7233 : : (TARGET_AVX512VL)))
7234 : : return -1;
7235 : : return 3320; /* *avx512vl_cmpv4di3_zero_extendhi */
7236 : :
7237 : : case 9:
7238 : : if (!(
7239 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7240 : : (TARGET_AVX512F
7241 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7242 : : && (GET_MODE_NUNITS (V2DImode)
7243 : : < GET_MODE_PRECISION (HImode))) &&
7244 : : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7245 : : (TARGET_AVX512VL)))
7246 : : return -1;
7247 : : return 3323; /* *avx512vl_cmpv2di3_zero_extendhi */
7248 : :
7249 : : case 10:
7250 : : if (!(
7251 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7252 : : (TARGET_AVX512F
7253 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7254 : : && (GET_MODE_NUNITS (V8HFmode)
7255 : : < GET_MODE_PRECISION (HImode))) &&
7256 : : #line 317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7257 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
7258 : : return -1;
7259 : : return 3332; /* *avx512fp16_cmpv8hf3_zero_extendhi */
7260 : :
7261 : : case 11:
7262 : : if (!(
7263 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7264 : : (TARGET_AVX512F
7265 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7266 : : && (GET_MODE_NUNITS (V8SFmode)
7267 : : < GET_MODE_PRECISION (HImode))) &&
7268 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7269 : : (TARGET_AVX512VL)))
7270 : : return -1;
7271 : : return 3338; /* *avx512vl_cmpv8sf3_zero_extendhi */
7272 : :
7273 : : case 12:
7274 : : if (!(
7275 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7276 : : (TARGET_AVX512F
7277 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7278 : : && (GET_MODE_NUNITS (V4SFmode)
7279 : : < GET_MODE_PRECISION (HImode))) &&
7280 : : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7281 : : (TARGET_AVX512VL)))
7282 : : return -1;
7283 : : return 3341; /* *avx512vl_cmpv4sf3_zero_extendhi */
7284 : :
7285 : : case 13:
7286 : : if (!
7287 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7288 : : (TARGET_AVX512F
7289 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7290 : : && (GET_MODE_NUNITS (V8DFmode)
7291 : : < GET_MODE_PRECISION (HImode))))
7292 : : return -1;
7293 : : return 3344; /* *avx512f_cmpv8df3_zero_extendhi */
7294 : :
7295 : : case 14:
7296 : : if (!(
7297 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7298 : : (TARGET_AVX512F
7299 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7300 : : && (GET_MODE_NUNITS (V4DFmode)
7301 : : < GET_MODE_PRECISION (HImode))) &&
7302 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7303 : : (TARGET_AVX512VL)))
7304 : : return -1;
7305 : : return 3347; /* *avx512vl_cmpv4df3_zero_extendhi */
7306 : :
7307 : : case 15:
7308 : : if (!(
7309 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7310 : : (TARGET_AVX512F
7311 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7312 : : && (GET_MODE_NUNITS (V2DFmode)
7313 : : < GET_MODE_PRECISION (HImode))) &&
7314 : : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7315 : : (TARGET_AVX512VL)))
7316 : : return -1;
7317 : : return 3350; /* *avx512vl_cmpv2df3_zero_extendhi */
7318 : :
7319 : : case 16:
7320 : : if (!(
7321 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7322 : : (TARGET_AVX512BW
7323 : : && (GET_MODE_NUNITS (V8HImode)
7324 : : < GET_MODE_PRECISION (HImode))) &&
7325 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7326 : : (TARGET_AVX512VL)))
7327 : : return -1;
7328 : : return 3449; /* *avx512vl_cmpv8hi3_zero_extendhi */
7329 : :
7330 : : case 17:
7331 : : if (!(
7332 : : #line 4407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7333 : : (TARGET_AVX512F
7334 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7335 : : && (GET_MODE_NUNITS (V32HFmode)
7336 : : < GET_MODE_PRECISION (HImode))) &&
7337 : : #line 315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7338 : : (TARGET_AVX512FP16)))
7339 : : return -1;
7340 : : return 3326; /* *avx512bw_cmpv32hf3_zero_extendhi */
7341 : :
7342 : : case 18:
7343 : : if (!(
7344 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7345 : : (TARGET_AVX512BW
7346 : : && (GET_MODE_NUNITS (V32QImode)
7347 : : < GET_MODE_PRECISION (HImode))) &&
7348 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7349 : : (TARGET_AVX512VL)))
7350 : : return -1;
7351 : : return 3440; /* *avx512vl_cmpv32qi3_zero_extendhi */
7352 : :
7353 : : case 19:
7354 : : if (!
7355 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7356 : : (TARGET_AVX512BW
7357 : : && (GET_MODE_NUNITS (V32HImode)
7358 : : < GET_MODE_PRECISION (HImode))))
7359 : : return -1;
7360 : : return 3443; /* *avx512bw_cmpv32hi3_zero_extendhi */
7361 : :
7362 : : case 20:
7363 : : if (!
7364 : : #line 4562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7365 : : (TARGET_AVX512BW
7366 : : && (GET_MODE_NUNITS (V64QImode)
7367 : : < GET_MODE_PRECISION (HImode))))
7368 : : return -1;
7369 : : return 3434; /* *avx512bw_cmpv64qi3_zero_extendhi */
7370 : :
7371 : : default:
7372 : : return -1;
7373 : : }
7374 : :
7375 : : case 158:
7376 : : if (!const_0_to_7_operand (operands[3], E_SImode))
7377 : : return -1;
7378 : : switch (pattern1078 (x3))
7379 : : {
7380 : : case 0:
7381 : : if (!
7382 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7383 : : (TARGET_AVX512BW
7384 : : && (GET_MODE_NUNITS (V64QImode)
7385 : : < GET_MODE_PRECISION (HImode))))
7386 : : return -1;
7387 : : return 3518; /* *avx512bw_ucmpv64qi3_zero_extendhi */
7388 : :
7389 : : case 1:
7390 : : if (!(
7391 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7392 : : (TARGET_AVX512BW
7393 : : && (GET_MODE_NUNITS (V16QImode)
7394 : : < GET_MODE_PRECISION (HImode))) &&
7395 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7396 : : (TARGET_AVX512VL)))
7397 : : return -1;
7398 : : return 3521; /* *avx512vl_ucmpv16qi3_zero_extendhi */
7399 : :
7400 : : case 2:
7401 : : if (!(
7402 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7403 : : (TARGET_AVX512BW
7404 : : && (GET_MODE_NUNITS (V16HImode)
7405 : : < GET_MODE_PRECISION (HImode))) &&
7406 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7407 : : (TARGET_AVX512VL)))
7408 : : return -1;
7409 : : return 3530; /* *avx512vl_ucmpv16hi3_zero_extendhi */
7410 : :
7411 : : case 3:
7412 : : if (!
7413 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7414 : : (TARGET_AVX512F
7415 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7416 : : && (GET_MODE_NUNITS (V16SImode)
7417 : : < GET_MODE_PRECISION (HImode))))
7418 : : return -1;
7419 : : return 3590; /* *avx512f_ucmpv16si3_zero_extendhi */
7420 : :
7421 : : case 4:
7422 : : if (!(
7423 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7424 : : (TARGET_AVX512BW
7425 : : && (GET_MODE_NUNITS (V32QImode)
7426 : : < GET_MODE_PRECISION (HImode))) &&
7427 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7428 : : (TARGET_AVX512VL)))
7429 : : return -1;
7430 : : return 3524; /* *avx512vl_ucmpv32qi3_zero_extendhi */
7431 : :
7432 : : case 5:
7433 : : if (!
7434 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7435 : : (TARGET_AVX512BW
7436 : : && (GET_MODE_NUNITS (V32HImode)
7437 : : < GET_MODE_PRECISION (HImode))))
7438 : : return -1;
7439 : : return 3527; /* *avx512bw_ucmpv32hi3_zero_extendhi */
7440 : :
7441 : : case 6:
7442 : : if (!(
7443 : : #line 4672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7444 : : (TARGET_AVX512BW
7445 : : && (GET_MODE_NUNITS (V8HImode)
7446 : : < GET_MODE_PRECISION (HImode))) &&
7447 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7448 : : (TARGET_AVX512VL)))
7449 : : return -1;
7450 : : return 3533; /* *avx512vl_ucmpv8hi3_zero_extendhi */
7451 : :
7452 : : case 7:
7453 : : if (!(
7454 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7455 : : (TARGET_AVX512F
7456 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7457 : : && (GET_MODE_NUNITS (V8SImode)
7458 : : < GET_MODE_PRECISION (HImode))) &&
7459 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7460 : : (TARGET_AVX512VL)))
7461 : : return -1;
7462 : : return 3591; /* *avx512vl_ucmpv8si3_zero_extendhi */
7463 : :
7464 : : case 8:
7465 : : if (!(
7466 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7467 : : (TARGET_AVX512F
7468 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7469 : : && (GET_MODE_NUNITS (V4SImode)
7470 : : < GET_MODE_PRECISION (HImode))) &&
7471 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7472 : : (TARGET_AVX512VL)))
7473 : : return -1;
7474 : : return 3592; /* *avx512vl_ucmpv4si3_zero_extendhi */
7475 : :
7476 : : case 9:
7477 : : if (!
7478 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7479 : : (TARGET_AVX512F
7480 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7481 : : && (GET_MODE_NUNITS (V8DImode)
7482 : : < GET_MODE_PRECISION (HImode))))
7483 : : return -1;
7484 : : return 3593; /* *avx512f_ucmpv8di3_zero_extendhi */
7485 : :
7486 : : case 10:
7487 : : if (!(
7488 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7489 : : (TARGET_AVX512F
7490 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7491 : : && (GET_MODE_NUNITS (V4DImode)
7492 : : < GET_MODE_PRECISION (HImode))) &&
7493 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7494 : : (TARGET_AVX512VL)))
7495 : : return -1;
7496 : : return 3594; /* *avx512vl_ucmpv4di3_zero_extendhi */
7497 : :
7498 : : case 11:
7499 : : if (!(
7500 : : #line 4761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7501 : : (TARGET_AVX512F
7502 : : && (!VALID_MASK_AVX512BW_MODE (HImode) || TARGET_AVX512BW)
7503 : : && (GET_MODE_NUNITS (V2DImode)
7504 : : < GET_MODE_PRECISION (HImode))) &&
7505 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7506 : : (TARGET_AVX512VL)))
7507 : : return -1;
7508 : : return 3595; /* *avx512vl_ucmpv2di3_zero_extendhi */
7509 : :
7510 : : default:
7511 : : return -1;
7512 : : }
7513 : :
7514 : : default:
7515 : : return -1;
7516 : : }
7517 : :
7518 : : case 2:
7519 : : x4 = XVECEXP (x3, 0, 0);
7520 : : operands[1] = x4;
7521 : : x5 = XVECEXP (x3, 0, 1);
7522 : : operands[2] = x5;
7523 : : switch (XINT (x3, 1))
7524 : : {
7525 : : case 159:
7526 : : switch (GET_MODE (x3))
7527 : : {
7528 : : case E_DImode:
7529 : : if (!register_operand (operands[1], E_V64QImode)
7530 : : || !nonimmediate_operand (operands[2], E_V64QImode)
7531 : : || !(
7532 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7533 : : (TARGET_AVX512BW
7534 : : && (2
7535 : : > GET_MODE_SIZE (DImode))) &&
7536 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7537 : : (TARGET_AVX512BW)))
7538 : : return -1;
7539 : : return 8112; /* *avx512bw_testmv64qi3_zext */
7540 : :
7541 : : case E_SImode:
7542 : : switch (pattern854 ())
7543 : : {
7544 : : case 0:
7545 : : if (!(
7546 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7547 : : (TARGET_AVX512BW
7548 : : && (2
7549 : : > GET_MODE_SIZE (SImode))) &&
7550 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7551 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7552 : : return -1;
7553 : : return 8115; /* *avx512vl_testmv32qi3_zext */
7554 : :
7555 : : case 1:
7556 : : if (!(
7557 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7558 : : (TARGET_AVX512BW
7559 : : && (2
7560 : : > GET_MODE_SIZE (SImode))) &&
7561 : : #line 498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7562 : : (TARGET_AVX512BW)))
7563 : : return -1;
7564 : : return 8121; /* *avx512bw_testmv32hi3_zext */
7565 : :
7566 : : default:
7567 : : return -1;
7568 : : }
7569 : :
7570 : : case E_HImode:
7571 : : switch (pattern721 ())
7572 : : {
7573 : : case 0:
7574 : : if (!(
7575 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7576 : : (TARGET_AVX512BW
7577 : : && (2
7578 : : > GET_MODE_SIZE (HImode))) &&
7579 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7580 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7581 : : return -1;
7582 : : return 8118; /* *avx512vl_testmv16qi3_zext */
7583 : :
7584 : : case 1:
7585 : : if (!(
7586 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7587 : : (TARGET_AVX512BW
7588 : : && (2
7589 : : > GET_MODE_SIZE (HImode))) &&
7590 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7591 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7592 : : return -1;
7593 : : return 8124; /* *avx512vl_testmv16hi3_zext */
7594 : :
7595 : : case 2:
7596 : : if (!
7597 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7598 : : (TARGET_AVX512BW
7599 : : && (2
7600 : : > GET_MODE_SIZE (HImode))))
7601 : : return -1;
7602 : : return 8130; /* *avx512f_testmv16si3_zext */
7603 : :
7604 : : default:
7605 : : return -1;
7606 : : }
7607 : :
7608 : : case E_QImode:
7609 : : switch (pattern722 ())
7610 : : {
7611 : : case 0:
7612 : : if (!(
7613 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7614 : : (TARGET_AVX512BW
7615 : : && (2
7616 : : > GET_MODE_SIZE (QImode))) &&
7617 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7618 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7619 : : return -1;
7620 : : return 8127; /* *avx512vl_testmv8hi3_zext */
7621 : :
7622 : : case 1:
7623 : : if (!(
7624 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7625 : : (TARGET_AVX512BW
7626 : : && (2
7627 : : > GET_MODE_SIZE (QImode))) &&
7628 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7629 : : (TARGET_AVX512VL)))
7630 : : return -1;
7631 : : return 8133; /* *avx512vl_testmv8si3_zext */
7632 : :
7633 : : case 2:
7634 : : if (!(
7635 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7636 : : (TARGET_AVX512BW
7637 : : && (2
7638 : : > GET_MODE_SIZE (QImode))) &&
7639 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7640 : : (TARGET_AVX512VL)))
7641 : : return -1;
7642 : : return 8136; /* *avx512vl_testmv4si3_zext */
7643 : :
7644 : : case 3:
7645 : : if (!
7646 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7647 : : (TARGET_AVX512BW
7648 : : && (2
7649 : : > GET_MODE_SIZE (QImode))))
7650 : : return -1;
7651 : : return 8139; /* *avx512f_testmv8di3_zext */
7652 : :
7653 : : case 4:
7654 : : if (!(
7655 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7656 : : (TARGET_AVX512BW
7657 : : && (2
7658 : : > GET_MODE_SIZE (QImode))) &&
7659 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7660 : : (TARGET_AVX512VL)))
7661 : : return -1;
7662 : : return 8142; /* *avx512vl_testmv4di3_zext */
7663 : :
7664 : : case 5:
7665 : : if (!(
7666 : : #line 19102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7667 : : (TARGET_AVX512BW
7668 : : && (2
7669 : : > GET_MODE_SIZE (QImode))) &&
7670 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7671 : : (TARGET_AVX512VL)))
7672 : : return -1;
7673 : : return 8145; /* *avx512vl_testmv2di3_zext */
7674 : :
7675 : : default:
7676 : : return -1;
7677 : : }
7678 : :
7679 : : default:
7680 : : return -1;
7681 : : }
7682 : :
7683 : : case 160:
7684 : : switch (GET_MODE (x3))
7685 : : {
7686 : : case E_DImode:
7687 : : if (!register_operand (operands[1], E_V64QImode)
7688 : : || !nonimmediate_operand (operands[2], E_V64QImode)
7689 : : || !(
7690 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7691 : : (TARGET_AVX512BW
7692 : : && (2
7693 : : > GET_MODE_SIZE (DImode))) &&
7694 : : #line 495 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7695 : : (TARGET_AVX512BW)))
7696 : : return -1;
7697 : : return 8184; /* *avx512bw_testnmv64qi3_zext */
7698 : :
7699 : : case E_SImode:
7700 : : switch (pattern854 ())
7701 : : {
7702 : : case 0:
7703 : : if (!(
7704 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7705 : : (TARGET_AVX512BW
7706 : : && (2
7707 : : > GET_MODE_SIZE (SImode))) &&
7708 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7709 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7710 : : return -1;
7711 : : return 8187; /* *avx512vl_testnmv32qi3_zext */
7712 : :
7713 : : case 1:
7714 : : if (!(
7715 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7716 : : (TARGET_AVX512BW
7717 : : && (2
7718 : : > GET_MODE_SIZE (SImode))) &&
7719 : : #line 498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7720 : : (TARGET_AVX512BW)))
7721 : : return -1;
7722 : : return 8193; /* *avx512bw_testnmv32hi3_zext */
7723 : :
7724 : : default:
7725 : : return -1;
7726 : : }
7727 : :
7728 : : case E_HImode:
7729 : : switch (pattern721 ())
7730 : : {
7731 : : case 0:
7732 : : if (!(
7733 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7734 : : (TARGET_AVX512BW
7735 : : && (2
7736 : : > GET_MODE_SIZE (HImode))) &&
7737 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7738 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7739 : : return -1;
7740 : : return 8190; /* *avx512vl_testnmv16qi3_zext */
7741 : :
7742 : : case 1:
7743 : : if (!(
7744 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7745 : : (TARGET_AVX512BW
7746 : : && (2
7747 : : > GET_MODE_SIZE (HImode))) &&
7748 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7749 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7750 : : return -1;
7751 : : return 8196; /* *avx512vl_testnmv16hi3_zext */
7752 : :
7753 : : case 2:
7754 : : if (!
7755 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7756 : : (TARGET_AVX512BW
7757 : : && (2
7758 : : > GET_MODE_SIZE (HImode))))
7759 : : return -1;
7760 : : return 8202; /* *avx512f_testnmv16si3_zext */
7761 : :
7762 : : default:
7763 : : return -1;
7764 : : }
7765 : :
7766 : : case E_QImode:
7767 : : switch (pattern722 ())
7768 : : {
7769 : : case 0:
7770 : : if (!(
7771 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7772 : : (TARGET_AVX512BW
7773 : : && (2
7774 : : > GET_MODE_SIZE (QImode))) &&
7775 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7776 : : (TARGET_AVX512VL && TARGET_AVX512BW)))
7777 : : return -1;
7778 : : return 8199; /* *avx512vl_testnmv8hi3_zext */
7779 : :
7780 : : case 1:
7781 : : if (!(
7782 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7783 : : (TARGET_AVX512BW
7784 : : && (2
7785 : : > GET_MODE_SIZE (QImode))) &&
7786 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7787 : : (TARGET_AVX512VL)))
7788 : : return -1;
7789 : : return 8205; /* *avx512vl_testnmv8si3_zext */
7790 : :
7791 : : case 2:
7792 : : if (!(
7793 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7794 : : (TARGET_AVX512BW
7795 : : && (2
7796 : : > GET_MODE_SIZE (QImode))) &&
7797 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7798 : : (TARGET_AVX512VL)))
7799 : : return -1;
7800 : : return 8208; /* *avx512vl_testnmv4si3_zext */
7801 : :
7802 : : case 3:
7803 : : if (!
7804 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7805 : : (TARGET_AVX512BW
7806 : : && (2
7807 : : > GET_MODE_SIZE (QImode))))
7808 : : return -1;
7809 : : return 8211; /* *avx512f_testnmv8di3_zext */
7810 : :
7811 : : case 4:
7812 : : if (!(
7813 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7814 : : (TARGET_AVX512BW
7815 : : && (2
7816 : : > GET_MODE_SIZE (QImode))) &&
7817 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7818 : : (TARGET_AVX512VL)))
7819 : : return -1;
7820 : : return 8214; /* *avx512vl_testnmv4di3_zext */
7821 : :
7822 : : case 5:
7823 : : if (!(
7824 : : #line 19132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7825 : : (TARGET_AVX512BW
7826 : : && (2
7827 : : > GET_MODE_SIZE (QImode))) &&
7828 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7829 : : (TARGET_AVX512VL)))
7830 : : return -1;
7831 : : return 8217; /* *avx512vl_testnmv2di3_zext */
7832 : :
7833 : : default:
7834 : : return -1;
7835 : : }
7836 : :
7837 : : default:
7838 : : return -1;
7839 : : }
7840 : :
7841 : : default:
7842 : : return -1;
7843 : : }
7844 : :
7845 : : default:
7846 : : return -1;
7847 : : }
7848 : : }
7849 : :
7850 : : int
7851 : : recog_54 (rtx x1 ATTRIBUTE_UNUSED,
7852 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7853 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7854 : : {
7855 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7856 : : rtx x2, x3, x4;
7857 : : int res ATTRIBUTE_UNUSED;
7858 : : x2 = XEXP (x1, 0);
7859 : : operands[0] = x2;
7860 : : x3 = XEXP (x1, 1);
7861 : : x4 = XEXP (x3, 0);
7862 : : operands[1] = x4;
7863 : : switch (GET_MODE (operands[0]))
7864 : : {
7865 : : case E_HImode:
7866 : : if (!register_operand (operands[0], E_HImode)
7867 : : || GET_MODE (x3) != E_HImode
7868 : : || !nonimmediate_operand (operands[1], E_HImode))
7869 : : return -1;
7870 : : if (
7871 : : #line 22670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7872 : : (TARGET_POPCNT && TARGET_APX_NF))
7873 : : return 1644; /* popcounthi2_nf */
7874 : : if (pnum_clobbers == NULL
7875 : : || !
7876 : : #line 22670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7877 : : (TARGET_POPCNT && true))
7878 : : return -1;
7879 : : *pnum_clobbers = 1;
7880 : : return 1645; /* popcounthi2 */
7881 : :
7882 : : case E_V8QImode:
7883 : : if (!register_operand (operands[0], E_V8QImode)
7884 : : || GET_MODE (x3) != E_V8QImode
7885 : : || !register_operand (operands[1], E_V8QImode)
7886 : : || !(
7887 : : #line 6954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7888 : : (TARGET_AVX512VL && TARGET_AVX512BITALG) &&
7889 : : #line 76 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7890 : : (TARGET_MMX_WITH_SSE)))
7891 : : return -1;
7892 : : return 2400; /* popcountv8qi2 */
7893 : :
7894 : : case E_V4QImode:
7895 : : if (!register_operand (operands[0], E_V4QImode)
7896 : : || GET_MODE (x3) != E_V4QImode
7897 : : || !register_operand (operands[1], E_V4QImode)
7898 : : || !
7899 : : #line 6954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7900 : : (TARGET_AVX512VL && TARGET_AVX512BITALG))
7901 : : return -1;
7902 : : return 2401; /* popcountv4qi2 */
7903 : :
7904 : : case E_V2QImode:
7905 : : if (!register_operand (operands[0], E_V2QImode)
7906 : : || GET_MODE (x3) != E_V2QImode
7907 : : || !register_operand (operands[1], E_V2QImode)
7908 : : || !
7909 : : #line 6954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7910 : : (TARGET_AVX512VL && TARGET_AVX512BITALG))
7911 : : return -1;
7912 : : return 2402; /* popcountv2qi2 */
7913 : :
7914 : : case E_V4HImode:
7915 : : if (!register_operand (operands[0], E_V4HImode)
7916 : : || GET_MODE (x3) != E_V4HImode
7917 : : || !register_operand (operands[1], E_V4HImode)
7918 : : || !(
7919 : : #line 6961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7920 : : (TARGET_AVX512VL && TARGET_AVX512BITALG) &&
7921 : : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7922 : : (TARGET_MMX_WITH_SSE)))
7923 : : return -1;
7924 : : return 2403; /* popcountv4hi2 */
7925 : :
7926 : : case E_V2HImode:
7927 : : if (!register_operand (operands[0], E_V2HImode)
7928 : : || GET_MODE (x3) != E_V2HImode
7929 : : || !register_operand (operands[1], E_V2HImode)
7930 : : || !
7931 : : #line 6961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7932 : : (TARGET_AVX512VL && TARGET_AVX512BITALG))
7933 : : return -1;
7934 : : return 2404; /* popcountv2hi2 */
7935 : :
7936 : : case E_V2SImode:
7937 : : if (!register_operand (operands[0], E_V2SImode)
7938 : : || GET_MODE (x3) != E_V2SImode
7939 : : || !register_operand (operands[1], E_V2SImode)
7940 : : || !
7941 : : #line 6968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7942 : : (TARGET_AVX512VPOPCNTDQ && TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
7943 : : return -1;
7944 : : return 2405; /* popcountv2si2 */
7945 : :
7946 : : default:
7947 : : return -1;
7948 : : }
7949 : : }
7950 : :
7951 : : int
7952 : : recog_62 (rtx x1 ATTRIBUTE_UNUSED,
7953 : : rtx_insn *insn ATTRIBUTE_UNUSED,
7954 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
7955 : : {
7956 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7957 : : rtx x2, x3, x4, x5, x6;
7958 : : int res ATTRIBUTE_UNUSED;
7959 : : x2 = XEXP (x1, 1);
7960 : : switch (XVECLEN (x2, 0))
7961 : : {
7962 : : case 1:
7963 : : switch (XINT (x2, 1))
7964 : : {
7965 : : case 20:
7966 : : if (GET_MODE (x2) != E_BLKmode)
7967 : : return -1;
7968 : : x3 = XVECEXP (x2, 0, 0);
7969 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7970 : : return -1;
7971 : : x4 = XEXP (x1, 0);
7972 : : operands[0] = x4;
7973 : : if (!memory_operand (operands[0], E_BLKmode)
7974 : : || !
7975 : : #line 29556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7976 : : (TARGET_FXSR))
7977 : : return -1;
7978 : : return 1909; /* fxsave */
7979 : :
7980 : : case 22:
7981 : : if (GET_MODE (x2) != E_BLKmode)
7982 : : return -1;
7983 : : x3 = XVECEXP (x2, 0, 0);
7984 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7985 : : return -1;
7986 : : x4 = XEXP (x1, 0);
7987 : : operands[0] = x4;
7988 : : if (!memory_operand (operands[0], E_BLKmode)
7989 : : || !
7990 : : #line 29566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7991 : : (TARGET_64BIT && TARGET_FXSR))
7992 : : return -1;
7993 : : return 1910; /* fxsave64 */
7994 : :
7995 : : case 24:
7996 : : if (GET_MODE (x2) != E_BLKmode)
7997 : : return -1;
7998 : : x4 = XEXP (x1, 0);
7999 : : operands[0] = x4;
8000 : : if (!memory_operand (operands[0], E_BLKmode))
8001 : : return -1;
8002 : : x3 = XVECEXP (x2, 0, 0);
8003 : : operands[1] = x3;
8004 : : if (!register_operand (operands[1], E_DImode)
8005 : : || !
8006 : : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8007 : : (!TARGET_64BIT && TARGET_XSAVE))
8008 : : return -1;
8009 : : return 1913; /* xsave */
8010 : :
8011 : : case 28:
8012 : : if (GET_MODE (x2) != E_BLKmode)
8013 : : return -1;
8014 : : x4 = XEXP (x1, 0);
8015 : : operands[0] = x4;
8016 : : if (!memory_operand (operands[0], E_BLKmode))
8017 : : return -1;
8018 : : x3 = XVECEXP (x2, 0, 0);
8019 : : operands[1] = x3;
8020 : : if (!register_operand (operands[1], E_DImode)
8021 : : || !(
8022 : : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8023 : : (!TARGET_64BIT && TARGET_XSAVE) &&
8024 : : #line 29597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8025 : : (TARGET_XSAVEOPT)))
8026 : : return -1;
8027 : : return 1914; /* xsaveopt */
8028 : :
8029 : : case 34:
8030 : : if (GET_MODE (x2) != E_BLKmode)
8031 : : return -1;
8032 : : x4 = XEXP (x1, 0);
8033 : : operands[0] = x4;
8034 : : if (!memory_operand (operands[0], E_BLKmode))
8035 : : return -1;
8036 : : x3 = XVECEXP (x2, 0, 0);
8037 : : operands[1] = x3;
8038 : : if (!register_operand (operands[1], E_DImode)
8039 : : || !(
8040 : : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8041 : : (!TARGET_64BIT && TARGET_XSAVE) &&
8042 : : #line 29598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8043 : : (TARGET_XSAVEC)))
8044 : : return -1;
8045 : : return 1915; /* xsavec */
8046 : :
8047 : : case 30:
8048 : : if (GET_MODE (x2) != E_BLKmode)
8049 : : return -1;
8050 : : x4 = XEXP (x1, 0);
8051 : : operands[0] = x4;
8052 : : if (!memory_operand (operands[0], E_BLKmode))
8053 : : return -1;
8054 : : x3 = XVECEXP (x2, 0, 0);
8055 : : operands[1] = x3;
8056 : : if (!register_operand (operands[1], E_DImode)
8057 : : || !(
8058 : : #line 29636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8059 : : (!TARGET_64BIT && TARGET_XSAVE) &&
8060 : : #line 29599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8061 : : (TARGET_XSAVES)))
8062 : : return -1;
8063 : : return 1916; /* xsaves */
8064 : :
8065 : : case 40:
8066 : : if (pnum_clobbers == NULL
8067 : : || GET_MODE (x2) != E_BLKmode)
8068 : : return -1;
8069 : : x3 = XVECEXP (x2, 0, 0);
8070 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8071 : : return -1;
8072 : : x4 = XEXP (x1, 0);
8073 : : operands[0] = x4;
8074 : : if (!memory_operand (operands[0], E_BLKmode)
8075 : : || !
8076 : : #line 29767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8077 : : (TARGET_80387))
8078 : : return -1;
8079 : : *pnum_clobbers = 8;
8080 : : return 1935; /* fnstenv */
8081 : :
8082 : : case 42:
8083 : : if (GET_MODE (x2) != E_HImode)
8084 : : return -1;
8085 : : x3 = XVECEXP (x2, 0, 0);
8086 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8087 : : return -1;
8088 : : x4 = XEXP (x1, 0);
8089 : : operands[0] = x4;
8090 : : if (!nonimmediate_operand (operands[0], E_HImode)
8091 : : || !
8092 : : #line 29795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8093 : : (TARGET_80387))
8094 : : return -1;
8095 : : return 1937; /* fnstsw */
8096 : :
8097 : : case 49:
8098 : : if (pattern56 (x1,
8099 : : E_CCZmode) != 0
8100 : : || !
8101 : : #line 30081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8102 : : (TARGET_RTM))
8103 : : return -1;
8104 : : return 1980; /* xtest_1 */
8105 : :
8106 : : case 74:
8107 : : if (pattern56 (x1,
8108 : : E_CCCmode) != 0
8109 : : || !
8110 : : #line 30266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8111 : : (TARGET_UINTR && TARGET_64BIT))
8112 : : return -1;
8113 : : return 2006; /* testui */
8114 : :
8115 : : case 88:
8116 : : if (GET_MODE (x2) != E_BLKmode)
8117 : : return -1;
8118 : : x3 = XVECEXP (x2, 0, 0);
8119 : : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8120 : : return -1;
8121 : : x4 = XEXP (x1, 0);
8122 : : operands[0] = x4;
8123 : : if (!memory_operand (operands[0], E_BLKmode)
8124 : : || !
8125 : : #line 30494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8126 : : (TARGET_AMX_TILE))
8127 : : return -1;
8128 : : return 2022; /* sttilecfg */
8129 : :
8130 : : case 89:
8131 : : x4 = XEXP (x1, 0);
8132 : : operands[0] = x4;
8133 : : x3 = XVECEXP (x2, 0, 0);
8134 : : operands[1] = x3;
8135 : : switch (GET_MODE (operands[0]))
8136 : : {
8137 : : case E_QImode:
8138 : : if (!register_operand (operands[0], E_QImode)
8139 : : || GET_MODE (x2) != E_QImode
8140 : : || !memory_operand (operands[1], E_QImode)
8141 : : || !
8142 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8143 : : (TARGET_MOVRS && TARGET_64BIT))
8144 : : return -1;
8145 : : return 2023; /* movrsqi */
8146 : :
8147 : : case E_HImode:
8148 : : if (!register_operand (operands[0], E_HImode)
8149 : : || GET_MODE (x2) != E_HImode
8150 : : || !memory_operand (operands[1], E_HImode)
8151 : : || !
8152 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8153 : : (TARGET_MOVRS && TARGET_64BIT))
8154 : : return -1;
8155 : : return 2024; /* movrshi */
8156 : :
8157 : : default:
8158 : : return -1;
8159 : : }
8160 : :
8161 : : default:
8162 : : return -1;
8163 : : }
8164 : :
8165 : : case 2:
8166 : : switch (XINT (x2, 1))
8167 : : {
8168 : : case 24:
8169 : : if (pattern92 (x1) != 0
8170 : : || !
8171 : : #line 29649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8172 : : (TARGET_64BIT && TARGET_XSAVE))
8173 : : return -1;
8174 : : return 1917; /* xsave_rex64 */
8175 : :
8176 : : case 28:
8177 : : if (pattern92 (x1) != 0
8178 : : || !(
8179 : : #line 29649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8180 : : (TARGET_64BIT && TARGET_XSAVE) &&
8181 : : #line 29597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8182 : : (TARGET_XSAVEOPT)))
8183 : : return -1;
8184 : : return 1918; /* xsaveopt_rex64 */
8185 : :
8186 : : case 34:
8187 : : if (pattern92 (x1) != 0
8188 : : || !(
8189 : : #line 29649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8190 : : (TARGET_64BIT && TARGET_XSAVE) &&
8191 : : #line 29598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8192 : : (TARGET_XSAVEC)))
8193 : : return -1;
8194 : : return 1919; /* xsavec_rex64 */
8195 : :
8196 : : case 30:
8197 : : if (pattern92 (x1) != 0
8198 : : || !(
8199 : : #line 29649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8200 : : (TARGET_64BIT && TARGET_XSAVE) &&
8201 : : #line 29599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8202 : : (TARGET_XSAVES)))
8203 : : return -1;
8204 : : return 1920; /* xsaves_rex64 */
8205 : :
8206 : : case 26:
8207 : : if (pattern92 (x1) != 0
8208 : : || !
8209 : : #line 29663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8210 : : (TARGET_64BIT && TARGET_XSAVE))
8211 : : return -1;
8212 : : return 1921; /* xsave64 */
8213 : :
8214 : : case 29:
8215 : : if (pattern92 (x1) != 0
8216 : : || !(
8217 : : #line 29663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8218 : : (TARGET_64BIT && TARGET_XSAVE) &&
8219 : : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8220 : : (TARGET_XSAVEOPT)))
8221 : : return -1;
8222 : : return 1922; /* xsaveopt64 */
8223 : :
8224 : : case 35:
8225 : : if (pattern92 (x1) != 0
8226 : : || !(
8227 : : #line 29663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8228 : : (TARGET_64BIT && TARGET_XSAVE) &&
8229 : : #line 29604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8230 : : (TARGET_XSAVEC)))
8231 : : return -1;
8232 : : return 1923; /* xsavec64 */
8233 : :
8234 : : case 32:
8235 : : if (pattern92 (x1) != 0
8236 : : || !(
8237 : : #line 29663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8238 : : (TARGET_64BIT && TARGET_XSAVE) &&
8239 : : #line 29605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8240 : : (TARGET_XSAVES)))
8241 : : return -1;
8242 : : return 1924; /* xsaves64 */
8243 : :
8244 : : case 79:
8245 : : switch (pattern93 (x1))
8246 : : {
8247 : : case 0:
8248 : : if (!(
8249 : : #line 30248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8250 : : (TARGET_ENQCMD) &&
8251 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8252 : : (Pmode == SImode)))
8253 : : return -1;
8254 : : return 2000; /* enqcmd_si */
8255 : :
8256 : : case 1:
8257 : : if (!(
8258 : : #line 30248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8259 : : (TARGET_ENQCMD) &&
8260 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8261 : : (Pmode == DImode)))
8262 : : return -1;
8263 : : return 2002; /* enqcmd_di */
8264 : :
8265 : : default:
8266 : : return -1;
8267 : : }
8268 : :
8269 : : case 80:
8270 : : switch (pattern93 (x1))
8271 : : {
8272 : : case 0:
8273 : : if (!(
8274 : : #line 30248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8275 : : (TARGET_ENQCMD) &&
8276 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8277 : : (Pmode == SImode)))
8278 : : return -1;
8279 : : return 2001; /* enqcmds_si */
8280 : :
8281 : : case 1:
8282 : : if (!(
8283 : : #line 30248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8284 : : (TARGET_ENQCMD) &&
8285 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8286 : : (Pmode == DImode)))
8287 : : return -1;
8288 : : return 2003; /* enqcmds_di */
8289 : :
8290 : : default:
8291 : : return -1;
8292 : : }
8293 : :
8294 : : case 69:
8295 : : if (pattern94 (x1) != 0
8296 : : || !
8297 : : #line 30287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8298 : : (!TARGET_64BIT && TARGET_WAITPKG))
8299 : : return -1;
8300 : : return 2008; /* umwait */
8301 : :
8302 : : case 71:
8303 : : if (pattern94 (x1) != 0
8304 : : || !
8305 : : #line 30314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8306 : : (!TARGET_64BIT && TARGET_WAITPKG))
8307 : : return -1;
8308 : : return 2012; /* tpause */
8309 : :
8310 : : case 111:
8311 : : if (pnum_clobbers == NULL)
8312 : : return -1;
8313 : : x4 = XEXP (x1, 0);
8314 : : operands[0] = x4;
8315 : : x5 = XVECEXP (x2, 0, 1);
8316 : : operands[2] = x5;
8317 : : if (!const_int_operand (operands[2], E_SImode))
8318 : : return -1;
8319 : : x3 = XVECEXP (x2, 0, 0);
8320 : : switch (GET_CODE (x3))
8321 : : {
8322 : : case PLUS:
8323 : : switch (pattern844 (x2))
8324 : : {
8325 : : case 0:
8326 : : *pnum_clobbers = 1;
8327 : : return 10988; /* atomic_addqi */
8328 : :
8329 : : case 1:
8330 : : *pnum_clobbers = 1;
8331 : : return 10989; /* atomic_addhi */
8332 : :
8333 : : default:
8334 : : return -1;
8335 : : }
8336 : :
8337 : : case MINUS:
8338 : : switch (pattern844 (x2))
8339 : : {
8340 : : case 0:
8341 : : *pnum_clobbers = 1;
8342 : : return 10992; /* atomic_subqi */
8343 : :
8344 : : case 1:
8345 : : *pnum_clobbers = 1;
8346 : : return 10993; /* atomic_subhi */
8347 : :
8348 : : default:
8349 : : return -1;
8350 : : }
8351 : :
8352 : : case AND:
8353 : : switch (pattern844 (x2))
8354 : : {
8355 : : case 0:
8356 : : *pnum_clobbers = 1;
8357 : : return 10996; /* atomic_andqi */
8358 : :
8359 : : case 1:
8360 : : *pnum_clobbers = 1;
8361 : : return 10999; /* atomic_andhi */
8362 : :
8363 : : default:
8364 : : return -1;
8365 : : }
8366 : :
8367 : : case IOR:
8368 : : switch (pattern844 (x2))
8369 : : {
8370 : : case 0:
8371 : : *pnum_clobbers = 1;
8372 : : return 10997; /* atomic_orqi */
8373 : :
8374 : : case 1:
8375 : : *pnum_clobbers = 1;
8376 : : return 11000; /* atomic_orhi */
8377 : :
8378 : : default:
8379 : : return -1;
8380 : : }
8381 : :
8382 : : case XOR:
8383 : : switch (pattern844 (x2))
8384 : : {
8385 : : case 0:
8386 : : *pnum_clobbers = 1;
8387 : : return 10998; /* atomic_xorqi */
8388 : :
8389 : : case 1:
8390 : : *pnum_clobbers = 1;
8391 : : return 11001; /* atomic_xorhi */
8392 : :
8393 : : default:
8394 : : return -1;
8395 : : }
8396 : :
8397 : : default:
8398 : : return -1;
8399 : : }
8400 : :
8401 : : default:
8402 : : return -1;
8403 : : }
8404 : :
8405 : : case 3:
8406 : : if (pattern43 (x1,
8407 : : E_CCCmode) != 0)
8408 : : return -1;
8409 : : x3 = XVECEXP (x2, 0, 0);
8410 : : operands[0] = x3;
8411 : : x5 = XVECEXP (x2, 0, 1);
8412 : : operands[1] = x5;
8413 : : x6 = XVECEXP (x2, 0, 2);
8414 : : operands[2] = x6;
8415 : : switch (XINT (x2, 1))
8416 : : {
8417 : : case 15:
8418 : : if (!nonimmediate_operand (operands[1], E_SImode)
8419 : : || !const_int_operand (operands[2], E_SImode))
8420 : : return -1;
8421 : : switch (GET_MODE (operands[0]))
8422 : : {
8423 : : case E_SImode:
8424 : : if (!register_operand (operands[0], E_SImode)
8425 : : || !
8426 : : #line 29852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8427 : : (TARGET_LWP))
8428 : : return -1;
8429 : : return 1945; /* lwp_lwpinssi */
8430 : :
8431 : : case E_DImode:
8432 : : if (!register_operand (operands[0], E_DImode)
8433 : : || !(
8434 : : #line 29852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8435 : : (TARGET_LWP) &&
8436 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8437 : : (TARGET_64BIT)))
8438 : : return -1;
8439 : : return 1946; /* lwp_lwpinsdi */
8440 : :
8441 : : default:
8442 : : return -1;
8443 : : }
8444 : :
8445 : : case 69:
8446 : : if (!register_operand (operands[0], E_SImode)
8447 : : || !register_operand (operands[1], E_SImode)
8448 : : || !register_operand (operands[2], E_SImode)
8449 : : || !
8450 : : #line 30297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8451 : : (TARGET_64BIT && TARGET_WAITPKG))
8452 : : return -1;
8453 : : return 2009; /* umwait_rex64 */
8454 : :
8455 : : case 71:
8456 : : if (!register_operand (operands[0], E_SImode)
8457 : : || !register_operand (operands[1], E_SImode)
8458 : : || !register_operand (operands[2], E_SImode)
8459 : : || !
8460 : : #line 30324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8461 : : (TARGET_64BIT && TARGET_WAITPKG))
8462 : : return -1;
8463 : : return 2013; /* tpause_rex64 */
8464 : :
8465 : : default:
8466 : : return -1;
8467 : : }
8468 : :
8469 : : default:
8470 : : return -1;
8471 : : }
8472 : : }
8473 : :
8474 : : int
8475 : : recog_75 (rtx x1 ATTRIBUTE_UNUSED,
8476 : : rtx_insn *insn ATTRIBUTE_UNUSED,
8477 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
8478 : : {
8479 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8480 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8481 : : rtx x10;
8482 : : int res ATTRIBUTE_UNUSED;
8483 : : x2 = XEXP (x1, 1);
8484 : : x3 = XEXP (x2, 0);
8485 : : x4 = XEXP (x3, 0);
8486 : : switch (GET_CODE (x4))
8487 : : {
8488 : : case REG:
8489 : : case SUBREG:
8490 : : case MEM:
8491 : : switch (pattern108 (x2, pnum_clobbers))
8492 : : {
8493 : : case 0:
8494 : : if (
8495 : : #line 12785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8496 : : (TARGET_APX_NDD && TARGET_APX_NF
8497 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8498 : : return 714; /* *andqi_1_zextsi_nf */
8499 : : if (pnum_clobbers == NULL
8500 : : || !
8501 : : #line 12785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8502 : : (TARGET_APX_NDD && true
8503 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8504 : : return -1;
8505 : : *pnum_clobbers = 1;
8506 : : return 715; /* *andqi_1_zextsi */
8507 : :
8508 : : case 1:
8509 : : if (
8510 : : #line 12799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8511 : : (TARGET_APX_NDD && TARGET_APX_NF
8512 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8513 : : return 718; /* *andhi_1_zextsi_nf */
8514 : : if (pnum_clobbers == NULL
8515 : : || !
8516 : : #line 12799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8517 : : (TARGET_APX_NDD && true
8518 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8519 : : return -1;
8520 : : *pnum_clobbers = 1;
8521 : : return 719; /* *andhi_1_zextsi */
8522 : :
8523 : : case 2:
8524 : : if (
8525 : : #line 12785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8526 : : (TARGET_APX_NDD && TARGET_APX_NF
8527 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8528 : : return 716; /* *andqi_1_zextdi_nf */
8529 : : if (pnum_clobbers == NULL
8530 : : || !
8531 : : #line 12785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8532 : : (TARGET_APX_NDD && true
8533 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8534 : : return -1;
8535 : : *pnum_clobbers = 1;
8536 : : return 717; /* *andqi_1_zextdi */
8537 : :
8538 : : case 3:
8539 : : if (
8540 : : #line 12799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8541 : : (TARGET_APX_NDD && TARGET_APX_NF
8542 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8543 : : return 720; /* *andhi_1_zextdi_nf */
8544 : : if (pnum_clobbers == NULL
8545 : : || !
8546 : : #line 12799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8547 : : (TARGET_APX_NDD && true
8548 : : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8549 : : return -1;
8550 : : *pnum_clobbers = 1;
8551 : : return 721; /* *andhi_1_zextdi */
8552 : :
8553 : : case 4:
8554 : : if (!
8555 : : #line 12815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8556 : : (TARGET_64BIT
8557 : : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
8558 : : return -1;
8559 : : *pnum_clobbers = 1;
8560 : : return 722; /* *andsi_1_zext */
8561 : :
8562 : : default:
8563 : : return -1;
8564 : : }
8565 : :
8566 : : case PLUS:
8567 : : if (pnum_clobbers == NULL
8568 : : || pattern428 (x4) != 0)
8569 : : return -1;
8570 : : x5 = XEXP (x4, 1);
8571 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
8572 : : || !register_operand (operands[0], E_DImode)
8573 : : || GET_MODE (x2) != E_DImode
8574 : : || GET_MODE (x3) != E_SImode)
8575 : : return -1;
8576 : : x6 = XEXP (x4, 0);
8577 : : x7 = XEXP (x6, 1);
8578 : : operands[2] = x7;
8579 : : if (!register_operand (operands[2], E_QImode))
8580 : : return -1;
8581 : : x8 = XEXP (x3, 1);
8582 : : operands[1] = x8;
8583 : : if (!nonimmediate_operand (operands[1], E_SImode)
8584 : : || !
8585 : : #line 22254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8586 : : (TARGET_64BIT && TARGET_BMI2))
8587 : : return -1;
8588 : : *pnum_clobbers = 1;
8589 : : return 1604; /* *bmi2_bzhi_zero_extendsidi_4 */
8590 : :
8591 : : case UNSPEC:
8592 : : if (XVECLEN (x4, 0) != 2)
8593 : : return -1;
8594 : : x9 = XVECEXP (x4, 0, 0);
8595 : : operands[1] = x9;
8596 : : x10 = XVECEXP (x4, 0, 1);
8597 : : operands[2] = x10;
8598 : : x8 = XEXP (x3, 1);
8599 : : operands[3] = x8;
8600 : : switch (XINT (x4, 1))
8601 : : {
8602 : : case 159:
8603 : : switch (GET_MODE (operands[0]))
8604 : : {
8605 : : case E_DImode:
8606 : : switch (pattern1075 (x2,
8607 : : E_DImode))
8608 : : {
8609 : : case 0:
8610 : : if (!(
8611 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8612 : : (TARGET_AVX512BW
8613 : : && (8
8614 : : > GET_MODE_SIZE (DImode))) &&
8615 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8616 : : (TARGET_AVX512BW)))
8617 : : return -1;
8618 : : return 8146; /* *avx512bw_testmv64qi3_zext_mask */
8619 : :
8620 : : case 1:
8621 : : if (!(
8622 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8623 : : (TARGET_AVX512BW
8624 : : && (8
8625 : : > GET_MODE_SIZE (SImode))) && ((
8626 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8627 : : (TARGET_AVX512BW) &&
8628 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8629 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8630 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8631 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8632 : : return -1;
8633 : : return 8149; /* *avx512vl_testmv32qi3_zext_mask */
8634 : :
8635 : : case 2:
8636 : : if (!(
8637 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8638 : : (TARGET_AVX512BW
8639 : : && (8
8640 : : > GET_MODE_SIZE (SImode))) &&
8641 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8642 : : (TARGET_AVX512BW)))
8643 : : return -1;
8644 : : return 8155; /* *avx512bw_testmv32hi3_zext_mask */
8645 : :
8646 : : case 3:
8647 : : if (!(
8648 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8649 : : (TARGET_AVX512BW
8650 : : && (8
8651 : : > GET_MODE_SIZE (HImode))) && ((
8652 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8653 : : (TARGET_AVX512BW) &&
8654 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8655 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8656 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8657 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8658 : : return -1;
8659 : : return 8152; /* *avx512vl_testmv16qi3_zext_mask */
8660 : :
8661 : : case 4:
8662 : : if (!(
8663 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8664 : : (TARGET_AVX512BW
8665 : : && (8
8666 : : > GET_MODE_SIZE (HImode))) && ((
8667 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8668 : : (TARGET_AVX512BW) &&
8669 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8670 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8671 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8672 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8673 : : return -1;
8674 : : return 8158; /* *avx512vl_testmv16hi3_zext_mask */
8675 : :
8676 : : case 5:
8677 : : if (!(
8678 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8679 : : (TARGET_AVX512BW
8680 : : && (8
8681 : : > GET_MODE_SIZE (HImode))) &&
8682 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8683 : : (TARGET_AVX512BW)))
8684 : : return -1;
8685 : : return 8164; /* *avx512f_testmv16si3_zext_mask */
8686 : :
8687 : : case 6:
8688 : : if (!(
8689 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8690 : : (TARGET_AVX512BW
8691 : : && (8
8692 : : > GET_MODE_SIZE (QImode))) && ((
8693 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8694 : : (TARGET_AVX512BW) &&
8695 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8696 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8697 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8698 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8699 : : return -1;
8700 : : return 8161; /* *avx512vl_testmv8hi3_zext_mask */
8701 : :
8702 : : case 7:
8703 : : if (!(
8704 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8705 : : (TARGET_AVX512BW
8706 : : && (8
8707 : : > GET_MODE_SIZE (QImode))) && ((
8708 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8709 : : (TARGET_AVX512BW) &&
8710 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8711 : : (TARGET_AVX512VL)) &&
8712 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8713 : : (TARGET_AVX512VL))))
8714 : : return -1;
8715 : : return 8167; /* *avx512vl_testmv8si3_zext_mask */
8716 : :
8717 : : case 8:
8718 : : if (!(
8719 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8720 : : (TARGET_AVX512BW
8721 : : && (8
8722 : : > GET_MODE_SIZE (QImode))) && ((
8723 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8724 : : (TARGET_AVX512BW) &&
8725 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8726 : : (TARGET_AVX512VL)) &&
8727 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8728 : : (TARGET_AVX512VL))))
8729 : : return -1;
8730 : : return 8170; /* *avx512vl_testmv4si3_zext_mask */
8731 : :
8732 : : case 9:
8733 : : if (!(
8734 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8735 : : (TARGET_AVX512BW
8736 : : && (8
8737 : : > GET_MODE_SIZE (QImode))) &&
8738 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8739 : : (TARGET_AVX512BW)))
8740 : : return -1;
8741 : : return 8173; /* *avx512f_testmv8di3_zext_mask */
8742 : :
8743 : : case 10:
8744 : : if (!(
8745 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8746 : : (TARGET_AVX512BW
8747 : : && (8
8748 : : > GET_MODE_SIZE (QImode))) && ((
8749 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8750 : : (TARGET_AVX512BW) &&
8751 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8752 : : (TARGET_AVX512VL)) &&
8753 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8754 : : (TARGET_AVX512VL))))
8755 : : return -1;
8756 : : return 8176; /* *avx512vl_testmv4di3_zext_mask */
8757 : :
8758 : : case 11:
8759 : : if (!(
8760 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8761 : : (TARGET_AVX512BW
8762 : : && (8
8763 : : > GET_MODE_SIZE (QImode))) && ((
8764 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8765 : : (TARGET_AVX512BW) &&
8766 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8767 : : (TARGET_AVX512VL)) &&
8768 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8769 : : (TARGET_AVX512VL))))
8770 : : return -1;
8771 : : return 8179; /* *avx512vl_testmv2di3_zext_mask */
8772 : :
8773 : : default:
8774 : : return -1;
8775 : : }
8776 : :
8777 : : case E_SImode:
8778 : : switch (pattern1075 (x2,
8779 : : E_SImode))
8780 : : {
8781 : : case 0:
8782 : : if (!(
8783 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8784 : : (TARGET_AVX512BW
8785 : : && (4
8786 : : > GET_MODE_SIZE (DImode))) &&
8787 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8788 : : (TARGET_AVX512BW)))
8789 : : return -1;
8790 : : return 8147; /* *avx512bw_testmv64qi3_zext_mask */
8791 : :
8792 : : case 1:
8793 : : if (!(
8794 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8795 : : (TARGET_AVX512BW
8796 : : && (4
8797 : : > GET_MODE_SIZE (SImode))) && ((
8798 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8799 : : (TARGET_AVX512BW) &&
8800 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8801 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8802 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8803 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8804 : : return -1;
8805 : : return 8150; /* *avx512vl_testmv32qi3_zext_mask */
8806 : :
8807 : : case 2:
8808 : : if (!(
8809 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8810 : : (TARGET_AVX512BW
8811 : : && (4
8812 : : > GET_MODE_SIZE (SImode))) &&
8813 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8814 : : (TARGET_AVX512BW)))
8815 : : return -1;
8816 : : return 8156; /* *avx512bw_testmv32hi3_zext_mask */
8817 : :
8818 : : case 3:
8819 : : if (!(
8820 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8821 : : (TARGET_AVX512BW
8822 : : && (4
8823 : : > GET_MODE_SIZE (HImode))) && ((
8824 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8825 : : (TARGET_AVX512BW) &&
8826 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8827 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8828 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8829 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8830 : : return -1;
8831 : : return 8153; /* *avx512vl_testmv16qi3_zext_mask */
8832 : :
8833 : : case 4:
8834 : : if (!(
8835 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8836 : : (TARGET_AVX512BW
8837 : : && (4
8838 : : > GET_MODE_SIZE (HImode))) && ((
8839 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8840 : : (TARGET_AVX512BW) &&
8841 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8842 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8843 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8844 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8845 : : return -1;
8846 : : return 8159; /* *avx512vl_testmv16hi3_zext_mask */
8847 : :
8848 : : case 5:
8849 : : if (!(
8850 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8851 : : (TARGET_AVX512BW
8852 : : && (4
8853 : : > GET_MODE_SIZE (HImode))) &&
8854 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8855 : : (TARGET_AVX512BW)))
8856 : : return -1;
8857 : : return 8165; /* *avx512f_testmv16si3_zext_mask */
8858 : :
8859 : : case 6:
8860 : : if (!(
8861 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8862 : : (TARGET_AVX512BW
8863 : : && (4
8864 : : > GET_MODE_SIZE (QImode))) && ((
8865 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8866 : : (TARGET_AVX512BW) &&
8867 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8868 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8869 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8870 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8871 : : return -1;
8872 : : return 8162; /* *avx512vl_testmv8hi3_zext_mask */
8873 : :
8874 : : case 7:
8875 : : if (!(
8876 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8877 : : (TARGET_AVX512BW
8878 : : && (4
8879 : : > GET_MODE_SIZE (QImode))) && ((
8880 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8881 : : (TARGET_AVX512BW) &&
8882 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8883 : : (TARGET_AVX512VL)) &&
8884 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8885 : : (TARGET_AVX512VL))))
8886 : : return -1;
8887 : : return 8168; /* *avx512vl_testmv8si3_zext_mask */
8888 : :
8889 : : case 8:
8890 : : if (!(
8891 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8892 : : (TARGET_AVX512BW
8893 : : && (4
8894 : : > GET_MODE_SIZE (QImode))) && ((
8895 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8896 : : (TARGET_AVX512BW) &&
8897 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8898 : : (TARGET_AVX512VL)) &&
8899 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8900 : : (TARGET_AVX512VL))))
8901 : : return -1;
8902 : : return 8171; /* *avx512vl_testmv4si3_zext_mask */
8903 : :
8904 : : case 9:
8905 : : if (!(
8906 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8907 : : (TARGET_AVX512BW
8908 : : && (4
8909 : : > GET_MODE_SIZE (QImode))) &&
8910 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8911 : : (TARGET_AVX512BW)))
8912 : : return -1;
8913 : : return 8174; /* *avx512f_testmv8di3_zext_mask */
8914 : :
8915 : : case 10:
8916 : : if (!(
8917 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8918 : : (TARGET_AVX512BW
8919 : : && (4
8920 : : > GET_MODE_SIZE (QImode))) && ((
8921 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8922 : : (TARGET_AVX512BW) &&
8923 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8924 : : (TARGET_AVX512VL)) &&
8925 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8926 : : (TARGET_AVX512VL))))
8927 : : return -1;
8928 : : return 8177; /* *avx512vl_testmv4di3_zext_mask */
8929 : :
8930 : : case 11:
8931 : : if (!(
8932 : : #line 19118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8933 : : (TARGET_AVX512BW
8934 : : && (4
8935 : : > GET_MODE_SIZE (QImode))) && ((
8936 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8937 : : (TARGET_AVX512BW) &&
8938 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8939 : : (TARGET_AVX512VL)) &&
8940 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8941 : : (TARGET_AVX512VL))))
8942 : : return -1;
8943 : : return 8180; /* *avx512vl_testmv2di3_zext_mask */
8944 : :
8945 : : default:
8946 : : return -1;
8947 : : }
8948 : :
8949 : : default:
8950 : : return -1;
8951 : : }
8952 : :
8953 : : case 160:
8954 : : switch (GET_MODE (operands[0]))
8955 : : {
8956 : : case E_DImode:
8957 : : switch (pattern1075 (x2,
8958 : : E_DImode))
8959 : : {
8960 : : case 0:
8961 : : if (!(
8962 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8963 : : (TARGET_AVX512BW
8964 : : && (8
8965 : : > GET_MODE_SIZE (DImode))) &&
8966 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8967 : : (TARGET_AVX512BW)))
8968 : : return -1;
8969 : : return 8218; /* *avx512bw_testnmv64qi3_zext_mask */
8970 : :
8971 : : case 1:
8972 : : if (!(
8973 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8974 : : (TARGET_AVX512BW
8975 : : && (8
8976 : : > GET_MODE_SIZE (SImode))) && ((
8977 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8978 : : (TARGET_AVX512BW) &&
8979 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8980 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
8981 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8982 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
8983 : : return -1;
8984 : : return 8221; /* *avx512vl_testnmv32qi3_zext_mask */
8985 : :
8986 : : case 2:
8987 : : if (!(
8988 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8989 : : (TARGET_AVX512BW
8990 : : && (8
8991 : : > GET_MODE_SIZE (SImode))) &&
8992 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8993 : : (TARGET_AVX512BW)))
8994 : : return -1;
8995 : : return 8227; /* *avx512bw_testnmv32hi3_zext_mask */
8996 : :
8997 : : case 3:
8998 : : if (!(
8999 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9000 : : (TARGET_AVX512BW
9001 : : && (8
9002 : : > GET_MODE_SIZE (HImode))) && ((
9003 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9004 : : (TARGET_AVX512BW) &&
9005 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9006 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9007 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9008 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9009 : : return -1;
9010 : : return 8224; /* *avx512vl_testnmv16qi3_zext_mask */
9011 : :
9012 : : case 4:
9013 : : if (!(
9014 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9015 : : (TARGET_AVX512BW
9016 : : && (8
9017 : : > GET_MODE_SIZE (HImode))) && ((
9018 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9019 : : (TARGET_AVX512BW) &&
9020 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9021 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9022 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9023 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9024 : : return -1;
9025 : : return 8230; /* *avx512vl_testnmv16hi3_zext_mask */
9026 : :
9027 : : case 5:
9028 : : if (!(
9029 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9030 : : (TARGET_AVX512BW
9031 : : && (8
9032 : : > GET_MODE_SIZE (HImode))) &&
9033 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9034 : : (TARGET_AVX512BW)))
9035 : : return -1;
9036 : : return 8236; /* *avx512f_testnmv16si3_zext_mask */
9037 : :
9038 : : case 6:
9039 : : if (!(
9040 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9041 : : (TARGET_AVX512BW
9042 : : && (8
9043 : : > GET_MODE_SIZE (QImode))) && ((
9044 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9045 : : (TARGET_AVX512BW) &&
9046 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9047 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9048 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9049 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9050 : : return -1;
9051 : : return 8233; /* *avx512vl_testnmv8hi3_zext_mask */
9052 : :
9053 : : case 7:
9054 : : if (!(
9055 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9056 : : (TARGET_AVX512BW
9057 : : && (8
9058 : : > GET_MODE_SIZE (QImode))) && ((
9059 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9060 : : (TARGET_AVX512BW) &&
9061 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9062 : : (TARGET_AVX512VL)) &&
9063 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9064 : : (TARGET_AVX512VL))))
9065 : : return -1;
9066 : : return 8239; /* *avx512vl_testnmv8si3_zext_mask */
9067 : :
9068 : : case 8:
9069 : : if (!(
9070 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9071 : : (TARGET_AVX512BW
9072 : : && (8
9073 : : > GET_MODE_SIZE (QImode))) && ((
9074 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9075 : : (TARGET_AVX512BW) &&
9076 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9077 : : (TARGET_AVX512VL)) &&
9078 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9079 : : (TARGET_AVX512VL))))
9080 : : return -1;
9081 : : return 8242; /* *avx512vl_testnmv4si3_zext_mask */
9082 : :
9083 : : case 9:
9084 : : if (!(
9085 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9086 : : (TARGET_AVX512BW
9087 : : && (8
9088 : : > GET_MODE_SIZE (QImode))) &&
9089 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9090 : : (TARGET_AVX512BW)))
9091 : : return -1;
9092 : : return 8245; /* *avx512f_testnmv8di3_zext_mask */
9093 : :
9094 : : case 10:
9095 : : if (!(
9096 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9097 : : (TARGET_AVX512BW
9098 : : && (8
9099 : : > GET_MODE_SIZE (QImode))) && ((
9100 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9101 : : (TARGET_AVX512BW) &&
9102 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9103 : : (TARGET_AVX512VL)) &&
9104 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9105 : : (TARGET_AVX512VL))))
9106 : : return -1;
9107 : : return 8248; /* *avx512vl_testnmv4di3_zext_mask */
9108 : :
9109 : : case 11:
9110 : : if (!(
9111 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9112 : : (TARGET_AVX512BW
9113 : : && (8
9114 : : > GET_MODE_SIZE (QImode))) && ((
9115 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9116 : : (TARGET_AVX512BW) &&
9117 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9118 : : (TARGET_AVX512VL)) &&
9119 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9120 : : (TARGET_AVX512VL))))
9121 : : return -1;
9122 : : return 8251; /* *avx512vl_testnmv2di3_zext_mask */
9123 : :
9124 : : default:
9125 : : return -1;
9126 : : }
9127 : :
9128 : : case E_SImode:
9129 : : switch (pattern1075 (x2,
9130 : : E_SImode))
9131 : : {
9132 : : case 0:
9133 : : if (!(
9134 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9135 : : (TARGET_AVX512BW
9136 : : && (4
9137 : : > GET_MODE_SIZE (DImode))) &&
9138 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9139 : : (TARGET_AVX512BW)))
9140 : : return -1;
9141 : : return 8219; /* *avx512bw_testnmv64qi3_zext_mask */
9142 : :
9143 : : case 1:
9144 : : if (!(
9145 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9146 : : (TARGET_AVX512BW
9147 : : && (4
9148 : : > GET_MODE_SIZE (SImode))) && ((
9149 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9150 : : (TARGET_AVX512BW) &&
9151 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9152 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9153 : : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9154 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9155 : : return -1;
9156 : : return 8222; /* *avx512vl_testnmv32qi3_zext_mask */
9157 : :
9158 : : case 2:
9159 : : if (!(
9160 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9161 : : (TARGET_AVX512BW
9162 : : && (4
9163 : : > GET_MODE_SIZE (SImode))) &&
9164 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9165 : : (TARGET_AVX512BW)))
9166 : : return -1;
9167 : : return 8228; /* *avx512bw_testnmv32hi3_zext_mask */
9168 : :
9169 : : case 3:
9170 : : if (!(
9171 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9172 : : (TARGET_AVX512BW
9173 : : && (4
9174 : : > GET_MODE_SIZE (HImode))) && ((
9175 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9176 : : (TARGET_AVX512BW) &&
9177 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9178 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9179 : : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9180 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9181 : : return -1;
9182 : : return 8225; /* *avx512vl_testnmv16qi3_zext_mask */
9183 : :
9184 : : case 4:
9185 : : if (!(
9186 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9187 : : (TARGET_AVX512BW
9188 : : && (4
9189 : : > GET_MODE_SIZE (HImode))) && ((
9190 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9191 : : (TARGET_AVX512BW) &&
9192 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9193 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9194 : : #line 499 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9195 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9196 : : return -1;
9197 : : return 8231; /* *avx512vl_testnmv16hi3_zext_mask */
9198 : :
9199 : : case 5:
9200 : : if (!(
9201 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9202 : : (TARGET_AVX512BW
9203 : : && (4
9204 : : > GET_MODE_SIZE (HImode))) &&
9205 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9206 : : (TARGET_AVX512BW)))
9207 : : return -1;
9208 : : return 8237; /* *avx512f_testnmv16si3_zext_mask */
9209 : :
9210 : : case 6:
9211 : : if (!(
9212 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9213 : : (TARGET_AVX512BW
9214 : : && (4
9215 : : > GET_MODE_SIZE (QImode))) && ((
9216 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9217 : : (TARGET_AVX512BW) &&
9218 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9219 : : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9220 : : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9221 : : (TARGET_AVX512VL && TARGET_AVX512BW))))
9222 : : return -1;
9223 : : return 8234; /* *avx512vl_testnmv8hi3_zext_mask */
9224 : :
9225 : : case 7:
9226 : : if (!(
9227 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9228 : : (TARGET_AVX512BW
9229 : : && (4
9230 : : > GET_MODE_SIZE (QImode))) && ((
9231 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9232 : : (TARGET_AVX512BW) &&
9233 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9234 : : (TARGET_AVX512VL)) &&
9235 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9236 : : (TARGET_AVX512VL))))
9237 : : return -1;
9238 : : return 8240; /* *avx512vl_testnmv8si3_zext_mask */
9239 : :
9240 : : case 8:
9241 : : if (!(
9242 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9243 : : (TARGET_AVX512BW
9244 : : && (4
9245 : : > GET_MODE_SIZE (QImode))) && ((
9246 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9247 : : (TARGET_AVX512BW) &&
9248 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9249 : : (TARGET_AVX512VL)) &&
9250 : : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9251 : : (TARGET_AVX512VL))))
9252 : : return -1;
9253 : : return 8243; /* *avx512vl_testnmv4si3_zext_mask */
9254 : :
9255 : : case 9:
9256 : : if (!(
9257 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9258 : : (TARGET_AVX512BW
9259 : : && (4
9260 : : > GET_MODE_SIZE (QImode))) &&
9261 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9262 : : (TARGET_AVX512BW)))
9263 : : return -1;
9264 : : return 8246; /* *avx512f_testnmv8di3_zext_mask */
9265 : :
9266 : : case 10:
9267 : : if (!(
9268 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9269 : : (TARGET_AVX512BW
9270 : : && (4
9271 : : > GET_MODE_SIZE (QImode))) && ((
9272 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9273 : : (TARGET_AVX512BW) &&
9274 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9275 : : (TARGET_AVX512VL)) &&
9276 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9277 : : (TARGET_AVX512VL))))
9278 : : return -1;
9279 : : return 8249; /* *avx512vl_testnmv4di3_zext_mask */
9280 : :
9281 : : case 11:
9282 : : if (!(
9283 : : #line 19148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9284 : : (TARGET_AVX512BW
9285 : : && (4
9286 : : > GET_MODE_SIZE (QImode))) && ((
9287 : : #line 19071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9288 : : (TARGET_AVX512BW) &&
9289 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9290 : : (TARGET_AVX512VL)) &&
9291 : : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9292 : : (TARGET_AVX512VL))))
9293 : : return -1;
9294 : : return 8252; /* *avx512vl_testnmv2di3_zext_mask */
9295 : :
9296 : : default:
9297 : : return -1;
9298 : : }
9299 : :
9300 : : default:
9301 : : return -1;
9302 : : }
9303 : :
9304 : : default:
9305 : : return -1;
9306 : : }
9307 : :
9308 : : default:
9309 : : return -1;
9310 : : }
9311 : : }
9312 : :
9313 : : int
9314 : : recog_97 (rtx x1 ATTRIBUTE_UNUSED,
9315 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9316 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9317 : : {
9318 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9319 : : rtx x2, x3, x4;
9320 : : int res ATTRIBUTE_UNUSED;
9321 : : if (pnum_clobbers == NULL)
9322 : : return -1;
9323 : : x2 = XEXP (x1, 0);
9324 : : operands[0] = x2;
9325 : : x3 = XEXP (x1, 1);
9326 : : x4 = XEXP (x3, 0);
9327 : : operands[1] = x4;
9328 : : switch (GET_MODE (operands[0]))
9329 : : {
9330 : : case E_DImode:
9331 : : if (!register_operand (operands[0], E_DImode)
9332 : : || GET_MODE (x3) != E_DImode
9333 : : || !general_operand (operands[1], E_DImode))
9334 : : return -1;
9335 : : if ((
9336 : : #line 14746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9337 : : (TARGET_CMOVE
9338 : : && ix86_pre_reload_split ()) &&
9339 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9340 : : (!TARGET_64BIT)))
9341 : : {
9342 : : *pnum_clobbers = 1;
9343 : : return 999; /* *absdi2_doubleword */
9344 : : }
9345 : : if (!(
9346 : : #line 14833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9347 : : (TARGET_CMOVE
9348 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
9349 : : && ix86_pre_reload_split ()) &&
9350 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9351 : : (TARGET_64BIT)))
9352 : : return -1;
9353 : : *pnum_clobbers = 1;
9354 : : return 1006; /* *absdi2_1 */
9355 : :
9356 : : case E_SImode:
9357 : : if (!register_operand (operands[0], E_SImode)
9358 : : || GET_MODE (x3) != E_SImode
9359 : : || !general_operand (operands[1], E_SImode)
9360 : : || !
9361 : : #line 14833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9362 : : (TARGET_CMOVE
9363 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
9364 : : && ix86_pre_reload_split ()))
9365 : : return -1;
9366 : : *pnum_clobbers = 1;
9367 : : return 1005; /* *abssi2_1 */
9368 : :
9369 : : default:
9370 : : return -1;
9371 : : }
9372 : : }
9373 : :
9374 : : int
9375 : : recog_100 (rtx x1 ATTRIBUTE_UNUSED,
9376 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9377 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9378 : : {
9379 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9380 : : rtx x2, x3;
9381 : : int res ATTRIBUTE_UNUSED;
9382 : : if (register_operand (operands[2], E_SImode))
9383 : : {
9384 : : x2 = XEXP (x1, 0);
9385 : : operands[0] = x2;
9386 : : if (register_operand (operands[0], E_SImode))
9387 : : {
9388 : : x3 = XEXP (x1, 1);
9389 : : if (GET_MODE (x3) == E_SImode
9390 : : && nonimmediate_operand (operands[1], E_SImode)
9391 : : &&
9392 : : #line 17450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9393 : : (TARGET_BMI2))
9394 : : return 1175; /* *bmi2_lshrsi3_1 */
9395 : : }
9396 : : }
9397 : : x2 = XEXP (x1, 0);
9398 : : operands[0] = x2;
9399 : : switch (GET_MODE (operands[0]))
9400 : : {
9401 : : case E_DImode:
9402 : : if (!register_operand (operands[0], E_DImode))
9403 : : return -1;
9404 : : x3 = XEXP (x1, 1);
9405 : : if (GET_MODE (x3) != E_DImode)
9406 : : return -1;
9407 : : if (pnum_clobbers != NULL
9408 : : && register_operand (operands[1], E_DImode)
9409 : : && nonmemory_operand (operands[2], E_QImode)
9410 : : &&
9411 : : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9412 : : (!TARGET_64BIT))
9413 : : {
9414 : : *pnum_clobbers = 1;
9415 : : return 1134; /* lshrdi3_doubleword */
9416 : : }
9417 : : if (!nonimmediate_operand (operands[1], E_DImode)
9418 : : || !register_operand (operands[2], E_DImode)
9419 : : || !(
9420 : : #line 17450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9421 : : (TARGET_BMI2) &&
9422 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9423 : : (TARGET_64BIT)))
9424 : : return -1;
9425 : : return 1177; /* *bmi2_lshrdi3_1 */
9426 : :
9427 : : case E_SImode:
9428 : : x3 = XEXP (x1, 1);
9429 : : if (pattern612 (x3,
9430 : : E_SImode) != 0)
9431 : : return -1;
9432 : : if (
9433 : : #line 17522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9434 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
9435 : : && TARGET_APX_NF))
9436 : : return 1184; /* *lshrsi3_1_nf */
9437 : : if (pnum_clobbers == NULL
9438 : : || !
9439 : : #line 17522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9440 : : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)
9441 : : && true))
9442 : : return -1;
9443 : : *pnum_clobbers = 1;
9444 : : return 1185; /* *lshrsi3_1 */
9445 : :
9446 : : default:
9447 : : return -1;
9448 : : }
9449 : : }
9450 : :
9451 : : int
9452 : : recog_104 (rtx x1 ATTRIBUTE_UNUSED,
9453 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9454 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9455 : : {
9456 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9457 : : rtx x2, x3, x4;
9458 : : int res ATTRIBUTE_UNUSED;
9459 : : x2 = XEXP (x1, 1);
9460 : : if (maybe_ne (SUBREG_BYTE (x2), 0))
9461 : : return -1;
9462 : : x3 = XEXP (x1, 0);
9463 : : operands[0] = x3;
9464 : : x4 = XEXP (x2, 0);
9465 : : switch (GET_CODE (x4))
9466 : : {
9467 : : case LSHIFTRT:
9468 : : switch (pattern282 (x2))
9469 : : {
9470 : : case 0:
9471 : : if ((
9472 : : #line 16873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9473 : : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9474 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9475 : : (!TARGET_64BIT)))
9476 : : return 1138; /* lshrdi3_doubleword_lowpart_nf */
9477 : : if (pnum_clobbers == NULL
9478 : : || !(
9479 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9480 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9481 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9482 : : (!TARGET_64BIT)))
9483 : : return -1;
9484 : : *pnum_clobbers = 1;
9485 : : return 1142; /* lshrdi3_doubleword_lowpart */
9486 : :
9487 : : case 1:
9488 : : if ((
9489 : : #line 16873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9490 : : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9491 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9492 : : (TARGET_64BIT)))
9493 : : return 1140; /* lshrti3_doubleword_lowpart_nf */
9494 : : if (pnum_clobbers == NULL
9495 : : || !(
9496 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9497 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9498 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9499 : : (TARGET_64BIT)))
9500 : : return -1;
9501 : : *pnum_clobbers = 1;
9502 : : return 1144; /* lshrti3_doubleword_lowpart */
9503 : :
9504 : : default:
9505 : : return -1;
9506 : : }
9507 : :
9508 : : case ASHIFTRT:
9509 : : switch (pattern282 (x2))
9510 : : {
9511 : : case 0:
9512 : : if ((
9513 : : #line 16873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9514 : : (TARGET_APX_NF && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9515 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9516 : : (!TARGET_64BIT)))
9517 : : return 1139; /* ashrdi3_doubleword_lowpart_nf */
9518 : : if (pnum_clobbers == NULL
9519 : : || !(
9520 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9521 : : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
9522 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9523 : : (!TARGET_64BIT)))
9524 : : return -1;
9525 : : *pnum_clobbers = 1;
9526 : : return 1143; /* ashrdi3_doubleword_lowpart */
9527 : :
9528 : : case 1:
9529 : : if ((
9530 : : #line 16873 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9531 : : (TARGET_APX_NF && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9532 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9533 : : (TARGET_64BIT)))
9534 : : return 1141; /* ashrti3_doubleword_lowpart_nf */
9535 : : if (pnum_clobbers == NULL
9536 : : || !(
9537 : : #line 16894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9538 : : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
9539 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9540 : : (TARGET_64BIT)))
9541 : : return -1;
9542 : : *pnum_clobbers = 1;
9543 : : return 1145; /* ashrti3_doubleword_lowpart */
9544 : :
9545 : : default:
9546 : : return -1;
9547 : : }
9548 : :
9549 : : case SS_TRUNCATE:
9550 : : switch (pattern285 (x2))
9551 : : {
9552 : : case 0:
9553 : : if (!
9554 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9555 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9556 : : return -1;
9557 : : return 7269; /* *avx512vl_ss_truncatev4siv4qi2_store_2 */
9558 : :
9559 : : case 1:
9560 : : if (!
9561 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9562 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9563 : : return -1;
9564 : : return 7272; /* *avx512vl_ss_truncatev4div4qi2_store_2 */
9565 : :
9566 : : case 2:
9567 : : if (!
9568 : : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9569 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9570 : : return -1;
9571 : : return 7366; /* *avx512vl_ss_truncatev2div2hi2_store_2 */
9572 : :
9573 : : case 3:
9574 : : if (!(
9575 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9576 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
9577 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9578 : : (TARGET_AVX512BW)))
9579 : : return -1;
9580 : : return 7299; /* *avx512vl_ss_truncatev8hiv8qi2_store_2 */
9581 : :
9582 : : case 4:
9583 : : if (!
9584 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9585 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9586 : : return -1;
9587 : : return 7302; /* *avx512vl_ss_truncatev8siv8qi2_store_2 */
9588 : :
9589 : : case 5:
9590 : : if (!
9591 : : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9592 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
9593 : : return -1;
9594 : : return 7403; /* *avx512f_ss_truncatev8div16qi2_store_2 */
9595 : :
9596 : : case 6:
9597 : : if (!
9598 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9599 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9600 : : return -1;
9601 : : return 7339; /* *avx512vl_ss_truncatev4siv4hi2_store_2 */
9602 : :
9603 : : case 7:
9604 : : if (!
9605 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9606 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9607 : : return -1;
9608 : : return 7342; /* *avx512vl_ss_truncatev4div4hi2_store_2 */
9609 : :
9610 : : case 8:
9611 : : if (!
9612 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9613 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9614 : : return -1;
9615 : : return 7385; /* *avx512vl_ss_truncatev2div2si2_store_2 */
9616 : :
9617 : : default:
9618 : : return -1;
9619 : : }
9620 : :
9621 : : case TRUNCATE:
9622 : : switch (pattern285 (x2))
9623 : : {
9624 : : case 0:
9625 : : if (!
9626 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9627 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9628 : : return -1;
9629 : : return 7270; /* *avx512vl_truncatev4siv4qi2_store_2 */
9630 : :
9631 : : case 1:
9632 : : if (!
9633 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9634 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9635 : : return -1;
9636 : : return 7273; /* *avx512vl_truncatev4div4qi2_store_2 */
9637 : :
9638 : : case 2:
9639 : : if (!
9640 : : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9641 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9642 : : return -1;
9643 : : return 7367; /* *avx512vl_truncatev2div2hi2_store_2 */
9644 : :
9645 : : case 3:
9646 : : if (!(
9647 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9648 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
9649 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9650 : : (TARGET_AVX512BW)))
9651 : : return -1;
9652 : : return 7300; /* *avx512vl_truncatev8hiv8qi2_store_2 */
9653 : :
9654 : : case 4:
9655 : : if (!
9656 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9657 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9658 : : return -1;
9659 : : return 7303; /* *avx512vl_truncatev8siv8qi2_store_2 */
9660 : :
9661 : : case 5:
9662 : : if (!
9663 : : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9664 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
9665 : : return -1;
9666 : : return 7404; /* *avx512f_truncatev8div16qi2_store_2 */
9667 : :
9668 : : case 6:
9669 : : if (!
9670 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9671 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9672 : : return -1;
9673 : : return 7340; /* *avx512vl_truncatev4siv4hi2_store_2 */
9674 : :
9675 : : case 7:
9676 : : if (!
9677 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9678 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9679 : : return -1;
9680 : : return 7343; /* *avx512vl_truncatev4div4hi2_store_2 */
9681 : :
9682 : : case 8:
9683 : : if (!
9684 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9685 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9686 : : return -1;
9687 : : return 7386; /* *avx512vl_truncatev2div2si2_store_2 */
9688 : :
9689 : : default:
9690 : : return -1;
9691 : : }
9692 : :
9693 : : case US_TRUNCATE:
9694 : : switch (pattern285 (x2))
9695 : : {
9696 : : case 0:
9697 : : if (!
9698 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9699 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9700 : : return -1;
9701 : : return 7271; /* *avx512vl_us_truncatev4siv4qi2_store_2 */
9702 : :
9703 : : case 1:
9704 : : if (!
9705 : : #line 15539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9706 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9707 : : return -1;
9708 : : return 7274; /* *avx512vl_us_truncatev4div4qi2_store_2 */
9709 : :
9710 : : case 2:
9711 : : if (!
9712 : : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9713 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9714 : : return -1;
9715 : : return 7368; /* *avx512vl_us_truncatev2div2hi2_store_2 */
9716 : :
9717 : : case 3:
9718 : : if (!(
9719 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9720 : : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
9721 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9722 : : (TARGET_AVX512BW)))
9723 : : return -1;
9724 : : return 7301; /* *avx512vl_us_truncatev8hiv8qi2_store_2 */
9725 : :
9726 : : case 4:
9727 : : if (!
9728 : : #line 15637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9729 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9730 : : return -1;
9731 : : return 7304; /* *avx512vl_us_truncatev8siv8qi2_store_2 */
9732 : :
9733 : : case 5:
9734 : : if (!
9735 : : #line 16153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9736 : : (TARGET_AVX512F && ix86_pre_reload_split ()))
9737 : : return -1;
9738 : : return 7405; /* *avx512f_us_truncatev8div16qi2_store_2 */
9739 : :
9740 : : case 6:
9741 : : if (!
9742 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9743 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9744 : : return -1;
9745 : : return 7341; /* *avx512vl_us_truncatev4siv4hi2_store_2 */
9746 : :
9747 : : case 7:
9748 : : if (!
9749 : : #line 15799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9750 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9751 : : return -1;
9752 : : return 7344; /* *avx512vl_us_truncatev4div4hi2_store_2 */
9753 : :
9754 : : case 8:
9755 : : if (!
9756 : : #line 16040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9757 : : (TARGET_AVX512VL && ix86_pre_reload_split ()))
9758 : : return -1;
9759 : : return 7387; /* *avx512vl_us_truncatev2div2si2_store_2 */
9760 : :
9761 : : default:
9762 : : return -1;
9763 : : }
9764 : :
9765 : : default:
9766 : : return -1;
9767 : : }
9768 : : }
9769 : :
9770 : : int
9771 : : recog_117 (rtx x1 ATTRIBUTE_UNUSED,
9772 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9773 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9774 : : {
9775 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9776 : : rtx x2, x3, x4;
9777 : : int res ATTRIBUTE_UNUSED;
9778 : : x2 = XEXP (x1, 0);
9779 : : operands[0] = x2;
9780 : : x3 = XEXP (x1, 1);
9781 : : x4 = XEXP (x3, 0);
9782 : : operands[1] = x4;
9783 : : switch (pattern125 (x3))
9784 : : {
9785 : : case 0:
9786 : : if (
9787 : : #line 21639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9788 : : (TARGET_APX_NF && TARGET_LZCNT))
9789 : : return 1538; /* clzsi2_lzcnt_nf */
9790 : : if (pnum_clobbers == NULL
9791 : : || !
9792 : : #line 21658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9793 : : (TARGET_LZCNT))
9794 : : return -1;
9795 : : *pnum_clobbers = 1;
9796 : : return 1540; /* clzsi2_lzcnt */
9797 : :
9798 : : case 1:
9799 : : if ((
9800 : : #line 21639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9801 : : (TARGET_APX_NF && TARGET_LZCNT) &&
9802 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9803 : : (TARGET_64BIT)))
9804 : : return 1539; /* clzdi2_lzcnt_nf */
9805 : : if (pnum_clobbers == NULL
9806 : : || !(
9807 : : #line 21658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9808 : : (TARGET_LZCNT) &&
9809 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9810 : : (TARGET_64BIT)))
9811 : : return -1;
9812 : : *pnum_clobbers = 1;
9813 : : return 1541; /* clzdi2_lzcnt */
9814 : :
9815 : : default:
9816 : : return -1;
9817 : : }
9818 : : }
9819 : :
9820 : : int
9821 : : recog_120 (rtx x1 ATTRIBUTE_UNUSED,
9822 : : rtx_insn *insn ATTRIBUTE_UNUSED,
9823 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
9824 : : {
9825 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9826 : : rtx x2, x3, x4, x5;
9827 : : int res ATTRIBUTE_UNUSED;
9828 : : x2 = XEXP (x1, 0);
9829 : : operands[0] = x2;
9830 : : x3 = XEXP (x1, 1);
9831 : : switch (XVECLEN (x3, 0))
9832 : : {
9833 : : case 1:
9834 : : switch (XINT (x3, 1))
9835 : : {
9836 : : case 2:
9837 : : if (pnum_clobbers == NULL)
9838 : : return -1;
9839 : : switch (pattern292 (x3))
9840 : : {
9841 : : case 0:
9842 : : if (!(
9843 : : #line 27468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9844 : : (ix86_target_stack_probe ()) &&
9845 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9846 : : (Pmode == SImode)))
9847 : : return -1;
9848 : : *pnum_clobbers = 1;
9849 : : return 1867; /* allocate_stack_worker_probe_si */
9850 : :
9851 : : case 1:
9852 : : if (!(
9853 : : #line 27468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9854 : : (ix86_target_stack_probe ()) &&
9855 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9856 : : (Pmode == DImode)))
9857 : : return -1;
9858 : : *pnum_clobbers = 1;
9859 : : return 1868; /* allocate_stack_worker_probe_di */
9860 : :
9861 : : default:
9862 : : return -1;
9863 : : }
9864 : :
9865 : : case 11:
9866 : : if (GET_MODE (x3) != E_DImode
9867 : : || !register_operand (operands[0], E_DImode))
9868 : : return -1;
9869 : : x4 = XVECEXP (x3, 0, 0);
9870 : : operands[1] = x4;
9871 : : if (!register_operand (operands[1], E_SImode)
9872 : : || !
9873 : : #line 29491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9874 : : (!TARGET_64BIT))
9875 : : return -1;
9876 : : return 1903; /* rdpmc */
9877 : :
9878 : : case 9:
9879 : : if (GET_MODE (x3) != E_DImode)
9880 : : return -1;
9881 : : x4 = XVECEXP (x3, 0, 0);
9882 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
9883 : : || !register_operand (operands[0], E_DImode)
9884 : : || !
9885 : : #line 29510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9886 : : (!TARGET_64BIT))
9887 : : return -1;
9888 : : return 1905; /* rdtsc */
9889 : :
9890 : : case 36:
9891 : : if (GET_MODE (x3) != E_DImode
9892 : : || !register_operand (operands[0], E_DImode))
9893 : : return -1;
9894 : : x4 = XVECEXP (x3, 0, 0);
9895 : : operands[1] = x4;
9896 : : if (!register_operand (operands[1], E_SImode)
9897 : : || !
9898 : : #line 29734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9899 : : (!TARGET_64BIT && TARGET_XSAVE))
9900 : : return -1;
9901 : : return 1933; /* xgetbv */
9902 : :
9903 : : case 13:
9904 : : x4 = XVECEXP (x3, 0, 0);
9905 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9906 : : return -1;
9907 : : switch (pattern21 (x3))
9908 : : {
9909 : : case 0:
9910 : : if (!(
9911 : : #line 29828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9912 : : (TARGET_LWP) &&
9913 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9914 : : (Pmode == SImode)))
9915 : : return -1;
9916 : : return 1941; /* lwp_slwpcbsi */
9917 : :
9918 : : case 1:
9919 : : if (!(
9920 : : #line 29828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9921 : : (TARGET_LWP) &&
9922 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9923 : : (Pmode == DImode)))
9924 : : return -1;
9925 : : return 1942; /* lwp_slwpcbdi */
9926 : :
9927 : : default:
9928 : : return -1;
9929 : : }
9930 : :
9931 : : case 16:
9932 : : x4 = XVECEXP (x3, 0, 0);
9933 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9934 : : return -1;
9935 : : switch (pattern21 (x3))
9936 : : {
9937 : : case 0:
9938 : : if (!
9939 : : #line 29876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9940 : : (TARGET_64BIT && TARGET_FSGSBASE))
9941 : : return -1;
9942 : : return 1947; /* rdfsbasesi */
9943 : :
9944 : : case 1:
9945 : : if (!(
9946 : : #line 29876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9947 : : (TARGET_64BIT && TARGET_FSGSBASE) &&
9948 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9949 : : (TARGET_64BIT)))
9950 : : return -1;
9951 : : return 1949; /* rdfsbasedi */
9952 : :
9953 : : default:
9954 : : return -1;
9955 : : }
9956 : :
9957 : : case 17:
9958 : : x4 = XVECEXP (x3, 0, 0);
9959 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9960 : : return -1;
9961 : : switch (pattern21 (x3))
9962 : : {
9963 : : case 0:
9964 : : if (!
9965 : : #line 29876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9966 : : (TARGET_64BIT && TARGET_FSGSBASE))
9967 : : return -1;
9968 : : return 1948; /* rdgsbasesi */
9969 : :
9970 : : case 1:
9971 : : if (!(
9972 : : #line 29876 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9973 : : (TARGET_64BIT && TARGET_FSGSBASE) &&
9974 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9975 : : (TARGET_64BIT)))
9976 : : return -1;
9977 : : return 1950; /* rdgsbasedi */
9978 : :
9979 : : default:
9980 : : return -1;
9981 : : }
9982 : :
9983 : : case 59:
9984 : : switch (pattern292 (x3))
9985 : : {
9986 : : case 0:
9987 : : if (!
9988 : : #line 29944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9989 : : (TARGET_SHSTK || (flag_cf_protection & CF_RETURN)))
9990 : : return -1;
9991 : : return 1964; /* rdsspsi */
9992 : :
9993 : : case 1:
9994 : : if (!(
9995 : : #line 29944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9996 : : (TARGET_SHSTK || (flag_cf_protection & CF_RETURN)) &&
9997 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9998 : : (TARGET_64BIT)))
9999 : : return -1;
10000 : : return 1965; /* rdsspdi */
10001 : :
10002 : : default:
10003 : : return -1;
10004 : : }
10005 : :
10006 : : case 57:
10007 : : x4 = XVECEXP (x3, 0, 0);
10008 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10009 : : return -1;
10010 : : switch (pattern21 (x3))
10011 : : {
10012 : : case 0:
10013 : : if (!
10014 : : #line 30184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10015 : : (!TARGET_64BIT && TARGET_RDPID))
10016 : : return -1;
10017 : : return 1990; /* rdpid */
10018 : :
10019 : : case 1:
10020 : : if (!
10021 : : #line 30191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10022 : : (TARGET_64BIT && TARGET_RDPID))
10023 : : return -1;
10024 : : return 1991; /* rdpid_rex64 */
10025 : :
10026 : : default:
10027 : : return -1;
10028 : : }
10029 : :
10030 : : case 85:
10031 : : if (GET_MODE (x3) != E_DImode
10032 : : || !register_operand (operands[0], E_DImode))
10033 : : return -1;
10034 : : x4 = XVECEXP (x3, 0, 0);
10035 : : operands[1] = x4;
10036 : : if (!x86_64_szext_nonmemory_operand (operands[1], E_DImode)
10037 : : || !
10038 : : #line 30467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10039 : : (TARGET_USER_MSR && TARGET_64BIT))
10040 : : return -1;
10041 : : return 2019; /* urdmsr */
10042 : :
10043 : : case 89:
10044 : : x4 = XVECEXP (x3, 0, 0);
10045 : : operands[1] = x4;
10046 : : switch (GET_MODE (operands[0]))
10047 : : {
10048 : : case E_SImode:
10049 : : if (!register_operand (operands[0], E_SImode)
10050 : : || GET_MODE (x3) != E_SImode
10051 : : || !memory_operand (operands[1], E_SImode)
10052 : : || !
10053 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10054 : : (TARGET_MOVRS && TARGET_64BIT))
10055 : : return -1;
10056 : : return 2025; /* movrssi */
10057 : :
10058 : : case E_DImode:
10059 : : if (!register_operand (operands[0], E_DImode)
10060 : : || GET_MODE (x3) != E_DImode
10061 : : || !memory_operand (operands[1], E_DImode)
10062 : : || !
10063 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10064 : : (TARGET_MOVRS && TARGET_64BIT))
10065 : : return -1;
10066 : : return 2026; /* movrsdi */
10067 : :
10068 : : default:
10069 : : return -1;
10070 : : }
10071 : :
10072 : : case 93:
10073 : : if (GET_MODE (x3) != E_SImode)
10074 : : return -1;
10075 : : x4 = XVECEXP (x3, 0, 0);
10076 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
10077 : : || !memory_operand (operands[0], E_SImode)
10078 : : || !
10079 : : #line 22539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10080 : : (TARGET_SSE))
10081 : : return -1;
10082 : : return 8535; /* sse_stmxcsr */
10083 : :
10084 : : default:
10085 : : return -1;
10086 : : }
10087 : :
10088 : : case 2:
10089 : : switch (XINT (x3, 1))
10090 : : {
10091 : : case 3:
10092 : : if (pnum_clobbers == NULL)
10093 : : return -1;
10094 : : x4 = XVECEXP (x3, 0, 0);
10095 : : operands[1] = x4;
10096 : : x5 = XVECEXP (x3, 0, 1);
10097 : : operands[2] = x5;
10098 : : switch (GET_MODE (operands[0]))
10099 : : {
10100 : : case E_SImode:
10101 : : if (pattern865 (x3,
10102 : : E_SImode) != 0
10103 : : || !
10104 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10105 : : (Pmode == SImode))
10106 : : return -1;
10107 : : *pnum_clobbers = 1;
10108 : : return 1873; /* probe_stack_range_si */
10109 : :
10110 : : case E_DImode:
10111 : : if (pattern865 (x3,
10112 : : E_DImode) != 0
10113 : : || !
10114 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10115 : : (Pmode == DImode))
10116 : : return -1;
10117 : : *pnum_clobbers = 1;
10118 : : return 1874; /* probe_stack_range_di */
10119 : :
10120 : : default:
10121 : : return -1;
10122 : : }
10123 : :
10124 : : case 113:
10125 : : x5 = XVECEXP (x3, 0, 1);
10126 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10127 : : return -1;
10128 : : x4 = XVECEXP (x3, 0, 0);
10129 : : switch (GET_CODE (x4))
10130 : : {
10131 : : case AND:
10132 : : switch (pattern614 (x3))
10133 : : {
10134 : : case 0:
10135 : : if (!
10136 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10137 : : (TARGET_RAOINT))
10138 : : return -1;
10139 : : return 10980; /* rao_aandsi */
10140 : :
10141 : : case 1:
10142 : : if (!(
10143 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10144 : : (TARGET_RAOINT) &&
10145 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10146 : : (TARGET_64BIT)))
10147 : : return -1;
10148 : : return 10984; /* rao_aanddi */
10149 : :
10150 : : default:
10151 : : return -1;
10152 : : }
10153 : :
10154 : : case IOR:
10155 : : switch (pattern614 (x3))
10156 : : {
10157 : : case 0:
10158 : : if (!
10159 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10160 : : (TARGET_RAOINT))
10161 : : return -1;
10162 : : return 10981; /* rao_aorsi */
10163 : :
10164 : : case 1:
10165 : : if (!(
10166 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10167 : : (TARGET_RAOINT) &&
10168 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10169 : : (TARGET_64BIT)))
10170 : : return -1;
10171 : : return 10985; /* rao_aordi */
10172 : :
10173 : : default:
10174 : : return -1;
10175 : : }
10176 : :
10177 : : case XOR:
10178 : : switch (pattern614 (x3))
10179 : : {
10180 : : case 0:
10181 : : if (!
10182 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10183 : : (TARGET_RAOINT))
10184 : : return -1;
10185 : : return 10982; /* rao_axorsi */
10186 : :
10187 : : case 1:
10188 : : if (!(
10189 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10190 : : (TARGET_RAOINT) &&
10191 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10192 : : (TARGET_64BIT)))
10193 : : return -1;
10194 : : return 10986; /* rao_axordi */
10195 : :
10196 : : default:
10197 : : return -1;
10198 : : }
10199 : :
10200 : : case PLUS:
10201 : : switch (pattern614 (x3))
10202 : : {
10203 : : case 0:
10204 : : if (!
10205 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10206 : : (TARGET_RAOINT))
10207 : : return -1;
10208 : : return 10983; /* rao_aaddsi */
10209 : :
10210 : : case 1:
10211 : : if (!(
10212 : : #line 821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
10213 : : (TARGET_RAOINT) &&
10214 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10215 : : (TARGET_64BIT)))
10216 : : return -1;
10217 : : return 10987; /* rao_aadddi */
10218 : :
10219 : : default:
10220 : : return -1;
10221 : : }
10222 : :
10223 : : default:
10224 : : return -1;
10225 : : }
10226 : :
10227 : : case 111:
10228 : : if (pnum_clobbers == NULL)
10229 : : return -1;
10230 : : x5 = XVECEXP (x3, 0, 1);
10231 : : operands[2] = x5;
10232 : : if (!const_int_operand (operands[2], E_SImode))
10233 : : return -1;
10234 : : x4 = XVECEXP (x3, 0, 0);
10235 : : switch (GET_CODE (x4))
10236 : : {
10237 : : case PLUS:
10238 : : switch (pattern866 (x3))
10239 : : {
10240 : : case 0:
10241 : : *pnum_clobbers = 1;
10242 : : return 10990; /* atomic_addsi */
10243 : :
10244 : : case 1:
10245 : : if (!
10246 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10247 : : (TARGET_64BIT))
10248 : : return -1;
10249 : : *pnum_clobbers = 1;
10250 : : return 10991; /* atomic_adddi */
10251 : :
10252 : : default:
10253 : : return -1;
10254 : : }
10255 : :
10256 : : case MINUS:
10257 : : switch (pattern866 (x3))
10258 : : {
10259 : : case 0:
10260 : : *pnum_clobbers = 1;
10261 : : return 10994; /* atomic_subsi */
10262 : :
10263 : : case 1:
10264 : : if (!
10265 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10266 : : (TARGET_64BIT))
10267 : : return -1;
10268 : : *pnum_clobbers = 1;
10269 : : return 10995; /* atomic_subdi */
10270 : :
10271 : : default:
10272 : : return -1;
10273 : : }
10274 : :
10275 : : case AND:
10276 : : switch (pattern866 (x3))
10277 : : {
10278 : : case 0:
10279 : : *pnum_clobbers = 1;
10280 : : return 11002; /* atomic_andsi */
10281 : :
10282 : : case 1:
10283 : : if (!
10284 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10285 : : (TARGET_64BIT))
10286 : : return -1;
10287 : : *pnum_clobbers = 1;
10288 : : return 11005; /* atomic_anddi */
10289 : :
10290 : : default:
10291 : : return -1;
10292 : : }
10293 : :
10294 : : case IOR:
10295 : : switch (pattern866 (x3))
10296 : : {
10297 : : case 0:
10298 : : *pnum_clobbers = 1;
10299 : : return 11003; /* atomic_orsi */
10300 : :
10301 : : case 1:
10302 : : if (!
10303 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10304 : : (TARGET_64BIT))
10305 : : return -1;
10306 : : *pnum_clobbers = 1;
10307 : : return 11006; /* atomic_ordi */
10308 : :
10309 : : default:
10310 : : return -1;
10311 : : }
10312 : :
10313 : : case XOR:
10314 : : switch (pattern866 (x3))
10315 : : {
10316 : : case 0:
10317 : : *pnum_clobbers = 1;
10318 : : return 11004; /* atomic_xorsi */
10319 : :
10320 : : case 1:
10321 : : if (!
10322 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10323 : : (TARGET_64BIT))
10324 : : return -1;
10325 : : *pnum_clobbers = 1;
10326 : : return 11007; /* atomic_xordi */
10327 : :
10328 : : default:
10329 : : return -1;
10330 : : }
10331 : :
10332 : : default:
10333 : : return -1;
10334 : : }
10335 : :
10336 : : default:
10337 : : return -1;
10338 : : }
10339 : :
10340 : : default:
10341 : : return -1;
10342 : : }
10343 : : }
10344 : :
10345 : : int
10346 : : recog_134 (rtx x1 ATTRIBUTE_UNUSED,
10347 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10348 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10349 : : {
10350 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10351 : : rtx x2, x3, x4, x5, x6, x7;
10352 : : int res ATTRIBUTE_UNUSED;
10353 : : x2 = XEXP (x1, 1);
10354 : : x3 = XEXP (x2, 0);
10355 : : x4 = XVECEXP (x3, 0, 0);
10356 : : operands[1] = x4;
10357 : : x5 = XVECEXP (x3, 0, 1);
10358 : : operands[2] = x5;
10359 : : if (!const_0_to_15_operand (operands[2], E_SImode))
10360 : : return -1;
10361 : : x6 = XEXP (x2, 1);
10362 : : operands[3] = x6;
10363 : : x7 = XEXP (x2, 2);
10364 : : operands[4] = x7;
10365 : : switch (GET_MODE (operands[0]))
10366 : : {
10367 : : case E_V32HFmode:
10368 : : if (pattern459 (x2,
10369 : : E_V32HFmode,
10370 : : E_SImode) != 0
10371 : : || !(
10372 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10373 : : (TARGET_AVX512F) && (
10374 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10375 : : (TARGET_AVX512F) &&
10376 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10377 : : (TARGET_AVX512FP16))))
10378 : : return -1;
10379 : : return 9980; /* avx512bw_getmantv32hf_mask */
10380 : :
10381 : : case E_V16HFmode:
10382 : : if (pattern459 (x2,
10383 : : E_V16HFmode,
10384 : : E_HImode) != 0
10385 : : || !(
10386 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10387 : : (TARGET_AVX512F) && (
10388 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10389 : : (TARGET_AVX512F) &&
10390 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10391 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10392 : : return -1;
10393 : : return 9984; /* avx512vl_getmantv16hf_mask */
10394 : :
10395 : : case E_V8HFmode:
10396 : : if (pattern459 (x2,
10397 : : E_V8HFmode,
10398 : : E_QImode) != 0
10399 : : || !(
10400 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10401 : : (TARGET_AVX512F) && (
10402 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10403 : : (TARGET_AVX512F) &&
10404 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10405 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10406 : : return -1;
10407 : : return 9988; /* avx512fp16_getmantv8hf_mask */
10408 : :
10409 : : case E_V16SFmode:
10410 : : if (pattern459 (x2,
10411 : : E_V16SFmode,
10412 : : E_HImode) != 0
10413 : : || !
10414 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10415 : : (TARGET_AVX512F))
10416 : : return -1;
10417 : : return 9992; /* avx512f_getmantv16sf_mask */
10418 : :
10419 : : case E_V8SFmode:
10420 : : if (pattern459 (x2,
10421 : : E_V8SFmode,
10422 : : E_QImode) != 0
10423 : : || !(
10424 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10425 : : (TARGET_AVX512F) && (
10426 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10427 : : (TARGET_AVX512F) &&
10428 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10429 : : (TARGET_AVX512VL))))
10430 : : return -1;
10431 : : return 9996; /* avx512vl_getmantv8sf_mask */
10432 : :
10433 : : case E_V4SFmode:
10434 : : if (pattern459 (x2,
10435 : : E_V4SFmode,
10436 : : E_QImode) != 0
10437 : : || !(
10438 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10439 : : (TARGET_AVX512F) && (
10440 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10441 : : (TARGET_AVX512F) &&
10442 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10443 : : (TARGET_AVX512VL))))
10444 : : return -1;
10445 : : return 10000; /* avx512vl_getmantv4sf_mask */
10446 : :
10447 : : case E_V8DFmode:
10448 : : if (pattern459 (x2,
10449 : : E_V8DFmode,
10450 : : E_QImode) != 0
10451 : : || !
10452 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10453 : : (TARGET_AVX512F))
10454 : : return -1;
10455 : : return 10004; /* avx512f_getmantv8df_mask */
10456 : :
10457 : : case E_V4DFmode:
10458 : : if (pattern459 (x2,
10459 : : E_V4DFmode,
10460 : : E_QImode) != 0
10461 : : || !(
10462 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10463 : : (TARGET_AVX512F) && (
10464 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10465 : : (TARGET_AVX512F) &&
10466 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10467 : : (TARGET_AVX512VL))))
10468 : : return -1;
10469 : : return 10008; /* avx512vl_getmantv4df_mask */
10470 : :
10471 : : case E_V2DFmode:
10472 : : if (pattern459 (x2,
10473 : : E_V2DFmode,
10474 : : E_QImode) != 0
10475 : : || !(
10476 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10477 : : (TARGET_AVX512F) && (
10478 : : #line 30024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10479 : : (TARGET_AVX512F) &&
10480 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10481 : : (TARGET_AVX512VL))))
10482 : : return -1;
10483 : : return 10012; /* avx512vl_getmantv2df_mask */
10484 : :
10485 : : default:
10486 : : return -1;
10487 : : }
10488 : : }
10489 : :
10490 : : int
10491 : : recog_139 (rtx x1 ATTRIBUTE_UNUSED,
10492 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10493 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10494 : : {
10495 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10496 : : rtx x2;
10497 : : int res ATTRIBUTE_UNUSED;
10498 : : x2 = XEXP (x1, 1);
10499 : : switch (pattern474 (x2))
10500 : : {
10501 : : case 0:
10502 : : if (!
10503 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10504 : : (TARGET_AVX512VBMI2))
10505 : : return -1;
10506 : : return 10200; /* vpshrdv_v32hi_mask */
10507 : :
10508 : : case 1:
10509 : : if (!
10510 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10511 : : (TARGET_AVX512VBMI2))
10512 : : return -1;
10513 : : return 10201; /* vpshrdv_v16si_mask */
10514 : :
10515 : : case 2:
10516 : : if (!
10517 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10518 : : (TARGET_AVX512VBMI2))
10519 : : return -1;
10520 : : return 10202; /* vpshrdv_v8di_mask */
10521 : :
10522 : : case 3:
10523 : : if (!(
10524 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10525 : : (TARGET_AVX512VBMI2) &&
10526 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10527 : : (TARGET_AVX512VL)))
10528 : : return -1;
10529 : : return 10203; /* vpshrdv_v16hi_mask */
10530 : :
10531 : : case 4:
10532 : : if (!(
10533 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10534 : : (TARGET_AVX512VBMI2) &&
10535 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10536 : : (TARGET_AVX512VL)))
10537 : : return -1;
10538 : : return 10204; /* vpshrdv_v8si_mask */
10539 : :
10540 : : case 5:
10541 : : if (!(
10542 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10543 : : (TARGET_AVX512VBMI2) &&
10544 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10545 : : (TARGET_AVX512VL)))
10546 : : return -1;
10547 : : return 10205; /* vpshrdv_v4di_mask */
10548 : :
10549 : : case 6:
10550 : : if (!(
10551 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10552 : : (TARGET_AVX512VBMI2) &&
10553 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10554 : : (TARGET_AVX512VL)))
10555 : : return -1;
10556 : : return 10206; /* vpshrdv_v8hi_mask */
10557 : :
10558 : : case 7:
10559 : : if (!(
10560 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10561 : : (TARGET_AVX512VBMI2) &&
10562 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10563 : : (TARGET_AVX512VL)))
10564 : : return -1;
10565 : : return 10207; /* vpshrdv_v4si_mask */
10566 : :
10567 : : case 8:
10568 : : if (!(
10569 : : #line 30575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10570 : : (TARGET_AVX512VBMI2) &&
10571 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10572 : : (TARGET_AVX512VL)))
10573 : : return -1;
10574 : : return 10208; /* vpshrdv_v2di_mask */
10575 : :
10576 : : case 9:
10577 : : if (!
10578 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10579 : : (TARGET_AVX512VBMI2))
10580 : : return -1;
10581 : : return 10209; /* vpshrdv_v32hi_maskz_1 */
10582 : :
10583 : : case 10:
10584 : : if (!
10585 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10586 : : (TARGET_AVX512VBMI2))
10587 : : return -1;
10588 : : return 10210; /* vpshrdv_v16si_maskz_1 */
10589 : :
10590 : : case 11:
10591 : : if (!
10592 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10593 : : (TARGET_AVX512VBMI2))
10594 : : return -1;
10595 : : return 10211; /* vpshrdv_v8di_maskz_1 */
10596 : :
10597 : : case 12:
10598 : : if (!(
10599 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10600 : : (TARGET_AVX512VBMI2) &&
10601 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10602 : : (TARGET_AVX512VL)))
10603 : : return -1;
10604 : : return 10212; /* vpshrdv_v16hi_maskz_1 */
10605 : :
10606 : : case 13:
10607 : : if (!(
10608 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10609 : : (TARGET_AVX512VBMI2) &&
10610 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10611 : : (TARGET_AVX512VL)))
10612 : : return -1;
10613 : : return 10213; /* vpshrdv_v8si_maskz_1 */
10614 : :
10615 : : case 14:
10616 : : if (!(
10617 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10618 : : (TARGET_AVX512VBMI2) &&
10619 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10620 : : (TARGET_AVX512VL)))
10621 : : return -1;
10622 : : return 10214; /* vpshrdv_v4di_maskz_1 */
10623 : :
10624 : : case 15:
10625 : : if (!(
10626 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10627 : : (TARGET_AVX512VBMI2) &&
10628 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10629 : : (TARGET_AVX512VL)))
10630 : : return -1;
10631 : : return 10215; /* vpshrdv_v8hi_maskz_1 */
10632 : :
10633 : : case 16:
10634 : : if (!(
10635 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10636 : : (TARGET_AVX512VBMI2) &&
10637 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10638 : : (TARGET_AVX512VL)))
10639 : : return -1;
10640 : : return 10216; /* vpshrdv_v4si_maskz_1 */
10641 : :
10642 : : case 17:
10643 : : if (!(
10644 : : #line 30605 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10645 : : (TARGET_AVX512VBMI2) &&
10646 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10647 : : (TARGET_AVX512VL)))
10648 : : return -1;
10649 : : return 10217; /* vpshrdv_v2di_maskz_1 */
10650 : :
10651 : : default:
10652 : : return -1;
10653 : : }
10654 : : }
10655 : :
10656 : : int
10657 : : recog_145 (rtx x1 ATTRIBUTE_UNUSED,
10658 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10659 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10660 : : {
10661 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10662 : : rtx x2;
10663 : : int res ATTRIBUTE_UNUSED;
10664 : : x2 = XEXP (x1, 1);
10665 : : switch (pattern470 (x2))
10666 : : {
10667 : : case 0:
10668 : : if (!(
10669 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10670 : : (TARGET_AVX512F) &&
10671 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10672 : : (TARGET_AVX512VBMI2)))
10673 : : return -1;
10674 : : return 10174; /* vpshld_v32hi_mask */
10675 : :
10676 : : case 1:
10677 : : if (!(
10678 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10679 : : (TARGET_AVX512F) &&
10680 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10681 : : (TARGET_AVX512VBMI2)))
10682 : : return -1;
10683 : : return 10176; /* vpshld_v16si_mask */
10684 : :
10685 : : case 2:
10686 : : if (!(
10687 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10688 : : (TARGET_AVX512F) &&
10689 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10690 : : (TARGET_AVX512VBMI2)))
10691 : : return -1;
10692 : : return 10178; /* vpshld_v8di_mask */
10693 : :
10694 : : case 3:
10695 : : if (!(
10696 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10697 : : (TARGET_AVX512F) && (
10698 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10699 : : (TARGET_AVX512VBMI2) &&
10700 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10701 : : (TARGET_AVX512VL))))
10702 : : return -1;
10703 : : return 10180; /* vpshld_v16hi_mask */
10704 : :
10705 : : case 4:
10706 : : if (!(
10707 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10708 : : (TARGET_AVX512F) && (
10709 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10710 : : (TARGET_AVX512VBMI2) &&
10711 : : #line 731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10712 : : (TARGET_AVX512VL))))
10713 : : return -1;
10714 : : return 10182; /* vpshld_v8si_mask */
10715 : :
10716 : : case 5:
10717 : : if (!(
10718 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10719 : : (TARGET_AVX512F) && (
10720 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10721 : : (TARGET_AVX512VBMI2) &&
10722 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10723 : : (TARGET_AVX512VL))))
10724 : : return -1;
10725 : : return 10184; /* vpshld_v4di_mask */
10726 : :
10727 : : case 6:
10728 : : if (!(
10729 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10730 : : (TARGET_AVX512F) && (
10731 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10732 : : (TARGET_AVX512VBMI2) &&
10733 : : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10734 : : (TARGET_AVX512VL))))
10735 : : return -1;
10736 : : return 10186; /* vpshld_v8hi_mask */
10737 : :
10738 : : case 7:
10739 : : if (!(
10740 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10741 : : (TARGET_AVX512F) && (
10742 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10743 : : (TARGET_AVX512VBMI2) &&
10744 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10745 : : (TARGET_AVX512VL))))
10746 : : return -1;
10747 : : return 10188; /* vpshld_v4si_mask */
10748 : :
10749 : : case 8:
10750 : : if (!(
10751 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10752 : : (TARGET_AVX512F) && (
10753 : : #line 30549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10754 : : (TARGET_AVX512VBMI2) &&
10755 : : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10756 : : (TARGET_AVX512VL))))
10757 : : return -1;
10758 : : return 10190; /* vpshld_v2di_mask */
10759 : :
10760 : : default:
10761 : : return -1;
10762 : : }
10763 : : }
10764 : :
10765 : : int
10766 : : recog_153 (rtx x1 ATTRIBUTE_UNUSED,
10767 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10768 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10769 : : {
10770 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10771 : : rtx x2, x3, x4, x5;
10772 : : int res ATTRIBUTE_UNUSED;
10773 : : x2 = XEXP (x1, 1);
10774 : : if (GET_MODE (x2) != E_V8BFmode)
10775 : : return -1;
10776 : : x3 = XEXP (x2, 2);
10777 : : if (!register_operand (x3, E_QImode))
10778 : : return -1;
10779 : : operands[3] = x3;
10780 : : if (register_operand (operands[0], E_V8BFmode))
10781 : : {
10782 : : x4 = XEXP (x2, 0);
10783 : : operands[2] = x4;
10784 : : if (nonimmediate_operand (operands[2], E_V8BFmode))
10785 : : {
10786 : : x5 = XEXP (x2, 1);
10787 : : operands[1] = x5;
10788 : : if (nonimm_or_0_operand (operands[1], E_V8BFmode)
10789 : : && (
10790 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10791 : : (TARGET_AVX512BW) &&
10792 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10793 : : (TARGET_AVX512VL)))
10794 : : return 2546; /* avx512vl_blendmv8bf */
10795 : : }
10796 : : }
10797 : : operands[2] = x3;
10798 : : if (!memory_operand (operands[0], E_V8BFmode))
10799 : : return -1;
10800 : : x4 = XEXP (x2, 0);
10801 : : operands[1] = x4;
10802 : : if (!register_operand (operands[1], E_V8BFmode))
10803 : : return -1;
10804 : : x5 = XEXP (x2, 1);
10805 : : if (!rtx_equal_p (x5, operands[0])
10806 : : || !(
10807 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10808 : : (TARGET_AVX512BW) &&
10809 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10810 : : (TARGET_AVX512VL)))
10811 : : return -1;
10812 : : return 2570; /* *avx512vl_storev8bf_mask */
10813 : : }
10814 : :
10815 : : int
10816 : : recog_154 (rtx x1 ATTRIBUTE_UNUSED,
10817 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10818 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10819 : : {
10820 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10821 : : rtx x2, x3, x4, x5;
10822 : : int res ATTRIBUTE_UNUSED;
10823 : : x2 = XEXP (x1, 1);
10824 : : if (GET_MODE (x2) != E_V16BFmode)
10825 : : return -1;
10826 : : x3 = XEXP (x2, 2);
10827 : : if (!register_operand (x3, E_HImode))
10828 : : return -1;
10829 : : operands[3] = x3;
10830 : : if (register_operand (operands[0], E_V16BFmode))
10831 : : {
10832 : : x4 = XEXP (x2, 0);
10833 : : operands[2] = x4;
10834 : : if (nonimmediate_operand (operands[2], E_V16BFmode))
10835 : : {
10836 : : x5 = XEXP (x2, 1);
10837 : : operands[1] = x5;
10838 : : if (nonimm_or_0_operand (operands[1], E_V16BFmode)
10839 : : && (
10840 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10841 : : (TARGET_AVX512BW) &&
10842 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10843 : : (TARGET_AVX512VL)))
10844 : : return 2545; /* avx512vl_blendmv16bf */
10845 : : }
10846 : : }
10847 : : operands[2] = x3;
10848 : : if (!memory_operand (operands[0], E_V16BFmode))
10849 : : return -1;
10850 : : x4 = XEXP (x2, 0);
10851 : : operands[1] = x4;
10852 : : if (!register_operand (operands[1], E_V16BFmode))
10853 : : return -1;
10854 : : x5 = XEXP (x2, 1);
10855 : : if (!rtx_equal_p (x5, operands[0])
10856 : : || !(
10857 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10858 : : (TARGET_AVX512BW) &&
10859 : : #line 330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10860 : : (TARGET_AVX512VL)))
10861 : : return -1;
10862 : : return 2569; /* *avx512vl_storev16bf_mask */
10863 : : }
10864 : :
10865 : : int
10866 : : recog_155 (rtx x1 ATTRIBUTE_UNUSED,
10867 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10868 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10869 : : {
10870 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10871 : : rtx x2, x3, x4, x5;
10872 : : int res ATTRIBUTE_UNUSED;
10873 : : x2 = XEXP (x1, 1);
10874 : : if (GET_MODE (x2) != E_V32BFmode)
10875 : : return -1;
10876 : : x3 = XEXP (x2, 2);
10877 : : if (!register_operand (x3, E_SImode))
10878 : : return -1;
10879 : : operands[3] = x3;
10880 : : if (register_operand (operands[0], E_V32BFmode))
10881 : : {
10882 : : x4 = XEXP (x2, 0);
10883 : : operands[2] = x4;
10884 : : if (nonimmediate_operand (operands[2], E_V32BFmode))
10885 : : {
10886 : : x5 = XEXP (x2, 1);
10887 : : operands[1] = x5;
10888 : : if (nonimm_or_0_operand (operands[1], E_V32BFmode)
10889 : : &&
10890 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10891 : : (TARGET_AVX512BW))
10892 : : return 2544; /* avx512bw_blendmv32bf */
10893 : : }
10894 : : }
10895 : : operands[2] = x3;
10896 : : if (!memory_operand (operands[0], E_V32BFmode))
10897 : : return -1;
10898 : : x4 = XEXP (x2, 0);
10899 : : operands[1] = x4;
10900 : : if (!register_operand (operands[1], E_V32BFmode))
10901 : : return -1;
10902 : : x5 = XEXP (x2, 1);
10903 : : if (!rtx_equal_p (x5, operands[0])
10904 : : || !
10905 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10906 : : (TARGET_AVX512BW))
10907 : : return -1;
10908 : : return 2568; /* *avx512bw_storev32bf_mask */
10909 : : }
10910 : :
10911 : : int
10912 : : recog_156 (rtx x1 ATTRIBUTE_UNUSED,
10913 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10914 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10915 : : {
10916 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10917 : : rtx x2, x3, x4, x5;
10918 : : int res ATTRIBUTE_UNUSED;
10919 : : x2 = XEXP (x1, 1);
10920 : : if (GET_MODE (x2) != E_V8HFmode)
10921 : : return -1;
10922 : : x3 = XEXP (x2, 2);
10923 : : if (!register_operand (x3, E_QImode))
10924 : : return -1;
10925 : : operands[3] = x3;
10926 : : if (register_operand (operands[0], E_V8HFmode))
10927 : : {
10928 : : x4 = XEXP (x2, 0);
10929 : : operands[2] = x4;
10930 : : if (nonimmediate_operand (operands[2], E_V8HFmode))
10931 : : {
10932 : : x5 = XEXP (x2, 1);
10933 : : operands[1] = x5;
10934 : : if (nonimm_or_0_operand (operands[1], E_V8HFmode)
10935 : : && (
10936 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10937 : : (TARGET_AVX512BW) &&
10938 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10939 : : (TARGET_AVX512VL)))
10940 : : return 2543; /* avx512fp16_blendmv8hf */
10941 : : }
10942 : : }
10943 : : operands[2] = x3;
10944 : : if (!memory_operand (operands[0], E_V8HFmode))
10945 : : return -1;
10946 : : x4 = XEXP (x2, 0);
10947 : : operands[1] = x4;
10948 : : if (!register_operand (operands[1], E_V8HFmode))
10949 : : return -1;
10950 : : x5 = XEXP (x2, 1);
10951 : : if (!rtx_equal_p (x5, operands[0])
10952 : : || !(
10953 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10954 : : (TARGET_AVX512BW) &&
10955 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10956 : : (TARGET_AVX512VL)))
10957 : : return -1;
10958 : : return 2567; /* *avx512fp16_storev8hf_mask */
10959 : : }
10960 : :
10961 : : int
10962 : : recog_157 (rtx x1 ATTRIBUTE_UNUSED,
10963 : : rtx_insn *insn ATTRIBUTE_UNUSED,
10964 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
10965 : : {
10966 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10967 : : rtx x2, x3, x4, x5;
10968 : : int res ATTRIBUTE_UNUSED;
10969 : : x2 = XEXP (x1, 1);
10970 : : if (GET_MODE (x2) != E_V16HFmode)
10971 : : return -1;
10972 : : x3 = XEXP (x2, 2);
10973 : : if (!register_operand (x3, E_HImode))
10974 : : return -1;
10975 : : operands[3] = x3;
10976 : : if (register_operand (operands[0], E_V16HFmode))
10977 : : {
10978 : : x4 = XEXP (x2, 0);
10979 : : operands[2] = x4;
10980 : : if (nonimmediate_operand (operands[2], E_V16HFmode))
10981 : : {
10982 : : x5 = XEXP (x2, 1);
10983 : : operands[1] = x5;
10984 : : if (nonimm_or_0_operand (operands[1], E_V16HFmode)
10985 : : && (
10986 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10987 : : (TARGET_AVX512BW) &&
10988 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10989 : : (TARGET_AVX512VL)))
10990 : : return 2542; /* avx512vl_blendmv16hf */
10991 : : }
10992 : : }
10993 : : operands[2] = x3;
10994 : : if (!memory_operand (operands[0], E_V16HFmode))
10995 : : return -1;
10996 : : x4 = XEXP (x2, 0);
10997 : : operands[1] = x4;
10998 : : if (!register_operand (operands[1], E_V16HFmode))
10999 : : return -1;
11000 : : x5 = XEXP (x2, 1);
11001 : : if (!rtx_equal_p (x5, operands[0])
11002 : : || !(
11003 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11004 : : (TARGET_AVX512BW) &&
11005 : : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11006 : : (TARGET_AVX512VL)))
11007 : : return -1;
11008 : : return 2566; /* *avx512vl_storev16hf_mask */
11009 : : }
11010 : :
11011 : : int
11012 : : recog_158 (rtx x1 ATTRIBUTE_UNUSED,
11013 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11014 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11015 : : {
11016 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11017 : : rtx x2, x3, x4, x5;
11018 : : int res ATTRIBUTE_UNUSED;
11019 : : switch (GET_MODE (operands[0]))
11020 : : {
11021 : : case E_V16SImode:
11022 : : x2 = XEXP (x1, 1);
11023 : : if (GET_MODE (x2) != E_V16SImode)
11024 : : return -1;
11025 : : x3 = XEXP (x2, 2);
11026 : : if (!register_operand (x3, E_HImode))
11027 : : return -1;
11028 : : operands[3] = x3;
11029 : : if (register_operand (operands[0], E_V16SImode))
11030 : : {
11031 : : x4 = XEXP (x2, 0);
11032 : : operands[2] = x4;
11033 : : if (nonimmediate_operand (operands[2], E_V16SImode))
11034 : : {
11035 : : x5 = XEXP (x2, 1);
11036 : : operands[1] = x5;
11037 : : if (nonimm_or_0_operand (operands[1], E_V16SImode)
11038 : : &&
11039 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11040 : : (TARGET_AVX512F))
11041 : : return 2523; /* avx512f_blendmv16si */
11042 : : }
11043 : : }
11044 : : operands[2] = x3;
11045 : : if (!memory_operand (operands[0], E_V16SImode))
11046 : : return -1;
11047 : : x4 = XEXP (x2, 0);
11048 : : operands[1] = x4;
11049 : : if (!register_operand (operands[1], E_V16SImode))
11050 : : return -1;
11051 : : x5 = XEXP (x2, 1);
11052 : : if (!rtx_equal_p (x5, operands[0])
11053 : : || !
11054 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11055 : : (TARGET_AVX512F))
11056 : : return -1;
11057 : : return 2547; /* *avx512f_storev16si_mask */
11058 : :
11059 : : case E_V8SImode:
11060 : : x2 = XEXP (x1, 1);
11061 : : if (GET_MODE (x2) != E_V8SImode)
11062 : : return -1;
11063 : : x3 = XEXP (x2, 2);
11064 : : if (!register_operand (x3, E_QImode))
11065 : : return -1;
11066 : : operands[3] = x3;
11067 : : if (register_operand (operands[0], E_V8SImode))
11068 : : {
11069 : : x4 = XEXP (x2, 0);
11070 : : operands[2] = x4;
11071 : : if (nonimmediate_operand (operands[2], E_V8SImode))
11072 : : {
11073 : : x5 = XEXP (x2, 1);
11074 : : operands[1] = x5;
11075 : : if (nonimm_or_0_operand (operands[1], E_V8SImode)
11076 : : && (
11077 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11078 : : (TARGET_AVX512F) &&
11079 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11080 : : (TARGET_AVX512VL)))
11081 : : return 2524; /* avx512vl_blendmv8si */
11082 : : }
11083 : : }
11084 : : operands[2] = x3;
11085 : : if (!memory_operand (operands[0], E_V8SImode))
11086 : : return -1;
11087 : : x4 = XEXP (x2, 0);
11088 : : operands[1] = x4;
11089 : : if (!register_operand (operands[1], E_V8SImode))
11090 : : return -1;
11091 : : x5 = XEXP (x2, 1);
11092 : : if (!rtx_equal_p (x5, operands[0])
11093 : : || !(
11094 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11095 : : (TARGET_AVX512F) &&
11096 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11097 : : (TARGET_AVX512VL)))
11098 : : return -1;
11099 : : return 2548; /* *avx512vl_storev8si_mask */
11100 : :
11101 : : case E_V4SImode:
11102 : : x2 = XEXP (x1, 1);
11103 : : if (GET_MODE (x2) != E_V4SImode)
11104 : : return -1;
11105 : : x3 = XEXP (x2, 2);
11106 : : if (!register_operand (x3, E_QImode))
11107 : : return -1;
11108 : : operands[3] = x3;
11109 : : if (register_operand (operands[0], E_V4SImode))
11110 : : {
11111 : : x4 = XEXP (x2, 0);
11112 : : operands[2] = x4;
11113 : : if (nonimmediate_operand (operands[2], E_V4SImode))
11114 : : {
11115 : : x5 = XEXP (x2, 1);
11116 : : operands[1] = x5;
11117 : : if (nonimm_or_0_operand (operands[1], E_V4SImode)
11118 : : && (
11119 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11120 : : (TARGET_AVX512F) &&
11121 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11122 : : (TARGET_AVX512VL)))
11123 : : return 2525; /* avx512vl_blendmv4si */
11124 : : }
11125 : : }
11126 : : operands[2] = x3;
11127 : : if (!memory_operand (operands[0], E_V4SImode))
11128 : : return -1;
11129 : : x4 = XEXP (x2, 0);
11130 : : operands[1] = x4;
11131 : : if (!register_operand (operands[1], E_V4SImode))
11132 : : return -1;
11133 : : x5 = XEXP (x2, 1);
11134 : : if (!rtx_equal_p (x5, operands[0])
11135 : : || !(
11136 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11137 : : (TARGET_AVX512F) &&
11138 : : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11139 : : (TARGET_AVX512VL)))
11140 : : return -1;
11141 : : return 2549; /* *avx512vl_storev4si_mask */
11142 : :
11143 : : case E_V8DImode:
11144 : : x2 = XEXP (x1, 1);
11145 : : if (GET_MODE (x2) != E_V8DImode)
11146 : : return -1;
11147 : : x3 = XEXP (x2, 2);
11148 : : if (!register_operand (x3, E_QImode))
11149 : : return -1;
11150 : : operands[3] = x3;
11151 : : if (register_operand (operands[0], E_V8DImode))
11152 : : {
11153 : : x4 = XEXP (x2, 0);
11154 : : operands[2] = x4;
11155 : : if (nonimmediate_operand (operands[2], E_V8DImode))
11156 : : {
11157 : : x5 = XEXP (x2, 1);
11158 : : operands[1] = x5;
11159 : : if (nonimm_or_0_operand (operands[1], E_V8DImode)
11160 : : &&
11161 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11162 : : (TARGET_AVX512F))
11163 : : return 2526; /* avx512f_blendmv8di */
11164 : : }
11165 : : }
11166 : : operands[2] = x3;
11167 : : if (!memory_operand (operands[0], E_V8DImode))
11168 : : return -1;
11169 : : x4 = XEXP (x2, 0);
11170 : : operands[1] = x4;
11171 : : if (!register_operand (operands[1], E_V8DImode))
11172 : : return -1;
11173 : : x5 = XEXP (x2, 1);
11174 : : if (!rtx_equal_p (x5, operands[0])
11175 : : || !
11176 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11177 : : (TARGET_AVX512F))
11178 : : return -1;
11179 : : return 2550; /* *avx512f_storev8di_mask */
11180 : :
11181 : : case E_V4DImode:
11182 : : x2 = XEXP (x1, 1);
11183 : : if (GET_MODE (x2) != E_V4DImode)
11184 : : return -1;
11185 : : x3 = XEXP (x2, 2);
11186 : : if (!register_operand (x3, E_QImode))
11187 : : return -1;
11188 : : operands[3] = x3;
11189 : : if (register_operand (operands[0], E_V4DImode))
11190 : : {
11191 : : x4 = XEXP (x2, 0);
11192 : : operands[2] = x4;
11193 : : if (nonimmediate_operand (operands[2], E_V4DImode))
11194 : : {
11195 : : x5 = XEXP (x2, 1);
11196 : : operands[1] = x5;
11197 : : if (nonimm_or_0_operand (operands[1], E_V4DImode)
11198 : : && (
11199 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11200 : : (TARGET_AVX512F) &&
11201 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11202 : : (TARGET_AVX512VL)))
11203 : : return 2527; /* avx512vl_blendmv4di */
11204 : : }
11205 : : }
11206 : : operands[2] = x3;
11207 : : if (!memory_operand (operands[0], E_V4DImode))
11208 : : return -1;
11209 : : x4 = XEXP (x2, 0);
11210 : : operands[1] = x4;
11211 : : if (!register_operand (operands[1], E_V4DImode))
11212 : : return -1;
11213 : : x5 = XEXP (x2, 1);
11214 : : if (!rtx_equal_p (x5, operands[0])
11215 : : || !(
11216 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11217 : : (TARGET_AVX512F) &&
11218 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11219 : : (TARGET_AVX512VL)))
11220 : : return -1;
11221 : : return 2551; /* *avx512vl_storev4di_mask */
11222 : :
11223 : : case E_V2DImode:
11224 : : x2 = XEXP (x1, 1);
11225 : : if (GET_MODE (x2) != E_V2DImode)
11226 : : return -1;
11227 : : x3 = XEXP (x2, 2);
11228 : : if (!register_operand (x3, E_QImode))
11229 : : return -1;
11230 : : operands[3] = x3;
11231 : : if (register_operand (operands[0], E_V2DImode))
11232 : : {
11233 : : x4 = XEXP (x2, 0);
11234 : : operands[2] = x4;
11235 : : if (nonimmediate_operand (operands[2], E_V2DImode))
11236 : : {
11237 : : x5 = XEXP (x2, 1);
11238 : : operands[1] = x5;
11239 : : if (nonimm_or_0_operand (operands[1], E_V2DImode)
11240 : : && (
11241 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11242 : : (TARGET_AVX512F) &&
11243 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11244 : : (TARGET_AVX512VL)))
11245 : : return 2528; /* avx512vl_blendmv2di */
11246 : : }
11247 : : }
11248 : : operands[2] = x3;
11249 : : if (!memory_operand (operands[0], E_V2DImode))
11250 : : return -1;
11251 : : x4 = XEXP (x2, 0);
11252 : : operands[1] = x4;
11253 : : if (!register_operand (operands[1], E_V2DImode))
11254 : : return -1;
11255 : : x5 = XEXP (x2, 1);
11256 : : if (!rtx_equal_p (x5, operands[0])
11257 : : || !(
11258 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11259 : : (TARGET_AVX512F) &&
11260 : : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11261 : : (TARGET_AVX512VL)))
11262 : : return -1;
11263 : : return 2552; /* *avx512vl_storev2di_mask */
11264 : :
11265 : : case E_V16SFmode:
11266 : : x2 = XEXP (x1, 1);
11267 : : if (GET_MODE (x2) != E_V16SFmode)
11268 : : return -1;
11269 : : x3 = XEXP (x2, 2);
11270 : : if (!register_operand (x3, E_HImode))
11271 : : return -1;
11272 : : operands[3] = x3;
11273 : : if (register_operand (operands[0], E_V16SFmode))
11274 : : {
11275 : : x4 = XEXP (x2, 0);
11276 : : operands[2] = x4;
11277 : : if (nonimmediate_operand (operands[2], E_V16SFmode))
11278 : : {
11279 : : x5 = XEXP (x2, 1);
11280 : : operands[1] = x5;
11281 : : if (nonimm_or_0_operand (operands[1], E_V16SFmode)
11282 : : &&
11283 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11284 : : (TARGET_AVX512F))
11285 : : return 2529; /* avx512f_blendmv16sf */
11286 : : }
11287 : : }
11288 : : operands[2] = x3;
11289 : : if (!memory_operand (operands[0], E_V16SFmode))
11290 : : return -1;
11291 : : x4 = XEXP (x2, 0);
11292 : : operands[1] = x4;
11293 : : if (!register_operand (operands[1], E_V16SFmode))
11294 : : return -1;
11295 : : x5 = XEXP (x2, 1);
11296 : : if (!rtx_equal_p (x5, operands[0])
11297 : : || !
11298 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11299 : : (TARGET_AVX512F))
11300 : : return -1;
11301 : : return 2553; /* *avx512f_storev16sf_mask */
11302 : :
11303 : : case E_V8SFmode:
11304 : : x2 = XEXP (x1, 1);
11305 : : if (GET_MODE (x2) != E_V8SFmode)
11306 : : return -1;
11307 : : x3 = XEXP (x2, 2);
11308 : : if (!register_operand (x3, E_QImode))
11309 : : return -1;
11310 : : operands[3] = x3;
11311 : : if (register_operand (operands[0], E_V8SFmode))
11312 : : {
11313 : : x4 = XEXP (x2, 0);
11314 : : operands[2] = x4;
11315 : : if (nonimmediate_operand (operands[2], E_V8SFmode))
11316 : : {
11317 : : x5 = XEXP (x2, 1);
11318 : : operands[1] = x5;
11319 : : if (nonimm_or_0_operand (operands[1], E_V8SFmode)
11320 : : && (
11321 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11322 : : (TARGET_AVX512F) &&
11323 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11324 : : (TARGET_AVX512VL)))
11325 : : return 2530; /* avx512vl_blendmv8sf */
11326 : : }
11327 : : }
11328 : : operands[2] = x3;
11329 : : if (!memory_operand (operands[0], E_V8SFmode))
11330 : : return -1;
11331 : : x4 = XEXP (x2, 0);
11332 : : operands[1] = x4;
11333 : : if (!register_operand (operands[1], E_V8SFmode))
11334 : : return -1;
11335 : : x5 = XEXP (x2, 1);
11336 : : if (!rtx_equal_p (x5, operands[0])
11337 : : || !(
11338 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11339 : : (TARGET_AVX512F) &&
11340 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11341 : : (TARGET_AVX512VL)))
11342 : : return -1;
11343 : : return 2554; /* *avx512vl_storev8sf_mask */
11344 : :
11345 : : case E_V4SFmode:
11346 : : x2 = XEXP (x1, 1);
11347 : : if (GET_MODE (x2) != E_V4SFmode)
11348 : : return -1;
11349 : : x3 = XEXP (x2, 2);
11350 : : if (!register_operand (x3, E_QImode))
11351 : : return -1;
11352 : : operands[3] = x3;
11353 : : if (register_operand (operands[0], E_V4SFmode))
11354 : : {
11355 : : x4 = XEXP (x2, 0);
11356 : : operands[2] = x4;
11357 : : if (nonimmediate_operand (operands[2], E_V4SFmode))
11358 : : {
11359 : : x5 = XEXP (x2, 1);
11360 : : operands[1] = x5;
11361 : : if (nonimm_or_0_operand (operands[1], E_V4SFmode)
11362 : : && (
11363 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11364 : : (TARGET_AVX512F) &&
11365 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11366 : : (TARGET_AVX512VL)))
11367 : : return 2531; /* avx512vl_blendmv4sf */
11368 : : }
11369 : : }
11370 : : operands[2] = x3;
11371 : : if (!memory_operand (operands[0], E_V4SFmode))
11372 : : return -1;
11373 : : x4 = XEXP (x2, 0);
11374 : : operands[1] = x4;
11375 : : if (!register_operand (operands[1], E_V4SFmode))
11376 : : return -1;
11377 : : x5 = XEXP (x2, 1);
11378 : : if (!rtx_equal_p (x5, operands[0])
11379 : : || !(
11380 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11381 : : (TARGET_AVX512F) &&
11382 : : #line 296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11383 : : (TARGET_AVX512VL)))
11384 : : return -1;
11385 : : return 2555; /* *avx512vl_storev4sf_mask */
11386 : :
11387 : : case E_V8DFmode:
11388 : : x2 = XEXP (x1, 1);
11389 : : if (GET_MODE (x2) != E_V8DFmode)
11390 : : return -1;
11391 : : x3 = XEXP (x2, 2);
11392 : : if (!register_operand (x3, E_QImode))
11393 : : return -1;
11394 : : operands[3] = x3;
11395 : : if (register_operand (operands[0], E_V8DFmode))
11396 : : {
11397 : : x4 = XEXP (x2, 0);
11398 : : operands[2] = x4;
11399 : : if (nonimmediate_operand (operands[2], E_V8DFmode))
11400 : : {
11401 : : x5 = XEXP (x2, 1);
11402 : : operands[1] = x5;
11403 : : if (nonimm_or_0_operand (operands[1], E_V8DFmode)
11404 : : &&
11405 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11406 : : (TARGET_AVX512F))
11407 : : return 2532; /* avx512f_blendmv8df */
11408 : : }
11409 : : }
11410 : : operands[2] = x3;
11411 : : if (!memory_operand (operands[0], E_V8DFmode))
11412 : : return -1;
11413 : : x4 = XEXP (x2, 0);
11414 : : operands[1] = x4;
11415 : : if (!register_operand (operands[1], E_V8DFmode))
11416 : : return -1;
11417 : : x5 = XEXP (x2, 1);
11418 : : if (!rtx_equal_p (x5, operands[0])
11419 : : || !
11420 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11421 : : (TARGET_AVX512F))
11422 : : return -1;
11423 : : return 2556; /* *avx512f_storev8df_mask */
11424 : :
11425 : : case E_V4DFmode:
11426 : : x2 = XEXP (x1, 1);
11427 : : if (GET_MODE (x2) != E_V4DFmode)
11428 : : return -1;
11429 : : x3 = XEXP (x2, 2);
11430 : : if (!register_operand (x3, E_QImode))
11431 : : return -1;
11432 : : operands[3] = x3;
11433 : : if (register_operand (operands[0], E_V4DFmode))
11434 : : {
11435 : : x4 = XEXP (x2, 0);
11436 : : operands[2] = x4;
11437 : : if (nonimmediate_operand (operands[2], E_V4DFmode))
11438 : : {
11439 : : x5 = XEXP (x2, 1);
11440 : : operands[1] = x5;
11441 : : if (nonimm_or_0_operand (operands[1], E_V4DFmode)
11442 : : && (
11443 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : : (TARGET_AVX512F) &&
11445 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11446 : : (TARGET_AVX512VL)))
11447 : : return 2533; /* avx512vl_blendmv4df */
11448 : : }
11449 : : }
11450 : : operands[2] = x3;
11451 : : if (!memory_operand (operands[0], E_V4DFmode))
11452 : : return -1;
11453 : : x4 = XEXP (x2, 0);
11454 : : operands[1] = x4;
11455 : : if (!register_operand (operands[1], E_V4DFmode))
11456 : : return -1;
11457 : : x5 = XEXP (x2, 1);
11458 : : if (!rtx_equal_p (x5, operands[0])
11459 : : || !(
11460 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11461 : : (TARGET_AVX512F) &&
11462 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11463 : : (TARGET_AVX512VL)))
11464 : : return -1;
11465 : : return 2557; /* *avx512vl_storev4df_mask */
11466 : :
11467 : : case E_V2DFmode:
11468 : : x2 = XEXP (x1, 1);
11469 : : if (GET_MODE (x2) != E_V2DFmode)
11470 : : return -1;
11471 : : x3 = XEXP (x2, 2);
11472 : : if (!register_operand (x3, E_QImode))
11473 : : return -1;
11474 : : operands[3] = x3;
11475 : : if (register_operand (operands[0], E_V2DFmode))
11476 : : {
11477 : : x4 = XEXP (x2, 0);
11478 : : operands[2] = x4;
11479 : : if (nonimmediate_operand (operands[2], E_V2DFmode))
11480 : : {
11481 : : x5 = XEXP (x2, 1);
11482 : : operands[1] = x5;
11483 : : if (nonimm_or_0_operand (operands[1], E_V2DFmode)
11484 : : && (
11485 : : #line 1754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11486 : : (TARGET_AVX512F) &&
11487 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11488 : : (TARGET_AVX512VL)))
11489 : : return 2534; /* avx512vl_blendmv2df */
11490 : : }
11491 : : }
11492 : : operands[2] = x3;
11493 : : if (!memory_operand (operands[0], E_V2DFmode))
11494 : : return -1;
11495 : : x4 = XEXP (x2, 0);
11496 : : operands[1] = x4;
11497 : : if (!register_operand (operands[1], E_V2DFmode))
11498 : : return -1;
11499 : : x5 = XEXP (x2, 1);
11500 : : if (!rtx_equal_p (x5, operands[0])
11501 : : || !(
11502 : : #line 1799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11503 : : (TARGET_AVX512F) &&
11504 : : #line 297 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11505 : : (TARGET_AVX512VL)))
11506 : : return -1;
11507 : : return 2558; /* *avx512vl_storev2df_mask */
11508 : :
11509 : : case E_V64QImode:
11510 : : x2 = XEXP (x1, 1);
11511 : : if (GET_MODE (x2) != E_V64QImode)
11512 : : return -1;
11513 : : x3 = XEXP (x2, 2);
11514 : : if (!register_operand (x3, E_DImode))
11515 : : return -1;
11516 : : operands[3] = x3;
11517 : : if (register_operand (operands[0], E_V64QImode))
11518 : : {
11519 : : x4 = XEXP (x2, 0);
11520 : : operands[2] = x4;
11521 : : if (nonimmediate_operand (operands[2], E_V64QImode))
11522 : : {
11523 : : x5 = XEXP (x2, 1);
11524 : : operands[1] = x5;
11525 : : if (nonimm_or_0_operand (operands[1], E_V64QImode)
11526 : : &&
11527 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11528 : : (TARGET_AVX512BW))
11529 : : return 2535; /* avx512bw_blendmv64qi */
11530 : : }
11531 : : }
11532 : : operands[2] = x3;
11533 : : if (!memory_operand (operands[0], E_V64QImode))
11534 : : return -1;
11535 : : x4 = XEXP (x2, 0);
11536 : : operands[1] = x4;
11537 : : if (!register_operand (operands[1], E_V64QImode))
11538 : : return -1;
11539 : : x5 = XEXP (x2, 1);
11540 : : if (!rtx_equal_p (x5, operands[0])
11541 : : || !
11542 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11543 : : (TARGET_AVX512BW))
11544 : : return -1;
11545 : : return 2559; /* *avx512bw_storev64qi_mask */
11546 : :
11547 : : case E_V16QImode:
11548 : : x2 = XEXP (x1, 1);
11549 : : if (GET_MODE (x2) != E_V16QImode)
11550 : : return -1;
11551 : : x3 = XEXP (x2, 2);
11552 : : if (!register_operand (x3, E_HImode))
11553 : : return -1;
11554 : : operands[3] = x3;
11555 : : if (register_operand (operands[0], E_V16QImode))
11556 : : {
11557 : : x4 = XEXP (x2, 0);
11558 : : operands[2] = x4;
11559 : : if (nonimmediate_operand (operands[2], E_V16QImode))
11560 : : {
11561 : : x5 = XEXP (x2, 1);
11562 : : operands[1] = x5;
11563 : : if (nonimm_or_0_operand (operands[1], E_V16QImode)
11564 : : && (
11565 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11566 : : (TARGET_AVX512BW) &&
11567 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11568 : : (TARGET_AVX512VL)))
11569 : : return 2536; /* avx512vl_blendmv16qi */
11570 : : }
11571 : : }
11572 : : operands[2] = x3;
11573 : : if (!memory_operand (operands[0], E_V16QImode))
11574 : : return -1;
11575 : : x4 = XEXP (x2, 0);
11576 : : operands[1] = x4;
11577 : : if (!register_operand (operands[1], E_V16QImode))
11578 : : return -1;
11579 : : x5 = XEXP (x2, 1);
11580 : : if (!rtx_equal_p (x5, operands[0])
11581 : : || !(
11582 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11583 : : (TARGET_AVX512BW) &&
11584 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11585 : : (TARGET_AVX512VL)))
11586 : : return -1;
11587 : : return 2560; /* *avx512vl_storev16qi_mask */
11588 : :
11589 : : case E_V32QImode:
11590 : : x2 = XEXP (x1, 1);
11591 : : if (GET_MODE (x2) != E_V32QImode)
11592 : : return -1;
11593 : : x3 = XEXP (x2, 2);
11594 : : if (!register_operand (x3, E_SImode))
11595 : : return -1;
11596 : : operands[3] = x3;
11597 : : if (register_operand (operands[0], E_V32QImode))
11598 : : {
11599 : : x4 = XEXP (x2, 0);
11600 : : operands[2] = x4;
11601 : : if (nonimmediate_operand (operands[2], E_V32QImode))
11602 : : {
11603 : : x5 = XEXP (x2, 1);
11604 : : operands[1] = x5;
11605 : : if (nonimm_or_0_operand (operands[1], E_V32QImode)
11606 : : && (
11607 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11608 : : (TARGET_AVX512BW) &&
11609 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11610 : : (TARGET_AVX512VL)))
11611 : : return 2537; /* avx512vl_blendmv32qi */
11612 : : }
11613 : : }
11614 : : operands[2] = x3;
11615 : : if (!memory_operand (operands[0], E_V32QImode))
11616 : : return -1;
11617 : : x4 = XEXP (x2, 0);
11618 : : operands[1] = x4;
11619 : : if (!register_operand (operands[1], E_V32QImode))
11620 : : return -1;
11621 : : x5 = XEXP (x2, 1);
11622 : : if (!rtx_equal_p (x5, operands[0])
11623 : : || !(
11624 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11625 : : (TARGET_AVX512BW) &&
11626 : : #line 327 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11627 : : (TARGET_AVX512VL)))
11628 : : return -1;
11629 : : return 2561; /* *avx512vl_storev32qi_mask */
11630 : :
11631 : : case E_V32HImode:
11632 : : x2 = XEXP (x1, 1);
11633 : : if (GET_MODE (x2) != E_V32HImode)
11634 : : return -1;
11635 : : x3 = XEXP (x2, 2);
11636 : : if (!register_operand (x3, E_SImode))
11637 : : return -1;
11638 : : operands[3] = x3;
11639 : : if (register_operand (operands[0], E_V32HImode))
11640 : : {
11641 : : x4 = XEXP (x2, 0);
11642 : : operands[2] = x4;
11643 : : if (nonimmediate_operand (operands[2], E_V32HImode))
11644 : : {
11645 : : x5 = XEXP (x2, 1);
11646 : : operands[1] = x5;
11647 : : if (nonimm_or_0_operand (operands[1], E_V32HImode)
11648 : : &&
11649 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11650 : : (TARGET_AVX512BW))
11651 : : return 2538; /* avx512bw_blendmv32hi */
11652 : : }
11653 : : }
11654 : : operands[2] = x3;
11655 : : if (!memory_operand (operands[0], E_V32HImode))
11656 : : return -1;
11657 : : x4 = XEXP (x2, 0);
11658 : : operands[1] = x4;
11659 : : if (!register_operand (operands[1], E_V32HImode))
11660 : : return -1;
11661 : : x5 = XEXP (x2, 1);
11662 : : if (!rtx_equal_p (x5, operands[0])
11663 : : || !
11664 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11665 : : (TARGET_AVX512BW))
11666 : : return -1;
11667 : : return 2562; /* *avx512bw_storev32hi_mask */
11668 : :
11669 : : case E_V16HImode:
11670 : : x2 = XEXP (x1, 1);
11671 : : if (GET_MODE (x2) != E_V16HImode)
11672 : : return -1;
11673 : : x3 = XEXP (x2, 2);
11674 : : if (!register_operand (x3, E_HImode))
11675 : : return -1;
11676 : : operands[3] = x3;
11677 : : if (register_operand (operands[0], E_V16HImode))
11678 : : {
11679 : : x4 = XEXP (x2, 0);
11680 : : operands[2] = x4;
11681 : : if (nonimmediate_operand (operands[2], E_V16HImode))
11682 : : {
11683 : : x5 = XEXP (x2, 1);
11684 : : operands[1] = x5;
11685 : : if (nonimm_or_0_operand (operands[1], E_V16HImode)
11686 : : && (
11687 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11688 : : (TARGET_AVX512BW) &&
11689 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11690 : : (TARGET_AVX512VL)))
11691 : : return 2539; /* avx512vl_blendmv16hi */
11692 : : }
11693 : : }
11694 : : operands[2] = x3;
11695 : : if (!memory_operand (operands[0], E_V16HImode))
11696 : : return -1;
11697 : : x4 = XEXP (x2, 0);
11698 : : operands[1] = x4;
11699 : : if (!register_operand (operands[1], E_V16HImode))
11700 : : return -1;
11701 : : x5 = XEXP (x2, 1);
11702 : : if (!rtx_equal_p (x5, operands[0])
11703 : : || !(
11704 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11705 : : (TARGET_AVX512BW) &&
11706 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11707 : : (TARGET_AVX512VL)))
11708 : : return -1;
11709 : : return 2563; /* *avx512vl_storev16hi_mask */
11710 : :
11711 : : case E_V8HImode:
11712 : : x2 = XEXP (x1, 1);
11713 : : if (GET_MODE (x2) != E_V8HImode)
11714 : : return -1;
11715 : : x3 = XEXP (x2, 2);
11716 : : if (!register_operand (x3, E_QImode))
11717 : : return -1;
11718 : : operands[3] = x3;
11719 : : if (register_operand (operands[0], E_V8HImode))
11720 : : {
11721 : : x4 = XEXP (x2, 0);
11722 : : operands[2] = x4;
11723 : : if (nonimmediate_operand (operands[2], E_V8HImode))
11724 : : {
11725 : : x5 = XEXP (x2, 1);
11726 : : operands[1] = x5;
11727 : : if (nonimm_or_0_operand (operands[1], E_V8HImode)
11728 : : && (
11729 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11730 : : (TARGET_AVX512BW) &&
11731 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11732 : : (TARGET_AVX512VL)))
11733 : : return 2540; /* avx512vl_blendmv8hi */
11734 : : }
11735 : : }
11736 : : operands[2] = x3;
11737 : : if (!memory_operand (operands[0], E_V8HImode))
11738 : : return -1;
11739 : : x4 = XEXP (x2, 0);
11740 : : operands[1] = x4;
11741 : : if (!register_operand (operands[1], E_V8HImode))
11742 : : return -1;
11743 : : x5 = XEXP (x2, 1);
11744 : : if (!rtx_equal_p (x5, operands[0])
11745 : : || !(
11746 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11747 : : (TARGET_AVX512BW) &&
11748 : : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11749 : : (TARGET_AVX512VL)))
11750 : : return -1;
11751 : : return 2564; /* *avx512vl_storev8hi_mask */
11752 : :
11753 : : case E_V32HFmode:
11754 : : x2 = XEXP (x1, 1);
11755 : : if (GET_MODE (x2) != E_V32HFmode)
11756 : : return -1;
11757 : : x3 = XEXP (x2, 2);
11758 : : if (!register_operand (x3, E_SImode))
11759 : : return -1;
11760 : : operands[3] = x3;
11761 : : if (register_operand (operands[0], E_V32HFmode))
11762 : : {
11763 : : x4 = XEXP (x2, 0);
11764 : : operands[2] = x4;
11765 : : if (nonimmediate_operand (operands[2], E_V32HFmode))
11766 : : {
11767 : : x5 = XEXP (x2, 1);
11768 : : operands[1] = x5;
11769 : : if (nonimm_or_0_operand (operands[1], E_V32HFmode)
11770 : : &&
11771 : : #line 1785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11772 : : (TARGET_AVX512BW))
11773 : : return 2541; /* avx512bw_blendmv32hf */
11774 : : }
11775 : : }
11776 : : operands[2] = x3;
11777 : : if (!memory_operand (operands[0], E_V32HFmode))
11778 : : return -1;
11779 : : x4 = XEXP (x2, 0);
11780 : : operands[1] = x4;
11781 : : if (!register_operand (operands[1], E_V32HFmode))
11782 : : return -1;
11783 : : x5 = XEXP (x2, 1);
11784 : : if (!rtx_equal_p (x5, operands[0])
11785 : : || !
11786 : : #line 1827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11787 : : (TARGET_AVX512BW))
11788 : : return -1;
11789 : : return 2565; /* *avx512bw_storev32hf_mask */
11790 : :
11791 : : case E_V16HFmode:
11792 : : return recog_157 (x1, insn, pnum_clobbers);
11793 : :
11794 : : case E_V8HFmode:
11795 : : return recog_156 (x1, insn, pnum_clobbers);
11796 : :
11797 : : case E_V32BFmode:
11798 : : return recog_155 (x1, insn, pnum_clobbers);
11799 : :
11800 : : case E_V16BFmode:
11801 : : return recog_154 (x1, insn, pnum_clobbers);
11802 : :
11803 : : case E_V8BFmode:
11804 : : return recog_153 (x1, insn, pnum_clobbers);
11805 : :
11806 : : default:
11807 : : return -1;
11808 : : }
11809 : : }
11810 : :
11811 : : int
11812 : : recog_166 (rtx x1 ATTRIBUTE_UNUSED,
11813 : : rtx_insn *insn ATTRIBUTE_UNUSED,
11814 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
11815 : : {
11816 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11817 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
11818 : : rtx x10, x11, x12;
11819 : : int res ATTRIBUTE_UNUSED;
11820 : : x2 = XEXP (x1, 1);
11821 : : x3 = XEXP (x2, 0);
11822 : : x4 = XEXP (x3, 1);
11823 : : x5 = XVECEXP (x4, 0, 2);
11824 : : if (GET_CODE (x5) != CONST_INT)
11825 : : return -1;
11826 : : x6 = XVECEXP (x4, 0, 3);
11827 : : if (GET_CODE (x6) != CONST_INT)
11828 : : return -1;
11829 : : x7 = XEXP (x2, 2);
11830 : : if (!register_operand (x7, E_QImode))
11831 : : return -1;
11832 : : x8 = XVECEXP (x4, 0, 0);
11833 : : switch (XWINT (x8, 0))
11834 : : {
11835 : : case 2L:
11836 : : x9 = XVECEXP (x4, 0, 1);
11837 : : if (XWINT (x9, 0) != 6L
11838 : : || XWINT (x5, 0) != 3L
11839 : : || XWINT (x6, 0) != 7L)
11840 : : return -1;
11841 : : x10 = XEXP (x3, 0);
11842 : : x11 = XEXP (x10, 1);
11843 : : operands[2] = x11;
11844 : : x12 = XEXP (x2, 1);
11845 : : operands[3] = x12;
11846 : : operands[4] = x7;
11847 : : switch (GET_MODE (operands[0]))
11848 : : {
11849 : : case E_V4SFmode:
11850 : : if (pattern1570 (x2,
11851 : : E_V4SFmode,
11852 : : E_V8SFmode) != 0
11853 : : || !(
11854 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11855 : : (TARGET_AVX512F) &&
11856 : : #line 11253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11857 : : (TARGET_SSE && TARGET_AVX512VL)))
11858 : : return -1;
11859 : : return 5181; /* vec_interleave_highv4sf_mask */
11860 : :
11861 : : case E_V4SImode:
11862 : : if (pattern1570 (x2,
11863 : : E_V4SImode,
11864 : : E_V8SImode) != 0
11865 : : || !(
11866 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11867 : : (TARGET_AVX512F) &&
11868 : : #line 19786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11869 : : (TARGET_SSE2 && TARGET_AVX512VL)))
11870 : : return -1;
11871 : : return 8325; /* vec_interleave_highv4si_mask */
11872 : :
11873 : : default:
11874 : : return -1;
11875 : : }
11876 : :
11877 : : case 0L:
11878 : : x9 = XVECEXP (x4, 0, 1);
11879 : : switch (XWINT (x9, 0))
11880 : : {
11881 : : case 4L:
11882 : : switch (XWINT (x5, 0))
11883 : : {
11884 : : case 1L:
11885 : : if (XWINT (x6, 0) != 5L)
11886 : : return -1;
11887 : : x10 = XEXP (x3, 0);
11888 : : x11 = XEXP (x10, 1);
11889 : : operands[2] = x11;
11890 : : x12 = XEXP (x2, 1);
11891 : : operands[3] = x12;
11892 : : operands[4] = x7;
11893 : : switch (GET_MODE (operands[0]))
11894 : : {
11895 : : case E_V4SFmode:
11896 : : if (pattern1569 (x2,
11897 : : E_V4SFmode,
11898 : : E_V8SFmode) != 0
11899 : : || !
11900 : : #line 11310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11901 : : (TARGET_AVX512VL))
11902 : : return -1;
11903 : : return 5186; /* unpcklps128_mask */
11904 : :
11905 : : case E_V4SImode:
11906 : : if (pattern1570 (x2,
11907 : : E_V4SImode,
11908 : : E_V8SImode) != 0
11909 : : || !(
11910 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11911 : : (TARGET_AVX512F) &&
11912 : : #line 19840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11913 : : (TARGET_SSE2 && TARGET_AVX512VL)))
11914 : : return -1;
11915 : : return 8331; /* vec_interleave_lowv4si_mask */
11916 : :
11917 : : default:
11918 : : return -1;
11919 : : }
11920 : :
11921 : : case 2L:
11922 : : if (XWINT (x6, 0) != 6L)
11923 : : return -1;
11924 : : switch (GET_MODE (operands[0]))
11925 : : {
11926 : : case E_V4DFmode:
11927 : : if (pattern1632 (x2,
11928 : : E_V4DFmode,
11929 : : E_V8DFmode) != 0)
11930 : : return -1;
11931 : : x12 = XEXP (x2, 1);
11932 : : operands[2] = x12;
11933 : : if (nonimmediate_operand (operands[1], E_V4DFmode))
11934 : : {
11935 : : operands[3] = x7;
11936 : : x10 = XEXP (x3, 0);
11937 : : x11 = XEXP (x10, 1);
11938 : : if (rtx_equal_p (x11, operands[1])
11939 : : && (
11940 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11941 : : (TARGET_AVX512F) &&
11942 : : #line 13501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11943 : : (TARGET_AVX && TARGET_AVX512VL)))
11944 : : return 5341; /* avx_movddup256_mask */
11945 : : }
11946 : : operands[3] = x12;
11947 : : if (!register_operand (operands[1], E_V4DFmode))
11948 : : return -1;
11949 : : x10 = XEXP (x3, 0);
11950 : : x11 = XEXP (x10, 1);
11951 : : operands[2] = x11;
11952 : : if (!nonimmediate_operand (operands[2], E_V4DFmode))
11953 : : return -1;
11954 : : operands[4] = x7;
11955 : : if (!(
11956 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11957 : : (TARGET_AVX512F) &&
11958 : : #line 13515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11959 : : (TARGET_AVX && TARGET_AVX512VL)))
11960 : : return -1;
11961 : : return 5343; /* avx_unpcklpd256_mask */
11962 : :
11963 : : case E_V4DImode:
11964 : : if (pattern1633 (x2,
11965 : : E_V4DImode,
11966 : : E_V8DImode) != 0
11967 : : || !(
11968 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11969 : : (TARGET_AVX512F) &&
11970 : : #line 14547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11971 : : (TARGET_AVX2 && TARGET_AVX512VL)))
11972 : : return -1;
11973 : : return 7156; /* avx2_interleave_lowv4di_mask */
11974 : :
11975 : : default:
11976 : : return -1;
11977 : : }
11978 : :
11979 : : default:
11980 : : return -1;
11981 : : }
11982 : :
11983 : : case 0L:
11984 : : if (XWINT (x5, 0) != 6L
11985 : : || XWINT (x6, 0) != 6L
11986 : : || pattern1568 (x2) != 0
11987 : : || !(
11988 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11989 : : (TARGET_AVX512F) &&
11990 : : #line 11448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11991 : : (TARGET_SSE3 && TARGET_AVX512VL)))
11992 : : return -1;
11993 : : return 5197; /* sse3_movsldup_mask */
11994 : :
11995 : : default:
11996 : : return -1;
11997 : : }
11998 : :
11999 : : case 1L:
12000 : : if (XWINT (x6, 0) != 7L)
12001 : : return -1;
12002 : : x9 = XVECEXP (x4, 0, 1);
12003 : : switch (XWINT (x9, 0))
12004 : : {
12005 : : case 1L:
12006 : : if (XWINT (x5, 0) != 7L
12007 : : || pattern1568 (x2) != 0
12008 : : || !(
12009 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12010 : : (TARGET_AVX512F) &&
12011 : : #line 11395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12012 : : (TARGET_SSE3 && TARGET_AVX512VL)))
12013 : : return -1;
12014 : : return 5191; /* sse3_movshdup_mask */
12015 : :
12016 : : case 5L:
12017 : : if (XWINT (x5, 0) != 3L)
12018 : : return -1;
12019 : : x10 = XEXP (x3, 0);
12020 : : x11 = XEXP (x10, 1);
12021 : : operands[2] = x11;
12022 : : x12 = XEXP (x2, 1);
12023 : : operands[3] = x12;
12024 : : operands[4] = x7;
12025 : : switch (GET_MODE (operands[0]))
12026 : : {
12027 : : case E_V4DFmode:
12028 : : if (pattern1569 (x2,
12029 : : E_V4DFmode,
12030 : : E_V8DFmode) != 0
12031 : : || !(
12032 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12033 : : (TARGET_AVX512F) &&
12034 : : #line 13371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12035 : : (TARGET_AVX && TARGET_AVX512VL)))
12036 : : return -1;
12037 : : return 5333; /* avx_unpckhpd256_mask */
12038 : :
12039 : : case E_V4DImode:
12040 : : if (pattern1569 (x2,
12041 : : E_V4DImode,
12042 : : E_V8DImode) != 0
12043 : : || !(
12044 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12045 : : (TARGET_AVX512F) &&
12046 : : #line 14497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12047 : : (TARGET_AVX2 && TARGET_AVX512VL)))
12048 : : return -1;
12049 : : return 7150; /* avx2_interleave_highv4di_mask */
12050 : :
12051 : : default:
12052 : : return -1;
12053 : : }
12054 : :
12055 : : default:
12056 : : return -1;
12057 : : }
12058 : :
12059 : : default:
12060 : : return -1;
12061 : : }
12062 : : }
12063 : :
12064 : : int
12065 : : recog_173 (rtx x1 ATTRIBUTE_UNUSED,
12066 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12067 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12068 : : {
12069 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12070 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12071 : : rtx x10, x11, x12, x13, x14;
12072 : : int res ATTRIBUTE_UNUSED;
12073 : : x2 = XEXP (x1, 1);
12074 : : x3 = XEXP (x2, 0);
12075 : : x4 = XEXP (x3, 1);
12076 : : if (pattern907 (x4) != 0)
12077 : : return -1;
12078 : : x5 = XEXP (x2, 1);
12079 : : operands[2] = x5;
12080 : : x6 = XEXP (x2, 2);
12081 : : operands[3] = x6;
12082 : : if (!register_operand (operands[3], E_QImode))
12083 : : return -1;
12084 : : x7 = XVECEXP (x4, 0, 0);
12085 : : switch (XWINT (x7, 0))
12086 : : {
12087 : : case 8L:
12088 : : x8 = XVECEXP (x4, 0, 1);
12089 : : if (XWINT (x8, 0) != 9L)
12090 : : return -1;
12091 : : x9 = XVECEXP (x4, 0, 2);
12092 : : if (XWINT (x9, 0) != 10L)
12093 : : return -1;
12094 : : x10 = XVECEXP (x4, 0, 3);
12095 : : if (XWINT (x10, 0) != 11L)
12096 : : return -1;
12097 : : x11 = XVECEXP (x4, 0, 4);
12098 : : if (XWINT (x11, 0) != 12L)
12099 : : return -1;
12100 : : x12 = XVECEXP (x4, 0, 5);
12101 : : if (XWINT (x12, 0) != 13L)
12102 : : return -1;
12103 : : x13 = XVECEXP (x4, 0, 6);
12104 : : if (XWINT (x13, 0) != 14L)
12105 : : return -1;
12106 : : x14 = XVECEXP (x4, 0, 7);
12107 : : if (XWINT (x14, 0) != 15L)
12108 : : return -1;
12109 : : switch (pattern1816 (x2))
12110 : : {
12111 : : case 0:
12112 : : if (!
12113 : : #line 12723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12114 : : (TARGET_AVX512DQ
12115 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12116 : : return -1;
12117 : : return 5282; /* vec_extract_hi_v16sf_mask */
12118 : :
12119 : : case 1:
12120 : : if (!
12121 : : #line 12723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12122 : : (TARGET_AVX512DQ
12123 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12124 : : return -1;
12125 : : return 5283; /* vec_extract_hi_v16si_mask */
12126 : :
12127 : : default:
12128 : : return -1;
12129 : : }
12130 : :
12131 : : case 0L:
12132 : : x8 = XVECEXP (x4, 0, 1);
12133 : : if (XWINT (x8, 0) != 1L
12134 : : || pattern1544 (x4) != 0)
12135 : : return -1;
12136 : : switch (pattern1816 (x2))
12137 : : {
12138 : : case 0:
12139 : : if (!
12140 : : #line 12827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12141 : : (TARGET_AVX512DQ
12142 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12143 : : return -1;
12144 : : return 5286; /* vec_extract_lo_v16sf_mask */
12145 : :
12146 : : case 1:
12147 : : if (!
12148 : : #line 12827 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12149 : : (TARGET_AVX512DQ
12150 : : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12151 : : return -1;
12152 : : return 5287; /* vec_extract_lo_v16si_mask */
12153 : :
12154 : : default:
12155 : : return -1;
12156 : : }
12157 : :
12158 : : default:
12159 : : return -1;
12160 : : }
12161 : : }
12162 : :
12163 : : int
12164 : : recog_177 (rtx x1 ATTRIBUTE_UNUSED,
12165 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12166 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12167 : : {
12168 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12169 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12170 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12171 : : rtx x18, x19, x20;
12172 : : int res ATTRIBUTE_UNUSED;
12173 : : x2 = XEXP (x1, 1);
12174 : : x3 = XEXP (x2, 0);
12175 : : x4 = XEXP (x3, 1);
12176 : : x5 = XVECEXP (x4, 0, 1);
12177 : : operands[3] = x5;
12178 : : x6 = XVECEXP (x4, 0, 2);
12179 : : operands[4] = x6;
12180 : : x7 = XVECEXP (x4, 0, 3);
12181 : : operands[5] = x7;
12182 : : x8 = XVECEXP (x4, 0, 5);
12183 : : operands[7] = x8;
12184 : : x9 = XVECEXP (x4, 0, 6);
12185 : : operands[8] = x9;
12186 : : x10 = XVECEXP (x4, 0, 7);
12187 : : operands[9] = x10;
12188 : : x11 = XVECEXP (x4, 0, 8);
12189 : : operands[10] = x11;
12190 : : x12 = XVECEXP (x4, 0, 9);
12191 : : operands[11] = x12;
12192 : : x13 = XVECEXP (x4, 0, 10);
12193 : : operands[12] = x13;
12194 : : x14 = XVECEXP (x4, 0, 11);
12195 : : operands[13] = x14;
12196 : : x15 = XVECEXP (x4, 0, 12);
12197 : : operands[14] = x15;
12198 : : x16 = XVECEXP (x4, 0, 13);
12199 : : operands[15] = x16;
12200 : : x17 = XVECEXP (x4, 0, 14);
12201 : : operands[16] = x17;
12202 : : x18 = XVECEXP (x4, 0, 15);
12203 : : operands[17] = x18;
12204 : : x19 = XEXP (x2, 1);
12205 : : operands[18] = x19;
12206 : : x20 = XEXP (x2, 2);
12207 : : operands[19] = x20;
12208 : : if (!register_operand (operands[19], E_HImode))
12209 : : return -1;
12210 : : switch (GET_MODE (operands[0]))
12211 : : {
12212 : : case E_V16SFmode:
12213 : : if (!register_operand (operands[0], E_V16SFmode)
12214 : : || GET_MODE (x2) != E_V16SFmode
12215 : : || GET_MODE (x3) != E_V16SFmode
12216 : : || !register_operand (operands[1], E_V16SFmode)
12217 : : || pattern1847 () != 0
12218 : : || !nonimm_or_0_operand (operands[18], E_V16SFmode)
12219 : : || !(
12220 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12221 : : (TARGET_AVX512F) &&
12222 : : #line 20494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12223 : : (TARGET_AVX512F
12224 : : && (INTVAL (operands[2]) & 3) == 0
12225 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12226 : : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12227 : : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12228 : : && (INTVAL (operands[6]) & 3) == 0
12229 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12230 : : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12231 : : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12232 : : && (INTVAL (operands[10]) & 3) == 0
12233 : : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12234 : : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12235 : : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12236 : : && (INTVAL (operands[14]) & 3) == 0
12237 : : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12238 : : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12239 : : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
12240 : : return -1;
12241 : : return 8387; /* *avx512f_shuf_f32x4_1_mask_1 */
12242 : :
12243 : : case E_V16SImode:
12244 : : if (!register_operand (operands[0], E_V16SImode)
12245 : : || GET_MODE (x2) != E_V16SImode
12246 : : || GET_MODE (x3) != E_V16SImode
12247 : : || !nonimm_or_0_operand (operands[18], E_V16SImode))
12248 : : return -1;
12249 : : if (register_operand (operands[1], E_V16SImode)
12250 : : && pattern1847 () == 0
12251 : : && (
12252 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12253 : : (TARGET_AVX512F) &&
12254 : : #line 20494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12255 : : (TARGET_AVX512F
12256 : : && (INTVAL (operands[2]) & 3) == 0
12257 : : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12258 : : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12259 : : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12260 : : && (INTVAL (operands[6]) & 3) == 0
12261 : : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12262 : : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12263 : : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12264 : : && (INTVAL (operands[10]) & 3) == 0
12265 : : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12266 : : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12267 : : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12268 : : && (INTVAL (operands[14]) & 3) == 0
12269 : : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12270 : : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12271 : : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
12272 : : return 8389; /* *avx512f_shuf_i32x4_1_mask_1 */
12273 : : if (!nonimmediate_operand (operands[1], E_V16SImode)
12274 : : || pattern1801 () != 0
12275 : : || !const_8_to_11_operand (operands[10], E_VOIDmode)
12276 : : || !const_8_to_11_operand (operands[11], E_VOIDmode)
12277 : : || !const_8_to_11_operand (operands[12], E_VOIDmode)
12278 : : || !const_8_to_11_operand (operands[13], E_VOIDmode)
12279 : : || !const_12_to_15_operand (operands[14], E_VOIDmode)
12280 : : || !const_12_to_15_operand (operands[15], E_VOIDmode)
12281 : : || !const_12_to_15_operand (operands[16], E_VOIDmode)
12282 : : || !const_12_to_15_operand (operands[17], E_VOIDmode)
12283 : : || !(
12284 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12285 : : (TARGET_AVX512F) &&
12286 : : #line 20576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12287 : : (TARGET_AVX512F
12288 : : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
12289 : : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
12290 : : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
12291 : : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
12292 : : && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
12293 : : && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
12294 : : && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
12295 : : && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
12296 : : && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
12297 : : && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
12298 : : && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
12299 : : && INTVAL (operands[5]) + 12 == INTVAL (operands[17]))))
12300 : : return -1;
12301 : : return 8391; /* avx512f_pshufd_1_mask */
12302 : :
12303 : : default:
12304 : : return -1;
12305 : : }
12306 : : }
12307 : :
12308 : : int
12309 : : recog_188 (rtx x1 ATTRIBUTE_UNUSED,
12310 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12311 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12312 : : {
12313 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12314 : : rtx x2, x3, x4, x5, x6, x7;
12315 : : int res ATTRIBUTE_UNUSED;
12316 : : x2 = XEXP (x1, 1);
12317 : : x3 = XEXP (x2, 0);
12318 : : x4 = XEXP (x3, 0);
12319 : : operands[1] = x4;
12320 : : x5 = XEXP (x3, 1);
12321 : : operands[2] = x5;
12322 : : x6 = XEXP (x2, 1);
12323 : : operands[3] = x6;
12324 : : x7 = XEXP (x2, 2);
12325 : : operands[4] = x7;
12326 : : switch (GET_MODE (operands[0]))
12327 : : {
12328 : : case E_V16HImode:
12329 : : if (pattern128 (x2,
12330 : : E_HImode,
12331 : : E_V16HImode) != 0)
12332 : : return -1;
12333 : : if (nonimmediate_operand (operands[1], E_V16HImode)
12334 : : && nonmemory_operand (operands[2], E_DImode)
12335 : : && (
12336 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12337 : : (TARGET_AVX512F) && (
12338 : : #line 17126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12339 : : (TARGET_AVX512VL) &&
12340 : : #line 765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12341 : : (TARGET_AVX512BW))))
12342 : : return 7562; /* ashrv16hi3_mask */
12343 : : if (!register_operand (operands[1], E_V16HImode)
12344 : : || !nonimmediate_operand (operands[2], E_V16HImode)
12345 : : || !(
12346 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12347 : : (TARGET_AVX512F) && (
12348 : : #line 29055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12349 : : (TARGET_AVX512BW) &&
12350 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12351 : : (TARGET_AVX512VL))))
12352 : : return -1;
12353 : : return 9540; /* avx512vl_ashrvv16hi_mask */
12354 : :
12355 : : case E_V8HImode:
12356 : : if (pattern128 (x2,
12357 : : E_QImode,
12358 : : E_V8HImode) != 0)
12359 : : return -1;
12360 : : if (nonimmediate_operand (operands[1], E_V8HImode)
12361 : : && nonmemory_operand (operands[2], E_DImode)
12362 : : && (
12363 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12364 : : (TARGET_AVX512F) && (
12365 : : #line 17126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12366 : : (TARGET_AVX512VL) &&
12367 : : #line 765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12368 : : (TARGET_AVX512BW))))
12369 : : return 7564; /* ashrv8hi3_mask */
12370 : : if (!register_operand (operands[1], E_V8HImode)
12371 : : || !nonimmediate_operand (operands[2], E_V8HImode)
12372 : : || !(
12373 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12374 : : (TARGET_AVX512F) && (
12375 : : #line 29055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12376 : : (TARGET_AVX512BW) &&
12377 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12378 : : (TARGET_AVX512VL))))
12379 : : return -1;
12380 : : return 9538; /* avx512vl_ashrvv8hi_mask */
12381 : :
12382 : : case E_V8SImode:
12383 : : if (pattern128 (x2,
12384 : : E_QImode,
12385 : : E_V8SImode) != 0)
12386 : : return -1;
12387 : : if (nonimmediate_operand (operands[1], E_V8SImode)
12388 : : && nonmemory_operand (operands[2], E_DImode)
12389 : : && (
12390 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12391 : : (TARGET_AVX512F) &&
12392 : : #line 17126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12393 : : (TARGET_AVX512VL)))
12394 : : return 7566; /* ashrv8si3_mask */
12395 : : if (!register_operand (operands[1], E_V8SImode)
12396 : : || !nonimmediate_operand (operands[2], E_V8SImode)
12397 : : || !(
12398 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12399 : : (TARGET_AVX512F) &&
12400 : : #line 29044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12401 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12402 : : return -1;
12403 : : return 9528; /* avx2_ashrvv8si_mask */
12404 : :
12405 : : case E_V4SImode:
12406 : : if (pattern128 (x2,
12407 : : E_QImode,
12408 : : E_V4SImode) != 0)
12409 : : return -1;
12410 : : if (nonimmediate_operand (operands[1], E_V4SImode)
12411 : : && nonmemory_operand (operands[2], E_DImode)
12412 : : && (
12413 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12414 : : (TARGET_AVX512F) &&
12415 : : #line 17126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12416 : : (TARGET_AVX512VL)))
12417 : : return 7568; /* ashrv4si3_mask */
12418 : : if (!register_operand (operands[1], E_V4SImode)
12419 : : || !nonimmediate_operand (operands[2], E_V4SImode)
12420 : : || !(
12421 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12422 : : (TARGET_AVX512F) &&
12423 : : #line 29044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12424 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12425 : : return -1;
12426 : : return 9526; /* avx2_ashrvv4si_mask */
12427 : :
12428 : : case E_V2DImode:
12429 : : if (pattern128 (x2,
12430 : : E_QImode,
12431 : : E_V2DImode) != 0)
12432 : : return -1;
12433 : : if (nonimmediate_operand (operands[1], E_V2DImode)
12434 : : && nonmemory_operand (operands[2], E_DImode)
12435 : : && (
12436 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12437 : : (TARGET_AVX512F) &&
12438 : : #line 17126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12439 : : (TARGET_AVX512VL)))
12440 : : return 7570; /* ashrv2di3_mask */
12441 : : if (!register_operand (operands[1], E_V2DImode)
12442 : : || !nonimmediate_operand (operands[2], E_V2DImode)
12443 : : || !(
12444 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12445 : : (TARGET_AVX512F) && (
12446 : : #line 29044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12447 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL)) &&
12448 : : #line 655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12449 : : (TARGET_AVX512VL))))
12450 : : return -1;
12451 : : return 9532; /* avx2_ashrvv2di_mask */
12452 : :
12453 : : case E_V32HImode:
12454 : : if (pattern128 (x2,
12455 : : E_SImode,
12456 : : E_V32HImode) != 0)
12457 : : return -1;
12458 : : if (nonimmediate_operand (operands[1], E_V32HImode)
12459 : : && nonmemory_operand (operands[2], E_DImode)
12460 : : && (
12461 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12462 : : (TARGET_AVX512F) && (
12463 : : #line 17170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12464 : : (TARGET_AVX512F) &&
12465 : : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12466 : : (TARGET_AVX512BW))))
12467 : : return 7580; /* ashrv32hi3_mask */
12468 : : if (!register_operand (operands[1], E_V32HImode)
12469 : : || !nonimmediate_operand (operands[2], E_V32HImode)
12470 : : || !(
12471 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12472 : : (TARGET_AVX512F) &&
12473 : : #line 29055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12474 : : (TARGET_AVX512BW)))
12475 : : return -1;
12476 : : return 9542; /* avx512bw_ashrvv32hi_mask */
12477 : :
12478 : : case E_V4DImode:
12479 : : if (pattern128 (x2,
12480 : : E_QImode,
12481 : : E_V4DImode) != 0)
12482 : : return -1;
12483 : : if (nonimmediate_operand (operands[1], E_V4DImode)
12484 : : && nonmemory_operand (operands[2], E_DImode)
12485 : : && (
12486 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12487 : : (TARGET_AVX512F) && (
12488 : : #line 17170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12489 : : (TARGET_AVX512F) &&
12490 : : #line 761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12491 : : (TARGET_AVX512VL))))
12492 : : return 7582; /* ashrv4di3_mask */
12493 : : if (!register_operand (operands[1], E_V4DImode)
12494 : : || !nonimmediate_operand (operands[2], E_V4DImode)
12495 : : || !(
12496 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12497 : : (TARGET_AVX512F) && (
12498 : : #line 29044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12499 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
12500 : : #line 655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12501 : : (TARGET_AVX512VL))))
12502 : : return -1;
12503 : : return 9534; /* avx2_ashrvv4di_mask */
12504 : :
12505 : : case E_V16SImode:
12506 : : if (pattern128 (x2,
12507 : : E_HImode,
12508 : : E_V16SImode) != 0)
12509 : : return -1;
12510 : : if (nonimmediate_operand (operands[1], E_V16SImode)
12511 : : && nonmemory_operand (operands[2], E_DImode)
12512 : : &&
12513 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12514 : : (TARGET_AVX512F))
12515 : : return 7584; /* ashrv16si3_mask */
12516 : : if (!register_operand (operands[1], E_V16SImode)
12517 : : || !nonimmediate_operand (operands[2], E_V16SImode)
12518 : : || !(
12519 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12520 : : (TARGET_AVX512F) && (
12521 : : #line 29044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12522 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12523 : : #line 654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12524 : : (TARGET_AVX512F))))
12525 : : return -1;
12526 : : return 9530; /* avx512f_ashrvv16si_mask */
12527 : :
12528 : : case E_V8DImode:
12529 : : if (pattern128 (x2,
12530 : : E_QImode,
12531 : : E_V8DImode) != 0)
12532 : : return -1;
12533 : : if (nonimmediate_operand (operands[1], E_V8DImode)
12534 : : && nonmemory_operand (operands[2], E_DImode)
12535 : : &&
12536 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12537 : : (TARGET_AVX512F))
12538 : : return 7586; /* ashrv8di3_mask */
12539 : : if (!register_operand (operands[1], E_V8DImode)
12540 : : || !nonimmediate_operand (operands[2], E_V8DImode)
12541 : : || !(
12542 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12543 : : (TARGET_AVX512F) && (
12544 : : #line 29044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12545 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12546 : : #line 656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12547 : : (TARGET_AVX512F))))
12548 : : return -1;
12549 : : return 9536; /* avx512f_ashrvv8di_mask */
12550 : :
12551 : : default:
12552 : : return -1;
12553 : : }
12554 : : }
12555 : :
12556 : : int
12557 : : recog_190 (rtx x1 ATTRIBUTE_UNUSED,
12558 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12559 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12560 : : {
12561 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12562 : : rtx x2;
12563 : : int res ATTRIBUTE_UNUSED;
12564 : : x2 = XEXP (x1, 1);
12565 : : switch (pattern141 (x2))
12566 : : {
12567 : : case 0:
12568 : : if (nonimmediate_operand (operands[1], E_V16HImode)
12569 : : && nonmemory_operand (operands[2], E_DImode)
12570 : : && (
12571 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12572 : : (TARGET_AVX512F) && (
12573 : : #line 17322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12574 : : (TARGET_AVX512VL) &&
12575 : : #line 770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12576 : : (TARGET_AVX512BW))))
12577 : : return 7599; /* lshrv16hi3_mask */
12578 : : if (!register_operand (operands[1], E_V16HImode)
12579 : : || !nonimmediate_operand (operands[2], E_V16HImode)
12580 : : || !(
12581 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12582 : : (TARGET_AVX512F) && (
12583 : : #line 29077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12584 : : (TARGET_AVX512BW) &&
12585 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12586 : : (TARGET_AVX512VL))))
12587 : : return -1;
12588 : : return 9574; /* avx512vl_lshrvv16hi_mask */
12589 : :
12590 : : case 1:
12591 : : if (nonimmediate_operand (operands[1], E_V8HImode)
12592 : : && nonmemory_operand (operands[2], E_DImode)
12593 : : && (
12594 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12595 : : (TARGET_AVX512F) && (
12596 : : #line 17322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12597 : : (TARGET_AVX512VL) &&
12598 : : #line 770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12599 : : (TARGET_AVX512BW))))
12600 : : return 7603; /* lshrv8hi3_mask */
12601 : : if (!register_operand (operands[1], E_V8HImode)
12602 : : || !nonimmediate_operand (operands[2], E_V8HImode)
12603 : : || !(
12604 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12605 : : (TARGET_AVX512F) && (
12606 : : #line 29077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12607 : : (TARGET_AVX512BW) &&
12608 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12609 : : (TARGET_AVX512VL))))
12610 : : return -1;
12611 : : return 9570; /* avx512vl_lshrvv8hi_mask */
12612 : :
12613 : : case 2:
12614 : : if (nonimmediate_operand (operands[1], E_V8SImode)
12615 : : && nonmemory_operand (operands[2], E_DImode)
12616 : : && (
12617 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12618 : : (TARGET_AVX512F) &&
12619 : : #line 17322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12620 : : (TARGET_AVX512VL)))
12621 : : return 7607; /* lshrv8si3_mask */
12622 : : if (!register_operand (operands[1], E_V8SImode)
12623 : : || !nonimmediate_operand (operands[2], E_V8SImode)
12624 : : || !(
12625 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12626 : : (TARGET_AVX512F) &&
12627 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12628 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12629 : : return -1;
12630 : : return 9550; /* avx2_lshrvv8si_mask */
12631 : :
12632 : : case 3:
12633 : : if (nonimmediate_operand (operands[1], E_V4SImode)
12634 : : && nonmemory_operand (operands[2], E_DImode)
12635 : : && (
12636 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12637 : : (TARGET_AVX512F) &&
12638 : : #line 17322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12639 : : (TARGET_AVX512VL)))
12640 : : return 7611; /* lshrv4si3_mask */
12641 : : if (!register_operand (operands[1], E_V4SImode)
12642 : : || !nonimmediate_operand (operands[2], E_V4SImode)
12643 : : || !(
12644 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12645 : : (TARGET_AVX512F) &&
12646 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12647 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12648 : : return -1;
12649 : : return 9554; /* avx2_lshrvv4si_mask */
12650 : :
12651 : : case 4:
12652 : : if (nonimmediate_operand (operands[1], E_V4DImode)
12653 : : && nonmemory_operand (operands[2], E_DImode)
12654 : : && (
12655 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12656 : : (TARGET_AVX512F) &&
12657 : : #line 17322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12658 : : (TARGET_AVX512VL)))
12659 : : return 7615; /* lshrv4di3_mask */
12660 : : if (!register_operand (operands[1], E_V4DImode)
12661 : : || !nonimmediate_operand (operands[2], E_V4DImode)
12662 : : || !(
12663 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12664 : : (TARGET_AVX512F) &&
12665 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12666 : : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12667 : : return -1;
12668 : : return 9562; /* avx2_lshrvv4di_mask */
12669 : :
12670 : : case 5:
12671 : : if (nonimmediate_operand (operands[1], E_V2DImode)
12672 : : && nonmemory_operand (operands[2], E_DImode)
12673 : : && (
12674 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12675 : : (TARGET_AVX512F) &&
12676 : : #line 17322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12677 : : (TARGET_AVX512VL)))
12678 : : return 7619; /* lshrv2di3_mask */
12679 : : if (!register_operand (operands[1], E_V2DImode)
12680 : : || !nonimmediate_operand (operands[2], E_V2DImode)
12681 : : || !(
12682 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12683 : : (TARGET_AVX512F) &&
12684 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12685 : : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12686 : : return -1;
12687 : : return 9566; /* avx2_lshrvv2di_mask */
12688 : :
12689 : : case 6:
12690 : : if (nonimmediate_operand (operands[1], E_V32HImode)
12691 : : && nonmemory_operand (operands[2], E_DImode)
12692 : : && (
12693 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12694 : : (TARGET_AVX512F) && (
12695 : : #line 17410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12696 : : (TARGET_AVX512F) &&
12697 : : #line 757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12698 : : (TARGET_AVX512BW))))
12699 : : return 7639; /* lshrv32hi3_mask */
12700 : : if (!register_operand (operands[1], E_V32HImode)
12701 : : || !nonimmediate_operand (operands[2], E_V32HImode)
12702 : : || !(
12703 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12704 : : (TARGET_AVX512F) &&
12705 : : #line 29077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12706 : : (TARGET_AVX512BW)))
12707 : : return -1;
12708 : : return 9578; /* avx512bw_lshrvv32hi_mask */
12709 : :
12710 : : case 7:
12711 : : if (nonimmediate_operand (operands[1], E_V16SImode)
12712 : : && nonmemory_operand (operands[2], E_DImode)
12713 : : &&
12714 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12715 : : (TARGET_AVX512F))
12716 : : return 7643; /* lshrv16si3_mask */
12717 : : if (!register_operand (operands[1], E_V16SImode)
12718 : : || !nonimmediate_operand (operands[2], E_V16SImode)
12719 : : || !(
12720 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12721 : : (TARGET_AVX512F) && (
12722 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12723 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12724 : : #line 775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12725 : : (TARGET_AVX512F))))
12726 : : return -1;
12727 : : return 9546; /* avx512f_lshrvv16si_mask */
12728 : :
12729 : : case 8:
12730 : : if (nonimmediate_operand (operands[1], E_V8DImode)
12731 : : && nonmemory_operand (operands[2], E_DImode)
12732 : : &&
12733 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12734 : : (TARGET_AVX512F))
12735 : : return 7647; /* lshrv8di3_mask */
12736 : : if (!register_operand (operands[1], E_V8DImode)
12737 : : || !nonimmediate_operand (operands[2], E_V8DImode)
12738 : : || !(
12739 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12740 : : (TARGET_AVX512F) && (
12741 : : #line 29066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12742 : : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12743 : : #line 776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12744 : : (TARGET_AVX512F))))
12745 : : return -1;
12746 : : return 9558; /* avx512f_lshrvv8di_mask */
12747 : :
12748 : : default:
12749 : : return -1;
12750 : : }
12751 : : }
12752 : :
12753 : : int
12754 : : recog_195 (rtx x1 ATTRIBUTE_UNUSED,
12755 : : rtx_insn *insn ATTRIBUTE_UNUSED,
12756 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
12757 : : {
12758 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12759 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12760 : : int res ATTRIBUTE_UNUSED;
12761 : : x2 = XEXP (x1, 1);
12762 : : x3 = XEXP (x2, 0);
12763 : : x4 = XEXP (x3, 0);
12764 : : operands[1] = x4;
12765 : : x5 = XEXP (x3, 1);
12766 : : operands[2] = x5;
12767 : : x6 = XEXP (x2, 1);
12768 : : switch (GET_CODE (x6))
12769 : : {
12770 : : case CONST_INT:
12771 : : case CONST_DOUBLE:
12772 : : case CONST_VECTOR:
12773 : : case REG:
12774 : : case SUBREG:
12775 : : case MEM:
12776 : : switch (pattern479 (x2))
12777 : : {
12778 : : case 0:
12779 : : if (!(
12780 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12781 : : (TARGET_AVX512F) && (
12782 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12783 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
12784 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12785 : : #line 388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12786 : : (TARGET_AVX512FP16))))
12787 : : return -1;
12788 : : return 2706; /* *subv32hf3_mask */
12789 : :
12790 : : case 1:
12791 : : if (!(
12792 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12793 : : (TARGET_AVX512F) && (
12794 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12795 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
12796 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12797 : : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12798 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
12799 : : return -1;
12800 : : return 2714; /* *subv16hf3_mask */
12801 : :
12802 : : case 2:
12803 : : if (!(
12804 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12805 : : (TARGET_AVX512F) && (
12806 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12807 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
12808 : : && (16 == 64 || TARGET_AVX512VL) && 1) &&
12809 : : #line 390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12810 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
12811 : : return -1;
12812 : : return 2722; /* *subv8hf3_mask */
12813 : :
12814 : : case 3:
12815 : : if (!(
12816 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12817 : : (TARGET_AVX512F) && (
12818 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12819 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
12820 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12821 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12822 : : (TARGET_AVX512F))))
12823 : : return -1;
12824 : : return 2730; /* *subv16sf3_mask */
12825 : :
12826 : : case 4:
12827 : : if (!(
12828 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12829 : : (TARGET_AVX512F) && (
12830 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12831 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
12832 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12833 : : #line 391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12834 : : (TARGET_AVX))))
12835 : : return -1;
12836 : : return 2738; /* *subv8sf3_mask */
12837 : :
12838 : : case 5:
12839 : : if (!(
12840 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12841 : : (TARGET_AVX512F) &&
12842 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12843 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
12844 : : && (16 == 64 || TARGET_AVX512VL) && 1)))
12845 : : return -1;
12846 : : return 2746; /* *subv4sf3_mask */
12847 : :
12848 : : case 6:
12849 : : if (!(
12850 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12851 : : (TARGET_AVX512F) && (
12852 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12853 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
12854 : : && (64 == 64 || TARGET_AVX512VL) && 1) &&
12855 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12856 : : (TARGET_AVX512F))))
12857 : : return -1;
12858 : : return 2754; /* *subv8df3_mask */
12859 : :
12860 : : case 7:
12861 : : if (!(
12862 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12863 : : (TARGET_AVX512F) && (
12864 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12865 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
12866 : : && (32 == 64 || TARGET_AVX512VL) && 1) &&
12867 : : #line 392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12868 : : (TARGET_AVX))))
12869 : : return -1;
12870 : : return 2762; /* *subv4df3_mask */
12871 : :
12872 : : case 8:
12873 : : if (!(
12874 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12875 : : (TARGET_AVX512F) && (
12876 : : #line 2663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12877 : : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
12878 : : && (16 == 64 || TARGET_AVX512VL) && 1) &&
12879 : : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12880 : : (TARGET_SSE2))))
12881 : : return -1;
12882 : : return 2770; /* *subv2df3_mask */
12883 : :
12884 : : case 9:
12885 : : if (!
12886 : : #line 16317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12887 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V16SImode, operands)))
12888 : : return -1;
12889 : : return 7440; /* *subv16si3_mask */
12890 : :
12891 : : case 10:
12892 : : if (!(
12893 : : #line 16317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12894 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V8SImode, operands)) &&
12895 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12896 : : (TARGET_AVX512VL)))
12897 : : return -1;
12898 : : return 7442; /* *subv8si3_mask */
12899 : :
12900 : : case 11:
12901 : : if (!(
12902 : : #line 16317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12903 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V4SImode, operands)) &&
12904 : : #line 491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12905 : : (TARGET_AVX512VL)))
12906 : : return -1;
12907 : : return 7444; /* *subv4si3_mask */
12908 : :
12909 : : case 12:
12910 : : if (!
12911 : : #line 16317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12912 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V8DImode, operands)))
12913 : : return -1;
12914 : : return 7446; /* *subv8di3_mask */
12915 : :
12916 : : case 13:
12917 : : if (!(
12918 : : #line 16317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12919 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V4DImode, operands)) &&
12920 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12921 : : (TARGET_AVX512VL)))
12922 : : return -1;
12923 : : return 7448; /* *subv4di3_mask */
12924 : :
12925 : : case 14:
12926 : : if (!(
12927 : : #line 16317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12928 : : (TARGET_AVX512F && ix86_binary_operator_ok (MINUS, V2DImode, operands)) &&
12929 : : #line 492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12930 : : (TARGET_AVX512VL)))
12931 : : return -1;
12932 : : return 7450; /* *subv2di3_mask */
12933 : :
12934 : : case 15:
12935 : : if (!
12936 : : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12937 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V64QImode, operands)))
12938 : : return -1;
12939 : : return 7452; /* *subv64qi3_mask */
12940 : :
12941 : : case 16:
12942 : : if (!(
12943 : : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12944 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V16QImode, operands)) &&
12945 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12946 : : (TARGET_AVX512VL)))
12947 : : return -1;
12948 : : return 7454; /* *subv16qi3_mask */
12949 : :
12950 : : case 17:
12951 : : if (!(
12952 : : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12953 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V32QImode, operands)) &&
12954 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12955 : : (TARGET_AVX512VL)))
12956 : : return -1;
12957 : : return 7456; /* *subv32qi3_mask */
12958 : :
12959 : : case 18:
12960 : : if (!
12961 : : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12962 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V32HImode, operands)))
12963 : : return -1;
12964 : : return 7458; /* *subv32hi3_mask */
12965 : :
12966 : : case 19:
12967 : : if (!(
12968 : : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12969 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V16HImode, operands)) &&
12970 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12971 : : (TARGET_AVX512VL)))
12972 : : return -1;
12973 : : return 7460; /* *subv16hi3_mask */
12974 : :
12975 : : case 20:
12976 : : if (!(
12977 : : #line 16331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12978 : : (TARGET_AVX512BW && ix86_binary_operator_ok (MINUS, V8HImode, operands)) &&
12979 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12980 : : (TARGET_AVX512VL)))
12981 : : return -1;
12982 : : return 7462; /* *subv8hi3_mask */
12983 : :
12984 : : case 21:
12985 : : if (!(
12986 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12987 : : (TARGET_AVX512F) &&
12988 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12989 : : (TARGET_AVX10_2)))
12990 : : return -1;
12991 : : return 10579; /* avx10_2_subbf16_v32bf_mask */
12992 : :
12993 : : case 22:
12994 : : if (!(
12995 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12996 : : (TARGET_AVX512F) &&
12997 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12998 : : (TARGET_AVX10_2)))
12999 : : return -1;
13000 : : return 10587; /* avx10_2_subbf16_v16bf_mask */
13001 : :
13002 : : case 23:
13003 : : if (!(
13004 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13005 : : (TARGET_AVX512F) &&
13006 : : #line 32269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13007 : : (TARGET_AVX10_2)))
13008 : : return -1;
13009 : : return 10595; /* avx10_2_subbf16_v8bf_mask */
13010 : :
13011 : : case 24:
13012 : : if (!(
13013 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13014 : : (TARGET_SSE) &&
13015 : : #line 472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13016 : : (TARGET_AVX512FP16)))
13017 : : return -1;
13018 : : return 2782; /* avx512fp16_vmsubv8hf3 */
13019 : :
13020 : : case 25:
13021 : : if (!
13022 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13023 : : (TARGET_SSE))
13024 : : return -1;
13025 : : return 2790; /* sse_vmsubv4sf3 */
13026 : :
13027 : : case 26:
13028 : : if (!(
13029 : : #line 2712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13030 : : (TARGET_SSE) &&
13031 : : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13032 : : (TARGET_SSE2)))
13033 : : return -1;
13034 : : return 2798; /* sse2_vmsubv2df3 */
13035 : :
13036 : : default:
13037 : : return -1;
13038 : : }
13039 : :
13040 : : case PLUS:
13041 : : x7 = XEXP (x2, 2);
13042 : : if (GET_CODE (x7) != CONST_INT)
13043 : : return -1;
13044 : : x8 = XEXP (x6, 0);
13045 : : if (!rtx_equal_p (x8, operands[1]))
13046 : : return -1;
13047 : : x9 = XEXP (x6, 1);
13048 : : if (!rtx_equal_p (x9, operands[2]))
13049 : : return -1;
13050 : : switch (XWINT (x7, 0))
13051 : : {
13052 : : case 85L:
13053 : : if (pattern1105 (x2,
13054 : : E_V8SFmode) != 0
13055 : : || !(
13056 : : #line 3509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13057 : : (TARGET_SSE3) &&
13058 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13059 : : (TARGET_AVX)))
13060 : : return -1;
13061 : : return 3162; /* vec_addsubv8sf3 */
13062 : :
13063 : : case 5L:
13064 : : switch (GET_MODE (operands[0]))
13065 : : {
13066 : : case E_V4SFmode:
13067 : : if (pattern1105 (x2,
13068 : : E_V4SFmode) != 0
13069 : : || !
13070 : : #line 3509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13071 : : (TARGET_SSE3))
13072 : : return -1;
13073 : : return 3163; /* vec_addsubv4sf3 */
13074 : :
13075 : : case E_V4DFmode:
13076 : : if (pattern1105 (x2,
13077 : : E_V4DFmode) != 0
13078 : : || !(
13079 : : #line 3509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13080 : : (TARGET_SSE3) &&
13081 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13082 : : (TARGET_AVX)))
13083 : : return -1;
13084 : : return 3164; /* vec_addsubv4df3 */
13085 : :
13086 : : default:
13087 : : return -1;
13088 : : }
13089 : :
13090 : : case 1L:
13091 : : if (pattern1105 (x2,
13092 : : E_V2DFmode) != 0
13093 : : || !(
13094 : : #line 3509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13095 : : (TARGET_SSE3) &&
13096 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13097 : : (TARGET_SSE2)))
13098 : : return -1;
13099 : : return 3165; /* vec_addsubv2df3 */
13100 : :
13101 : : default:
13102 : : return -1;
13103 : : }
13104 : :
13105 : : default:
13106 : : return -1;
13107 : : }
13108 : : }
13109 : :
13110 : : int
13111 : : recog_205 (rtx x1 ATTRIBUTE_UNUSED,
13112 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13113 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13114 : : {
13115 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13116 : : rtx x2;
13117 : : int res ATTRIBUTE_UNUSED;
13118 : : x2 = XEXP (x1, 1);
13119 : : switch (pattern137 (x2))
13120 : : {
13121 : : case 0:
13122 : : if (!(
13123 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13124 : : (TARGET_AVX512F) && (
13125 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13126 : : (TARGET_AVX512FP16) &&
13127 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13128 : : (TARGET_AVX512VL))))
13129 : : return -1;
13130 : : return 4570; /* avx512fp16_fix_truncv8hi2_mask */
13131 : :
13132 : : case 1:
13133 : : if (!(
13134 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13135 : : (TARGET_AVX512F) && (
13136 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13137 : : (TARGET_AVX512FP16) &&
13138 : : #line 667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13139 : : (TARGET_AVX512VL))))
13140 : : return -1;
13141 : : return 4578; /* avx512fp16_fix_truncv16hi2_mask */
13142 : :
13143 : : case 2:
13144 : : if (!(
13145 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13146 : : (TARGET_AVX512F) &&
13147 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13148 : : (TARGET_AVX512FP16)))
13149 : : return -1;
13150 : : return 4586; /* avx512fp16_fix_truncv32hi2_mask */
13151 : :
13152 : : case 3:
13153 : : switch (GET_MODE (operands[1]))
13154 : : {
13155 : : case E_V8HFmode:
13156 : : if (!vector_operand (operands[1], E_V8HFmode)
13157 : : || !(
13158 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13159 : : (TARGET_AVX512F) && (
13160 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13161 : : (TARGET_AVX512FP16) &&
13162 : : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13163 : : (TARGET_AVX512VL))))
13164 : : return -1;
13165 : : return 4594; /* avx512fp16_fix_truncv8si2_mask */
13166 : :
13167 : : case E_V8SFmode:
13168 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13169 : : || !(
13170 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13171 : : (TARGET_AVX512F) &&
13172 : : #line 8833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13173 : : (TARGET_AVX && TARGET_AVX512VL)))
13174 : : return -1;
13175 : : return 4845; /* fix_truncv8sfv8si2_mask */
13176 : :
13177 : : case E_V8DFmode:
13178 : : if (!vector_operand (operands[1], E_V8DFmode)
13179 : : || !
13180 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13181 : : (TARGET_AVX512F))
13182 : : return -1;
13183 : : return 4985; /* fix_truncv8dfv8si2_mask */
13184 : :
13185 : : default:
13186 : : return -1;
13187 : : }
13188 : :
13189 : : case 4:
13190 : : if (!(
13191 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13192 : : (TARGET_AVX512F) &&
13193 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13194 : : (TARGET_AVX512FP16)))
13195 : : return -1;
13196 : : return 4602; /* avx512fp16_fix_truncv16si2_mask */
13197 : :
13198 : : case 5:
13199 : : if (!
13200 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13201 : : (TARGET_AVX512F))
13202 : : return -1;
13203 : : return 4836; /* fix_truncv16sfv16si2_mask */
13204 : :
13205 : : case 6:
13206 : : if (!(
13207 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13208 : : (TARGET_AVX512F) &&
13209 : : #line 7919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13210 : : (TARGET_AVX512FP16)))
13211 : : return -1;
13212 : : return 4610; /* avx512fp16_fix_truncv8di2_mask */
13213 : :
13214 : : case 7:
13215 : : if (!(
13216 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13217 : : (TARGET_AVX512F) &&
13218 : : #line 9736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13219 : : (TARGET_AVX512DQ && 1)))
13220 : : return -1;
13221 : : return 5022; /* fix_truncv8dfv8di2_mask */
13222 : :
13223 : : case 8:
13224 : : if (!(
13225 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13226 : : (TARGET_AVX512F) &&
13227 : : #line 9779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13228 : : (TARGET_AVX512DQ && 1)))
13229 : : return -1;
13230 : : return 5066; /* fix_truncv8sfv8di2_mask */
13231 : :
13232 : : case 9:
13233 : : switch (GET_MODE (operands[1]))
13234 : : {
13235 : : case E_V4HFmode:
13236 : : if (!memory_operand (operands[1], E_V4HFmode)
13237 : : || !(
13238 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13239 : : (TARGET_AVX512F) &&
13240 : : #line 7969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13241 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13242 : : return -1;
13243 : : return 4633; /* *avx512fp16_fix_truncv4si2_load_mask */
13244 : :
13245 : : case E_V4SFmode:
13246 : : if (!vector_operand (operands[1], E_V4SFmode)
13247 : : || !(
13248 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13249 : : (TARGET_AVX512F) &&
13250 : : #line 8863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13251 : : (TARGET_SSE2 && TARGET_AVX512VL)))
13252 : : return -1;
13253 : : return 4849; /* fix_truncv4sfv4si2_mask */
13254 : :
13255 : : case E_V4DFmode:
13256 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13257 : : || !(
13258 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13259 : : (TARGET_AVX512F) &&
13260 : : #line 9696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13261 : : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
13262 : : return -1;
13263 : : return 4999; /* fix_truncv4dfv4si2_mask */
13264 : :
13265 : : default:
13266 : : return -1;
13267 : : }
13268 : :
13269 : : case 10:
13270 : : if (!(
13271 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13272 : : (TARGET_AVX512F) &&
13273 : : #line 7969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13274 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13275 : : return -1;
13276 : : return 4637; /* *avx512fp16_fix_truncv4di2_load_mask */
13277 : :
13278 : : case 11:
13279 : : if (!(
13280 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13281 : : (TARGET_AVX512F) && (
13282 : : #line 9736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13283 : : (TARGET_AVX512DQ && 1) &&
13284 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13285 : : (TARGET_AVX512VL))))
13286 : : return -1;
13287 : : return 5029; /* fix_truncv4dfv4di2_mask */
13288 : :
13289 : : case 12:
13290 : : if (!(
13291 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13292 : : (TARGET_AVX512F) && (
13293 : : #line 9779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13294 : : (TARGET_AVX512DQ && 1) &&
13295 : : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13296 : : (TARGET_AVX512VL))))
13297 : : return -1;
13298 : : return 5073; /* fix_truncv4sfv4di2_mask */
13299 : :
13300 : : case 13:
13301 : : if (!(
13302 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13303 : : (TARGET_AVX512F) &&
13304 : : #line 8019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13305 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13306 : : return -1;
13307 : : return 4649; /* *avx512fp16_fix_truncv2di2_load_mask */
13308 : :
13309 : : case 14:
13310 : : if (!(
13311 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13312 : : (TARGET_AVX512F) && (
13313 : : #line 9736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13314 : : (TARGET_AVX512DQ && 1) &&
13315 : : #line 526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13316 : : (TARGET_AVX512VL))))
13317 : : return -1;
13318 : : return 5033; /* fix_truncv2dfv2di2_mask */
13319 : :
13320 : : case 15:
13321 : : if (!(
13322 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13323 : : (TARGET_AVX512F) &&
13324 : : #line 7959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13325 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13326 : : return -1;
13327 : : return 4625; /* avx512fp16_fix_truncv4si2_mask */
13328 : :
13329 : : case 16:
13330 : : if (!(
13331 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13332 : : (TARGET_AVX512F) &&
13333 : : #line 7959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13334 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13335 : : return -1;
13336 : : return 4629; /* avx512fp16_fix_truncv4di2_mask */
13337 : :
13338 : : case 17:
13339 : : if (!(
13340 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13341 : : (TARGET_AVX512F) &&
13342 : : #line 8009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13343 : : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13344 : : return -1;
13345 : : return 4645; /* avx512fp16_fix_truncv2di2_mask */
13346 : :
13347 : : case 18:
13348 : : if (!(
13349 : : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13350 : : (TARGET_AVX512F) &&
13351 : : #line 9802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13352 : : (TARGET_AVX512DQ && TARGET_AVX512VL)))
13353 : : return -1;
13354 : : return 5081; /* avx512dq_fix_truncv2sfv2di2_mask */
13355 : :
13356 : : default:
13357 : : return -1;
13358 : : }
13359 : : }
13360 : :
13361 : : int
13362 : : recog_216 (rtx x1 ATTRIBUTE_UNUSED,
13363 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13364 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13365 : : {
13366 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13367 : : rtx x2, x3;
13368 : : int res ATTRIBUTE_UNUSED;
13369 : : x2 = XEXP (x1, 1);
13370 : : x3 = XVECEXP (x2, 0, 0);
13371 : : operands[1] = x3;
13372 : : switch (GET_MODE (operands[0]))
13373 : : {
13374 : : case E_V8SFmode:
13375 : : if (!register_operand (operands[0], E_V8SFmode)
13376 : : || GET_MODE (x2) != E_V8SFmode
13377 : : || !vector_operand (operands[1], E_V8SFmode)
13378 : : || !(
13379 : : #line 3137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13380 : : (TARGET_SSE) &&
13381 : : #line 439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13382 : : (TARGET_AVX)))
13383 : : return -1;
13384 : : return 2969; /* avx_rsqrtv8sf2 */
13385 : :
13386 : : case E_V4SFmode:
13387 : : if (!register_operand (operands[0], E_V4SFmode)
13388 : : || GET_MODE (x2) != E_V4SFmode
13389 : : || !vector_operand (operands[1], E_V4SFmode)
13390 : : || !
13391 : : #line 3137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13392 : : (TARGET_SSE))
13393 : : return -1;
13394 : : return 2970; /* sse_rsqrtv4sf2 */
13395 : :
13396 : : case E_V32HFmode:
13397 : : if (!register_operand (operands[0], E_V32HFmode)
13398 : : || GET_MODE (x2) != E_V32HFmode
13399 : : || !vector_operand (operands[1], E_V32HFmode)
13400 : : || !
13401 : : #line 3149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13402 : : (TARGET_AVX512FP16))
13403 : : return -1;
13404 : : return 2971; /* avx512fp16_rsqrtv32hf2 */
13405 : :
13406 : : case E_V16HFmode:
13407 : : if (!register_operand (operands[0], E_V16HFmode)
13408 : : || GET_MODE (x2) != E_V16HFmode
13409 : : || !vector_operand (operands[1], E_V16HFmode)
13410 : : || !(
13411 : : #line 3149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13412 : : (TARGET_AVX512FP16) &&
13413 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13414 : : (TARGET_AVX512VL)))
13415 : : return -1;
13416 : : return 2973; /* avx512fp16_rsqrtv16hf2 */
13417 : :
13418 : : case E_V8HFmode:
13419 : : if (!register_operand (operands[0], E_V8HFmode)
13420 : : || GET_MODE (x2) != E_V8HFmode
13421 : : || !vector_operand (operands[1], E_V8HFmode)
13422 : : || !(
13423 : : #line 3149 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13424 : : (TARGET_AVX512FP16) &&
13425 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13426 : : (TARGET_AVX512VL)))
13427 : : return -1;
13428 : : return 2975; /* avx512fp16_rsqrtv8hf2 */
13429 : :
13430 : : case E_V32BFmode:
13431 : : if (!register_operand (operands[0], E_V32BFmode)
13432 : : || GET_MODE (x2) != E_V32BFmode
13433 : : || !nonimmediate_operand (operands[1], E_V32BFmode)
13434 : : || !
13435 : : #line 32538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13436 : : (TARGET_AVX10_2))
13437 : : return -1;
13438 : : return 10648; /* avx10_2_rsqrtbf16_v32bf */
13439 : :
13440 : : case E_V16BFmode:
13441 : : if (!register_operand (operands[0], E_V16BFmode)
13442 : : || GET_MODE (x2) != E_V16BFmode
13443 : : || !nonimmediate_operand (operands[1], E_V16BFmode)
13444 : : || !
13445 : : #line 32538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13446 : : (TARGET_AVX10_2))
13447 : : return -1;
13448 : : return 10650; /* avx10_2_rsqrtbf16_v16bf */
13449 : :
13450 : : case E_V8BFmode:
13451 : : if (!register_operand (operands[0], E_V8BFmode)
13452 : : || GET_MODE (x2) != E_V8BFmode
13453 : : || !nonimmediate_operand (operands[1], E_V8BFmode)
13454 : : || !
13455 : : #line 32538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13456 : : (TARGET_AVX10_2))
13457 : : return -1;
13458 : : return 10652; /* avx10_2_rsqrtbf16_v8bf */
13459 : :
13460 : : default:
13461 : : return -1;
13462 : : }
13463 : : }
13464 : :
13465 : : int
13466 : : recog_221 (rtx x1 ATTRIBUTE_UNUSED,
13467 : : rtx_insn *insn ATTRIBUTE_UNUSED,
13468 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
13469 : : {
13470 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13471 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13472 : : int res ATTRIBUTE_UNUSED;
13473 : : x2 = XEXP (x1, 1);
13474 : : x3 = XVECEXP (x2, 0, 1);
13475 : : if (!const_4_or_8_to_11_operand (x3, E_SImode))
13476 : : return -1;
13477 : : x4 = XVECEXP (x2, 0, 0);
13478 : : x5 = XEXP (x4, 0);
13479 : : x6 = XVECEXP (x5, 0, 2);
13480 : : switch (GET_CODE (x6))
13481 : : {
13482 : : case REG:
13483 : : case SUBREG:
13484 : : case MEM:
13485 : : operands[3] = x6;
13486 : : x7 = XEXP (x4, 1);
13487 : : switch (GET_CODE (x7))
13488 : : {
13489 : : case CONST_INT:
13490 : : case CONST_DOUBLE:
13491 : : case CONST_VECTOR:
13492 : : operands[4] = x7;
13493 : : x8 = XEXP (x4, 2);
13494 : : operands[5] = x8;
13495 : : operands[6] = x3;
13496 : : switch (GET_MODE (operands[0]))
13497 : : {
13498 : : case E_V32HFmode:
13499 : : if (pattern1639 (x2,
13500 : : E_SImode,
13501 : : E_V32HFmode) != 0
13502 : : || !(
13503 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13504 : : (TARGET_AVX512F) && (
13505 : : #line 6475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13506 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13507 : : || V32HFmode == V8DFmode
13508 : : || V32HFmode == V8DImode
13509 : : || V32HFmode == V16SImode
13510 : : || V32HFmode == V32HFmode)) &&
13511 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13512 : : (TARGET_AVX512FP16))))
13513 : : return -1;
13514 : : return 4053; /* fma_fmaddsub_v32hf_maskz_1_round */
13515 : :
13516 : : case E_V16SFmode:
13517 : : if (pattern1639 (x2,
13518 : : E_HImode,
13519 : : E_V16SFmode) != 0
13520 : : || !(
13521 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13522 : : (TARGET_AVX512F) &&
13523 : : #line 6475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13524 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13525 : : || V16SFmode == V8DFmode
13526 : : || V16SFmode == V8DImode
13527 : : || V16SFmode == V16SImode
13528 : : || V16SFmode == V32HFmode))))
13529 : : return -1;
13530 : : return 4061; /* fma_fmaddsub_v16sf_maskz_1_round */
13531 : :
13532 : : case E_V8DFmode:
13533 : : if (pattern1639 (x2,
13534 : : E_QImode,
13535 : : E_V8DFmode) != 0
13536 : : || !(
13537 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13538 : : (TARGET_AVX512F) &&
13539 : : #line 6475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13540 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13541 : : || V8DFmode == V8DFmode
13542 : : || V8DFmode == V8DImode
13543 : : || V8DFmode == V16SImode
13544 : : || V8DFmode == V32HFmode))))
13545 : : return -1;
13546 : : return 4069; /* fma_fmaddsub_v8df_maskz_1_round */
13547 : :
13548 : : default:
13549 : : return -1;
13550 : : }
13551 : :
13552 : : case REG:
13553 : : case SUBREG:
13554 : : case MEM:
13555 : : x8 = XEXP (x4, 2);
13556 : : operands[4] = x8;
13557 : : operands[5] = x3;
13558 : : switch (GET_MODE (operands[0]))
13559 : : {
13560 : : case E_V32HFmode:
13561 : : if (pattern1574 (x2,
13562 : : E_V32HFmode,
13563 : : E_SImode) != 0)
13564 : : return -1;
13565 : : if (register_operand (operands[1], E_V32HFmode)
13566 : : && register_operand (operands[3], E_V32HFmode)
13567 : : && rtx_equal_p (x7, operands[1])
13568 : : && (
13569 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13570 : : (TARGET_AVX512F) && (
13571 : : #line 6494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13572 : : (TARGET_AVX512F) &&
13573 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13574 : : (TARGET_AVX512FP16))))
13575 : : return 4075; /* avx512bw_fmaddsub_v32hf_mask_round */
13576 : : if (!nonimmediate_operand (operands[1], E_V32HFmode)
13577 : : || !nonimmediate_operand (operands[3], E_V32HFmode)
13578 : : || !rtx_equal_p (x7, operands[3])
13579 : : || !(
13580 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13581 : : (TARGET_AVX512F) && (
13582 : : #line 6512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13583 : : (TARGET_AVX512F) &&
13584 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13585 : : (TARGET_AVX512FP16))))
13586 : : return -1;
13587 : : return 4093; /* avx512bw_fmaddsub_v32hf_mask3_round */
13588 : :
13589 : : case E_V16HFmode:
13590 : : if (pattern1574 (x2,
13591 : : E_V16HFmode,
13592 : : E_HImode) != 0)
13593 : : return -1;
13594 : : if (register_operand (operands[1], E_V16HFmode)
13595 : : && register_operand (operands[3], E_V16HFmode)
13596 : : && rtx_equal_p (x7, operands[1])
13597 : : && (
13598 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13599 : : (TARGET_AVX512F) && (
13600 : : #line 6494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13601 : : (TARGET_AVX512F) &&
13602 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13603 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13604 : : return 4077; /* avx512vl_fmaddsub_v16hf_mask_round */
13605 : : if (!nonimmediate_operand (operands[1], E_V16HFmode)
13606 : : || !nonimmediate_operand (operands[3], E_V16HFmode)
13607 : : || !rtx_equal_p (x7, operands[3])
13608 : : || !(
13609 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13610 : : (TARGET_AVX512F) && (
13611 : : #line 6512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13612 : : (TARGET_AVX512F) &&
13613 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13614 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13615 : : return -1;
13616 : : return 4095; /* avx512vl_fmaddsub_v16hf_mask3_round */
13617 : :
13618 : : case E_V8HFmode:
13619 : : if (pattern1574 (x2,
13620 : : E_V8HFmode,
13621 : : E_QImode) != 0)
13622 : : return -1;
13623 : : if (register_operand (operands[1], E_V8HFmode)
13624 : : && register_operand (operands[3], E_V8HFmode)
13625 : : && rtx_equal_p (x7, operands[1])
13626 : : && (
13627 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13628 : : (TARGET_AVX512F) && (
13629 : : #line 6494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13630 : : (TARGET_AVX512F) &&
13631 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13632 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13633 : : return 4079; /* avx512fp16_fmaddsub_v8hf_mask_round */
13634 : : if (!nonimmediate_operand (operands[1], E_V8HFmode)
13635 : : || !nonimmediate_operand (operands[3], E_V8HFmode)
13636 : : || !rtx_equal_p (x7, operands[3])
13637 : : || !(
13638 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13639 : : (TARGET_AVX512F) && (
13640 : : #line 6512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13641 : : (TARGET_AVX512F) &&
13642 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13643 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13644 : : return -1;
13645 : : return 4097; /* avx512fp16_fmaddsub_v8hf_mask3_round */
13646 : :
13647 : : case E_V16SFmode:
13648 : : if (pattern1574 (x2,
13649 : : E_V16SFmode,
13650 : : E_HImode) != 0)
13651 : : return -1;
13652 : : if (register_operand (operands[1], E_V16SFmode)
13653 : : && register_operand (operands[3], E_V16SFmode)
13654 : : && rtx_equal_p (x7, operands[1])
13655 : : &&
13656 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13657 : : (TARGET_AVX512F))
13658 : : return 4081; /* avx512f_fmaddsub_v16sf_mask_round */
13659 : : if (!nonimmediate_operand (operands[1], E_V16SFmode)
13660 : : || !nonimmediate_operand (operands[3], E_V16SFmode)
13661 : : || !rtx_equal_p (x7, operands[3])
13662 : : || !
13663 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13664 : : (TARGET_AVX512F))
13665 : : return -1;
13666 : : return 4099; /* avx512f_fmaddsub_v16sf_mask3_round */
13667 : :
13668 : : case E_V8SFmode:
13669 : : if (pattern1574 (x2,
13670 : : E_V8SFmode,
13671 : : E_QImode) != 0)
13672 : : return -1;
13673 : : if (register_operand (operands[1], E_V8SFmode)
13674 : : && register_operand (operands[3], E_V8SFmode)
13675 : : && rtx_equal_p (x7, operands[1])
13676 : : && (
13677 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13678 : : (TARGET_AVX512F) && (
13679 : : #line 6494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13680 : : (TARGET_AVX512F) &&
13681 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13682 : : (TARGET_AVX512VL))))
13683 : : return 4083; /* avx512vl_fmaddsub_v8sf_mask_round */
13684 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13685 : : || !nonimmediate_operand (operands[3], E_V8SFmode)
13686 : : || !rtx_equal_p (x7, operands[3])
13687 : : || !(
13688 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13689 : : (TARGET_AVX512F) && (
13690 : : #line 6512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13691 : : (TARGET_AVX512F) &&
13692 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13693 : : (TARGET_AVX512VL))))
13694 : : return -1;
13695 : : return 4101; /* avx512vl_fmaddsub_v8sf_mask3_round */
13696 : :
13697 : : case E_V4SFmode:
13698 : : if (pattern1574 (x2,
13699 : : E_V4SFmode,
13700 : : E_QImode) != 0)
13701 : : return -1;
13702 : : if (register_operand (operands[1], E_V4SFmode)
13703 : : && register_operand (operands[3], E_V4SFmode)
13704 : : && rtx_equal_p (x7, operands[1])
13705 : : && (
13706 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13707 : : (TARGET_AVX512F) && (
13708 : : #line 6494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13709 : : (TARGET_AVX512F) &&
13710 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13711 : : (TARGET_AVX512VL))))
13712 : : return 4085; /* avx512vl_fmaddsub_v4sf_mask_round */
13713 : : if (!nonimmediate_operand (operands[1], E_V4SFmode)
13714 : : || !nonimmediate_operand (operands[3], E_V4SFmode)
13715 : : || !rtx_equal_p (x7, operands[3])
13716 : : || !(
13717 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13718 : : (TARGET_AVX512F) && (
13719 : : #line 6512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13720 : : (TARGET_AVX512F) &&
13721 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13722 : : (TARGET_AVX512VL))))
13723 : : return -1;
13724 : : return 4103; /* avx512vl_fmaddsub_v4sf_mask3_round */
13725 : :
13726 : : case E_V8DFmode:
13727 : : if (pattern1574 (x2,
13728 : : E_V8DFmode,
13729 : : E_QImode) != 0)
13730 : : return -1;
13731 : : if (register_operand (operands[1], E_V8DFmode)
13732 : : && register_operand (operands[3], E_V8DFmode)
13733 : : && rtx_equal_p (x7, operands[1])
13734 : : &&
13735 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13736 : : (TARGET_AVX512F))
13737 : : return 4087; /* avx512f_fmaddsub_v8df_mask_round */
13738 : : if (!nonimmediate_operand (operands[1], E_V8DFmode)
13739 : : || !nonimmediate_operand (operands[3], E_V8DFmode)
13740 : : || !rtx_equal_p (x7, operands[3])
13741 : : || !
13742 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13743 : : (TARGET_AVX512F))
13744 : : return -1;
13745 : : return 4105; /* avx512f_fmaddsub_v8df_mask3_round */
13746 : :
13747 : : case E_V4DFmode:
13748 : : if (pattern1574 (x2,
13749 : : E_V4DFmode,
13750 : : E_QImode) != 0)
13751 : : return -1;
13752 : : if (register_operand (operands[1], E_V4DFmode)
13753 : : && register_operand (operands[3], E_V4DFmode)
13754 : : && rtx_equal_p (x7, operands[1])
13755 : : && (
13756 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13757 : : (TARGET_AVX512F) && (
13758 : : #line 6494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13759 : : (TARGET_AVX512F) &&
13760 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13761 : : (TARGET_AVX512VL))))
13762 : : return 4089; /* avx512vl_fmaddsub_v4df_mask_round */
13763 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13764 : : || !nonimmediate_operand (operands[3], E_V4DFmode)
13765 : : || !rtx_equal_p (x7, operands[3])
13766 : : || !(
13767 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13768 : : (TARGET_AVX512F) && (
13769 : : #line 6512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13770 : : (TARGET_AVX512F) &&
13771 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13772 : : (TARGET_AVX512VL))))
13773 : : return -1;
13774 : : return 4107; /* avx512vl_fmaddsub_v4df_mask3_round */
13775 : :
13776 : : case E_V2DFmode:
13777 : : if (pattern1574 (x2,
13778 : : E_V2DFmode,
13779 : : E_QImode) != 0)
13780 : : return -1;
13781 : : if (register_operand (operands[1], E_V2DFmode)
13782 : : && register_operand (operands[3], E_V2DFmode)
13783 : : && rtx_equal_p (x7, operands[1])
13784 : : && (
13785 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13786 : : (TARGET_AVX512F) && (
13787 : : #line 6494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13788 : : (TARGET_AVX512F) &&
13789 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13790 : : (TARGET_AVX512VL))))
13791 : : return 4091; /* avx512vl_fmaddsub_v2df_mask_round */
13792 : : if (!nonimmediate_operand (operands[1], E_V2DFmode)
13793 : : || !nonimmediate_operand (operands[3], E_V2DFmode)
13794 : : || !rtx_equal_p (x7, operands[3])
13795 : : || !(
13796 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13797 : : (TARGET_AVX512F) && (
13798 : : #line 6512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13799 : : (TARGET_AVX512F) &&
13800 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13801 : : (TARGET_AVX512VL))))
13802 : : return -1;
13803 : : return 4109; /* avx512vl_fmaddsub_v2df_mask3_round */
13804 : :
13805 : : default:
13806 : : return -1;
13807 : : }
13808 : :
13809 : : default:
13810 : : return -1;
13811 : : }
13812 : :
13813 : : case NEG:
13814 : : x9 = XEXP (x6, 0);
13815 : : operands[3] = x9;
13816 : : x7 = XEXP (x4, 1);
13817 : : switch (GET_CODE (x7))
13818 : : {
13819 : : case CONST_INT:
13820 : : case CONST_DOUBLE:
13821 : : case CONST_VECTOR:
13822 : : operands[4] = x7;
13823 : : x8 = XEXP (x4, 2);
13824 : : operands[5] = x8;
13825 : : operands[6] = x3;
13826 : : switch (GET_MODE (operands[0]))
13827 : : {
13828 : : case E_V32HFmode:
13829 : : if (pattern1640 (x2,
13830 : : E_SImode,
13831 : : E_V32HFmode) != 0
13832 : : || !(
13833 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13834 : : (TARGET_AVX512F) && (
13835 : : #line 6545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13836 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13837 : : || V32HFmode == V8DFmode
13838 : : || V32HFmode == V8DImode
13839 : : || V32HFmode == V16SImode
13840 : : || V32HFmode == V32HFmode)) &&
13841 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13842 : : (TARGET_AVX512FP16))))
13843 : : return -1;
13844 : : return 4117; /* fma_fmsubadd_v32hf_maskz_1_round */
13845 : :
13846 : : case E_V16SFmode:
13847 : : if (pattern1640 (x2,
13848 : : E_HImode,
13849 : : E_V16SFmode) != 0
13850 : : || !(
13851 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13852 : : (TARGET_AVX512F) &&
13853 : : #line 6545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13854 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13855 : : || V16SFmode == V8DFmode
13856 : : || V16SFmode == V8DImode
13857 : : || V16SFmode == V16SImode
13858 : : || V16SFmode == V32HFmode))))
13859 : : return -1;
13860 : : return 4125; /* fma_fmsubadd_v16sf_maskz_1_round */
13861 : :
13862 : : case E_V8DFmode:
13863 : : if (pattern1640 (x2,
13864 : : E_QImode,
13865 : : E_V8DFmode) != 0
13866 : : || !(
13867 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13868 : : (TARGET_AVX512F) &&
13869 : : #line 6545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13870 : : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13871 : : || V8DFmode == V8DFmode
13872 : : || V8DFmode == V8DImode
13873 : : || V8DFmode == V16SImode
13874 : : || V8DFmode == V32HFmode))))
13875 : : return -1;
13876 : : return 4133; /* fma_fmsubadd_v8df_maskz_1_round */
13877 : :
13878 : : default:
13879 : : return -1;
13880 : : }
13881 : :
13882 : : case REG:
13883 : : case SUBREG:
13884 : : case MEM:
13885 : : x8 = XEXP (x4, 2);
13886 : : operands[4] = x8;
13887 : : operands[5] = x3;
13888 : : switch (GET_MODE (operands[0]))
13889 : : {
13890 : : case E_V32HFmode:
13891 : : if (pattern1575 (x2,
13892 : : E_V32HFmode,
13893 : : E_SImode) != 0)
13894 : : return -1;
13895 : : if (register_operand (operands[3], E_V32HFmode)
13896 : : && rtx_equal_p (x7, operands[1])
13897 : : && (
13898 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13899 : : (TARGET_AVX512F) && (
13900 : : #line 6565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13901 : : (TARGET_AVX512F) &&
13902 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13903 : : (TARGET_AVX512FP16))))
13904 : : return 4139; /* avx512bw_fmsubadd_v32hf_mask_round */
13905 : : if (!nonimmediate_operand (operands[3], E_V32HFmode)
13906 : : || !rtx_equal_p (x7, operands[3])
13907 : : || !(
13908 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13909 : : (TARGET_AVX512F) && (
13910 : : #line 6584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13911 : : (TARGET_AVX512F) &&
13912 : : #line 509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13913 : : (TARGET_AVX512FP16))))
13914 : : return -1;
13915 : : return 4157; /* avx512bw_fmsubadd_v32hf_mask3_round */
13916 : :
13917 : : case E_V16HFmode:
13918 : : if (pattern1575 (x2,
13919 : : E_V16HFmode,
13920 : : E_HImode) != 0)
13921 : : return -1;
13922 : : if (register_operand (operands[3], E_V16HFmode)
13923 : : && rtx_equal_p (x7, operands[1])
13924 : : && (
13925 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13926 : : (TARGET_AVX512F) && (
13927 : : #line 6565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13928 : : (TARGET_AVX512F) &&
13929 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13930 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13931 : : return 4141; /* avx512vl_fmsubadd_v16hf_mask_round */
13932 : : if (!nonimmediate_operand (operands[3], E_V16HFmode)
13933 : : || !rtx_equal_p (x7, operands[3])
13934 : : || !(
13935 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13936 : : (TARGET_AVX512F) && (
13937 : : #line 6584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13938 : : (TARGET_AVX512F) &&
13939 : : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13940 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13941 : : return -1;
13942 : : return 4159; /* avx512vl_fmsubadd_v16hf_mask3_round */
13943 : :
13944 : : case E_V8HFmode:
13945 : : if (pattern1575 (x2,
13946 : : E_V8HFmode,
13947 : : E_QImode) != 0)
13948 : : return -1;
13949 : : if (register_operand (operands[3], E_V8HFmode)
13950 : : && rtx_equal_p (x7, operands[1])
13951 : : && (
13952 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13953 : : (TARGET_AVX512F) && (
13954 : : #line 6565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13955 : : (TARGET_AVX512F) &&
13956 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13957 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13958 : : return 4143; /* avx512fp16_fmsubadd_v8hf_mask_round */
13959 : : if (!nonimmediate_operand (operands[3], E_V8HFmode)
13960 : : || !rtx_equal_p (x7, operands[3])
13961 : : || !(
13962 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13963 : : (TARGET_AVX512F) && (
13964 : : #line 6584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13965 : : (TARGET_AVX512F) &&
13966 : : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13967 : : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13968 : : return -1;
13969 : : return 4161; /* avx512fp16_fmsubadd_v8hf_mask3_round */
13970 : :
13971 : : case E_V16SFmode:
13972 : : if (pattern1575 (x2,
13973 : : E_V16SFmode,
13974 : : E_HImode) != 0)
13975 : : return -1;
13976 : : if (register_operand (operands[3], E_V16SFmode)
13977 : : && rtx_equal_p (x7, operands[1])
13978 : : &&
13979 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13980 : : (TARGET_AVX512F))
13981 : : return 4145; /* avx512f_fmsubadd_v16sf_mask_round */
13982 : : if (!nonimmediate_operand (operands[3], E_V16SFmode)
13983 : : || !rtx_equal_p (x7, operands[3])
13984 : : || !
13985 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13986 : : (TARGET_AVX512F))
13987 : : return -1;
13988 : : return 4163; /* avx512f_fmsubadd_v16sf_mask3_round */
13989 : :
13990 : : case E_V8SFmode:
13991 : : if (pattern1575 (x2,
13992 : : E_V8SFmode,
13993 : : E_QImode) != 0)
13994 : : return -1;
13995 : : if (register_operand (operands[3], E_V8SFmode)
13996 : : && rtx_equal_p (x7, operands[1])
13997 : : && (
13998 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13999 : : (TARGET_AVX512F) && (
14000 : : #line 6565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14001 : : (TARGET_AVX512F) &&
14002 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14003 : : (TARGET_AVX512VL))))
14004 : : return 4147; /* avx512vl_fmsubadd_v8sf_mask_round */
14005 : : if (!nonimmediate_operand (operands[3], E_V8SFmode)
14006 : : || !rtx_equal_p (x7, operands[3])
14007 : : || !(
14008 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14009 : : (TARGET_AVX512F) && (
14010 : : #line 6584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14011 : : (TARGET_AVX512F) &&
14012 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14013 : : (TARGET_AVX512VL))))
14014 : : return -1;
14015 : : return 4165; /* avx512vl_fmsubadd_v8sf_mask3_round */
14016 : :
14017 : : case E_V4SFmode:
14018 : : if (pattern1575 (x2,
14019 : : E_V4SFmode,
14020 : : E_QImode) != 0)
14021 : : return -1;
14022 : : if (register_operand (operands[3], E_V4SFmode)
14023 : : && rtx_equal_p (x7, operands[1])
14024 : : && (
14025 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14026 : : (TARGET_AVX512F) && (
14027 : : #line 6565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14028 : : (TARGET_AVX512F) &&
14029 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14030 : : (TARGET_AVX512VL))))
14031 : : return 4149; /* avx512vl_fmsubadd_v4sf_mask_round */
14032 : : if (!nonimmediate_operand (operands[3], E_V4SFmode)
14033 : : || !rtx_equal_p (x7, operands[3])
14034 : : || !(
14035 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14036 : : (TARGET_AVX512F) && (
14037 : : #line 6584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14038 : : (TARGET_AVX512F) &&
14039 : : #line 512 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14040 : : (TARGET_AVX512VL))))
14041 : : return -1;
14042 : : return 4167; /* avx512vl_fmsubadd_v4sf_mask3_round */
14043 : :
14044 : : case E_V8DFmode:
14045 : : if (pattern1575 (x2,
14046 : : E_V8DFmode,
14047 : : E_QImode) != 0)
14048 : : return -1;
14049 : : if (register_operand (operands[3], E_V8DFmode)
14050 : : && rtx_equal_p (x7, operands[1])
14051 : : &&
14052 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14053 : : (TARGET_AVX512F))
14054 : : return 4151; /* avx512f_fmsubadd_v8df_mask_round */
14055 : : if (!nonimmediate_operand (operands[3], E_V8DFmode)
14056 : : || !rtx_equal_p (x7, operands[3])
14057 : : || !
14058 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14059 : : (TARGET_AVX512F))
14060 : : return -1;
14061 : : return 4169; /* avx512f_fmsubadd_v8df_mask3_round */
14062 : :
14063 : : case E_V4DFmode:
14064 : : if (pattern1575 (x2,
14065 : : E_V4DFmode,
14066 : : E_QImode) != 0)
14067 : : return -1;
14068 : : if (register_operand (operands[3], E_V4DFmode)
14069 : : && rtx_equal_p (x7, operands[1])
14070 : : && (
14071 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14072 : : (TARGET_AVX512F) && (
14073 : : #line 6565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14074 : : (TARGET_AVX512F) &&
14075 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14076 : : (TARGET_AVX512VL))))
14077 : : return 4153; /* avx512vl_fmsubadd_v4df_mask_round */
14078 : : if (!nonimmediate_operand (operands[3], E_V4DFmode)
14079 : : || !rtx_equal_p (x7, operands[3])
14080 : : || !(
14081 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14082 : : (TARGET_AVX512F) && (
14083 : : #line 6584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14084 : : (TARGET_AVX512F) &&
14085 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14086 : : (TARGET_AVX512VL))))
14087 : : return -1;
14088 : : return 4171; /* avx512vl_fmsubadd_v4df_mask3_round */
14089 : :
14090 : : case E_V2DFmode:
14091 : : if (pattern1575 (x2,
14092 : : E_V2DFmode,
14093 : : E_QImode) != 0)
14094 : : return -1;
14095 : : if (register_operand (operands[3], E_V2DFmode)
14096 : : && rtx_equal_p (x7, operands[1])
14097 : : && (
14098 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14099 : : (TARGET_AVX512F) && (
14100 : : #line 6565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14101 : : (TARGET_AVX512F) &&
14102 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14103 : : (TARGET_AVX512VL))))
14104 : : return 4155; /* avx512vl_fmsubadd_v2df_mask_round */
14105 : : if (!nonimmediate_operand (operands[3], E_V2DFmode)
14106 : : || !rtx_equal_p (x7, operands[3])
14107 : : || !(
14108 : : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14109 : : (TARGET_AVX512F) && (
14110 : : #line 6584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14111 : : (TARGET_AVX512F) &&
14112 : : #line 513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14113 : : (TARGET_AVX512VL))))
14114 : : return -1;
14115 : : return 4173; /* avx512vl_fmsubadd_v2df_mask3_round */
14116 : :
14117 : : default:
14118 : : return -1;
14119 : : }
14120 : :
14121 : : default:
14122 : : return -1;
14123 : : }
14124 : :
14125 : : default:
14126 : : return -1;
14127 : : }
14128 : : }
14129 : :
14130 : : int
14131 : : recog_234 (rtx x1 ATTRIBUTE_UNUSED,
14132 : : rtx_insn *insn ATTRIBUTE_UNUSED,
14133 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
14134 : : {
14135 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14136 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14137 : : rtx x10;
14138 : : int res ATTRIBUTE_UNUSED;
14139 : : if (pnum_clobbers == NULL)
14140 : : return -1;
14141 : : x2 = XEXP (x1, 0);
14142 : : if (GET_CODE (x2) != MEM)
14143 : : return -1;
14144 : : operands[5] = x2;
14145 : : x3 = XEXP (x2, 0);
14146 : : if (GET_CODE (x3) != UNSPEC
14147 : : || XVECLEN (x3, 0) != 4
14148 : : || XINT (x3, 1) != 155)
14149 : : return -1;
14150 : : x4 = XVECEXP (x3, 0, 0);
14151 : : operands[0] = x4;
14152 : : x5 = XVECEXP (x3, 0, 1);
14153 : : operands[2] = x5;
14154 : : x6 = XVECEXP (x3, 0, 2);
14155 : : operands[4] = x6;
14156 : : if (!const1248_operand (operands[4], E_SImode))
14157 : : return -1;
14158 : : x7 = XVECEXP (x3, 0, 3);
14159 : : operands[6] = x7;
14160 : : x8 = XEXP (x1, 1);
14161 : : x9 = XVECEXP (x8, 0, 1);
14162 : : operands[3] = x9;
14163 : : x10 = XVECEXP (x8, 0, 0);
14164 : : if (!rtx_equal_p (x10, operands[6]))
14165 : : return -1;
14166 : : switch (GET_MODE (operands[5]))
14167 : : {
14168 : : case E_V16SImode:
14169 : : if (!vsib_mem_operator (operands[5], E_V16SImode)
14170 : : || GET_MODE (x8) != E_V16SImode)
14171 : : return -1;
14172 : : switch (GET_MODE (x3))
14173 : : {
14174 : : case E_SImode:
14175 : : switch (pattern1694 (
14176 : : E_SImode))
14177 : : {
14178 : : case 0:
14179 : : if (!(
14180 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14181 : : (TARGET_AVX512F) &&
14182 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14183 : : (Pmode == SImode)))
14184 : : return -1;
14185 : : *pnum_clobbers = 1;
14186 : : return 9810; /* *avx512f_scattersiv16si */
14187 : :
14188 : : case 1:
14189 : : if (!(
14190 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14191 : : (TARGET_AVX512F) &&
14192 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14193 : : (Pmode == SImode)))
14194 : : return -1;
14195 : : *pnum_clobbers = 1;
14196 : : return 9834; /* *avx512f_scatterdiv16si */
14197 : :
14198 : : default:
14199 : : return -1;
14200 : : }
14201 : :
14202 : : case E_DImode:
14203 : : switch (pattern1694 (
14204 : : E_DImode))
14205 : : {
14206 : : case 0:
14207 : : if (!(
14208 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14209 : : (TARGET_AVX512F) &&
14210 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14211 : : (Pmode == DImode)))
14212 : : return -1;
14213 : : *pnum_clobbers = 1;
14214 : : return 9822; /* *avx512f_scattersiv16si */
14215 : :
14216 : : case 1:
14217 : : if (!(
14218 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14219 : : (TARGET_AVX512F) &&
14220 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14221 : : (Pmode == DImode)))
14222 : : return -1;
14223 : : *pnum_clobbers = 1;
14224 : : return 9846; /* *avx512f_scatterdiv16si */
14225 : :
14226 : : default:
14227 : : return -1;
14228 : : }
14229 : :
14230 : : default:
14231 : : return -1;
14232 : : }
14233 : :
14234 : : case E_V16SFmode:
14235 : : if (!vsib_mem_operator (operands[5], E_V16SFmode)
14236 : : || GET_MODE (x8) != E_V16SFmode)
14237 : : return -1;
14238 : : switch (GET_MODE (x3))
14239 : : {
14240 : : case E_SImode:
14241 : : switch (pattern1695 (
14242 : : E_SImode))
14243 : : {
14244 : : case 0:
14245 : : if (!(
14246 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14247 : : (TARGET_AVX512F) &&
14248 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14249 : : (Pmode == SImode)))
14250 : : return -1;
14251 : : *pnum_clobbers = 1;
14252 : : return 9811; /* *avx512f_scattersiv16sf */
14253 : :
14254 : : case 1:
14255 : : if (!(
14256 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14257 : : (TARGET_AVX512F) &&
14258 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14259 : : (Pmode == SImode)))
14260 : : return -1;
14261 : : *pnum_clobbers = 1;
14262 : : return 9835; /* *avx512f_scatterdiv16sf */
14263 : :
14264 : : default:
14265 : : return -1;
14266 : : }
14267 : :
14268 : : case E_DImode:
14269 : : switch (pattern1695 (
14270 : : E_DImode))
14271 : : {
14272 : : case 0:
14273 : : if (!(
14274 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14275 : : (TARGET_AVX512F) &&
14276 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14277 : : (Pmode == DImode)))
14278 : : return -1;
14279 : : *pnum_clobbers = 1;
14280 : : return 9823; /* *avx512f_scattersiv16sf */
14281 : :
14282 : : case 1:
14283 : : if (!(
14284 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14285 : : (TARGET_AVX512F) &&
14286 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14287 : : (Pmode == DImode)))
14288 : : return -1;
14289 : : *pnum_clobbers = 1;
14290 : : return 9847; /* *avx512f_scatterdiv16sf */
14291 : :
14292 : : default:
14293 : : return -1;
14294 : : }
14295 : :
14296 : : default:
14297 : : return -1;
14298 : : }
14299 : :
14300 : : case E_V8DImode:
14301 : : switch (pattern1591 (x1,
14302 : : E_V8DImode))
14303 : : {
14304 : : case 0:
14305 : : if (!(
14306 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14307 : : (TARGET_AVX512F) &&
14308 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14309 : : (Pmode == SImode)))
14310 : : return -1;
14311 : : *pnum_clobbers = 1;
14312 : : return 9812; /* *avx512f_scattersiv8di */
14313 : :
14314 : : case 1:
14315 : : if (!(
14316 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14317 : : (TARGET_AVX512F) &&
14318 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14319 : : (Pmode == SImode)))
14320 : : return -1;
14321 : : *pnum_clobbers = 1;
14322 : : return 9836; /* *avx512f_scatterdiv8di */
14323 : :
14324 : : case 2:
14325 : : if (!(
14326 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14327 : : (TARGET_AVX512F) &&
14328 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14329 : : (Pmode == DImode)))
14330 : : return -1;
14331 : : *pnum_clobbers = 1;
14332 : : return 9824; /* *avx512f_scattersiv8di */
14333 : :
14334 : : case 3:
14335 : : if (!(
14336 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14337 : : (TARGET_AVX512F) &&
14338 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14339 : : (Pmode == DImode)))
14340 : : return -1;
14341 : : *pnum_clobbers = 1;
14342 : : return 9848; /* *avx512f_scatterdiv8di */
14343 : :
14344 : : default:
14345 : : return -1;
14346 : : }
14347 : :
14348 : : case E_V8DFmode:
14349 : : switch (pattern1591 (x1,
14350 : : E_V8DFmode))
14351 : : {
14352 : : case 0:
14353 : : if (!(
14354 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14355 : : (TARGET_AVX512F) &&
14356 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14357 : : (Pmode == SImode)))
14358 : : return -1;
14359 : : *pnum_clobbers = 1;
14360 : : return 9813; /* *avx512f_scattersiv8df */
14361 : :
14362 : : case 1:
14363 : : if (!(
14364 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14365 : : (TARGET_AVX512F) &&
14366 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14367 : : (Pmode == SImode)))
14368 : : return -1;
14369 : : *pnum_clobbers = 1;
14370 : : return 9837; /* *avx512f_scatterdiv8df */
14371 : :
14372 : : case 2:
14373 : : if (!(
14374 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14375 : : (TARGET_AVX512F) &&
14376 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14377 : : (Pmode == DImode)))
14378 : : return -1;
14379 : : *pnum_clobbers = 1;
14380 : : return 9825; /* *avx512f_scattersiv8df */
14381 : :
14382 : : case 3:
14383 : : if (!(
14384 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14385 : : (TARGET_AVX512F) &&
14386 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14387 : : (Pmode == DImode)))
14388 : : return -1;
14389 : : *pnum_clobbers = 1;
14390 : : return 9849; /* *avx512f_scatterdiv8df */
14391 : :
14392 : : default:
14393 : : return -1;
14394 : : }
14395 : :
14396 : : case E_V8SImode:
14397 : : switch (pattern1592 (x1,
14398 : : E_V8SImode))
14399 : : {
14400 : : case 0:
14401 : : switch (pattern1731 (
14402 : : E_SImode))
14403 : : {
14404 : : case 0:
14405 : : if (!(
14406 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14407 : : (TARGET_AVX512F) && ((((
14408 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14409 : : (TARGET_AVX512VL) &&
14410 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14411 : : (Pmode == SImode)) &&
14412 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14413 : : (Pmode == SImode)) &&
14414 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14415 : : (TARGET_AVX512VL)) &&
14416 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14417 : : (TARGET_AVX512VL))))
14418 : : return -1;
14419 : : *pnum_clobbers = 1;
14420 : : return 9814; /* *avx512f_scattersiv8si */
14421 : :
14422 : : case 1:
14423 : : if (!(
14424 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14425 : : (TARGET_AVX512F) && (((
14426 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14427 : : (TARGET_AVX512VL) &&
14428 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14429 : : (Pmode == SImode)) &&
14430 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14431 : : (Pmode == SImode)) &&
14432 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14433 : : (TARGET_AVX512VL))))
14434 : : return -1;
14435 : : *pnum_clobbers = 1;
14436 : : return 9838; /* *avx512f_scatterdiv8si */
14437 : :
14438 : : default:
14439 : : return -1;
14440 : : }
14441 : :
14442 : : case 1:
14443 : : switch (pattern1731 (
14444 : : E_DImode))
14445 : : {
14446 : : case 0:
14447 : : if (!(
14448 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14449 : : (TARGET_AVX512F) && ((((
14450 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14451 : : (TARGET_AVX512VL) &&
14452 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14453 : : (Pmode == DImode)) &&
14454 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14455 : : (Pmode == DImode)) &&
14456 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14457 : : (TARGET_AVX512VL)) &&
14458 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14459 : : (TARGET_AVX512VL))))
14460 : : return -1;
14461 : : *pnum_clobbers = 1;
14462 : : return 9826; /* *avx512f_scattersiv8si */
14463 : :
14464 : : case 1:
14465 : : if (!(
14466 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14467 : : (TARGET_AVX512F) && (((
14468 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14469 : : (TARGET_AVX512VL) &&
14470 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14471 : : (Pmode == DImode)) &&
14472 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14473 : : (Pmode == DImode)) &&
14474 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14475 : : (TARGET_AVX512VL))))
14476 : : return -1;
14477 : : *pnum_clobbers = 1;
14478 : : return 9850; /* *avx512f_scatterdiv8si */
14479 : :
14480 : : default:
14481 : : return -1;
14482 : : }
14483 : :
14484 : : default:
14485 : : return -1;
14486 : : }
14487 : :
14488 : : case E_V8SFmode:
14489 : : switch (pattern1592 (x1,
14490 : : E_V8SFmode))
14491 : : {
14492 : : case 0:
14493 : : switch (pattern1732 (
14494 : : E_SImode))
14495 : : {
14496 : : case 0:
14497 : : if (!(
14498 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14499 : : (TARGET_AVX512F) && ((((
14500 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14501 : : (TARGET_AVX512VL) &&
14502 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14503 : : (Pmode == SImode)) &&
14504 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14505 : : (Pmode == SImode)) &&
14506 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14507 : : (TARGET_AVX512VL)) &&
14508 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14509 : : (TARGET_AVX512VL))))
14510 : : return -1;
14511 : : *pnum_clobbers = 1;
14512 : : return 9815; /* *avx512f_scattersiv8sf */
14513 : :
14514 : : case 1:
14515 : : if (!(
14516 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14517 : : (TARGET_AVX512F) && (((
14518 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14519 : : (TARGET_AVX512VL) &&
14520 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14521 : : (Pmode == SImode)) &&
14522 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14523 : : (Pmode == SImode)) &&
14524 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14525 : : (TARGET_AVX512VL))))
14526 : : return -1;
14527 : : *pnum_clobbers = 1;
14528 : : return 9839; /* *avx512f_scatterdiv8sf */
14529 : :
14530 : : default:
14531 : : return -1;
14532 : : }
14533 : :
14534 : : case 1:
14535 : : switch (pattern1732 (
14536 : : E_DImode))
14537 : : {
14538 : : case 0:
14539 : : if (!(
14540 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14541 : : (TARGET_AVX512F) && ((((
14542 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14543 : : (TARGET_AVX512VL) &&
14544 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14545 : : (Pmode == DImode)) &&
14546 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14547 : : (Pmode == DImode)) &&
14548 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14549 : : (TARGET_AVX512VL)) &&
14550 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14551 : : (TARGET_AVX512VL))))
14552 : : return -1;
14553 : : *pnum_clobbers = 1;
14554 : : return 9827; /* *avx512f_scattersiv8sf */
14555 : :
14556 : : case 1:
14557 : : if (!(
14558 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14559 : : (TARGET_AVX512F) && (((
14560 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14561 : : (TARGET_AVX512VL) &&
14562 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14563 : : (Pmode == DImode)) &&
14564 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14565 : : (Pmode == DImode)) &&
14566 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14567 : : (TARGET_AVX512VL))))
14568 : : return -1;
14569 : : *pnum_clobbers = 1;
14570 : : return 9851; /* *avx512f_scatterdiv8sf */
14571 : :
14572 : : default:
14573 : : return -1;
14574 : : }
14575 : :
14576 : : default:
14577 : : return -1;
14578 : : }
14579 : :
14580 : : case E_V4DImode:
14581 : : switch (pattern1594 (x1,
14582 : : E_V4DImode))
14583 : : {
14584 : : case 0:
14585 : : if (!(
14586 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14587 : : (TARGET_AVX512F) && ((((
14588 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14589 : : (TARGET_AVX512VL) &&
14590 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14591 : : (Pmode == SImode)) &&
14592 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14593 : : (Pmode == SImode)) &&
14594 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14595 : : (TARGET_AVX512VL)) &&
14596 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14597 : : (TARGET_AVX512VL))))
14598 : : return -1;
14599 : : *pnum_clobbers = 1;
14600 : : return 9816; /* *avx512f_scattersiv4di */
14601 : :
14602 : : case 1:
14603 : : if (!(
14604 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14605 : : (TARGET_AVX512F) && (((
14606 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14607 : : (TARGET_AVX512VL) &&
14608 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14609 : : (Pmode == SImode)) &&
14610 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14611 : : (Pmode == SImode)) &&
14612 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14613 : : (TARGET_AVX512VL))))
14614 : : return -1;
14615 : : *pnum_clobbers = 1;
14616 : : return 9840; /* *avx512f_scatterdiv4di */
14617 : :
14618 : : case 2:
14619 : : if (!(
14620 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14621 : : (TARGET_AVX512F) && ((((
14622 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14623 : : (TARGET_AVX512VL) &&
14624 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14625 : : (Pmode == DImode)) &&
14626 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14627 : : (Pmode == DImode)) &&
14628 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14629 : : (TARGET_AVX512VL)) &&
14630 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14631 : : (TARGET_AVX512VL))))
14632 : : return -1;
14633 : : *pnum_clobbers = 1;
14634 : : return 9828; /* *avx512f_scattersiv4di */
14635 : :
14636 : : case 3:
14637 : : if (!(
14638 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14639 : : (TARGET_AVX512F) && (((
14640 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14641 : : (TARGET_AVX512VL) &&
14642 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14643 : : (Pmode == DImode)) &&
14644 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14645 : : (Pmode == DImode)) &&
14646 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14647 : : (TARGET_AVX512VL))))
14648 : : return -1;
14649 : : *pnum_clobbers = 1;
14650 : : return 9852; /* *avx512f_scatterdiv4di */
14651 : :
14652 : : default:
14653 : : return -1;
14654 : : }
14655 : :
14656 : : case E_V4DFmode:
14657 : : switch (pattern1594 (x1,
14658 : : E_V4DFmode))
14659 : : {
14660 : : case 0:
14661 : : if (!(
14662 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14663 : : (TARGET_AVX512F) && ((((
14664 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14665 : : (TARGET_AVX512VL) &&
14666 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14667 : : (Pmode == SImode)) &&
14668 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14669 : : (Pmode == SImode)) &&
14670 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14671 : : (TARGET_AVX512VL)) &&
14672 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14673 : : (TARGET_AVX512VL))))
14674 : : return -1;
14675 : : *pnum_clobbers = 1;
14676 : : return 9817; /* *avx512f_scattersiv4df */
14677 : :
14678 : : case 1:
14679 : : if (!(
14680 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14681 : : (TARGET_AVX512F) && (((
14682 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14683 : : (TARGET_AVX512VL) &&
14684 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14685 : : (Pmode == SImode)) &&
14686 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14687 : : (Pmode == SImode)) &&
14688 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14689 : : (TARGET_AVX512VL))))
14690 : : return -1;
14691 : : *pnum_clobbers = 1;
14692 : : return 9841; /* *avx512f_scatterdiv4df */
14693 : :
14694 : : case 2:
14695 : : if (!(
14696 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14697 : : (TARGET_AVX512F) && ((((
14698 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14699 : : (TARGET_AVX512VL) &&
14700 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14701 : : (Pmode == DImode)) &&
14702 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14703 : : (Pmode == DImode)) &&
14704 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14705 : : (TARGET_AVX512VL)) &&
14706 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14707 : : (TARGET_AVX512VL))))
14708 : : return -1;
14709 : : *pnum_clobbers = 1;
14710 : : return 9829; /* *avx512f_scattersiv4df */
14711 : :
14712 : : case 3:
14713 : : if (!(
14714 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14715 : : (TARGET_AVX512F) && (((
14716 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14717 : : (TARGET_AVX512VL) &&
14718 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14719 : : (Pmode == DImode)) &&
14720 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14721 : : (Pmode == DImode)) &&
14722 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14723 : : (TARGET_AVX512VL))))
14724 : : return -1;
14725 : : *pnum_clobbers = 1;
14726 : : return 9853; /* *avx512f_scatterdiv4df */
14727 : :
14728 : : default:
14729 : : return -1;
14730 : : }
14731 : :
14732 : : case E_V4SImode:
14733 : : switch (pattern1596 (x1,
14734 : : E_V4SImode))
14735 : : {
14736 : : case 0:
14737 : : if (!(
14738 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14739 : : (TARGET_AVX512F) && ((((
14740 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14741 : : (TARGET_AVX512VL) &&
14742 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14743 : : (Pmode == SImode)) &&
14744 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14745 : : (Pmode == SImode)) &&
14746 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14747 : : (TARGET_AVX512VL)) &&
14748 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14749 : : (TARGET_AVX512VL))))
14750 : : return -1;
14751 : : *pnum_clobbers = 1;
14752 : : return 9818; /* *avx512f_scattersiv4si */
14753 : :
14754 : : case 1:
14755 : : if (!(
14756 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14757 : : (TARGET_AVX512F) && (((
14758 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14759 : : (TARGET_AVX512VL) &&
14760 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14761 : : (Pmode == SImode)) &&
14762 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14763 : : (Pmode == SImode)) &&
14764 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14765 : : (TARGET_AVX512VL))))
14766 : : return -1;
14767 : : *pnum_clobbers = 1;
14768 : : return 9842; /* *avx512f_scatterdiv4si */
14769 : :
14770 : : case 2:
14771 : : if (!(
14772 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14773 : : (TARGET_AVX512F) && ((((
14774 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14775 : : (TARGET_AVX512VL) &&
14776 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14777 : : (Pmode == DImode)) &&
14778 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14779 : : (Pmode == DImode)) &&
14780 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14781 : : (TARGET_AVX512VL)) &&
14782 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14783 : : (TARGET_AVX512VL))))
14784 : : return -1;
14785 : : *pnum_clobbers = 1;
14786 : : return 9830; /* *avx512f_scattersiv4si */
14787 : :
14788 : : case 3:
14789 : : if (!(
14790 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14791 : : (TARGET_AVX512F) && (((
14792 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14793 : : (TARGET_AVX512VL) &&
14794 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14795 : : (Pmode == DImode)) &&
14796 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14797 : : (Pmode == DImode)) &&
14798 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14799 : : (TARGET_AVX512VL))))
14800 : : return -1;
14801 : : *pnum_clobbers = 1;
14802 : : return 9854; /* *avx512f_scatterdiv4si */
14803 : :
14804 : : default:
14805 : : return -1;
14806 : : }
14807 : :
14808 : : case E_V4SFmode:
14809 : : switch (pattern1596 (x1,
14810 : : E_V4SFmode))
14811 : : {
14812 : : case 0:
14813 : : if (!(
14814 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14815 : : (TARGET_AVX512F) && ((((
14816 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14817 : : (TARGET_AVX512VL) &&
14818 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14819 : : (Pmode == SImode)) &&
14820 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14821 : : (Pmode == SImode)) &&
14822 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14823 : : (TARGET_AVX512VL)) &&
14824 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14825 : : (TARGET_AVX512VL))))
14826 : : return -1;
14827 : : *pnum_clobbers = 1;
14828 : : return 9819; /* *avx512f_scattersiv4sf */
14829 : :
14830 : : case 1:
14831 : : if (!(
14832 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14833 : : (TARGET_AVX512F) && (((
14834 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14835 : : (TARGET_AVX512VL) &&
14836 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14837 : : (Pmode == SImode)) &&
14838 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14839 : : (Pmode == SImode)) &&
14840 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14841 : : (TARGET_AVX512VL))))
14842 : : return -1;
14843 : : *pnum_clobbers = 1;
14844 : : return 9843; /* *avx512f_scatterdiv4sf */
14845 : :
14846 : : case 2:
14847 : : if (!(
14848 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14849 : : (TARGET_AVX512F) && ((((
14850 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14851 : : (TARGET_AVX512VL) &&
14852 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14853 : : (Pmode == DImode)) &&
14854 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14855 : : (Pmode == DImode)) &&
14856 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14857 : : (TARGET_AVX512VL)) &&
14858 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14859 : : (TARGET_AVX512VL))))
14860 : : return -1;
14861 : : *pnum_clobbers = 1;
14862 : : return 9831; /* *avx512f_scattersiv4sf */
14863 : :
14864 : : case 3:
14865 : : if (!(
14866 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14867 : : (TARGET_AVX512F) && (((
14868 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14869 : : (TARGET_AVX512VL) &&
14870 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14871 : : (Pmode == DImode)) &&
14872 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14873 : : (Pmode == DImode)) &&
14874 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14875 : : (TARGET_AVX512VL))))
14876 : : return -1;
14877 : : *pnum_clobbers = 1;
14878 : : return 9855; /* *avx512f_scatterdiv4sf */
14879 : :
14880 : : default:
14881 : : return -1;
14882 : : }
14883 : :
14884 : : case E_V2DImode:
14885 : : switch (pattern1596 (x1,
14886 : : E_V2DImode))
14887 : : {
14888 : : case 0:
14889 : : if (!(
14890 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14891 : : (TARGET_AVX512F) && ((((
14892 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14893 : : (TARGET_AVX512VL) &&
14894 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14895 : : (Pmode == SImode)) &&
14896 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14897 : : (Pmode == SImode)) &&
14898 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14899 : : (TARGET_AVX512VL)) &&
14900 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14901 : : (TARGET_AVX512VL))))
14902 : : return -1;
14903 : : *pnum_clobbers = 1;
14904 : : return 9820; /* *avx512f_scattersiv2di */
14905 : :
14906 : : case 1:
14907 : : if (!(
14908 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14909 : : (TARGET_AVX512F) && (((
14910 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14911 : : (TARGET_AVX512VL) &&
14912 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14913 : : (Pmode == SImode)) &&
14914 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14915 : : (Pmode == SImode)) &&
14916 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14917 : : (TARGET_AVX512VL))))
14918 : : return -1;
14919 : : *pnum_clobbers = 1;
14920 : : return 9844; /* *avx512f_scatterdiv2di */
14921 : :
14922 : : case 2:
14923 : : if (!(
14924 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14925 : : (TARGET_AVX512F) && ((((
14926 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14927 : : (TARGET_AVX512VL) &&
14928 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14929 : : (Pmode == DImode)) &&
14930 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14931 : : (Pmode == DImode)) &&
14932 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14933 : : (TARGET_AVX512VL)) &&
14934 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14935 : : (TARGET_AVX512VL))))
14936 : : return -1;
14937 : : *pnum_clobbers = 1;
14938 : : return 9832; /* *avx512f_scattersiv2di */
14939 : :
14940 : : case 3:
14941 : : if (!(
14942 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14943 : : (TARGET_AVX512F) && (((
14944 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14945 : : (TARGET_AVX512VL) &&
14946 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14947 : : (Pmode == DImode)) &&
14948 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14949 : : (Pmode == DImode)) &&
14950 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14951 : : (TARGET_AVX512VL))))
14952 : : return -1;
14953 : : *pnum_clobbers = 1;
14954 : : return 9856; /* *avx512f_scatterdiv2di */
14955 : :
14956 : : default:
14957 : : return -1;
14958 : : }
14959 : :
14960 : : case E_V2DFmode:
14961 : : switch (pattern1596 (x1,
14962 : : E_V2DFmode))
14963 : : {
14964 : : case 0:
14965 : : if (!(
14966 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14967 : : (TARGET_AVX512F) && ((((
14968 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14969 : : (TARGET_AVX512VL) &&
14970 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14971 : : (Pmode == SImode)) &&
14972 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14973 : : (Pmode == SImode)) &&
14974 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14975 : : (TARGET_AVX512VL)) &&
14976 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14977 : : (TARGET_AVX512VL))))
14978 : : return -1;
14979 : : *pnum_clobbers = 1;
14980 : : return 9821; /* *avx512f_scattersiv2df */
14981 : :
14982 : : case 1:
14983 : : if (!(
14984 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14985 : : (TARGET_AVX512F) && (((
14986 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14987 : : (TARGET_AVX512VL) &&
14988 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14989 : : (Pmode == SImode)) &&
14990 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14991 : : (Pmode == SImode)) &&
14992 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14993 : : (TARGET_AVX512VL))))
14994 : : return -1;
14995 : : *pnum_clobbers = 1;
14996 : : return 9845; /* *avx512f_scatterdiv2df */
14997 : :
14998 : : case 2:
14999 : : if (!(
15000 : : #line 29741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15001 : : (TARGET_AVX512F) && ((((
15002 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15003 : : (TARGET_AVX512VL) &&
15004 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15005 : : (Pmode == DImode)) &&
15006 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15007 : : (Pmode == DImode)) &&
15008 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15009 : : (TARGET_AVX512VL)) &&
15010 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15011 : : (TARGET_AVX512VL))))
15012 : : return -1;
15013 : : *pnum_clobbers = 1;
15014 : : return 9833; /* *avx512f_scattersiv2df */
15015 : :
15016 : : case 3:
15017 : : if (!(
15018 : : #line 29781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15019 : : (TARGET_AVX512F) && (((
15020 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15021 : : (TARGET_AVX512VL) &&
15022 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15023 : : (Pmode == DImode)) &&
15024 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15025 : : (Pmode == DImode)) &&
15026 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15027 : : (TARGET_AVX512VL))))
15028 : : return -1;
15029 : : *pnum_clobbers = 1;
15030 : : return 9857; /* *avx512f_scatterdiv2df */
15031 : :
15032 : : default:
15033 : : return -1;
15034 : : }
15035 : :
15036 : : default:
15037 : : return -1;
15038 : : }
15039 : : }
15040 : :
15041 : : int
15042 : : recog_253 (rtx x1 ATTRIBUTE_UNUSED,
15043 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15044 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15045 : : {
15046 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15047 : : rtx x2, x3, x4, x5, x6;
15048 : : int res ATTRIBUTE_UNUSED;
15049 : : x2 = XEXP (x1, 0);
15050 : : operands[0] = x2;
15051 : : x3 = XEXP (x1, 1);
15052 : : x4 = XVECEXP (x3, 0, 0);
15053 : : operands[1] = x4;
15054 : : x5 = XVECEXP (x3, 0, 1);
15055 : : operands[2] = x5;
15056 : : x6 = XVECEXP (x3, 0, 2);
15057 : : operands[3] = x6;
15058 : : switch (GET_MODE (operands[0]))
15059 : : {
15060 : : case E_V16SImode:
15061 : : if (pattern893 (x3,
15062 : : E_HImode,
15063 : : E_V16SImode) != 0
15064 : : || !
15065 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15066 : : (TARGET_AVX512F))
15067 : : return -1;
15068 : : return 9858; /* avx512f_compressv16si_mask */
15069 : :
15070 : : case E_V16SFmode:
15071 : : if (pattern893 (x3,
15072 : : E_HImode,
15073 : : E_V16SFmode) != 0
15074 : : || !
15075 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15076 : : (TARGET_AVX512F))
15077 : : return -1;
15078 : : return 9859; /* avx512f_compressv16sf_mask */
15079 : :
15080 : : case E_V8DImode:
15081 : : if (pattern893 (x3,
15082 : : E_QImode,
15083 : : E_V8DImode) != 0
15084 : : || !
15085 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15086 : : (TARGET_AVX512F))
15087 : : return -1;
15088 : : return 9860; /* avx512f_compressv8di_mask */
15089 : :
15090 : : case E_V8DFmode:
15091 : : if (pattern893 (x3,
15092 : : E_QImode,
15093 : : E_V8DFmode) != 0
15094 : : || !
15095 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15096 : : (TARGET_AVX512F))
15097 : : return -1;
15098 : : return 9861; /* avx512f_compressv8df_mask */
15099 : :
15100 : : case E_V8SImode:
15101 : : if (pattern893 (x3,
15102 : : E_QImode,
15103 : : E_V8SImode) != 0
15104 : : || !(
15105 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15106 : : (TARGET_AVX512F) &&
15107 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15108 : : (TARGET_AVX512VL)))
15109 : : return -1;
15110 : : return 9862; /* avx512vl_compressv8si_mask */
15111 : :
15112 : : case E_V8SFmode:
15113 : : if (pattern893 (x3,
15114 : : E_QImode,
15115 : : E_V8SFmode) != 0
15116 : : || !(
15117 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15118 : : (TARGET_AVX512F) &&
15119 : : #line 972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15120 : : (TARGET_AVX512VL)))
15121 : : return -1;
15122 : : return 9863; /* avx512vl_compressv8sf_mask */
15123 : :
15124 : : case E_V4DImode:
15125 : : if (pattern893 (x3,
15126 : : E_QImode,
15127 : : E_V4DImode) != 0
15128 : : || !(
15129 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15130 : : (TARGET_AVX512F) &&
15131 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15132 : : (TARGET_AVX512VL)))
15133 : : return -1;
15134 : : return 9864; /* avx512vl_compressv4di_mask */
15135 : :
15136 : : case E_V4DFmode:
15137 : : if (pattern893 (x3,
15138 : : E_QImode,
15139 : : E_V4DFmode) != 0
15140 : : || !(
15141 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15142 : : (TARGET_AVX512F) &&
15143 : : #line 973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15144 : : (TARGET_AVX512VL)))
15145 : : return -1;
15146 : : return 9865; /* avx512vl_compressv4df_mask */
15147 : :
15148 : : case E_V4SImode:
15149 : : if (pattern893 (x3,
15150 : : E_QImode,
15151 : : E_V4SImode) != 0
15152 : : || !(
15153 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15154 : : (TARGET_AVX512F) &&
15155 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15156 : : (TARGET_AVX512VL)))
15157 : : return -1;
15158 : : return 9866; /* avx512vl_compressv4si_mask */
15159 : :
15160 : : case E_V4SFmode:
15161 : : if (pattern893 (x3,
15162 : : E_QImode,
15163 : : E_V4SFmode) != 0
15164 : : || !(
15165 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15166 : : (TARGET_AVX512F) &&
15167 : : #line 974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15168 : : (TARGET_AVX512VL)))
15169 : : return -1;
15170 : : return 9867; /* avx512vl_compressv4sf_mask */
15171 : :
15172 : : case E_V2DImode:
15173 : : if (pattern893 (x3,
15174 : : E_QImode,
15175 : : E_V2DImode) != 0
15176 : : || !(
15177 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15178 : : (TARGET_AVX512F) &&
15179 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15180 : : (TARGET_AVX512VL)))
15181 : : return -1;
15182 : : return 9868; /* avx512vl_compressv2di_mask */
15183 : :
15184 : : case E_V2DFmode:
15185 : : if (pattern893 (x3,
15186 : : E_QImode,
15187 : : E_V2DFmode) != 0
15188 : : || !(
15189 : : #line 29796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15190 : : (TARGET_AVX512F) &&
15191 : : #line 975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15192 : : (TARGET_AVX512VL)))
15193 : : return -1;
15194 : : return 9869; /* avx512vl_compressv2df_mask */
15195 : :
15196 : : case E_V64QImode:
15197 : : if (pattern893 (x3,
15198 : : E_DImode,
15199 : : E_V64QImode) != 0
15200 : : || !
15201 : : #line 29809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15202 : : (TARGET_AVX512VBMI2))
15203 : : return -1;
15204 : : return 9870; /* compressv64qi_mask */
15205 : :
15206 : : case E_V16QImode:
15207 : : if (pattern893 (x3,
15208 : : E_HImode,
15209 : : E_V16QImode) != 0
15210 : : || !(
15211 : : #line 29809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15212 : : (TARGET_AVX512VBMI2) &&
15213 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15214 : : (TARGET_AVX512VL)))
15215 : : return -1;
15216 : : return 9871; /* compressv16qi_mask */
15217 : :
15218 : : case E_V32QImode:
15219 : : if (pattern893 (x3,
15220 : : E_SImode,
15221 : : E_V32QImode) != 0
15222 : : || !(
15223 : : #line 29809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15224 : : (TARGET_AVX512VBMI2) &&
15225 : : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15226 : : (TARGET_AVX512VL)))
15227 : : return -1;
15228 : : return 9872; /* compressv32qi_mask */
15229 : :
15230 : : case E_V32HImode:
15231 : : if (pattern893 (x3,
15232 : : E_SImode,
15233 : : E_V32HImode) != 0
15234 : : || !
15235 : : #line 29809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15236 : : (TARGET_AVX512VBMI2))
15237 : : return -1;
15238 : : return 9873; /* compressv32hi_mask */
15239 : :
15240 : : case E_V16HImode:
15241 : : if (pattern893 (x3,
15242 : : E_HImode,
15243 : : E_V16HImode) != 0
15244 : : || !(
15245 : : #line 29809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15246 : : (TARGET_AVX512VBMI2) &&
15247 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15248 : : (TARGET_AVX512VL)))
15249 : : return -1;
15250 : : return 9874; /* compressv16hi_mask */
15251 : :
15252 : : case E_V8HImode:
15253 : : if (pattern893 (x3,
15254 : : E_QImode,
15255 : : E_V8HImode) != 0
15256 : : || !(
15257 : : #line 29809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15258 : : (TARGET_AVX512VBMI2) &&
15259 : : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15260 : : (TARGET_AVX512VL)))
15261 : : return -1;
15262 : : return 9875; /* compressv8hi_mask */
15263 : :
15264 : : default:
15265 : : return -1;
15266 : : }
15267 : : }
15268 : :
15269 : : int
15270 : : recog_266 (rtx x1 ATTRIBUTE_UNUSED,
15271 : : rtx_insn *insn ATTRIBUTE_UNUSED,
15272 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
15273 : : {
15274 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15275 : : rtx x2, x3, x4, x5, x6;
15276 : : int res ATTRIBUTE_UNUSED;
15277 : : x2 = XEXP (x1, 1);
15278 : : switch (XINT (x2, 1))
15279 : : {
15280 : : case 52:
15281 : : return recog_249 (x1, insn, pnum_clobbers);
15282 : :
15283 : : case 60:
15284 : : x3 = XEXP (x1, 0);
15285 : : operands[0] = x3;
15286 : : x4 = XVECEXP (x2, 0, 0);
15287 : : operands[1] = x4;
15288 : : x5 = XVECEXP (x2, 0, 1);
15289 : : operands[2] = x5;
15290 : : x6 = XVECEXP (x2, 0, 2);
15291 : : operands[3] = x6;
15292 : : if (!cmpps_imm_operand (operands[3], E_SImode))
15293 : : return -1;
15294 : : switch (GET_MODE (operands[0]))
15295 : : {
15296 : : case E_V8SFmode:
15297 : : if (pattern60 (x2,
15298 : : E_V8SFmode) != 0
15299 : : || !(
15300 : : #line 4092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15301 : : (TARGET_SSE) &&
15302 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15303 : : (TARGET_AVX)))
15304 : : return -1;
15305 : : return 3224; /* avx_cmpv8sf3 */
15306 : :
15307 : : case E_V4SFmode:
15308 : : if (pattern60 (x2,
15309 : : E_V4SFmode) != 0
15310 : : || !
15311 : : #line 4092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15312 : : (TARGET_SSE))
15313 : : return -1;
15314 : : return 3225; /* avx_cmpv4sf3 */
15315 : :
15316 : : case E_V4DFmode:
15317 : : if (pattern60 (x2,
15318 : : E_V4DFmode) != 0
15319 : : || !(
15320 : : #line 4092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15321 : : (TARGET_SSE) &&
15322 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15323 : : (TARGET_AVX)))
15324 : : return -1;
15325 : : return 3226; /* avx_cmpv4df3 */
15326 : :
15327 : : case E_V2DFmode:
15328 : : if (pattern60 (x2,
15329 : : E_V2DFmode) != 0
15330 : : || !(
15331 : : #line 4092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15332 : : (TARGET_SSE) &&
15333 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15334 : : (TARGET_SSE2)))
15335 : : return -1;
15336 : : return 3227; /* avx_cmpv2df3 */
15337 : :
15338 : : default:
15339 : : return -1;
15340 : : }
15341 : :
15342 : : case 134:
15343 : : return recog_248 (x1, insn, pnum_clobbers);
15344 : :
15345 : : case 218:
15346 : : return recog_264 (x1, insn, pnum_clobbers);
15347 : :
15348 : : case 220:
15349 : : x3 = XEXP (x1, 0);
15350 : : operands[0] = x3;
15351 : : x4 = XVECEXP (x2, 0, 0);
15352 : : operands[1] = x4;
15353 : : x5 = XVECEXP (x2, 0, 1);
15354 : : operands[2] = x5;
15355 : : switch (pattern654 (x2))
15356 : : {
15357 : : case 0:
15358 : : if (
15359 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15360 : : (TARGET_AVX512FP16 && 1 && 1))
15361 : : return 4282; /* fma_fcmaddc_v32hf */
15362 : : break;
15363 : :
15364 : : case 1:
15365 : : if ((
15366 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15367 : : (TARGET_AVX512FP16 && 1 && 1) &&
15368 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15369 : : (TARGET_AVX512VL)))
15370 : : return 4288; /* fma_fcmaddc_v16hf */
15371 : : break;
15372 : :
15373 : : case 2:
15374 : : if ((
15375 : : #line 7214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15376 : : (TARGET_AVX512FP16 && 1 && 1) &&
15377 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15378 : : (TARGET_AVX512VL)))
15379 : : return 4292; /* fma_fcmaddc_v8hf */
15380 : : break;
15381 : :
15382 : : default:
15383 : : break;
15384 : : }
15385 : : if (GET_CODE (x5) != SUBREG
15386 : : || maybe_ne (SUBREG_BYTE (x5), 0))
15387 : : return -1;
15388 : : switch (pattern581 (x2))
15389 : : {
15390 : : case 0:
15391 : : if (!
15392 : : #line 7320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15393 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()))
15394 : : return -1;
15395 : : return 4315; /* fma_v32hf_fcmaddc_bcst */
15396 : :
15397 : : case 1:
15398 : : if (!(
15399 : : #line 7320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15400 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
15401 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15402 : : (TARGET_AVX512VL)))
15403 : : return -1;
15404 : : return 4316; /* fma_v16hf_fcmaddc_bcst */
15405 : :
15406 : : case 2:
15407 : : if (!(
15408 : : #line 7320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15409 : : (TARGET_AVX512FP16 && ix86_pre_reload_split ()) &&
15410 : : #line 540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15411 : : (TARGET_AVX512VL)))
15412 : : return -1;
15413 : : return 4317; /* fma_v8hf_fcmaddc_bcst */
15414 : :
15415 : : default:
15416 : : return -1;
15417 : : }
15418 : :
15419 : : case 219:
15420 : : switch (pattern168 (x1))
15421 : : {
15422 : : case 0:
15423 : : if (!
15424 : : #line 7279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15425 : : (TARGET_AVX512FP16))
15426 : : return -1;
15427 : : return 4306; /* fma_fmaddc_v16sf_pair */
15428 : :
15429 : : case 1:
15430 : : if (!(
15431 : : #line 7279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15432 : : (TARGET_AVX512FP16) &&
15433 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15434 : : (TARGET_AVX512VL)))
15435 : : return -1;
15436 : : return 4308; /* fma_fmaddc_v8sf_pair */
15437 : :
15438 : : case 2:
15439 : : if (!(
15440 : : #line 7279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15441 : : (TARGET_AVX512FP16) &&
15442 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15443 : : (TARGET_AVX512VL)))
15444 : : return -1;
15445 : : return 4310; /* fma_fmaddc_v4sf_pair */
15446 : :
15447 : : default:
15448 : : return -1;
15449 : : }
15450 : :
15451 : : case 221:
15452 : : switch (pattern168 (x1))
15453 : : {
15454 : : case 0:
15455 : : if (!
15456 : : #line 7279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15457 : : (TARGET_AVX512FP16))
15458 : : return -1;
15459 : : return 4307; /* fma_fcmaddc_v16sf_pair */
15460 : :
15461 : : case 1:
15462 : : if (!(
15463 : : #line 7279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15464 : : (TARGET_AVX512FP16) &&
15465 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15466 : : (TARGET_AVX512VL)))
15467 : : return -1;
15468 : : return 4309; /* fma_fcmaddc_v8sf_pair */
15469 : :
15470 : : case 2:
15471 : : if (!(
15472 : : #line 7279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15473 : : (TARGET_AVX512FP16) &&
15474 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : : (TARGET_AVX512VL)))
15476 : : return -1;
15477 : : return 4311; /* fma_fcmaddc_v4sf_pair */
15478 : :
15479 : : default:
15480 : : return -1;
15481 : : }
15482 : :
15483 : : case 51:
15484 : : x3 = XEXP (x1, 0);
15485 : : operands[0] = x3;
15486 : : x4 = XVECEXP (x2, 0, 0);
15487 : : operands[2] = x4;
15488 : : x5 = XVECEXP (x2, 0, 1);
15489 : : operands[1] = x5;
15490 : : x6 = XVECEXP (x2, 0, 2);
15491 : : operands[3] = x6;
15492 : : if (!const_0_to_255_operand (operands[3], E_SImode))
15493 : : return -1;
15494 : : switch (GET_MODE (operands[0]))
15495 : : {
15496 : : case E_V4SImode:
15497 : : if (pattern950 (x2,
15498 : : E_V4SImode) != 0
15499 : : || !
15500 : : #line 12266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15501 : : (TARGET_SSE4_1))
15502 : : return -1;
15503 : : return 5260; /* sse4_1_insertps_v4si */
15504 : :
15505 : : case E_V4SFmode:
15506 : : if (pattern950 (x2,
15507 : : E_V4SFmode) != 0
15508 : : || !
15509 : : #line 12266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15510 : : (TARGET_SSE4_1))
15511 : : return -1;
15512 : : return 5261; /* sse4_1_insertps_v4sf */
15513 : :
15514 : : default:
15515 : : return -1;
15516 : : }
15517 : :
15518 : : case 168:
15519 : : return recog_256 (x1, insn, pnum_clobbers);
15520 : :
15521 : : case 156:
15522 : : return recog_251 (x1, insn, pnum_clobbers);
15523 : :
15524 : : case 48:
15525 : : return recog_247 (x1, insn, pnum_clobbers);
15526 : :
15527 : : case 122:
15528 : : x3 = XEXP (x1, 0);
15529 : : operands[0] = x3;
15530 : : x4 = XVECEXP (x2, 0, 0);
15531 : : operands[1] = x4;
15532 : : x5 = XVECEXP (x2, 0, 1);
15533 : : operands[2] = x5;
15534 : : x6 = XVECEXP (x2, 0, 2);
15535 : : operands[3] = x6;
15536 : : if (!const_0_to_255_mul_8_operand (operands[3], E_SImode))
15537 : : return -1;
15538 : : switch (GET_MODE (operands[0]))
15539 : : {
15540 : : case E_V4TImode:
15541 : : if (pattern151 (x2,
15542 : : E_V4TImode) != 0
15543 : : || !(
15544 : : #line 23285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15545 : : (TARGET_SSSE3) &&
15546 : : #line 698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15547 : : (TARGET_AVX512BW)))
15548 : : return -1;
15549 : : return 8596; /* avx512bw_palignrv4ti */
15550 : :
15551 : : case E_V2TImode:
15552 : : if (pattern151 (x2,
15553 : : E_V2TImode) != 0
15554 : : || !(
15555 : : #line 23285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15556 : : (TARGET_SSSE3) &&
15557 : : #line 698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15558 : : (TARGET_AVX2)))
15559 : : return -1;
15560 : : return 8597; /* avx2_palignrv2ti */
15561 : :
15562 : : case E_V1TImode:
15563 : : if (pattern151 (x2,
15564 : : E_V1TImode) != 0
15565 : : || !
15566 : : #line 23285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15567 : : (TARGET_SSSE3))
15568 : : return -1;
15569 : : return 8598; /* ssse3_palignrv1ti */
15570 : :
15571 : : default:
15572 : : return -1;
15573 : : }
15574 : :
15575 : : case 123:
15576 : : if (GET_MODE (x2) != E_V2DImode)
15577 : : return -1;
15578 : : x3 = XEXP (x1, 0);
15579 : : operands[0] = x3;
15580 : : if (!register_operand (operands[0], E_V2DImode))
15581 : : return -1;
15582 : : x4 = XVECEXP (x2, 0, 0);
15583 : : operands[1] = x4;
15584 : : if (!register_operand (operands[1], E_V2DImode))
15585 : : return -1;
15586 : : x5 = XVECEXP (x2, 0, 1);
15587 : : operands[2] = x5;
15588 : : if (!const_0_to_255_operand (operands[2], E_VOIDmode))
15589 : : return -1;
15590 : : x6 = XVECEXP (x2, 0, 2);
15591 : : operands[3] = x6;
15592 : : if (!const_0_to_255_operand (operands[3], E_VOIDmode)
15593 : : || !
15594 : : #line 23479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15595 : : (TARGET_SSE4A))
15596 : : return -1;
15597 : : return 8628; /* sse4a_extrqi */
15598 : :
15599 : : case 127:
15600 : : return recog_262 (x1, insn, pnum_clobbers);
15601 : :
15602 : : case 129:
15603 : : return recog_263 (x1, insn, pnum_clobbers);
15604 : :
15605 : : case 54:
15606 : : if (pattern62 (x1,
15607 : : E_V16QImode) != 0)
15608 : : return -1;
15609 : : x6 = XVECEXP (x2, 0, 2);
15610 : : operands[3] = x6;
15611 : : if (!nonimmediate_operand (operands[3], E_V16QImode)
15612 : : || !
15613 : : #line 26524 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15614 : : (TARGET_XOP && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
15615 : : return -1;
15616 : : return 8981; /* xop_pperm */
15617 : :
15618 : : case 136:
15619 : : return recog_261 (x1, insn, pnum_clobbers);
15620 : :
15621 : : case 144:
15622 : : if (pattern159 (x1,
15623 : : E_V2DImode) != 0)
15624 : : return -1;
15625 : : x6 = XVECEXP (x2, 0, 2);
15626 : : operands[3] = x6;
15627 : : if (!const_0_to_255_operand (operands[3], E_SImode)
15628 : : || !
15629 : : #line 27328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15630 : : (TARGET_PCLMUL))
15631 : : return -1;
15632 : : return 9040; /* pclmulqdq */
15633 : :
15634 : : case 153:
15635 : : if (pattern62 (x1,
15636 : : E_V4DImode) != 0)
15637 : : return -1;
15638 : : x6 = XVECEXP (x2, 0, 2);
15639 : : operands[3] = x6;
15640 : : if (!const_0_to_255_operand (operands[3], E_SImode)
15641 : : || !
15642 : : #line 27785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15643 : : (TARGET_AVX2))
15644 : : return -1;
15645 : : return 9142; /* avx2_permv2ti */
15646 : :
15647 : : case 147:
15648 : : x3 = XEXP (x1, 0);
15649 : : operands[0] = x3;
15650 : : x4 = XVECEXP (x2, 0, 0);
15651 : : operands[1] = x4;
15652 : : x5 = XVECEXP (x2, 0, 1);
15653 : : operands[2] = x5;
15654 : : x6 = XVECEXP (x2, 0, 2);
15655 : : operands[3] = x6;
15656 : : if (!const_0_to_255_operand (operands[3], E_SImode))
15657 : : return -1;
15658 : : switch (GET_MODE (operands[0]))
15659 : : {
15660 : : case E_V8SImode:
15661 : : if (pattern60 (x2,
15662 : : E_V8SImode) != 0
15663 : : || !
15664 : : #line 28450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15665 : : (TARGET_AVX))
15666 : : return -1;
15667 : : return 9420; /* *avx_vperm2f128v8si_full */
15668 : :
15669 : : case E_V8SFmode:
15670 : : if (pattern60 (x2,
15671 : : E_V8SFmode) != 0
15672 : : || !
15673 : : #line 28450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15674 : : (TARGET_AVX))
15675 : : return -1;
15676 : : return 9421; /* *avx_vperm2f128v8sf_full */
15677 : :
15678 : : case E_V4DFmode:
15679 : : if (pattern60 (x2,
15680 : : E_V4DFmode) != 0
15681 : : || !
15682 : : #line 28450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15683 : : (TARGET_AVX))
15684 : : return -1;
15685 : : return 9422; /* *avx_vperm2f128v4df_full */
15686 : :
15687 : : default:
15688 : : return -1;
15689 : : }
15690 : :
15691 : : case 154:
15692 : : return recog_246 (x1, insn, pnum_clobbers);
15693 : :
15694 : : case 170:
15695 : : return recog_253 (x1, insn, pnum_clobbers);
15696 : :
15697 : : case 171:
15698 : : return recog_252 (x1, insn, pnum_clobbers);
15699 : :
15700 : : case 172:
15701 : : return recog_250 (x1, insn, pnum_clobbers);
15702 : :
15703 : : case 195:
15704 : : return recog_255 (x1, insn, pnum_clobbers);
15705 : :
15706 : : case 187:
15707 : : x3 = XEXP (x1, 0);
15708 : : operands[0] = x3;
15709 : : x4 = XVECEXP (x2, 0, 0);
15710 : : operands[1] = x4;
15711 : : x5 = XVECEXP (x2, 0, 1);
15712 : : operands[2] = x5;
15713 : : x6 = XVECEXP (x2, 0, 2);
15714 : : operands[3] = x6;
15715 : : if (!const_0_to_255_operand (operands[3], E_SImode))
15716 : : return -1;
15717 : : switch (GET_MODE (operands[0]))
15718 : : {
15719 : : case E_V8HImode:
15720 : : if (pattern162 (x2,
15721 : : E_V8HImode,
15722 : : E_V16QImode) != 0
15723 : : || !(
15724 : : #line 30066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15725 : : (TARGET_AVX512BW) &&
15726 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15727 : : (TARGET_AVX512VL)))
15728 : : return -1;
15729 : : return 10026; /* *avx512bw_dbpsadbwv8hi */
15730 : :
15731 : : case E_V16HImode:
15732 : : if (pattern162 (x2,
15733 : : E_V16HImode,
15734 : : E_V32QImode) != 0
15735 : : || !(
15736 : : #line 30066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15737 : : (TARGET_AVX512BW) &&
15738 : : #line 659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15739 : : (TARGET_AVX512VL)))
15740 : : return -1;
15741 : : return 10028; /* *avx512bw_dbpsadbwv16hi */
15742 : :
15743 : : case E_V32HImode:
15744 : : if (pattern162 (x2,
15745 : : E_V32HImode,
15746 : : E_V64QImode) != 0
15747 : : || !
15748 : : #line 30066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15749 : : (TARGET_AVX512BW))
15750 : : return -1;
15751 : : return 10030; /* *avx512bw_dbpsadbwv32hi */
15752 : :
15753 : : default:
15754 : : return -1;
15755 : : }
15756 : :
15757 : : case 183:
15758 : : if (pattern159 (x1,
15759 : : E_V4SImode) != 0)
15760 : : return -1;
15761 : : x6 = XVECEXP (x2, 0, 2);
15762 : : operands[3] = x6;
15763 : : if (!const_0_to_3_operand (operands[3], E_SImode)
15764 : : || !
15765 : : #line 30134 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15766 : : (TARGET_SHA))
15767 : : return -1;
15768 : : return 10059; /* sha1rnds4 */
15769 : :
15770 : : case 186:
15771 : : if (pattern159 (x1,
15772 : : E_V4SImode) != 0)
15773 : : return -1;
15774 : : x6 = XVECEXP (x2, 0, 2);
15775 : : operands[3] = x6;
15776 : : if (!register_operand (operands[3], E_V4SImode)
15777 : : || !
15778 : : #line 30169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15779 : : (TARGET_SHA))
15780 : : return -1;
15781 : : return 10062; /* sha256rnds2 */
15782 : :
15783 : : case 225:
15784 : : if (pattern170 (x1) != 0
15785 : : || !
15786 : : #line 30182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15787 : : (TARGET_SM3))
15788 : : return -1;
15789 : : return 10063; /* vsm3msg1 */
15790 : :
15791 : : case 226:
15792 : : if (pattern170 (x1) != 0
15793 : : || !
15794 : : #line 30194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15795 : : (TARGET_SM3))
15796 : : return -1;
15797 : : return 10064; /* vsm3msg2 */
15798 : :
15799 : : case 242:
15800 : : if (pattern158 (x1,
15801 : : E_V4DImode) != 0)
15802 : : return -1;
15803 : : x6 = XVECEXP (x2, 0, 2);
15804 : : operands[3] = x6;
15805 : : if (!register_operand (operands[3], E_V2DImode)
15806 : : || !
15807 : : #line 30242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15808 : : (TARGET_SHA512))
15809 : : return -1;
15810 : : return 10068; /* vsha512rnds2 */
15811 : :
15812 : : case 196:
15813 : : switch (pattern172 (x1))
15814 : : {
15815 : : case 0:
15816 : : if (!
15817 : : #line 30351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15818 : : (TARGET_AVX512IFMA))
15819 : : return -1;
15820 : : return 10081; /* vpmadd52luqv8di */
15821 : :
15822 : : case 1:
15823 : : if (!(
15824 : : #line 30364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15825 : : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)) &&
15826 : : #line 677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15827 : : (TARGET_AVX2)))
15828 : : return -1;
15829 : : return 10083; /* vpmadd52luqv4di */
15830 : :
15831 : : case 2:
15832 : : if (!
15833 : : #line 30364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15834 : : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)))
15835 : : return -1;
15836 : : return 10085; /* vpmadd52luqv2di */
15837 : :
15838 : : default:
15839 : : return -1;
15840 : : }
15841 : :
15842 : : case 197:
15843 : : switch (pattern172 (x1))
15844 : : {
15845 : : case 0:
15846 : : if (!
15847 : : #line 30351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15848 : : (TARGET_AVX512IFMA))
15849 : : return -1;
15850 : : return 10082; /* vpmadd52huqv8di */
15851 : :
15852 : : case 1:
15853 : : if (!(
15854 : : #line 30364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15855 : : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)) &&
15856 : : #line 677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15857 : : (TARGET_AVX2)))
15858 : : return -1;
15859 : : return 10084; /* vpmadd52huqv4di */
15860 : :
15861 : : case 2:
15862 : : if (!
15863 : : #line 30364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15864 : : (TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)))
15865 : : return -1;
15866 : : return 10086; /* vpmadd52huqv2di */
15867 : :
15868 : : default:
15869 : : return -1;
15870 : : }
15871 : :
15872 : : case 199:
15873 : : switch (pattern173 (x1))
15874 : : {
15875 : : case 0:
15876 : : if (!(
15877 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15878 : : (TARGET_GFNI) &&
15879 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15880 : : (TARGET_AVX512F)))
15881 : : return -1;
15882 : : return 10137; /* vgf2p8affineinvqb_v64qi */
15883 : :
15884 : : case 1:
15885 : : if (!(
15886 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15887 : : (TARGET_GFNI) &&
15888 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15889 : : (TARGET_AVX)))
15890 : : return -1;
15891 : : return 10139; /* vgf2p8affineinvqb_v32qi */
15892 : :
15893 : : case 2:
15894 : : if (!
15895 : : #line 30488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15896 : : (TARGET_GFNI))
15897 : : return -1;
15898 : : return 10141; /* vgf2p8affineinvqb_v16qi */
15899 : :
15900 : : default:
15901 : : return -1;
15902 : : }
15903 : :
15904 : : case 200:
15905 : : switch (pattern173 (x1))
15906 : : {
15907 : : case 0:
15908 : : if (!(
15909 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15910 : : (TARGET_GFNI) &&
15911 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15912 : : (TARGET_AVX512F)))
15913 : : return -1;
15914 : : return 10143; /* vgf2p8affineqb_v64qi */
15915 : :
15916 : : case 1:
15917 : : if (!(
15918 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15919 : : (TARGET_GFNI) &&
15920 : : #line 612 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15921 : : (TARGET_AVX)))
15922 : : return -1;
15923 : : return 10145; /* vgf2p8affineqb_v32qi */
15924 : :
15925 : : case 2:
15926 : : if (!
15927 : : #line 30505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15928 : : (TARGET_GFNI))
15929 : : return -1;
15930 : : return 10147; /* vgf2p8affineqb_v16qi */
15931 : :
15932 : : default:
15933 : : return -1;
15934 : : }
15935 : :
15936 : : case 203:
15937 : : return recog_260 (x1, insn, pnum_clobbers);
15938 : :
15939 : : case 202:
15940 : : return recog_258 (x1, insn, pnum_clobbers);
15941 : :
15942 : : case 204:
15943 : : return recog_259 (x1, insn, pnum_clobbers);
15944 : :
15945 : : case 205:
15946 : : return recog_257 (x1, insn, pnum_clobbers);
15947 : :
15948 : : case 206:
15949 : : switch (pattern176 (x1))
15950 : : {
15951 : : case 0:
15952 : : if (!
15953 : : #line 30722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15954 : : (TARGET_AVX512VNNI))
15955 : : return -1;
15956 : : return 10245; /* vpdpbusd_v16si */
15957 : :
15958 : : case 1:
15959 : : if (!(
15960 : : #line 30733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15961 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
15962 : : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15963 : : (TARGET_AVX2)))
15964 : : return -1;
15965 : : return 10246; /* vpdpbusd_v8si */
15966 : :
15967 : : case 2:
15968 : : if (!
15969 : : #line 30733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15970 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
15971 : : return -1;
15972 : : return 10247; /* vpdpbusd_v4si */
15973 : :
15974 : : default:
15975 : : return -1;
15976 : : }
15977 : :
15978 : : case 207:
15979 : : switch (pattern176 (x1))
15980 : : {
15981 : : case 0:
15982 : : if (!
15983 : : #line 30791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15984 : : (TARGET_AVX512VNNI))
15985 : : return -1;
15986 : : return 10254; /* vpdpbusds_v16si */
15987 : :
15988 : : case 1:
15989 : : if (!(
15990 : : #line 30802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15991 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
15992 : : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15993 : : (TARGET_AVX2)))
15994 : : return -1;
15995 : : return 10255; /* vpdpbusds_v8si */
15996 : :
15997 : : case 2:
15998 : : if (!
15999 : : #line 30802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16000 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
16001 : : return -1;
16002 : : return 10256; /* vpdpbusds_v4si */
16003 : :
16004 : : default:
16005 : : return -1;
16006 : : }
16007 : :
16008 : : case 208:
16009 : : switch (pattern176 (x1))
16010 : : {
16011 : : case 0:
16012 : : if (!
16013 : : #line 30860 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16014 : : (TARGET_AVX512VNNI))
16015 : : return -1;
16016 : : return 10263; /* vpdpwssd_v16si */
16017 : :
16018 : : case 1:
16019 : : if (!(
16020 : : #line 30871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16021 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
16022 : : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16023 : : (TARGET_AVX2)))
16024 : : return -1;
16025 : : return 10264; /* vpdpwssd_v8si */
16026 : :
16027 : : case 2:
16028 : : if (!
16029 : : #line 30871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16030 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
16031 : : return -1;
16032 : : return 10265; /* vpdpwssd_v4si */
16033 : :
16034 : : default:
16035 : : return -1;
16036 : : }
16037 : :
16038 : : case 209:
16039 : : switch (pattern176 (x1))
16040 : : {
16041 : : case 0:
16042 : : if (!
16043 : : #line 30929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16044 : : (TARGET_AVX512VNNI))
16045 : : return -1;
16046 : : return 10272; /* vpdpwssds_v16si */
16047 : :
16048 : : case 1:
16049 : : if (!(
16050 : : #line 30940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16051 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)) &&
16052 : : #line 642 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16053 : : (TARGET_AVX2)))
16054 : : return -1;
16055 : : return 10273; /* vpdpwssds_v8si */
16056 : :
16057 : : case 2:
16058 : : if (!
16059 : : #line 30940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16060 : : (TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)))
16061 : : return -1;
16062 : : return 10274; /* vpdpwssds_v4si */
16063 : :
16064 : : default:
16065 : : return -1;
16066 : : }
16067 : :
16068 : : case 214:
16069 : : x3 = XEXP (x1, 0);
16070 : : operands[0] = x3;
16071 : : x4 = XVECEXP (x2, 0, 0);
16072 : : operands[1] = x4;
16073 : : x5 = XVECEXP (x2, 0, 1);
16074 : : operands[2] = x5;
16075 : : x6 = XVECEXP (x2, 0, 2);
16076 : : operands[3] = x6;
16077 : : if (!const_0_to_255_operand (operands[3], E_SImode))
16078 : : return -1;
16079 : : switch (GET_MODE (operands[0]))
16080 : : {
16081 : : case E_V8DImode:
16082 : : if (pattern151 (x2,
16083 : : E_V8DImode) != 0
16084 : : || !(
16085 : : #line 31069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16086 : : (TARGET_VPCLMULQDQ) &&
16087 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16088 : : (TARGET_AVX512F)))
16089 : : return -1;
16090 : : return 10293; /* vpclmulqdq_v8di */
16091 : :
16092 : : case E_V4DImode:
16093 : : if (pattern151 (x2,
16094 : : E_V4DImode) != 0
16095 : : || !
16096 : : #line 31069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16097 : : (TARGET_VPCLMULQDQ))
16098 : : return -1;
16099 : : return 10294; /* vpclmulqdq_v4di */
16100 : :
16101 : : case E_V2DImode:
16102 : : if (pattern151 (x2,
16103 : : E_V2DImode) != 0
16104 : : || !(
16105 : : #line 31069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16106 : : (TARGET_VPCLMULQDQ) &&
16107 : : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16108 : : (TARGET_AVX512VL)))
16109 : : return -1;
16110 : : return 10295; /* vpclmulqdq_v2di */
16111 : :
16112 : : default:
16113 : : return -1;
16114 : : }
16115 : :
16116 : : case 217:
16117 : : x3 = XEXP (x1, 0);
16118 : : operands[0] = x3;
16119 : : x4 = XVECEXP (x2, 0, 0);
16120 : : operands[1] = x4;
16121 : : x5 = XVECEXP (x2, 0, 1);
16122 : : operands[2] = x5;
16123 : : x6 = XVECEXP (x2, 0, 2);
16124 : : operands[3] = x6;
16125 : : switch (GET_MODE (operands[0]))
16126 : : {
16127 : : case E_V16SFmode:
16128 : : if (pattern897 (x2,
16129 : : E_V32BFmode,
16130 : : E_V16SFmode) != 0
16131 : : || !
16132 : : #line 31347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16133 : : (TARGET_AVX512BF16))
16134 : : return -1;
16135 : : return 10323; /* avx512f_dpbf16ps_v16sf */
16136 : :
16137 : : case E_V8SFmode:
16138 : : if (pattern897 (x2,
16139 : : E_V16BFmode,
16140 : : E_V8SFmode) != 0
16141 : : || !(
16142 : : #line 31347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16143 : : (TARGET_AVX512BF16) &&
16144 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16145 : : (TARGET_AVX512VL)))
16146 : : return -1;
16147 : : return 10325; /* avx512f_dpbf16ps_v8sf */
16148 : :
16149 : : case E_V4SFmode:
16150 : : if (pattern897 (x2,
16151 : : E_V8BFmode,
16152 : : E_V4SFmode) != 0
16153 : : || !(
16154 : : #line 31347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16155 : : (TARGET_AVX512BF16) &&
16156 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16157 : : (TARGET_AVX512VL)))
16158 : : return -1;
16159 : : return 10327; /* avx512f_dpbf16ps_v4sf */
16160 : :
16161 : : default:
16162 : : return -1;
16163 : : }
16164 : :
16165 : : case 228:
16166 : : switch (pattern177 (x1))
16167 : : {
16168 : : case 0:
16169 : : if (!(
16170 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16171 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16172 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16173 : : (TARGET_AVX)))
16174 : : return -1;
16175 : : return 10343; /* vpdpbssd_v8si */
16176 : :
16177 : : case 1:
16178 : : if (!
16179 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16180 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16181 : : return -1;
16182 : : return 10349; /* vpdpbssd_v4si */
16183 : :
16184 : : case 2:
16185 : : if (!
16186 : : #line 31731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16187 : : (TARGET_AVX10_2))
16188 : : return -1;
16189 : : return 10355; /* vpdpbssd_v16si */
16190 : :
16191 : : default:
16192 : : return -1;
16193 : : }
16194 : :
16195 : : case 229:
16196 : : switch (pattern177 (x1))
16197 : : {
16198 : : case 0:
16199 : : if (!(
16200 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16201 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16202 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16203 : : (TARGET_AVX)))
16204 : : return -1;
16205 : : return 10344; /* vpdpbssds_v8si */
16206 : :
16207 : : case 1:
16208 : : if (!
16209 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16210 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16211 : : return -1;
16212 : : return 10350; /* vpdpbssds_v4si */
16213 : :
16214 : : case 2:
16215 : : if (!
16216 : : #line 31731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16217 : : (TARGET_AVX10_2))
16218 : : return -1;
16219 : : return 10356; /* vpdpbssds_v16si */
16220 : :
16221 : : default:
16222 : : return -1;
16223 : : }
16224 : :
16225 : : case 230:
16226 : : switch (pattern177 (x1))
16227 : : {
16228 : : case 0:
16229 : : if (!(
16230 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16231 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16232 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16233 : : (TARGET_AVX)))
16234 : : return -1;
16235 : : return 10345; /* vpdpbsud_v8si */
16236 : :
16237 : : case 1:
16238 : : if (!
16239 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16240 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16241 : : return -1;
16242 : : return 10351; /* vpdpbsud_v4si */
16243 : :
16244 : : case 2:
16245 : : if (!
16246 : : #line 31731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16247 : : (TARGET_AVX10_2))
16248 : : return -1;
16249 : : return 10357; /* vpdpbsud_v16si */
16250 : :
16251 : : default:
16252 : : return -1;
16253 : : }
16254 : :
16255 : : case 231:
16256 : : switch (pattern177 (x1))
16257 : : {
16258 : : case 0:
16259 : : if (!(
16260 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16261 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16262 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16263 : : (TARGET_AVX)))
16264 : : return -1;
16265 : : return 10346; /* vpdpbsuds_v8si */
16266 : :
16267 : : case 1:
16268 : : if (!
16269 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16270 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16271 : : return -1;
16272 : : return 10352; /* vpdpbsuds_v4si */
16273 : :
16274 : : case 2:
16275 : : if (!
16276 : : #line 31731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16277 : : (TARGET_AVX10_2))
16278 : : return -1;
16279 : : return 10358; /* vpdpbsuds_v16si */
16280 : :
16281 : : default:
16282 : : return -1;
16283 : : }
16284 : :
16285 : : case 232:
16286 : : switch (pattern177 (x1))
16287 : : {
16288 : : case 0:
16289 : : if (!(
16290 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16291 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16292 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16293 : : (TARGET_AVX)))
16294 : : return -1;
16295 : : return 10347; /* vpdpbuud_v8si */
16296 : :
16297 : : case 1:
16298 : : if (!
16299 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16300 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16301 : : return -1;
16302 : : return 10353; /* vpdpbuud_v4si */
16303 : :
16304 : : case 2:
16305 : : if (!
16306 : : #line 31731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16307 : : (TARGET_AVX10_2))
16308 : : return -1;
16309 : : return 10359; /* vpdpbuud_v16si */
16310 : :
16311 : : default:
16312 : : return -1;
16313 : : }
16314 : :
16315 : : case 233:
16316 : : switch (pattern177 (x1))
16317 : : {
16318 : : case 0:
16319 : : if (!(
16320 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16321 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2) &&
16322 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16323 : : (TARGET_AVX)))
16324 : : return -1;
16325 : : return 10348; /* vpdpbuuds_v8si */
16326 : :
16327 : : case 1:
16328 : : if (!
16329 : : #line 31720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16330 : : (TARGET_AVXVNNIINT8 || TARGET_AVX10_2))
16331 : : return -1;
16332 : : return 10354; /* vpdpbuuds_v4si */
16333 : :
16334 : : case 2:
16335 : : if (!
16336 : : #line 31731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16337 : : (TARGET_AVX10_2))
16338 : : return -1;
16339 : : return 10360; /* vpdpbuuds_v16si */
16340 : :
16341 : : default:
16342 : : return -1;
16343 : : }
16344 : :
16345 : : case 234:
16346 : : switch (pattern177 (x1))
16347 : : {
16348 : : case 0:
16349 : : if (!(
16350 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16351 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16352 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16353 : : (TARGET_AVX)))
16354 : : return -1;
16355 : : return 10495; /* vpdpwusd_v8si */
16356 : :
16357 : : case 1:
16358 : : if (!
16359 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16360 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16361 : : return -1;
16362 : : return 10501; /* vpdpwusd_v4si */
16363 : :
16364 : : case 2:
16365 : : if (!
16366 : : #line 32140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16367 : : (TARGET_AVX10_2))
16368 : : return -1;
16369 : : return 10507; /* vpdpwusd_v16si */
16370 : :
16371 : : default:
16372 : : return -1;
16373 : : }
16374 : :
16375 : : case 235:
16376 : : switch (pattern177 (x1))
16377 : : {
16378 : : case 0:
16379 : : if (!(
16380 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16381 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16382 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16383 : : (TARGET_AVX)))
16384 : : return -1;
16385 : : return 10496; /* vpdpwusds_v8si */
16386 : :
16387 : : case 1:
16388 : : if (!
16389 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16390 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16391 : : return -1;
16392 : : return 10502; /* vpdpwusds_v4si */
16393 : :
16394 : : case 2:
16395 : : if (!
16396 : : #line 32140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16397 : : (TARGET_AVX10_2))
16398 : : return -1;
16399 : : return 10508; /* vpdpwusds_v16si */
16400 : :
16401 : : default:
16402 : : return -1;
16403 : : }
16404 : :
16405 : : case 236:
16406 : : switch (pattern177 (x1))
16407 : : {
16408 : : case 0:
16409 : : if (!(
16410 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16411 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16412 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16413 : : (TARGET_AVX)))
16414 : : return -1;
16415 : : return 10497; /* vpdpwsud_v8si */
16416 : :
16417 : : case 1:
16418 : : if (!
16419 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16420 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16421 : : return -1;
16422 : : return 10503; /* vpdpwsud_v4si */
16423 : :
16424 : : case 2:
16425 : : if (!
16426 : : #line 32140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16427 : : (TARGET_AVX10_2))
16428 : : return -1;
16429 : : return 10509; /* vpdpwsud_v16si */
16430 : :
16431 : : default:
16432 : : return -1;
16433 : : }
16434 : :
16435 : : case 237:
16436 : : switch (pattern177 (x1))
16437 : : {
16438 : : case 0:
16439 : : if (!(
16440 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16441 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16442 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16443 : : (TARGET_AVX)))
16444 : : return -1;
16445 : : return 10498; /* vpdpwsuds_v8si */
16446 : :
16447 : : case 1:
16448 : : if (!
16449 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16450 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16451 : : return -1;
16452 : : return 10504; /* vpdpwsuds_v4si */
16453 : :
16454 : : case 2:
16455 : : if (!
16456 : : #line 32140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16457 : : (TARGET_AVX10_2))
16458 : : return -1;
16459 : : return 10510; /* vpdpwsuds_v16si */
16460 : :
16461 : : default:
16462 : : return -1;
16463 : : }
16464 : :
16465 : : case 238:
16466 : : switch (pattern177 (x1))
16467 : : {
16468 : : case 0:
16469 : : if (!(
16470 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16471 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16472 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16473 : : (TARGET_AVX)))
16474 : : return -1;
16475 : : return 10499; /* vpdpwuud_v8si */
16476 : :
16477 : : case 1:
16478 : : if (!
16479 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16480 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16481 : : return -1;
16482 : : return 10505; /* vpdpwuud_v4si */
16483 : :
16484 : : case 2:
16485 : : if (!
16486 : : #line 32140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16487 : : (TARGET_AVX10_2))
16488 : : return -1;
16489 : : return 10511; /* vpdpwuud_v16si */
16490 : :
16491 : : default:
16492 : : return -1;
16493 : : }
16494 : :
16495 : : case 239:
16496 : : switch (pattern177 (x1))
16497 : : {
16498 : : case 0:
16499 : : if (!(
16500 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16501 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2) &&
16502 : : #line 639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16503 : : (TARGET_AVX)))
16504 : : return -1;
16505 : : return 10500; /* vpdpwuuds_v8si */
16506 : :
16507 : : case 1:
16508 : : if (!
16509 : : #line 32129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16510 : : (TARGET_AVXVNNIINT16 || TARGET_AVX10_2))
16511 : : return -1;
16512 : : return 10506; /* vpdpwuuds_v4si */
16513 : :
16514 : : case 2:
16515 : : if (!
16516 : : #line 32140 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16517 : : (TARGET_AVX10_2))
16518 : : return -1;
16519 : : return 10512; /* vpdpwuuds_v16si */
16520 : :
16521 : : default:
16522 : : return -1;
16523 : : }
16524 : :
16525 : : case 245:
16526 : : x3 = XEXP (x1, 0);
16527 : : operands[0] = x3;
16528 : : x4 = XVECEXP (x2, 0, 0);
16529 : : operands[1] = x4;
16530 : : x5 = XVECEXP (x2, 0, 1);
16531 : : operands[2] = x5;
16532 : : x6 = XVECEXP (x2, 0, 2);
16533 : : operands[3] = x6;
16534 : : switch (GET_MODE (operands[0]))
16535 : : {
16536 : : case E_V16SFmode:
16537 : : if (pattern171 (x2,
16538 : : E_V16SFmode) != 0
16539 : : || !
16540 : : #line 32192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16541 : : (TARGET_AVX10_2))
16542 : : return -1;
16543 : : return 10549; /* vdpphps_v16sf */
16544 : :
16545 : : case E_V8SFmode:
16546 : : if (pattern171 (x2,
16547 : : E_V8SFmode) != 0
16548 : : || !(
16549 : : #line 32192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16550 : : (TARGET_AVX10_2) &&
16551 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16552 : : (TARGET_AVX512VL)))
16553 : : return -1;
16554 : : return 10550; /* vdpphps_v8sf */
16555 : :
16556 : : case E_V4SFmode:
16557 : : if (pattern171 (x2,
16558 : : E_V4SFmode) != 0
16559 : : || !(
16560 : : #line 32192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16561 : : (TARGET_AVX10_2) &&
16562 : : #line 529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16563 : : (TARGET_AVX512VL)))
16564 : : return -1;
16565 : : return 10551; /* vdpphps_v4sf */
16566 : :
16567 : : default:
16568 : : return -1;
16569 : : }
16570 : :
16571 : : case 278:
16572 : : x3 = XEXP (x1, 0);
16573 : : operands[0] = x3;
16574 : : x4 = XVECEXP (x2, 0, 0);
16575 : : operands[1] = x4;
16576 : : x5 = XVECEXP (x2, 0, 1);
16577 : : operands[2] = x5;
16578 : : x6 = XVECEXP (x2, 0, 2);
16579 : : operands[3] = x6;
16580 : : if (!const_0_to_255_operand (operands[3], E_SImode))
16581 : : return -1;
16582 : : switch (GET_MODE (operands[0]))
16583 : : {
16584 : : case E_V32BFmode:
16585 : : if (pattern1018 (x2,
16586 : : E_V32BFmode) != 0
16587 : : || !
16588 : : #line 32782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16589 : : (TARGET_AVX10_2))
16590 : : return -1;
16591 : : return 10870; /* avx10_2_minmaxbf16_v32bf */
16592 : :
16593 : : case E_V16BFmode:
16594 : : if (pattern1018 (x2,
16595 : : E_V16BFmode) != 0
16596 : : || !
16597 : : #line 32782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16598 : : (TARGET_AVX10_2))
16599 : : return -1;
16600 : : return 10872; /* avx10_2_minmaxbf16_v16bf */
16601 : :
16602 : : case E_V8BFmode:
16603 : : if (pattern1018 (x2,
16604 : : E_V8BFmode) != 0
16605 : : || !
16606 : : #line 32782 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16607 : : (TARGET_AVX10_2))
16608 : : return -1;
16609 : : return 10874; /* avx10_2_minmaxbf16_v8bf */
16610 : :
16611 : : default:
16612 : : return -1;
16613 : : }
16614 : :
16615 : : case 279:
16616 : : return recog_254 (x1, insn, pnum_clobbers);
16617 : :
16618 : : default:
16619 : : return -1;
16620 : : }
16621 : : }
16622 : :
16623 : : int
16624 : : recog_297 (rtx x1 ATTRIBUTE_UNUSED,
16625 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16626 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16627 : : {
16628 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16629 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16630 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16631 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
16632 : : rtx x26, x27, x28, x29, x30, x31, x32, x33;
16633 : : rtx x34, x35;
16634 : : int res ATTRIBUTE_UNUSED;
16635 : : x2 = XEXP (x1, 1);
16636 : : x3 = XEXP (x2, 1);
16637 : : if (pattern660 (x3) != 0
16638 : : || !nonimmediate_operand (operands[0], E_V32QImode)
16639 : : || GET_MODE (x2) != E_V32QImode)
16640 : : return -1;
16641 : : x4 = XVECEXP (x3, 0, 0);
16642 : : switch (XWINT (x4, 0))
16643 : : {
16644 : : case 0L:
16645 : : if (pattern1762 (x3) != 0)
16646 : : return -1;
16647 : : x5 = XVECEXP (x3, 0, 16);
16648 : : if (XWINT (x5, 0) != 16L)
16649 : : return -1;
16650 : : x6 = XVECEXP (x3, 0, 17);
16651 : : if (XWINT (x6, 0) != 17L)
16652 : : return -1;
16653 : : x7 = XVECEXP (x3, 0, 18);
16654 : : if (XWINT (x7, 0) != 18L)
16655 : : return -1;
16656 : : x8 = XVECEXP (x3, 0, 19);
16657 : : if (XWINT (x8, 0) != 19L)
16658 : : return -1;
16659 : : x9 = XVECEXP (x3, 0, 20);
16660 : : if (XWINT (x9, 0) != 20L)
16661 : : return -1;
16662 : : x10 = XVECEXP (x3, 0, 21);
16663 : : if (XWINT (x10, 0) != 21L)
16664 : : return -1;
16665 : : x11 = XVECEXP (x3, 0, 22);
16666 : : if (XWINT (x11, 0) != 22L)
16667 : : return -1;
16668 : : x12 = XVECEXP (x3, 0, 23);
16669 : : if (XWINT (x12, 0) != 23L
16670 : : || pattern1880 (x3) != 0)
16671 : : return -1;
16672 : : x13 = XVECEXP (x3, 0, 28);
16673 : : if (XWINT (x13, 0) != 28L)
16674 : : return -1;
16675 : : x14 = XVECEXP (x3, 0, 29);
16676 : : if (XWINT (x14, 0) != 29L)
16677 : : return -1;
16678 : : x15 = XVECEXP (x3, 0, 30);
16679 : : if (XWINT (x15, 0) != 30L)
16680 : : return -1;
16681 : : x16 = XVECEXP (x3, 0, 31);
16682 : : if (XWINT (x16, 0) != 31L
16683 : : || !nonimmediate_operand (operands[1], E_V64QImode)
16684 : : || !
16685 : : #line 13159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16686 : : (TARGET_AVX512F
16687 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
16688 : : return -1;
16689 : : return 5318; /* vec_extract_lo_v64qi */
16690 : :
16691 : : case 32L:
16692 : : x17 = XVECEXP (x3, 0, 1);
16693 : : if (XWINT (x17, 0) != 33L)
16694 : : return -1;
16695 : : x18 = XVECEXP (x3, 0, 2);
16696 : : if (XWINT (x18, 0) != 34L)
16697 : : return -1;
16698 : : x19 = XVECEXP (x3, 0, 3);
16699 : : if (XWINT (x19, 0) != 35L)
16700 : : return -1;
16701 : : x20 = XVECEXP (x3, 0, 4);
16702 : : if (XWINT (x20, 0) != 36L)
16703 : : return -1;
16704 : : x21 = XVECEXP (x3, 0, 5);
16705 : : if (XWINT (x21, 0) != 37L)
16706 : : return -1;
16707 : : x22 = XVECEXP (x3, 0, 6);
16708 : : if (XWINT (x22, 0) != 38L)
16709 : : return -1;
16710 : : x23 = XVECEXP (x3, 0, 7);
16711 : : if (XWINT (x23, 0) != 39L)
16712 : : return -1;
16713 : : x24 = XVECEXP (x3, 0, 8);
16714 : : if (XWINT (x24, 0) != 40L)
16715 : : return -1;
16716 : : x25 = XVECEXP (x3, 0, 9);
16717 : : if (XWINT (x25, 0) != 41L)
16718 : : return -1;
16719 : : x26 = XVECEXP (x3, 0, 10);
16720 : : if (XWINT (x26, 0) != 42L)
16721 : : return -1;
16722 : : x27 = XVECEXP (x3, 0, 11);
16723 : : if (XWINT (x27, 0) != 43L)
16724 : : return -1;
16725 : : x28 = XVECEXP (x3, 0, 12);
16726 : : if (XWINT (x28, 0) != 44L)
16727 : : return -1;
16728 : : x29 = XVECEXP (x3, 0, 13);
16729 : : if (XWINT (x29, 0) != 45L)
16730 : : return -1;
16731 : : x30 = XVECEXP (x3, 0, 14);
16732 : : if (XWINT (x30, 0) != 46L)
16733 : : return -1;
16734 : : x31 = XVECEXP (x3, 0, 15);
16735 : : if (XWINT (x31, 0) != 47L)
16736 : : return -1;
16737 : : x5 = XVECEXP (x3, 0, 16);
16738 : : if (XWINT (x5, 0) != 48L)
16739 : : return -1;
16740 : : x6 = XVECEXP (x3, 0, 17);
16741 : : if (XWINT (x6, 0) != 49L)
16742 : : return -1;
16743 : : x7 = XVECEXP (x3, 0, 18);
16744 : : if (XWINT (x7, 0) != 50L)
16745 : : return -1;
16746 : : x8 = XVECEXP (x3, 0, 19);
16747 : : if (XWINT (x8, 0) != 51L)
16748 : : return -1;
16749 : : x9 = XVECEXP (x3, 0, 20);
16750 : : if (XWINT (x9, 0) != 52L)
16751 : : return -1;
16752 : : x10 = XVECEXP (x3, 0, 21);
16753 : : if (XWINT (x10, 0) != 53L)
16754 : : return -1;
16755 : : x11 = XVECEXP (x3, 0, 22);
16756 : : if (XWINT (x11, 0) != 54L)
16757 : : return -1;
16758 : : x12 = XVECEXP (x3, 0, 23);
16759 : : if (XWINT (x12, 0) != 55L)
16760 : : return -1;
16761 : : x32 = XVECEXP (x3, 0, 24);
16762 : : if (XWINT (x32, 0) != 56L)
16763 : : return -1;
16764 : : x33 = XVECEXP (x3, 0, 25);
16765 : : if (XWINT (x33, 0) != 57L)
16766 : : return -1;
16767 : : x34 = XVECEXP (x3, 0, 26);
16768 : : if (XWINT (x34, 0) != 58L)
16769 : : return -1;
16770 : : x35 = XVECEXP (x3, 0, 27);
16771 : : if (XWINT (x35, 0) != 59L)
16772 : : return -1;
16773 : : x13 = XVECEXP (x3, 0, 28);
16774 : : if (XWINT (x13, 0) != 60L)
16775 : : return -1;
16776 : : x14 = XVECEXP (x3, 0, 29);
16777 : : if (XWINT (x14, 0) != 61L)
16778 : : return -1;
16779 : : x15 = XVECEXP (x3, 0, 30);
16780 : : if (XWINT (x15, 0) != 62L)
16781 : : return -1;
16782 : : x16 = XVECEXP (x3, 0, 31);
16783 : : if (XWINT (x16, 0) != 63L
16784 : : || !register_operand (operands[1], E_V64QImode)
16785 : : || !
16786 : : #line 13208 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16787 : : (TARGET_AVX512F))
16788 : : return -1;
16789 : : return 5319; /* vec_extract_hi_v64qi */
16790 : :
16791 : : default:
16792 : : return -1;
16793 : : }
16794 : : }
16795 : :
16796 : : int
16797 : : recog_306 (rtx x1 ATTRIBUTE_UNUSED,
16798 : : rtx_insn *insn ATTRIBUTE_UNUSED,
16799 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
16800 : : {
16801 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16802 : : rtx x2, x3, x4;
16803 : : int res ATTRIBUTE_UNUSED;
16804 : : x2 = XEXP (x1, 1);
16805 : : x3 = XEXP (x2, 0);
16806 : : x4 = XEXP (x3, 0);
16807 : : switch (GET_CODE (x4))
16808 : : {
16809 : : case REG:
16810 : : case SUBREG:
16811 : : case MEM:
16812 : : case NOT:
16813 : : switch (pattern520 (x2))
16814 : : {
16815 : : case 0:
16816 : : if (!(
16817 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16818 : : ((64 == 64 || TARGET_AVX512VL
16819 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16820 : : && ix86_pre_reload_split ()
16821 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16822 : : STRIP_UNARY (operands[4]))
16823 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16824 : : STRIP_UNARY (operands[4]))
16825 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16826 : : STRIP_UNARY (operands[3]))
16827 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16828 : : STRIP_UNARY (operands[3])))) &&
16829 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16830 : : (TARGET_AVX512F)))
16831 : : return -1;
16832 : : return 5464; /* *avx512bw_vpternlogv64qi_1 */
16833 : :
16834 : : case 1:
16835 : : if (!(
16836 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16837 : : ((32 == 64 || TARGET_AVX512VL
16838 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16839 : : && ix86_pre_reload_split ()
16840 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16841 : : STRIP_UNARY (operands[4]))
16842 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16843 : : STRIP_UNARY (operands[4]))
16844 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16845 : : STRIP_UNARY (operands[3]))
16846 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16847 : : STRIP_UNARY (operands[3])))) &&
16848 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16849 : : (TARGET_AVX)))
16850 : : return -1;
16851 : : return 5491; /* *avx512vl_vpternlogv32qi_1 */
16852 : :
16853 : : case 2:
16854 : : if (!
16855 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16856 : : ((16 == 64 || TARGET_AVX512VL
16857 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16858 : : && ix86_pre_reload_split ()
16859 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16860 : : STRIP_UNARY (operands[4]))
16861 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16862 : : STRIP_UNARY (operands[4]))
16863 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16864 : : STRIP_UNARY (operands[3]))
16865 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16866 : : STRIP_UNARY (operands[3])))))
16867 : : return -1;
16868 : : return 5518; /* *avx512vl_vpternlogv16qi_1 */
16869 : :
16870 : : case 3:
16871 : : if (!(
16872 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16873 : : ((64 == 64 || TARGET_AVX512VL
16874 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16875 : : && ix86_pre_reload_split ()
16876 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16877 : : STRIP_UNARY (operands[4]))
16878 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16879 : : STRIP_UNARY (operands[4]))
16880 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16881 : : STRIP_UNARY (operands[3]))
16882 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16883 : : STRIP_UNARY (operands[3])))) &&
16884 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16885 : : (TARGET_AVX512F)))
16886 : : return -1;
16887 : : return 5545; /* *avx512bw_vpternlogv32hi_1 */
16888 : :
16889 : : case 4:
16890 : : if (!(
16891 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16892 : : ((32 == 64 || TARGET_AVX512VL
16893 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16894 : : && ix86_pre_reload_split ()
16895 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16896 : : STRIP_UNARY (operands[4]))
16897 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16898 : : STRIP_UNARY (operands[4]))
16899 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16900 : : STRIP_UNARY (operands[3]))
16901 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16902 : : STRIP_UNARY (operands[3])))) &&
16903 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16904 : : (TARGET_AVX)))
16905 : : return -1;
16906 : : return 5572; /* *avx512vl_vpternlogv16hi_1 */
16907 : :
16908 : : case 5:
16909 : : if (!
16910 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16911 : : ((16 == 64 || TARGET_AVX512VL
16912 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16913 : : && ix86_pre_reload_split ()
16914 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16915 : : STRIP_UNARY (operands[4]))
16916 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16917 : : STRIP_UNARY (operands[4]))
16918 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16919 : : STRIP_UNARY (operands[3]))
16920 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16921 : : STRIP_UNARY (operands[3])))))
16922 : : return -1;
16923 : : return 5599; /* *avx512vl_vpternlogv8hi_1 */
16924 : :
16925 : : case 6:
16926 : : if (!(
16927 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16928 : : ((64 == 64 || TARGET_AVX512VL
16929 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16930 : : && ix86_pre_reload_split ()
16931 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16932 : : STRIP_UNARY (operands[4]))
16933 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16934 : : STRIP_UNARY (operands[4]))
16935 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16936 : : STRIP_UNARY (operands[3]))
16937 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16938 : : STRIP_UNARY (operands[3])))) &&
16939 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16940 : : (TARGET_AVX512F)))
16941 : : return -1;
16942 : : return 5626; /* *avx512f_vpternlogv16si_1 */
16943 : :
16944 : : case 7:
16945 : : if (!(
16946 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16947 : : ((32 == 64 || TARGET_AVX512VL
16948 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16949 : : && ix86_pre_reload_split ()
16950 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16951 : : STRIP_UNARY (operands[4]))
16952 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16953 : : STRIP_UNARY (operands[4]))
16954 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16955 : : STRIP_UNARY (operands[3]))
16956 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16957 : : STRIP_UNARY (operands[3])))) &&
16958 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16959 : : (TARGET_AVX)))
16960 : : return -1;
16961 : : return 5653; /* *avx512vl_vpternlogv8si_1 */
16962 : :
16963 : : case 8:
16964 : : if (!
16965 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16966 : : ((16 == 64 || TARGET_AVX512VL
16967 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16968 : : && ix86_pre_reload_split ()
16969 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16970 : : STRIP_UNARY (operands[4]))
16971 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16972 : : STRIP_UNARY (operands[4]))
16973 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16974 : : STRIP_UNARY (operands[3]))
16975 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16976 : : STRIP_UNARY (operands[3])))))
16977 : : return -1;
16978 : : return 5680; /* *avx512vl_vpternlogv4si_1 */
16979 : :
16980 : : case 9:
16981 : : if (!(
16982 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16983 : : ((64 == 64 || TARGET_AVX512VL
16984 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16985 : : && ix86_pre_reload_split ()
16986 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16987 : : STRIP_UNARY (operands[4]))
16988 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16989 : : STRIP_UNARY (operands[4]))
16990 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
16991 : : STRIP_UNARY (operands[3]))
16992 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
16993 : : STRIP_UNARY (operands[3])))) &&
16994 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16995 : : (TARGET_AVX512F)))
16996 : : return -1;
16997 : : return 5707; /* *avx512f_vpternlogv8di_1 */
16998 : :
16999 : : case 10:
17000 : : if (!(
17001 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17002 : : ((32 == 64 || TARGET_AVX512VL
17003 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17004 : : && ix86_pre_reload_split ()
17005 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17006 : : STRIP_UNARY (operands[4]))
17007 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17008 : : STRIP_UNARY (operands[4]))
17009 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17010 : : STRIP_UNARY (operands[3]))
17011 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17012 : : STRIP_UNARY (operands[3])))) &&
17013 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17014 : : (TARGET_AVX)))
17015 : : return -1;
17016 : : return 5734; /* *avx512vl_vpternlogv4di_1 */
17017 : :
17018 : : case 11:
17019 : : if (!
17020 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17021 : : ((16 == 64 || TARGET_AVX512VL
17022 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17023 : : && ix86_pre_reload_split ()
17024 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17025 : : STRIP_UNARY (operands[4]))
17026 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17027 : : STRIP_UNARY (operands[4]))
17028 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17029 : : STRIP_UNARY (operands[3]))
17030 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17031 : : STRIP_UNARY (operands[3])))))
17032 : : return -1;
17033 : : return 5761; /* *avx512vl_vpternlogv2di_1 */
17034 : :
17035 : : case 12:
17036 : : if (!(
17037 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17038 : : ((64 == 64 || TARGET_AVX512VL
17039 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17040 : : && ix86_pre_reload_split ()
17041 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17042 : : STRIP_UNARY (operands[4]))
17043 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17044 : : STRIP_UNARY (operands[4]))
17045 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17046 : : STRIP_UNARY (operands[3]))
17047 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17048 : : STRIP_UNARY (operands[3])))) &&
17049 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17050 : : (TARGET_AVX512F)))
17051 : : return -1;
17052 : : return 5467; /* *avx512bw_vpternlogv64qi_1 */
17053 : :
17054 : : case 13:
17055 : : if (!(
17056 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17057 : : ((32 == 64 || TARGET_AVX512VL
17058 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17059 : : && ix86_pre_reload_split ()
17060 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17061 : : STRIP_UNARY (operands[4]))
17062 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17063 : : STRIP_UNARY (operands[4]))
17064 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17065 : : STRIP_UNARY (operands[3]))
17066 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17067 : : STRIP_UNARY (operands[3])))) &&
17068 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17069 : : (TARGET_AVX)))
17070 : : return -1;
17071 : : return 5494; /* *avx512vl_vpternlogv32qi_1 */
17072 : :
17073 : : case 14:
17074 : : if (!
17075 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17076 : : ((16 == 64 || TARGET_AVX512VL
17077 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17078 : : && ix86_pre_reload_split ()
17079 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17080 : : STRIP_UNARY (operands[4]))
17081 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17082 : : STRIP_UNARY (operands[4]))
17083 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17084 : : STRIP_UNARY (operands[3]))
17085 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17086 : : STRIP_UNARY (operands[3])))))
17087 : : return -1;
17088 : : return 5521; /* *avx512vl_vpternlogv16qi_1 */
17089 : :
17090 : : case 15:
17091 : : if (!(
17092 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17093 : : ((64 == 64 || TARGET_AVX512VL
17094 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17095 : : && ix86_pre_reload_split ()
17096 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17097 : : STRIP_UNARY (operands[4]))
17098 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17099 : : STRIP_UNARY (operands[4]))
17100 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17101 : : STRIP_UNARY (operands[3]))
17102 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17103 : : STRIP_UNARY (operands[3])))) &&
17104 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17105 : : (TARGET_AVX512F)))
17106 : : return -1;
17107 : : return 5548; /* *avx512bw_vpternlogv32hi_1 */
17108 : :
17109 : : case 16:
17110 : : if (!(
17111 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17112 : : ((32 == 64 || TARGET_AVX512VL
17113 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17114 : : && ix86_pre_reload_split ()
17115 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17116 : : STRIP_UNARY (operands[4]))
17117 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17118 : : STRIP_UNARY (operands[4]))
17119 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17120 : : STRIP_UNARY (operands[3]))
17121 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17122 : : STRIP_UNARY (operands[3])))) &&
17123 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17124 : : (TARGET_AVX)))
17125 : : return -1;
17126 : : return 5575; /* *avx512vl_vpternlogv16hi_1 */
17127 : :
17128 : : case 17:
17129 : : if (!
17130 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17131 : : ((16 == 64 || TARGET_AVX512VL
17132 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17133 : : && ix86_pre_reload_split ()
17134 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17135 : : STRIP_UNARY (operands[4]))
17136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17137 : : STRIP_UNARY (operands[4]))
17138 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17139 : : STRIP_UNARY (operands[3]))
17140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17141 : : STRIP_UNARY (operands[3])))))
17142 : : return -1;
17143 : : return 5602; /* *avx512vl_vpternlogv8hi_1 */
17144 : :
17145 : : case 18:
17146 : : if (!(
17147 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17148 : : ((64 == 64 || TARGET_AVX512VL
17149 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17150 : : && ix86_pre_reload_split ()
17151 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17152 : : STRIP_UNARY (operands[4]))
17153 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17154 : : STRIP_UNARY (operands[4]))
17155 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17156 : : STRIP_UNARY (operands[3]))
17157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17158 : : STRIP_UNARY (operands[3])))) &&
17159 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17160 : : (TARGET_AVX512F)))
17161 : : return -1;
17162 : : return 5629; /* *avx512f_vpternlogv16si_1 */
17163 : :
17164 : : case 19:
17165 : : if (!(
17166 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17167 : : ((32 == 64 || TARGET_AVX512VL
17168 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17169 : : && ix86_pre_reload_split ()
17170 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17171 : : STRIP_UNARY (operands[4]))
17172 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17173 : : STRIP_UNARY (operands[4]))
17174 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17175 : : STRIP_UNARY (operands[3]))
17176 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17177 : : STRIP_UNARY (operands[3])))) &&
17178 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17179 : : (TARGET_AVX)))
17180 : : return -1;
17181 : : return 5656; /* *avx512vl_vpternlogv8si_1 */
17182 : :
17183 : : case 20:
17184 : : if (!
17185 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17186 : : ((16 == 64 || TARGET_AVX512VL
17187 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17188 : : && ix86_pre_reload_split ()
17189 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17190 : : STRIP_UNARY (operands[4]))
17191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17192 : : STRIP_UNARY (operands[4]))
17193 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17194 : : STRIP_UNARY (operands[3]))
17195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17196 : : STRIP_UNARY (operands[3])))))
17197 : : return -1;
17198 : : return 5683; /* *avx512vl_vpternlogv4si_1 */
17199 : :
17200 : : case 21:
17201 : : if (!(
17202 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17203 : : ((64 == 64 || TARGET_AVX512VL
17204 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17205 : : && ix86_pre_reload_split ()
17206 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17207 : : STRIP_UNARY (operands[4]))
17208 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17209 : : STRIP_UNARY (operands[4]))
17210 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17211 : : STRIP_UNARY (operands[3]))
17212 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17213 : : STRIP_UNARY (operands[3])))) &&
17214 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17215 : : (TARGET_AVX512F)))
17216 : : return -1;
17217 : : return 5710; /* *avx512f_vpternlogv8di_1 */
17218 : :
17219 : : case 22:
17220 : : if (!(
17221 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17222 : : ((32 == 64 || TARGET_AVX512VL
17223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17224 : : && ix86_pre_reload_split ()
17225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17226 : : STRIP_UNARY (operands[4]))
17227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17228 : : STRIP_UNARY (operands[4]))
17229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17230 : : STRIP_UNARY (operands[3]))
17231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17232 : : STRIP_UNARY (operands[3])))) &&
17233 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17234 : : (TARGET_AVX)))
17235 : : return -1;
17236 : : return 5737; /* *avx512vl_vpternlogv4di_1 */
17237 : :
17238 : : case 23:
17239 : : if (!
17240 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17241 : : ((16 == 64 || TARGET_AVX512VL
17242 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17243 : : && ix86_pre_reload_split ()
17244 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17245 : : STRIP_UNARY (operands[4]))
17246 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17247 : : STRIP_UNARY (operands[4]))
17248 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17249 : : STRIP_UNARY (operands[3]))
17250 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17251 : : STRIP_UNARY (operands[3])))))
17252 : : return -1;
17253 : : return 5764; /* *avx512vl_vpternlogv2di_1 */
17254 : :
17255 : : case 24:
17256 : : if (!(
17257 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17258 : : ((64 == 64 || TARGET_AVX512VL
17259 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17260 : : && ix86_pre_reload_split ()
17261 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17262 : : STRIP_UNARY (operands[4]))
17263 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17264 : : STRIP_UNARY (operands[4]))
17265 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17266 : : STRIP_UNARY (operands[3]))
17267 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17268 : : STRIP_UNARY (operands[3])))) &&
17269 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17270 : : (TARGET_AVX512F)))
17271 : : return -1;
17272 : : return 5470; /* *avx512bw_vpternlogv64qi_1 */
17273 : :
17274 : : case 25:
17275 : : if (!(
17276 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17277 : : ((32 == 64 || TARGET_AVX512VL
17278 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17279 : : && ix86_pre_reload_split ()
17280 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17281 : : STRIP_UNARY (operands[4]))
17282 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17283 : : STRIP_UNARY (operands[4]))
17284 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17285 : : STRIP_UNARY (operands[3]))
17286 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17287 : : STRIP_UNARY (operands[3])))) &&
17288 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17289 : : (TARGET_AVX)))
17290 : : return -1;
17291 : : return 5497; /* *avx512vl_vpternlogv32qi_1 */
17292 : :
17293 : : case 26:
17294 : : if (!
17295 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17296 : : ((16 == 64 || TARGET_AVX512VL
17297 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17298 : : && ix86_pre_reload_split ()
17299 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17300 : : STRIP_UNARY (operands[4]))
17301 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17302 : : STRIP_UNARY (operands[4]))
17303 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17304 : : STRIP_UNARY (operands[3]))
17305 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17306 : : STRIP_UNARY (operands[3])))))
17307 : : return -1;
17308 : : return 5524; /* *avx512vl_vpternlogv16qi_1 */
17309 : :
17310 : : case 27:
17311 : : if (!(
17312 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17313 : : ((64 == 64 || TARGET_AVX512VL
17314 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17315 : : && ix86_pre_reload_split ()
17316 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17317 : : STRIP_UNARY (operands[4]))
17318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17319 : : STRIP_UNARY (operands[4]))
17320 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17321 : : STRIP_UNARY (operands[3]))
17322 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17323 : : STRIP_UNARY (operands[3])))) &&
17324 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17325 : : (TARGET_AVX512F)))
17326 : : return -1;
17327 : : return 5551; /* *avx512bw_vpternlogv32hi_1 */
17328 : :
17329 : : case 28:
17330 : : if (!(
17331 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17332 : : ((32 == 64 || TARGET_AVX512VL
17333 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17334 : : && ix86_pre_reload_split ()
17335 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17336 : : STRIP_UNARY (operands[4]))
17337 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17338 : : STRIP_UNARY (operands[4]))
17339 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17340 : : STRIP_UNARY (operands[3]))
17341 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17342 : : STRIP_UNARY (operands[3])))) &&
17343 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17344 : : (TARGET_AVX)))
17345 : : return -1;
17346 : : return 5578; /* *avx512vl_vpternlogv16hi_1 */
17347 : :
17348 : : case 29:
17349 : : if (!
17350 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17351 : : ((16 == 64 || TARGET_AVX512VL
17352 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17353 : : && ix86_pre_reload_split ()
17354 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17355 : : STRIP_UNARY (operands[4]))
17356 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17357 : : STRIP_UNARY (operands[4]))
17358 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17359 : : STRIP_UNARY (operands[3]))
17360 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17361 : : STRIP_UNARY (operands[3])))))
17362 : : return -1;
17363 : : return 5605; /* *avx512vl_vpternlogv8hi_1 */
17364 : :
17365 : : case 30:
17366 : : if (!(
17367 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17368 : : ((64 == 64 || TARGET_AVX512VL
17369 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17370 : : && ix86_pre_reload_split ()
17371 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17372 : : STRIP_UNARY (operands[4]))
17373 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17374 : : STRIP_UNARY (operands[4]))
17375 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17376 : : STRIP_UNARY (operands[3]))
17377 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17378 : : STRIP_UNARY (operands[3])))) &&
17379 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17380 : : (TARGET_AVX512F)))
17381 : : return -1;
17382 : : return 5632; /* *avx512f_vpternlogv16si_1 */
17383 : :
17384 : : case 31:
17385 : : if (!(
17386 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17387 : : ((32 == 64 || TARGET_AVX512VL
17388 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17389 : : && ix86_pre_reload_split ()
17390 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17391 : : STRIP_UNARY (operands[4]))
17392 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17393 : : STRIP_UNARY (operands[4]))
17394 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17395 : : STRIP_UNARY (operands[3]))
17396 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17397 : : STRIP_UNARY (operands[3])))) &&
17398 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17399 : : (TARGET_AVX)))
17400 : : return -1;
17401 : : return 5659; /* *avx512vl_vpternlogv8si_1 */
17402 : :
17403 : : case 32:
17404 : : if (!
17405 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17406 : : ((16 == 64 || TARGET_AVX512VL
17407 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17408 : : && ix86_pre_reload_split ()
17409 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17410 : : STRIP_UNARY (operands[4]))
17411 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17412 : : STRIP_UNARY (operands[4]))
17413 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17414 : : STRIP_UNARY (operands[3]))
17415 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17416 : : STRIP_UNARY (operands[3])))))
17417 : : return -1;
17418 : : return 5686; /* *avx512vl_vpternlogv4si_1 */
17419 : :
17420 : : case 33:
17421 : : if (!(
17422 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17423 : : ((64 == 64 || TARGET_AVX512VL
17424 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17425 : : && ix86_pre_reload_split ()
17426 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17427 : : STRIP_UNARY (operands[4]))
17428 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17429 : : STRIP_UNARY (operands[4]))
17430 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17431 : : STRIP_UNARY (operands[3]))
17432 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17433 : : STRIP_UNARY (operands[3])))) &&
17434 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17435 : : (TARGET_AVX512F)))
17436 : : return -1;
17437 : : return 5713; /* *avx512f_vpternlogv8di_1 */
17438 : :
17439 : : case 34:
17440 : : if (!(
17441 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17442 : : ((32 == 64 || TARGET_AVX512VL
17443 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17444 : : && ix86_pre_reload_split ()
17445 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17446 : : STRIP_UNARY (operands[4]))
17447 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17448 : : STRIP_UNARY (operands[4]))
17449 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17450 : : STRIP_UNARY (operands[3]))
17451 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17452 : : STRIP_UNARY (operands[3])))) &&
17453 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17454 : : (TARGET_AVX)))
17455 : : return -1;
17456 : : return 5740; /* *avx512vl_vpternlogv4di_1 */
17457 : :
17458 : : case 35:
17459 : : if (!
17460 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17461 : : ((16 == 64 || TARGET_AVX512VL
17462 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17463 : : && ix86_pre_reload_split ()
17464 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17465 : : STRIP_UNARY (operands[4]))
17466 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17467 : : STRIP_UNARY (operands[4]))
17468 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17469 : : STRIP_UNARY (operands[3]))
17470 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17471 : : STRIP_UNARY (operands[3])))))
17472 : : return -1;
17473 : : return 5767; /* *avx512vl_vpternlogv2di_1 */
17474 : :
17475 : : case 36:
17476 : : if (!(
17477 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17478 : : ((64 == 64 || TARGET_AVX512VL
17479 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17480 : : && ix86_pre_reload_split ()) &&
17481 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17482 : : (TARGET_AVX512F)))
17483 : : return -1;
17484 : : return 6754; /* *avx512bw_vpternlogv64qi_3 */
17485 : :
17486 : : case 37:
17487 : : if (!(
17488 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17489 : : ((32 == 64 || TARGET_AVX512VL
17490 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17491 : : && ix86_pre_reload_split ()) &&
17492 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17493 : : (TARGET_AVX)))
17494 : : return -1;
17495 : : return 6763; /* *avx512vl_vpternlogv32qi_3 */
17496 : :
17497 : : case 38:
17498 : : if (!
17499 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17500 : : ((16 == 64 || TARGET_AVX512VL
17501 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17502 : : && ix86_pre_reload_split ()))
17503 : : return -1;
17504 : : return 6772; /* *avx512vl_vpternlogv16qi_3 */
17505 : :
17506 : : case 39:
17507 : : if (!(
17508 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17509 : : ((64 == 64 || TARGET_AVX512VL
17510 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17511 : : && ix86_pre_reload_split ()) &&
17512 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17513 : : (TARGET_AVX512F)))
17514 : : return -1;
17515 : : return 6781; /* *avx512bw_vpternlogv32hi_3 */
17516 : :
17517 : : case 40:
17518 : : if (!(
17519 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17520 : : ((32 == 64 || TARGET_AVX512VL
17521 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17522 : : && ix86_pre_reload_split ()) &&
17523 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17524 : : (TARGET_AVX)))
17525 : : return -1;
17526 : : return 6790; /* *avx512vl_vpternlogv16hi_3 */
17527 : :
17528 : : case 41:
17529 : : if (!
17530 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17531 : : ((16 == 64 || TARGET_AVX512VL
17532 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17533 : : && ix86_pre_reload_split ()))
17534 : : return -1;
17535 : : return 6799; /* *avx512vl_vpternlogv8hi_3 */
17536 : :
17537 : : case 42:
17538 : : if (!(
17539 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17540 : : ((64 == 64 || TARGET_AVX512VL
17541 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17542 : : && ix86_pre_reload_split ()) &&
17543 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17544 : : (TARGET_AVX512F)))
17545 : : return -1;
17546 : : return 6808; /* *avx512f_vpternlogv16si_3 */
17547 : :
17548 : : case 43:
17549 : : if (!(
17550 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17551 : : ((32 == 64 || TARGET_AVX512VL
17552 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17553 : : && ix86_pre_reload_split ()) &&
17554 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17555 : : (TARGET_AVX)))
17556 : : return -1;
17557 : : return 6817; /* *avx512vl_vpternlogv8si_3 */
17558 : :
17559 : : case 44:
17560 : : if (!
17561 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17562 : : ((16 == 64 || TARGET_AVX512VL
17563 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17564 : : && ix86_pre_reload_split ()))
17565 : : return -1;
17566 : : return 6826; /* *avx512vl_vpternlogv4si_3 */
17567 : :
17568 : : case 45:
17569 : : if (!(
17570 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17571 : : ((64 == 64 || TARGET_AVX512VL
17572 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17573 : : && ix86_pre_reload_split ()) &&
17574 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17575 : : (TARGET_AVX512F)))
17576 : : return -1;
17577 : : return 6835; /* *avx512f_vpternlogv8di_3 */
17578 : :
17579 : : case 46:
17580 : : if (!(
17581 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17582 : : ((32 == 64 || TARGET_AVX512VL
17583 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17584 : : && ix86_pre_reload_split ()) &&
17585 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17586 : : (TARGET_AVX)))
17587 : : return -1;
17588 : : return 6844; /* *avx512vl_vpternlogv4di_3 */
17589 : :
17590 : : case 47:
17591 : : if (!
17592 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17593 : : ((16 == 64 || TARGET_AVX512VL
17594 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17595 : : && ix86_pre_reload_split ()))
17596 : : return -1;
17597 : : return 6853; /* *avx512vl_vpternlogv2di_3 */
17598 : :
17599 : : default:
17600 : : return -1;
17601 : : }
17602 : :
17603 : : case AND:
17604 : : switch (pattern522 (x2))
17605 : : {
17606 : : case 0:
17607 : : if (!(
17608 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17609 : : ((64 == 64 || TARGET_AVX512VL
17610 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17611 : : && ix86_pre_reload_split ()
17612 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17613 : : STRIP_UNARY (operands[4]))
17614 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17615 : : STRIP_UNARY (operands[4]))
17616 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17617 : : STRIP_UNARY (operands[3]))
17618 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17619 : : STRIP_UNARY (operands[3])))) &&
17620 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17621 : : (TARGET_AVX512F)))
17622 : : return -1;
17623 : : return 6112; /* *avx512bw_vpternlogv64qi_2 */
17624 : :
17625 : : case 1:
17626 : : if (!(
17627 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17628 : : ((32 == 64 || TARGET_AVX512VL
17629 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17630 : : && ix86_pre_reload_split ()
17631 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17632 : : STRIP_UNARY (operands[4]))
17633 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17634 : : STRIP_UNARY (operands[4]))
17635 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17636 : : STRIP_UNARY (operands[3]))
17637 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17638 : : STRIP_UNARY (operands[3])))) &&
17639 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17640 : : (TARGET_AVX)))
17641 : : return -1;
17642 : : return 6139; /* *avx512vl_vpternlogv32qi_2 */
17643 : :
17644 : : case 2:
17645 : : if (!
17646 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17647 : : ((16 == 64 || TARGET_AVX512VL
17648 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17649 : : && ix86_pre_reload_split ()
17650 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17651 : : STRIP_UNARY (operands[4]))
17652 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17653 : : STRIP_UNARY (operands[4]))
17654 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17655 : : STRIP_UNARY (operands[3]))
17656 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17657 : : STRIP_UNARY (operands[3])))))
17658 : : return -1;
17659 : : return 6166; /* *avx512vl_vpternlogv16qi_2 */
17660 : :
17661 : : case 3:
17662 : : if (!(
17663 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17664 : : ((64 == 64 || TARGET_AVX512VL
17665 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17666 : : && ix86_pre_reload_split ()
17667 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17668 : : STRIP_UNARY (operands[4]))
17669 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17670 : : STRIP_UNARY (operands[4]))
17671 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17672 : : STRIP_UNARY (operands[3]))
17673 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17674 : : STRIP_UNARY (operands[3])))) &&
17675 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17676 : : (TARGET_AVX512F)))
17677 : : return -1;
17678 : : return 6193; /* *avx512bw_vpternlogv32hi_2 */
17679 : :
17680 : : case 4:
17681 : : if (!(
17682 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17683 : : ((32 == 64 || TARGET_AVX512VL
17684 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17685 : : && ix86_pre_reload_split ()
17686 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17687 : : STRIP_UNARY (operands[4]))
17688 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17689 : : STRIP_UNARY (operands[4]))
17690 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17691 : : STRIP_UNARY (operands[3]))
17692 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17693 : : STRIP_UNARY (operands[3])))) &&
17694 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17695 : : (TARGET_AVX)))
17696 : : return -1;
17697 : : return 6220; /* *avx512vl_vpternlogv16hi_2 */
17698 : :
17699 : : case 5:
17700 : : if (!
17701 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17702 : : ((16 == 64 || TARGET_AVX512VL
17703 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17704 : : && ix86_pre_reload_split ()
17705 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17706 : : STRIP_UNARY (operands[4]))
17707 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17708 : : STRIP_UNARY (operands[4]))
17709 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17710 : : STRIP_UNARY (operands[3]))
17711 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17712 : : STRIP_UNARY (operands[3])))))
17713 : : return -1;
17714 : : return 6247; /* *avx512vl_vpternlogv8hi_2 */
17715 : :
17716 : : case 6:
17717 : : if (!(
17718 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17719 : : ((64 == 64 || TARGET_AVX512VL
17720 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17721 : : && ix86_pre_reload_split ()
17722 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17723 : : STRIP_UNARY (operands[4]))
17724 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17725 : : STRIP_UNARY (operands[4]))
17726 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17727 : : STRIP_UNARY (operands[3]))
17728 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17729 : : STRIP_UNARY (operands[3])))) &&
17730 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17731 : : (TARGET_AVX512F)))
17732 : : return -1;
17733 : : return 6274; /* *avx512f_vpternlogv16si_2 */
17734 : :
17735 : : case 7:
17736 : : if (!(
17737 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17738 : : ((32 == 64 || TARGET_AVX512VL
17739 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17740 : : && ix86_pre_reload_split ()
17741 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17742 : : STRIP_UNARY (operands[4]))
17743 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17744 : : STRIP_UNARY (operands[4]))
17745 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17746 : : STRIP_UNARY (operands[3]))
17747 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17748 : : STRIP_UNARY (operands[3])))) &&
17749 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17750 : : (TARGET_AVX)))
17751 : : return -1;
17752 : : return 6301; /* *avx512vl_vpternlogv8si_2 */
17753 : :
17754 : : case 8:
17755 : : if (!
17756 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17757 : : ((16 == 64 || TARGET_AVX512VL
17758 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17759 : : && ix86_pre_reload_split ()
17760 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17761 : : STRIP_UNARY (operands[4]))
17762 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17763 : : STRIP_UNARY (operands[4]))
17764 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17765 : : STRIP_UNARY (operands[3]))
17766 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17767 : : STRIP_UNARY (operands[3])))))
17768 : : return -1;
17769 : : return 6328; /* *avx512vl_vpternlogv4si_2 */
17770 : :
17771 : : case 9:
17772 : : if (!(
17773 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17774 : : ((64 == 64 || TARGET_AVX512VL
17775 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17776 : : && ix86_pre_reload_split ()
17777 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17778 : : STRIP_UNARY (operands[4]))
17779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17780 : : STRIP_UNARY (operands[4]))
17781 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17782 : : STRIP_UNARY (operands[3]))
17783 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17784 : : STRIP_UNARY (operands[3])))) &&
17785 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17786 : : (TARGET_AVX512F)))
17787 : : return -1;
17788 : : return 6355; /* *avx512f_vpternlogv8di_2 */
17789 : :
17790 : : case 10:
17791 : : if (!(
17792 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17793 : : ((32 == 64 || TARGET_AVX512VL
17794 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17795 : : && ix86_pre_reload_split ()
17796 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17797 : : STRIP_UNARY (operands[4]))
17798 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17799 : : STRIP_UNARY (operands[4]))
17800 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17801 : : STRIP_UNARY (operands[3]))
17802 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17803 : : STRIP_UNARY (operands[3])))) &&
17804 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17805 : : (TARGET_AVX)))
17806 : : return -1;
17807 : : return 6382; /* *avx512vl_vpternlogv4di_2 */
17808 : :
17809 : : case 11:
17810 : : if (!
17811 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17812 : : ((16 == 64 || TARGET_AVX512VL
17813 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17814 : : && ix86_pre_reload_split ()
17815 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17816 : : STRIP_UNARY (operands[4]))
17817 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17818 : : STRIP_UNARY (operands[4]))
17819 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17820 : : STRIP_UNARY (operands[3]))
17821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17822 : : STRIP_UNARY (operands[3])))))
17823 : : return -1;
17824 : : return 6409; /* *avx512vl_vpternlogv2di_2 */
17825 : :
17826 : : default:
17827 : : return -1;
17828 : : }
17829 : :
17830 : : case IOR:
17831 : : switch (pattern522 (x2))
17832 : : {
17833 : : case 0:
17834 : : if (!(
17835 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17836 : : ((64 == 64 || TARGET_AVX512VL
17837 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17838 : : && ix86_pre_reload_split ()
17839 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17840 : : STRIP_UNARY (operands[4]))
17841 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17842 : : STRIP_UNARY (operands[4]))
17843 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17844 : : STRIP_UNARY (operands[3]))
17845 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17846 : : STRIP_UNARY (operands[3])))) &&
17847 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17848 : : (TARGET_AVX512F)))
17849 : : return -1;
17850 : : return 6115; /* *avx512bw_vpternlogv64qi_2 */
17851 : :
17852 : : case 1:
17853 : : if (!(
17854 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17855 : : ((32 == 64 || TARGET_AVX512VL
17856 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17857 : : && ix86_pre_reload_split ()
17858 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17859 : : STRIP_UNARY (operands[4]))
17860 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17861 : : STRIP_UNARY (operands[4]))
17862 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17863 : : STRIP_UNARY (operands[3]))
17864 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17865 : : STRIP_UNARY (operands[3])))) &&
17866 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17867 : : (TARGET_AVX)))
17868 : : return -1;
17869 : : return 6142; /* *avx512vl_vpternlogv32qi_2 */
17870 : :
17871 : : case 2:
17872 : : if (!
17873 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17874 : : ((16 == 64 || TARGET_AVX512VL
17875 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17876 : : && ix86_pre_reload_split ()
17877 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17878 : : STRIP_UNARY (operands[4]))
17879 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17880 : : STRIP_UNARY (operands[4]))
17881 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17882 : : STRIP_UNARY (operands[3]))
17883 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17884 : : STRIP_UNARY (operands[3])))))
17885 : : return -1;
17886 : : return 6169; /* *avx512vl_vpternlogv16qi_2 */
17887 : :
17888 : : case 3:
17889 : : if (!(
17890 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17891 : : ((64 == 64 || TARGET_AVX512VL
17892 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17893 : : && ix86_pre_reload_split ()
17894 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17895 : : STRIP_UNARY (operands[4]))
17896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17897 : : STRIP_UNARY (operands[4]))
17898 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17899 : : STRIP_UNARY (operands[3]))
17900 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17901 : : STRIP_UNARY (operands[3])))) &&
17902 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17903 : : (TARGET_AVX512F)))
17904 : : return -1;
17905 : : return 6196; /* *avx512bw_vpternlogv32hi_2 */
17906 : :
17907 : : case 4:
17908 : : if (!(
17909 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17910 : : ((32 == 64 || TARGET_AVX512VL
17911 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17912 : : && ix86_pre_reload_split ()
17913 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17914 : : STRIP_UNARY (operands[4]))
17915 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17916 : : STRIP_UNARY (operands[4]))
17917 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17918 : : STRIP_UNARY (operands[3]))
17919 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17920 : : STRIP_UNARY (operands[3])))) &&
17921 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17922 : : (TARGET_AVX)))
17923 : : return -1;
17924 : : return 6223; /* *avx512vl_vpternlogv16hi_2 */
17925 : :
17926 : : case 5:
17927 : : if (!
17928 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17929 : : ((16 == 64 || TARGET_AVX512VL
17930 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17931 : : && ix86_pre_reload_split ()
17932 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17933 : : STRIP_UNARY (operands[4]))
17934 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17935 : : STRIP_UNARY (operands[4]))
17936 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17937 : : STRIP_UNARY (operands[3]))
17938 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17939 : : STRIP_UNARY (operands[3])))))
17940 : : return -1;
17941 : : return 6250; /* *avx512vl_vpternlogv8hi_2 */
17942 : :
17943 : : case 6:
17944 : : if (!(
17945 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17946 : : ((64 == 64 || TARGET_AVX512VL
17947 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17948 : : && ix86_pre_reload_split ()
17949 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17950 : : STRIP_UNARY (operands[4]))
17951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17952 : : STRIP_UNARY (operands[4]))
17953 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17954 : : STRIP_UNARY (operands[3]))
17955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17956 : : STRIP_UNARY (operands[3])))) &&
17957 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17958 : : (TARGET_AVX512F)))
17959 : : return -1;
17960 : : return 6277; /* *avx512f_vpternlogv16si_2 */
17961 : :
17962 : : case 7:
17963 : : if (!(
17964 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17965 : : ((32 == 64 || TARGET_AVX512VL
17966 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17967 : : && ix86_pre_reload_split ()
17968 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17969 : : STRIP_UNARY (operands[4]))
17970 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17971 : : STRIP_UNARY (operands[4]))
17972 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17973 : : STRIP_UNARY (operands[3]))
17974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17975 : : STRIP_UNARY (operands[3])))) &&
17976 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17977 : : (TARGET_AVX)))
17978 : : return -1;
17979 : : return 6304; /* *avx512vl_vpternlogv8si_2 */
17980 : :
17981 : : case 8:
17982 : : if (!
17983 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17984 : : ((16 == 64 || TARGET_AVX512VL
17985 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17986 : : && ix86_pre_reload_split ()
17987 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17988 : : STRIP_UNARY (operands[4]))
17989 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17990 : : STRIP_UNARY (operands[4]))
17991 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
17992 : : STRIP_UNARY (operands[3]))
17993 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
17994 : : STRIP_UNARY (operands[3])))))
17995 : : return -1;
17996 : : return 6331; /* *avx512vl_vpternlogv4si_2 */
17997 : :
17998 : : case 9:
17999 : : if (!(
18000 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18001 : : ((64 == 64 || TARGET_AVX512VL
18002 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18003 : : && ix86_pre_reload_split ()
18004 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18005 : : STRIP_UNARY (operands[4]))
18006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18007 : : STRIP_UNARY (operands[4]))
18008 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18009 : : STRIP_UNARY (operands[3]))
18010 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18011 : : STRIP_UNARY (operands[3])))) &&
18012 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18013 : : (TARGET_AVX512F)))
18014 : : return -1;
18015 : : return 6358; /* *avx512f_vpternlogv8di_2 */
18016 : :
18017 : : case 10:
18018 : : if (!(
18019 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18020 : : ((32 == 64 || TARGET_AVX512VL
18021 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18022 : : && ix86_pre_reload_split ()
18023 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18024 : : STRIP_UNARY (operands[4]))
18025 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18026 : : STRIP_UNARY (operands[4]))
18027 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18028 : : STRIP_UNARY (operands[3]))
18029 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18030 : : STRIP_UNARY (operands[3])))) &&
18031 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18032 : : (TARGET_AVX)))
18033 : : return -1;
18034 : : return 6385; /* *avx512vl_vpternlogv4di_2 */
18035 : :
18036 : : case 11:
18037 : : if (!
18038 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18039 : : ((16 == 64 || TARGET_AVX512VL
18040 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18041 : : && ix86_pre_reload_split ()
18042 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18043 : : STRIP_UNARY (operands[4]))
18044 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18045 : : STRIP_UNARY (operands[4]))
18046 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18047 : : STRIP_UNARY (operands[3]))
18048 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18049 : : STRIP_UNARY (operands[3])))))
18050 : : return -1;
18051 : : return 6412; /* *avx512vl_vpternlogv2di_2 */
18052 : :
18053 : : default:
18054 : : return -1;
18055 : : }
18056 : :
18057 : : case XOR:
18058 : : switch (pattern522 (x2))
18059 : : {
18060 : : case 0:
18061 : : if (!(
18062 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18063 : : ((64 == 64 || TARGET_AVX512VL
18064 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18065 : : && ix86_pre_reload_split ()
18066 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18067 : : STRIP_UNARY (operands[4]))
18068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18069 : : STRIP_UNARY (operands[4]))
18070 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18071 : : STRIP_UNARY (operands[3]))
18072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18073 : : STRIP_UNARY (operands[3])))) &&
18074 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18075 : : (TARGET_AVX512F)))
18076 : : return -1;
18077 : : return 6118; /* *avx512bw_vpternlogv64qi_2 */
18078 : :
18079 : : case 1:
18080 : : if (!(
18081 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18082 : : ((32 == 64 || TARGET_AVX512VL
18083 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18084 : : && ix86_pre_reload_split ()
18085 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18086 : : STRIP_UNARY (operands[4]))
18087 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18088 : : STRIP_UNARY (operands[4]))
18089 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18090 : : STRIP_UNARY (operands[3]))
18091 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18092 : : STRIP_UNARY (operands[3])))) &&
18093 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18094 : : (TARGET_AVX)))
18095 : : return -1;
18096 : : return 6145; /* *avx512vl_vpternlogv32qi_2 */
18097 : :
18098 : : case 2:
18099 : : if (!
18100 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18101 : : ((16 == 64 || TARGET_AVX512VL
18102 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18103 : : && ix86_pre_reload_split ()
18104 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18105 : : STRIP_UNARY (operands[4]))
18106 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18107 : : STRIP_UNARY (operands[4]))
18108 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18109 : : STRIP_UNARY (operands[3]))
18110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18111 : : STRIP_UNARY (operands[3])))))
18112 : : return -1;
18113 : : return 6172; /* *avx512vl_vpternlogv16qi_2 */
18114 : :
18115 : : case 3:
18116 : : if (!(
18117 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18118 : : ((64 == 64 || TARGET_AVX512VL
18119 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18120 : : && ix86_pre_reload_split ()
18121 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18122 : : STRIP_UNARY (operands[4]))
18123 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18124 : : STRIP_UNARY (operands[4]))
18125 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18126 : : STRIP_UNARY (operands[3]))
18127 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18128 : : STRIP_UNARY (operands[3])))) &&
18129 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18130 : : (TARGET_AVX512F)))
18131 : : return -1;
18132 : : return 6199; /* *avx512bw_vpternlogv32hi_2 */
18133 : :
18134 : : case 4:
18135 : : if (!(
18136 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18137 : : ((32 == 64 || TARGET_AVX512VL
18138 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18139 : : && ix86_pre_reload_split ()
18140 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18141 : : STRIP_UNARY (operands[4]))
18142 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18143 : : STRIP_UNARY (operands[4]))
18144 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18145 : : STRIP_UNARY (operands[3]))
18146 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18147 : : STRIP_UNARY (operands[3])))) &&
18148 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18149 : : (TARGET_AVX)))
18150 : : return -1;
18151 : : return 6226; /* *avx512vl_vpternlogv16hi_2 */
18152 : :
18153 : : case 5:
18154 : : if (!
18155 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18156 : : ((16 == 64 || TARGET_AVX512VL
18157 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18158 : : && ix86_pre_reload_split ()
18159 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18160 : : STRIP_UNARY (operands[4]))
18161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18162 : : STRIP_UNARY (operands[4]))
18163 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18164 : : STRIP_UNARY (operands[3]))
18165 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18166 : : STRIP_UNARY (operands[3])))))
18167 : : return -1;
18168 : : return 6253; /* *avx512vl_vpternlogv8hi_2 */
18169 : :
18170 : : case 6:
18171 : : if (!(
18172 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18173 : : ((64 == 64 || TARGET_AVX512VL
18174 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18175 : : && ix86_pre_reload_split ()
18176 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18177 : : STRIP_UNARY (operands[4]))
18178 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18179 : : STRIP_UNARY (operands[4]))
18180 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18181 : : STRIP_UNARY (operands[3]))
18182 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18183 : : STRIP_UNARY (operands[3])))) &&
18184 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18185 : : (TARGET_AVX512F)))
18186 : : return -1;
18187 : : return 6280; /* *avx512f_vpternlogv16si_2 */
18188 : :
18189 : : case 7:
18190 : : if (!(
18191 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18192 : : ((32 == 64 || TARGET_AVX512VL
18193 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18194 : : && ix86_pre_reload_split ()
18195 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18196 : : STRIP_UNARY (operands[4]))
18197 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18198 : : STRIP_UNARY (operands[4]))
18199 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18200 : : STRIP_UNARY (operands[3]))
18201 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18202 : : STRIP_UNARY (operands[3])))) &&
18203 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18204 : : (TARGET_AVX)))
18205 : : return -1;
18206 : : return 6307; /* *avx512vl_vpternlogv8si_2 */
18207 : :
18208 : : case 8:
18209 : : if (!
18210 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18211 : : ((16 == 64 || TARGET_AVX512VL
18212 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18213 : : && ix86_pre_reload_split ()
18214 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18215 : : STRIP_UNARY (operands[4]))
18216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18217 : : STRIP_UNARY (operands[4]))
18218 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18219 : : STRIP_UNARY (operands[3]))
18220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18221 : : STRIP_UNARY (operands[3])))))
18222 : : return -1;
18223 : : return 6334; /* *avx512vl_vpternlogv4si_2 */
18224 : :
18225 : : case 9:
18226 : : if (!(
18227 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18228 : : ((64 == 64 || TARGET_AVX512VL
18229 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18230 : : && ix86_pre_reload_split ()
18231 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18232 : : STRIP_UNARY (operands[4]))
18233 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18234 : : STRIP_UNARY (operands[4]))
18235 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18236 : : STRIP_UNARY (operands[3]))
18237 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18238 : : STRIP_UNARY (operands[3])))) &&
18239 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18240 : : (TARGET_AVX512F)))
18241 : : return -1;
18242 : : return 6361; /* *avx512f_vpternlogv8di_2 */
18243 : :
18244 : : case 10:
18245 : : if (!(
18246 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18247 : : ((32 == 64 || TARGET_AVX512VL
18248 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18249 : : && ix86_pre_reload_split ()
18250 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18251 : : STRIP_UNARY (operands[4]))
18252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18253 : : STRIP_UNARY (operands[4]))
18254 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18255 : : STRIP_UNARY (operands[3]))
18256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18257 : : STRIP_UNARY (operands[3])))) &&
18258 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18259 : : (TARGET_AVX)))
18260 : : return -1;
18261 : : return 6388; /* *avx512vl_vpternlogv4di_2 */
18262 : :
18263 : : case 11:
18264 : : if (!
18265 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18266 : : ((16 == 64 || TARGET_AVX512VL
18267 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18268 : : && ix86_pre_reload_split ()
18269 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18270 : : STRIP_UNARY (operands[4]))
18271 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18272 : : STRIP_UNARY (operands[4]))
18273 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18274 : : STRIP_UNARY (operands[3]))
18275 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18276 : : STRIP_UNARY (operands[3])))))
18277 : : return -1;
18278 : : return 6415; /* *avx512vl_vpternlogv2di_2 */
18279 : :
18280 : : default:
18281 : : return -1;
18282 : : }
18283 : :
18284 : : default:
18285 : : return -1;
18286 : : }
18287 : : }
18288 : :
18289 : : int
18290 : : recog_315 (rtx x1 ATTRIBUTE_UNUSED,
18291 : : rtx_insn *insn ATTRIBUTE_UNUSED,
18292 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
18293 : : {
18294 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18295 : : rtx x2, x3, x4;
18296 : : int res ATTRIBUTE_UNUSED;
18297 : : x2 = XEXP (x1, 1);
18298 : : x3 = XEXP (x2, 0);
18299 : : switch (GET_CODE (x3))
18300 : : {
18301 : : case AND:
18302 : : x4 = XEXP (x3, 0);
18303 : : switch (GET_CODE (x4))
18304 : : {
18305 : : case REG:
18306 : : case SUBREG:
18307 : : case MEM:
18308 : : case NOT:
18309 : : switch (pattern524 (x2))
18310 : : {
18311 : : case 0:
18312 : : if (!(
18313 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18314 : : ((64 == 64 || TARGET_AVX512VL
18315 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18316 : : && ix86_pre_reload_split ()
18317 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18318 : : STRIP_UNARY (operands[4]))
18319 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18320 : : STRIP_UNARY (operands[4]))
18321 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18322 : : STRIP_UNARY (operands[3]))
18323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18324 : : STRIP_UNARY (operands[3])))) &&
18325 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18326 : : (TARGET_AVX512F)))
18327 : : return -1;
18328 : : return 5778; /* *avx512bw_vpternlogv32hf_1 */
18329 : :
18330 : : case 1:
18331 : : if (!(
18332 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18333 : : ((32 == 64 || TARGET_AVX512VL
18334 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18335 : : && ix86_pre_reload_split ()
18336 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18337 : : STRIP_UNARY (operands[4]))
18338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18339 : : STRIP_UNARY (operands[4]))
18340 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18341 : : STRIP_UNARY (operands[3]))
18342 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18343 : : STRIP_UNARY (operands[3])))) &&
18344 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18345 : : (TARGET_AVX)))
18346 : : return -1;
18347 : : return 5805; /* *avx512vl_vpternlogv16hf_1 */
18348 : :
18349 : : case 2:
18350 : : if (!
18351 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18352 : : ((16 == 64 || TARGET_AVX512VL
18353 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18354 : : && ix86_pre_reload_split ()
18355 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18356 : : STRIP_UNARY (operands[4]))
18357 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18358 : : STRIP_UNARY (operands[4]))
18359 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18360 : : STRIP_UNARY (operands[3]))
18361 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18362 : : STRIP_UNARY (operands[3])))))
18363 : : return -1;
18364 : : return 5832; /* *avx512fp16_vpternlogv8hf_1 */
18365 : :
18366 : : case 3:
18367 : : if (!(
18368 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18369 : : ((64 == 64 || TARGET_AVX512VL
18370 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18371 : : && ix86_pre_reload_split ()
18372 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18373 : : STRIP_UNARY (operands[4]))
18374 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18375 : : STRIP_UNARY (operands[4]))
18376 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18377 : : STRIP_UNARY (operands[3]))
18378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18379 : : STRIP_UNARY (operands[3])))) &&
18380 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18381 : : (TARGET_AVX512F)))
18382 : : return -1;
18383 : : return 5859; /* *avx512bw_vpternlogv32bf_1 */
18384 : :
18385 : : case 4:
18386 : : if (!(
18387 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18388 : : ((32 == 64 || TARGET_AVX512VL
18389 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18390 : : && ix86_pre_reload_split ()
18391 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18392 : : STRIP_UNARY (operands[4]))
18393 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18394 : : STRIP_UNARY (operands[4]))
18395 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18396 : : STRIP_UNARY (operands[3]))
18397 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18398 : : STRIP_UNARY (operands[3])))) &&
18399 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18400 : : (TARGET_AVX)))
18401 : : return -1;
18402 : : return 5886; /* *avx512vl_vpternlogv16bf_1 */
18403 : :
18404 : : case 5:
18405 : : if (!
18406 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18407 : : ((16 == 64 || TARGET_AVX512VL
18408 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18409 : : && ix86_pre_reload_split ()
18410 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18411 : : STRIP_UNARY (operands[4]))
18412 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18413 : : STRIP_UNARY (operands[4]))
18414 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18415 : : STRIP_UNARY (operands[3]))
18416 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18417 : : STRIP_UNARY (operands[3])))))
18418 : : return -1;
18419 : : return 5913; /* *avx512vl_vpternlogv8bf_1 */
18420 : :
18421 : : case 6:
18422 : : if (!(
18423 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18424 : : ((64 == 64 || TARGET_AVX512VL
18425 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18426 : : && ix86_pre_reload_split ()
18427 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18428 : : STRIP_UNARY (operands[4]))
18429 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18430 : : STRIP_UNARY (operands[4]))
18431 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18432 : : STRIP_UNARY (operands[3]))
18433 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18434 : : STRIP_UNARY (operands[3])))) &&
18435 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18436 : : (TARGET_AVX512F)))
18437 : : return -1;
18438 : : return 5940; /* *avx512f_vpternlogv16sf_1 */
18439 : :
18440 : : case 7:
18441 : : if (!(
18442 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18443 : : ((32 == 64 || TARGET_AVX512VL
18444 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18445 : : && ix86_pre_reload_split ()
18446 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18447 : : STRIP_UNARY (operands[4]))
18448 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18449 : : STRIP_UNARY (operands[4]))
18450 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18451 : : STRIP_UNARY (operands[3]))
18452 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18453 : : STRIP_UNARY (operands[3])))) &&
18454 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18455 : : (TARGET_AVX)))
18456 : : return -1;
18457 : : return 5967; /* *avx512vl_vpternlogv8sf_1 */
18458 : :
18459 : : case 8:
18460 : : if (!
18461 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18462 : : ((16 == 64 || TARGET_AVX512VL
18463 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18464 : : && ix86_pre_reload_split ()
18465 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18466 : : STRIP_UNARY (operands[4]))
18467 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18468 : : STRIP_UNARY (operands[4]))
18469 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18470 : : STRIP_UNARY (operands[3]))
18471 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18472 : : STRIP_UNARY (operands[3])))))
18473 : : return -1;
18474 : : return 5994; /* *avx512vl_vpternlogv4sf_1 */
18475 : :
18476 : : case 9:
18477 : : if (!(
18478 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18479 : : ((64 == 64 || TARGET_AVX512VL
18480 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18481 : : && ix86_pre_reload_split ()
18482 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18483 : : STRIP_UNARY (operands[4]))
18484 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18485 : : STRIP_UNARY (operands[4]))
18486 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18487 : : STRIP_UNARY (operands[3]))
18488 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18489 : : STRIP_UNARY (operands[3])))) &&
18490 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18491 : : (TARGET_AVX512F)))
18492 : : return -1;
18493 : : return 6021; /* *avx512f_vpternlogv8df_1 */
18494 : :
18495 : : case 10:
18496 : : if (!(
18497 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18498 : : ((32 == 64 || TARGET_AVX512VL
18499 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18500 : : && ix86_pre_reload_split ()
18501 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18502 : : STRIP_UNARY (operands[4]))
18503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18504 : : STRIP_UNARY (operands[4]))
18505 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18506 : : STRIP_UNARY (operands[3]))
18507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18508 : : STRIP_UNARY (operands[3])))) &&
18509 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18510 : : (TARGET_AVX)))
18511 : : return -1;
18512 : : return 6048; /* *avx512vl_vpternlogv4df_1 */
18513 : :
18514 : : case 11:
18515 : : if (!(
18516 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18517 : : ((16 == 64 || TARGET_AVX512VL
18518 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18519 : : && ix86_pre_reload_split ()
18520 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18521 : : STRIP_UNARY (operands[4]))
18522 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18523 : : STRIP_UNARY (operands[4]))
18524 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18525 : : STRIP_UNARY (operands[3]))
18526 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18527 : : STRIP_UNARY (operands[3])))) &&
18528 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18529 : : (TARGET_SSE2)))
18530 : : return -1;
18531 : : return 6075; /* *avx512vl_vpternlogv2df_1 */
18532 : :
18533 : : case 12:
18534 : : if (!(
18535 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18536 : : ((64 == 64 || TARGET_AVX512VL
18537 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18538 : : && ix86_pre_reload_split ()
18539 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18540 : : STRIP_UNARY (operands[4]))
18541 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18542 : : STRIP_UNARY (operands[4]))
18543 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18544 : : STRIP_UNARY (operands[3]))
18545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18546 : : STRIP_UNARY (operands[3])))) &&
18547 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18548 : : (TARGET_AVX512F)))
18549 : : return -1;
18550 : : return 5781; /* *avx512bw_vpternlogv32hf_1 */
18551 : :
18552 : : case 13:
18553 : : if (!(
18554 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18555 : : ((32 == 64 || TARGET_AVX512VL
18556 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18557 : : && ix86_pre_reload_split ()
18558 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18559 : : STRIP_UNARY (operands[4]))
18560 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18561 : : STRIP_UNARY (operands[4]))
18562 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18563 : : STRIP_UNARY (operands[3]))
18564 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18565 : : STRIP_UNARY (operands[3])))) &&
18566 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18567 : : (TARGET_AVX)))
18568 : : return -1;
18569 : : return 5808; /* *avx512vl_vpternlogv16hf_1 */
18570 : :
18571 : : case 14:
18572 : : if (!
18573 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18574 : : ((16 == 64 || TARGET_AVX512VL
18575 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18576 : : && ix86_pre_reload_split ()
18577 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18578 : : STRIP_UNARY (operands[4]))
18579 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18580 : : STRIP_UNARY (operands[4]))
18581 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18582 : : STRIP_UNARY (operands[3]))
18583 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18584 : : STRIP_UNARY (operands[3])))))
18585 : : return -1;
18586 : : return 5835; /* *avx512fp16_vpternlogv8hf_1 */
18587 : :
18588 : : case 15:
18589 : : if (!(
18590 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18591 : : ((64 == 64 || TARGET_AVX512VL
18592 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18593 : : && ix86_pre_reload_split ()
18594 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18595 : : STRIP_UNARY (operands[4]))
18596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18597 : : STRIP_UNARY (operands[4]))
18598 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18599 : : STRIP_UNARY (operands[3]))
18600 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18601 : : STRIP_UNARY (operands[3])))) &&
18602 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18603 : : (TARGET_AVX512F)))
18604 : : return -1;
18605 : : return 5862; /* *avx512bw_vpternlogv32bf_1 */
18606 : :
18607 : : case 16:
18608 : : if (!(
18609 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18610 : : ((32 == 64 || TARGET_AVX512VL
18611 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18612 : : && ix86_pre_reload_split ()
18613 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18614 : : STRIP_UNARY (operands[4]))
18615 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18616 : : STRIP_UNARY (operands[4]))
18617 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18618 : : STRIP_UNARY (operands[3]))
18619 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18620 : : STRIP_UNARY (operands[3])))) &&
18621 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18622 : : (TARGET_AVX)))
18623 : : return -1;
18624 : : return 5889; /* *avx512vl_vpternlogv16bf_1 */
18625 : :
18626 : : case 17:
18627 : : if (!
18628 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18629 : : ((16 == 64 || TARGET_AVX512VL
18630 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18631 : : && ix86_pre_reload_split ()
18632 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18633 : : STRIP_UNARY (operands[4]))
18634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18635 : : STRIP_UNARY (operands[4]))
18636 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18637 : : STRIP_UNARY (operands[3]))
18638 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18639 : : STRIP_UNARY (operands[3])))))
18640 : : return -1;
18641 : : return 5916; /* *avx512vl_vpternlogv8bf_1 */
18642 : :
18643 : : case 18:
18644 : : if (!(
18645 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18646 : : ((64 == 64 || TARGET_AVX512VL
18647 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18648 : : && ix86_pre_reload_split ()
18649 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18650 : : STRIP_UNARY (operands[4]))
18651 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18652 : : STRIP_UNARY (operands[4]))
18653 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18654 : : STRIP_UNARY (operands[3]))
18655 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18656 : : STRIP_UNARY (operands[3])))) &&
18657 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18658 : : (TARGET_AVX512F)))
18659 : : return -1;
18660 : : return 5943; /* *avx512f_vpternlogv16sf_1 */
18661 : :
18662 : : case 19:
18663 : : if (!(
18664 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18665 : : ((32 == 64 || TARGET_AVX512VL
18666 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18667 : : && ix86_pre_reload_split ()
18668 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18669 : : STRIP_UNARY (operands[4]))
18670 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18671 : : STRIP_UNARY (operands[4]))
18672 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18673 : : STRIP_UNARY (operands[3]))
18674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18675 : : STRIP_UNARY (operands[3])))) &&
18676 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18677 : : (TARGET_AVX)))
18678 : : return -1;
18679 : : return 5970; /* *avx512vl_vpternlogv8sf_1 */
18680 : :
18681 : : case 20:
18682 : : if (!
18683 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18684 : : ((16 == 64 || TARGET_AVX512VL
18685 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18686 : : && ix86_pre_reload_split ()
18687 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18688 : : STRIP_UNARY (operands[4]))
18689 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18690 : : STRIP_UNARY (operands[4]))
18691 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18692 : : STRIP_UNARY (operands[3]))
18693 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18694 : : STRIP_UNARY (operands[3])))))
18695 : : return -1;
18696 : : return 5997; /* *avx512vl_vpternlogv4sf_1 */
18697 : :
18698 : : case 21:
18699 : : if (!(
18700 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18701 : : ((64 == 64 || TARGET_AVX512VL
18702 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18703 : : && ix86_pre_reload_split ()
18704 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18705 : : STRIP_UNARY (operands[4]))
18706 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18707 : : STRIP_UNARY (operands[4]))
18708 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18709 : : STRIP_UNARY (operands[3]))
18710 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18711 : : STRIP_UNARY (operands[3])))) &&
18712 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18713 : : (TARGET_AVX512F)))
18714 : : return -1;
18715 : : return 6024; /* *avx512f_vpternlogv8df_1 */
18716 : :
18717 : : case 22:
18718 : : if (!(
18719 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18720 : : ((32 == 64 || TARGET_AVX512VL
18721 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18722 : : && ix86_pre_reload_split ()
18723 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18724 : : STRIP_UNARY (operands[4]))
18725 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18726 : : STRIP_UNARY (operands[4]))
18727 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18728 : : STRIP_UNARY (operands[3]))
18729 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18730 : : STRIP_UNARY (operands[3])))) &&
18731 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18732 : : (TARGET_AVX)))
18733 : : return -1;
18734 : : return 6051; /* *avx512vl_vpternlogv4df_1 */
18735 : :
18736 : : case 23:
18737 : : if (!(
18738 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18739 : : ((16 == 64 || TARGET_AVX512VL
18740 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18741 : : && ix86_pre_reload_split ()
18742 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18743 : : STRIP_UNARY (operands[4]))
18744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18745 : : STRIP_UNARY (operands[4]))
18746 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18747 : : STRIP_UNARY (operands[3]))
18748 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18749 : : STRIP_UNARY (operands[3])))) &&
18750 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18751 : : (TARGET_SSE2)))
18752 : : return -1;
18753 : : return 6078; /* *avx512vl_vpternlogv2df_1 */
18754 : :
18755 : : case 24:
18756 : : if (!(
18757 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18758 : : ((64 == 64 || TARGET_AVX512VL
18759 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18760 : : && ix86_pre_reload_split ()
18761 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18762 : : STRIP_UNARY (operands[4]))
18763 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18764 : : STRIP_UNARY (operands[4]))
18765 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18766 : : STRIP_UNARY (operands[3]))
18767 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18768 : : STRIP_UNARY (operands[3])))) &&
18769 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18770 : : (TARGET_AVX512F)))
18771 : : return -1;
18772 : : return 5784; /* *avx512bw_vpternlogv32hf_1 */
18773 : :
18774 : : case 25:
18775 : : if (!(
18776 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18777 : : ((32 == 64 || TARGET_AVX512VL
18778 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18779 : : && ix86_pre_reload_split ()
18780 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18781 : : STRIP_UNARY (operands[4]))
18782 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18783 : : STRIP_UNARY (operands[4]))
18784 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18785 : : STRIP_UNARY (operands[3]))
18786 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18787 : : STRIP_UNARY (operands[3])))) &&
18788 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18789 : : (TARGET_AVX)))
18790 : : return -1;
18791 : : return 5811; /* *avx512vl_vpternlogv16hf_1 */
18792 : :
18793 : : case 26:
18794 : : if (!
18795 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18796 : : ((16 == 64 || TARGET_AVX512VL
18797 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18798 : : && ix86_pre_reload_split ()
18799 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18800 : : STRIP_UNARY (operands[4]))
18801 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18802 : : STRIP_UNARY (operands[4]))
18803 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18804 : : STRIP_UNARY (operands[3]))
18805 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18806 : : STRIP_UNARY (operands[3])))))
18807 : : return -1;
18808 : : return 5838; /* *avx512fp16_vpternlogv8hf_1 */
18809 : :
18810 : : case 27:
18811 : : if (!(
18812 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18813 : : ((64 == 64 || TARGET_AVX512VL
18814 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18815 : : && ix86_pre_reload_split ()
18816 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18817 : : STRIP_UNARY (operands[4]))
18818 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18819 : : STRIP_UNARY (operands[4]))
18820 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18821 : : STRIP_UNARY (operands[3]))
18822 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18823 : : STRIP_UNARY (operands[3])))) &&
18824 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18825 : : (TARGET_AVX512F)))
18826 : : return -1;
18827 : : return 5865; /* *avx512bw_vpternlogv32bf_1 */
18828 : :
18829 : : case 28:
18830 : : if (!(
18831 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18832 : : ((32 == 64 || TARGET_AVX512VL
18833 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18834 : : && ix86_pre_reload_split ()
18835 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18836 : : STRIP_UNARY (operands[4]))
18837 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18838 : : STRIP_UNARY (operands[4]))
18839 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18840 : : STRIP_UNARY (operands[3]))
18841 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18842 : : STRIP_UNARY (operands[3])))) &&
18843 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18844 : : (TARGET_AVX)))
18845 : : return -1;
18846 : : return 5892; /* *avx512vl_vpternlogv16bf_1 */
18847 : :
18848 : : case 29:
18849 : : if (!
18850 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18851 : : ((16 == 64 || TARGET_AVX512VL
18852 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18853 : : && ix86_pre_reload_split ()
18854 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18855 : : STRIP_UNARY (operands[4]))
18856 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18857 : : STRIP_UNARY (operands[4]))
18858 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18859 : : STRIP_UNARY (operands[3]))
18860 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18861 : : STRIP_UNARY (operands[3])))))
18862 : : return -1;
18863 : : return 5919; /* *avx512vl_vpternlogv8bf_1 */
18864 : :
18865 : : case 30:
18866 : : if (!(
18867 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18868 : : ((64 == 64 || TARGET_AVX512VL
18869 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18870 : : && ix86_pre_reload_split ()
18871 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18872 : : STRIP_UNARY (operands[4]))
18873 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18874 : : STRIP_UNARY (operands[4]))
18875 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18876 : : STRIP_UNARY (operands[3]))
18877 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18878 : : STRIP_UNARY (operands[3])))) &&
18879 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18880 : : (TARGET_AVX512F)))
18881 : : return -1;
18882 : : return 5946; /* *avx512f_vpternlogv16sf_1 */
18883 : :
18884 : : case 31:
18885 : : if (!(
18886 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18887 : : ((32 == 64 || TARGET_AVX512VL
18888 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18889 : : && ix86_pre_reload_split ()
18890 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18891 : : STRIP_UNARY (operands[4]))
18892 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18893 : : STRIP_UNARY (operands[4]))
18894 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18895 : : STRIP_UNARY (operands[3]))
18896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18897 : : STRIP_UNARY (operands[3])))) &&
18898 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18899 : : (TARGET_AVX)))
18900 : : return -1;
18901 : : return 5973; /* *avx512vl_vpternlogv8sf_1 */
18902 : :
18903 : : case 32:
18904 : : if (!
18905 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18906 : : ((16 == 64 || TARGET_AVX512VL
18907 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18908 : : && ix86_pre_reload_split ()
18909 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18910 : : STRIP_UNARY (operands[4]))
18911 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18912 : : STRIP_UNARY (operands[4]))
18913 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18914 : : STRIP_UNARY (operands[3]))
18915 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18916 : : STRIP_UNARY (operands[3])))))
18917 : : return -1;
18918 : : return 6000; /* *avx512vl_vpternlogv4sf_1 */
18919 : :
18920 : : case 33:
18921 : : if (!(
18922 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18923 : : ((64 == 64 || TARGET_AVX512VL
18924 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18925 : : && ix86_pre_reload_split ()
18926 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18927 : : STRIP_UNARY (operands[4]))
18928 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18929 : : STRIP_UNARY (operands[4]))
18930 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18931 : : STRIP_UNARY (operands[3]))
18932 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18933 : : STRIP_UNARY (operands[3])))) &&
18934 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18935 : : (TARGET_AVX512F)))
18936 : : return -1;
18937 : : return 6027; /* *avx512f_vpternlogv8df_1 */
18938 : :
18939 : : case 34:
18940 : : if (!(
18941 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18942 : : ((32 == 64 || TARGET_AVX512VL
18943 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18944 : : && ix86_pre_reload_split ()
18945 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18946 : : STRIP_UNARY (operands[4]))
18947 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18948 : : STRIP_UNARY (operands[4]))
18949 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18950 : : STRIP_UNARY (operands[3]))
18951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18952 : : STRIP_UNARY (operands[3])))) &&
18953 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18954 : : (TARGET_AVX)))
18955 : : return -1;
18956 : : return 6054; /* *avx512vl_vpternlogv4df_1 */
18957 : :
18958 : : case 35:
18959 : : if (!(
18960 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18961 : : ((16 == 64 || TARGET_AVX512VL
18962 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18963 : : && ix86_pre_reload_split ()
18964 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18965 : : STRIP_UNARY (operands[4]))
18966 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18967 : : STRIP_UNARY (operands[4]))
18968 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
18969 : : STRIP_UNARY (operands[3]))
18970 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
18971 : : STRIP_UNARY (operands[3])))) &&
18972 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18973 : : (TARGET_SSE2)))
18974 : : return -1;
18975 : : return 6081; /* *avx512vl_vpternlogv2df_1 */
18976 : :
18977 : : case 36:
18978 : : if (!(
18979 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18980 : : ((64 == 64 || TARGET_AVX512VL
18981 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18982 : : && ix86_pre_reload_split ()) &&
18983 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18984 : : (TARGET_AVX512F)))
18985 : : return -1;
18986 : : return 6858; /* *avx512bw_vpternlogv32hf_3 */
18987 : :
18988 : : case 37:
18989 : : if (!(
18990 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18991 : : ((32 == 64 || TARGET_AVX512VL
18992 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18993 : : && ix86_pre_reload_split ()) &&
18994 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18995 : : (TARGET_AVX)))
18996 : : return -1;
18997 : : return 6867; /* *avx512vl_vpternlogv16hf_3 */
18998 : :
18999 : : case 38:
19000 : : if (!
19001 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19002 : : ((16 == 64 || TARGET_AVX512VL
19003 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19004 : : && ix86_pre_reload_split ()))
19005 : : return -1;
19006 : : return 6876; /* *avx512fp16_vpternlogv8hf_3 */
19007 : :
19008 : : case 39:
19009 : : if (!(
19010 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19011 : : ((64 == 64 || TARGET_AVX512VL
19012 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19013 : : && ix86_pre_reload_split ()) &&
19014 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19015 : : (TARGET_AVX512F)))
19016 : : return -1;
19017 : : return 6885; /* *avx512bw_vpternlogv32bf_3 */
19018 : :
19019 : : case 40:
19020 : : if (!(
19021 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19022 : : ((32 == 64 || TARGET_AVX512VL
19023 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19024 : : && ix86_pre_reload_split ()) &&
19025 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19026 : : (TARGET_AVX)))
19027 : : return -1;
19028 : : return 6894; /* *avx512vl_vpternlogv16bf_3 */
19029 : :
19030 : : case 41:
19031 : : if (!
19032 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19033 : : ((16 == 64 || TARGET_AVX512VL
19034 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19035 : : && ix86_pre_reload_split ()))
19036 : : return -1;
19037 : : return 6903; /* *avx512vl_vpternlogv8bf_3 */
19038 : :
19039 : : case 42:
19040 : : if (!(
19041 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19042 : : ((64 == 64 || TARGET_AVX512VL
19043 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19044 : : && ix86_pre_reload_split ()) &&
19045 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19046 : : (TARGET_AVX512F)))
19047 : : return -1;
19048 : : return 6912; /* *avx512f_vpternlogv16sf_3 */
19049 : :
19050 : : case 43:
19051 : : if (!(
19052 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19053 : : ((32 == 64 || TARGET_AVX512VL
19054 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19055 : : && ix86_pre_reload_split ()) &&
19056 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19057 : : (TARGET_AVX)))
19058 : : return -1;
19059 : : return 6921; /* *avx512vl_vpternlogv8sf_3 */
19060 : :
19061 : : case 44:
19062 : : if (!
19063 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19064 : : ((16 == 64 || TARGET_AVX512VL
19065 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19066 : : && ix86_pre_reload_split ()))
19067 : : return -1;
19068 : : return 6930; /* *avx512vl_vpternlogv4sf_3 */
19069 : :
19070 : : case 45:
19071 : : if (!(
19072 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19073 : : ((64 == 64 || TARGET_AVX512VL
19074 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19075 : : && ix86_pre_reload_split ()) &&
19076 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19077 : : (TARGET_AVX512F)))
19078 : : return -1;
19079 : : return 6939; /* *avx512f_vpternlogv8df_3 */
19080 : :
19081 : : case 46:
19082 : : if (!(
19083 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19084 : : ((32 == 64 || TARGET_AVX512VL
19085 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19086 : : && ix86_pre_reload_split ()) &&
19087 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19088 : : (TARGET_AVX)))
19089 : : return -1;
19090 : : return 6948; /* *avx512vl_vpternlogv4df_3 */
19091 : :
19092 : : case 47:
19093 : : if (!(
19094 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19095 : : ((16 == 64 || TARGET_AVX512VL
19096 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19097 : : && ix86_pre_reload_split ()) &&
19098 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19099 : : (TARGET_SSE2)))
19100 : : return -1;
19101 : : return 6957; /* *avx512vl_vpternlogv2df_3 */
19102 : :
19103 : : default:
19104 : : return -1;
19105 : : }
19106 : :
19107 : : case AND:
19108 : : switch (pattern525 (x2))
19109 : : {
19110 : : case 0:
19111 : : if (!(
19112 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19113 : : ((64 == 64 || TARGET_AVX512VL
19114 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19115 : : && ix86_pre_reload_split ()
19116 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19117 : : STRIP_UNARY (operands[4]))
19118 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19119 : : STRIP_UNARY (operands[4]))
19120 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19121 : : STRIP_UNARY (operands[3]))
19122 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19123 : : STRIP_UNARY (operands[3])))) &&
19124 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19125 : : (TARGET_AVX512F)))
19126 : : return -1;
19127 : : return 6426; /* *avx512bw_vpternlogv32hf_2 */
19128 : :
19129 : : case 1:
19130 : : if (!(
19131 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19132 : : ((32 == 64 || TARGET_AVX512VL
19133 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19134 : : && ix86_pre_reload_split ()
19135 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19136 : : STRIP_UNARY (operands[4]))
19137 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19138 : : STRIP_UNARY (operands[4]))
19139 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19140 : : STRIP_UNARY (operands[3]))
19141 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19142 : : STRIP_UNARY (operands[3])))) &&
19143 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19144 : : (TARGET_AVX)))
19145 : : return -1;
19146 : : return 6453; /* *avx512vl_vpternlogv16hf_2 */
19147 : :
19148 : : case 2:
19149 : : if (!
19150 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19151 : : ((16 == 64 || TARGET_AVX512VL
19152 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19153 : : && ix86_pre_reload_split ()
19154 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19155 : : STRIP_UNARY (operands[4]))
19156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19157 : : STRIP_UNARY (operands[4]))
19158 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19159 : : STRIP_UNARY (operands[3]))
19160 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19161 : : STRIP_UNARY (operands[3])))))
19162 : : return -1;
19163 : : return 6480; /* *avx512fp16_vpternlogv8hf_2 */
19164 : :
19165 : : case 3:
19166 : : if (!(
19167 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19168 : : ((64 == 64 || TARGET_AVX512VL
19169 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19170 : : && ix86_pre_reload_split ()
19171 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19172 : : STRIP_UNARY (operands[4]))
19173 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19174 : : STRIP_UNARY (operands[4]))
19175 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19176 : : STRIP_UNARY (operands[3]))
19177 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19178 : : STRIP_UNARY (operands[3])))) &&
19179 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19180 : : (TARGET_AVX512F)))
19181 : : return -1;
19182 : : return 6507; /* *avx512bw_vpternlogv32bf_2 */
19183 : :
19184 : : case 4:
19185 : : if (!(
19186 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19187 : : ((32 == 64 || TARGET_AVX512VL
19188 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19189 : : && ix86_pre_reload_split ()
19190 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19191 : : STRIP_UNARY (operands[4]))
19192 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19193 : : STRIP_UNARY (operands[4]))
19194 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19195 : : STRIP_UNARY (operands[3]))
19196 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19197 : : STRIP_UNARY (operands[3])))) &&
19198 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19199 : : (TARGET_AVX)))
19200 : : return -1;
19201 : : return 6534; /* *avx512vl_vpternlogv16bf_2 */
19202 : :
19203 : : case 5:
19204 : : if (!
19205 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19206 : : ((16 == 64 || TARGET_AVX512VL
19207 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19208 : : && ix86_pre_reload_split ()
19209 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19210 : : STRIP_UNARY (operands[4]))
19211 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19212 : : STRIP_UNARY (operands[4]))
19213 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19214 : : STRIP_UNARY (operands[3]))
19215 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19216 : : STRIP_UNARY (operands[3])))))
19217 : : return -1;
19218 : : return 6561; /* *avx512vl_vpternlogv8bf_2 */
19219 : :
19220 : : case 6:
19221 : : if (!(
19222 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19223 : : ((64 == 64 || TARGET_AVX512VL
19224 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19225 : : && ix86_pre_reload_split ()
19226 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19227 : : STRIP_UNARY (operands[4]))
19228 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19229 : : STRIP_UNARY (operands[4]))
19230 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19231 : : STRIP_UNARY (operands[3]))
19232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19233 : : STRIP_UNARY (operands[3])))) &&
19234 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19235 : : (TARGET_AVX512F)))
19236 : : return -1;
19237 : : return 6588; /* *avx512f_vpternlogv16sf_2 */
19238 : :
19239 : : case 7:
19240 : : if (!(
19241 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19242 : : ((32 == 64 || TARGET_AVX512VL
19243 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19244 : : && ix86_pre_reload_split ()
19245 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19246 : : STRIP_UNARY (operands[4]))
19247 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19248 : : STRIP_UNARY (operands[4]))
19249 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19250 : : STRIP_UNARY (operands[3]))
19251 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19252 : : STRIP_UNARY (operands[3])))) &&
19253 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19254 : : (TARGET_AVX)))
19255 : : return -1;
19256 : : return 6615; /* *avx512vl_vpternlogv8sf_2 */
19257 : :
19258 : : case 8:
19259 : : if (!
19260 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19261 : : ((16 == 64 || TARGET_AVX512VL
19262 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19263 : : && ix86_pre_reload_split ()
19264 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19265 : : STRIP_UNARY (operands[4]))
19266 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19267 : : STRIP_UNARY (operands[4]))
19268 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19269 : : STRIP_UNARY (operands[3]))
19270 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19271 : : STRIP_UNARY (operands[3])))))
19272 : : return -1;
19273 : : return 6642; /* *avx512vl_vpternlogv4sf_2 */
19274 : :
19275 : : case 9:
19276 : : if (!(
19277 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19278 : : ((64 == 64 || TARGET_AVX512VL
19279 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19280 : : && ix86_pre_reload_split ()
19281 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19282 : : STRIP_UNARY (operands[4]))
19283 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19284 : : STRIP_UNARY (operands[4]))
19285 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19286 : : STRIP_UNARY (operands[3]))
19287 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19288 : : STRIP_UNARY (operands[3])))) &&
19289 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19290 : : (TARGET_AVX512F)))
19291 : : return -1;
19292 : : return 6669; /* *avx512f_vpternlogv8df_2 */
19293 : :
19294 : : case 10:
19295 : : if (!(
19296 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19297 : : ((32 == 64 || TARGET_AVX512VL
19298 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19299 : : && ix86_pre_reload_split ()
19300 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19301 : : STRIP_UNARY (operands[4]))
19302 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19303 : : STRIP_UNARY (operands[4]))
19304 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19305 : : STRIP_UNARY (operands[3]))
19306 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19307 : : STRIP_UNARY (operands[3])))) &&
19308 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19309 : : (TARGET_AVX)))
19310 : : return -1;
19311 : : return 6696; /* *avx512vl_vpternlogv4df_2 */
19312 : :
19313 : : case 11:
19314 : : if (!(
19315 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19316 : : ((16 == 64 || TARGET_AVX512VL
19317 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19318 : : && ix86_pre_reload_split ()
19319 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19320 : : STRIP_UNARY (operands[4]))
19321 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19322 : : STRIP_UNARY (operands[4]))
19323 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19324 : : STRIP_UNARY (operands[3]))
19325 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19326 : : STRIP_UNARY (operands[3])))) &&
19327 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19328 : : (TARGET_SSE2)))
19329 : : return -1;
19330 : : return 6723; /* *avx512vl_vpternlogv2df_2 */
19331 : :
19332 : : default:
19333 : : return -1;
19334 : : }
19335 : :
19336 : : case IOR:
19337 : : switch (pattern525 (x2))
19338 : : {
19339 : : case 0:
19340 : : if (!(
19341 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19342 : : ((64 == 64 || TARGET_AVX512VL
19343 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19344 : : && ix86_pre_reload_split ()
19345 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19346 : : STRIP_UNARY (operands[4]))
19347 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19348 : : STRIP_UNARY (operands[4]))
19349 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19350 : : STRIP_UNARY (operands[3]))
19351 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19352 : : STRIP_UNARY (operands[3])))) &&
19353 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19354 : : (TARGET_AVX512F)))
19355 : : return -1;
19356 : : return 6429; /* *avx512bw_vpternlogv32hf_2 */
19357 : :
19358 : : case 1:
19359 : : if (!(
19360 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19361 : : ((32 == 64 || TARGET_AVX512VL
19362 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19363 : : && ix86_pre_reload_split ()
19364 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19365 : : STRIP_UNARY (operands[4]))
19366 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19367 : : STRIP_UNARY (operands[4]))
19368 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19369 : : STRIP_UNARY (operands[3]))
19370 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19371 : : STRIP_UNARY (operands[3])))) &&
19372 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19373 : : (TARGET_AVX)))
19374 : : return -1;
19375 : : return 6456; /* *avx512vl_vpternlogv16hf_2 */
19376 : :
19377 : : case 2:
19378 : : if (!
19379 : : #line 13894 "/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 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19384 : : STRIP_UNARY (operands[4]))
19385 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19386 : : STRIP_UNARY (operands[4]))
19387 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19388 : : STRIP_UNARY (operands[3]))
19389 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19390 : : STRIP_UNARY (operands[3])))))
19391 : : return -1;
19392 : : return 6483; /* *avx512fp16_vpternlogv8hf_2 */
19393 : :
19394 : : case 3:
19395 : : if (!(
19396 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19397 : : ((64 == 64 || TARGET_AVX512VL
19398 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19399 : : && ix86_pre_reload_split ()
19400 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19401 : : STRIP_UNARY (operands[4]))
19402 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19403 : : STRIP_UNARY (operands[4]))
19404 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19405 : : STRIP_UNARY (operands[3]))
19406 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19407 : : STRIP_UNARY (operands[3])))) &&
19408 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19409 : : (TARGET_AVX512F)))
19410 : : return -1;
19411 : : return 6510; /* *avx512bw_vpternlogv32bf_2 */
19412 : :
19413 : : case 4:
19414 : : if (!(
19415 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19416 : : ((32 == 64 || TARGET_AVX512VL
19417 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19418 : : && ix86_pre_reload_split ()
19419 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19420 : : STRIP_UNARY (operands[4]))
19421 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19422 : : STRIP_UNARY (operands[4]))
19423 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19424 : : STRIP_UNARY (operands[3]))
19425 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19426 : : STRIP_UNARY (operands[3])))) &&
19427 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19428 : : (TARGET_AVX)))
19429 : : return -1;
19430 : : return 6537; /* *avx512vl_vpternlogv16bf_2 */
19431 : :
19432 : : case 5:
19433 : : if (!
19434 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19435 : : ((16 == 64 || TARGET_AVX512VL
19436 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19437 : : && ix86_pre_reload_split ()
19438 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19439 : : STRIP_UNARY (operands[4]))
19440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19441 : : STRIP_UNARY (operands[4]))
19442 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19443 : : STRIP_UNARY (operands[3]))
19444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19445 : : STRIP_UNARY (operands[3])))))
19446 : : return -1;
19447 : : return 6564; /* *avx512vl_vpternlogv8bf_2 */
19448 : :
19449 : : case 6:
19450 : : if (!(
19451 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19452 : : ((64 == 64 || TARGET_AVX512VL
19453 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19454 : : && ix86_pre_reload_split ()
19455 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19456 : : STRIP_UNARY (operands[4]))
19457 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19458 : : STRIP_UNARY (operands[4]))
19459 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19460 : : STRIP_UNARY (operands[3]))
19461 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19462 : : STRIP_UNARY (operands[3])))) &&
19463 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19464 : : (TARGET_AVX512F)))
19465 : : return -1;
19466 : : return 6591; /* *avx512f_vpternlogv16sf_2 */
19467 : :
19468 : : case 7:
19469 : : if (!(
19470 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19471 : : ((32 == 64 || TARGET_AVX512VL
19472 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19473 : : && ix86_pre_reload_split ()
19474 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19475 : : STRIP_UNARY (operands[4]))
19476 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19477 : : STRIP_UNARY (operands[4]))
19478 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19479 : : STRIP_UNARY (operands[3]))
19480 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19481 : : STRIP_UNARY (operands[3])))) &&
19482 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19483 : : (TARGET_AVX)))
19484 : : return -1;
19485 : : return 6618; /* *avx512vl_vpternlogv8sf_2 */
19486 : :
19487 : : case 8:
19488 : : if (!
19489 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19490 : : ((16 == 64 || TARGET_AVX512VL
19491 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19492 : : && ix86_pre_reload_split ()
19493 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19494 : : STRIP_UNARY (operands[4]))
19495 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19496 : : STRIP_UNARY (operands[4]))
19497 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19498 : : STRIP_UNARY (operands[3]))
19499 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19500 : : STRIP_UNARY (operands[3])))))
19501 : : return -1;
19502 : : return 6645; /* *avx512vl_vpternlogv4sf_2 */
19503 : :
19504 : : case 9:
19505 : : if (!(
19506 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19507 : : ((64 == 64 || TARGET_AVX512VL
19508 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19509 : : && ix86_pre_reload_split ()
19510 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19511 : : STRIP_UNARY (operands[4]))
19512 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19513 : : STRIP_UNARY (operands[4]))
19514 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19515 : : STRIP_UNARY (operands[3]))
19516 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19517 : : STRIP_UNARY (operands[3])))) &&
19518 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19519 : : (TARGET_AVX512F)))
19520 : : return -1;
19521 : : return 6672; /* *avx512f_vpternlogv8df_2 */
19522 : :
19523 : : case 10:
19524 : : if (!(
19525 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19526 : : ((32 == 64 || TARGET_AVX512VL
19527 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19528 : : && ix86_pre_reload_split ()
19529 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19530 : : STRIP_UNARY (operands[4]))
19531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19532 : : STRIP_UNARY (operands[4]))
19533 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19534 : : STRIP_UNARY (operands[3]))
19535 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19536 : : STRIP_UNARY (operands[3])))) &&
19537 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19538 : : (TARGET_AVX)))
19539 : : return -1;
19540 : : return 6699; /* *avx512vl_vpternlogv4df_2 */
19541 : :
19542 : : case 11:
19543 : : if (!(
19544 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19545 : : ((16 == 64 || TARGET_AVX512VL
19546 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19547 : : && ix86_pre_reload_split ()
19548 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19549 : : STRIP_UNARY (operands[4]))
19550 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19551 : : STRIP_UNARY (operands[4]))
19552 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19553 : : STRIP_UNARY (operands[3]))
19554 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19555 : : STRIP_UNARY (operands[3])))) &&
19556 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19557 : : (TARGET_SSE2)))
19558 : : return -1;
19559 : : return 6726; /* *avx512vl_vpternlogv2df_2 */
19560 : :
19561 : : default:
19562 : : return -1;
19563 : : }
19564 : :
19565 : : case XOR:
19566 : : switch (pattern525 (x2))
19567 : : {
19568 : : case 0:
19569 : : if (!(
19570 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19571 : : ((64 == 64 || TARGET_AVX512VL
19572 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19573 : : && ix86_pre_reload_split ()
19574 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19575 : : STRIP_UNARY (operands[4]))
19576 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19577 : : STRIP_UNARY (operands[4]))
19578 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19579 : : STRIP_UNARY (operands[3]))
19580 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19581 : : STRIP_UNARY (operands[3])))) &&
19582 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19583 : : (TARGET_AVX512F)))
19584 : : return -1;
19585 : : return 6432; /* *avx512bw_vpternlogv32hf_2 */
19586 : :
19587 : : case 1:
19588 : : if (!(
19589 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19590 : : ((32 == 64 || TARGET_AVX512VL
19591 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19592 : : && ix86_pre_reload_split ()
19593 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19594 : : STRIP_UNARY (operands[4]))
19595 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19596 : : STRIP_UNARY (operands[4]))
19597 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19598 : : STRIP_UNARY (operands[3]))
19599 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19600 : : STRIP_UNARY (operands[3])))) &&
19601 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19602 : : (TARGET_AVX)))
19603 : : return -1;
19604 : : return 6459; /* *avx512vl_vpternlogv16hf_2 */
19605 : :
19606 : : case 2:
19607 : : if (!
19608 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19609 : : ((16 == 64 || TARGET_AVX512VL
19610 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19611 : : && ix86_pre_reload_split ()
19612 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19613 : : STRIP_UNARY (operands[4]))
19614 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19615 : : STRIP_UNARY (operands[4]))
19616 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19617 : : STRIP_UNARY (operands[3]))
19618 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19619 : : STRIP_UNARY (operands[3])))))
19620 : : return -1;
19621 : : return 6486; /* *avx512fp16_vpternlogv8hf_2 */
19622 : :
19623 : : case 3:
19624 : : if (!(
19625 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19626 : : ((64 == 64 || TARGET_AVX512VL
19627 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19628 : : && ix86_pre_reload_split ()
19629 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19630 : : STRIP_UNARY (operands[4]))
19631 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19632 : : STRIP_UNARY (operands[4]))
19633 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19634 : : STRIP_UNARY (operands[3]))
19635 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19636 : : STRIP_UNARY (operands[3])))) &&
19637 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19638 : : (TARGET_AVX512F)))
19639 : : return -1;
19640 : : return 6513; /* *avx512bw_vpternlogv32bf_2 */
19641 : :
19642 : : case 4:
19643 : : if (!(
19644 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19645 : : ((32 == 64 || TARGET_AVX512VL
19646 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19647 : : && ix86_pre_reload_split ()
19648 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19649 : : STRIP_UNARY (operands[4]))
19650 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19651 : : STRIP_UNARY (operands[4]))
19652 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19653 : : STRIP_UNARY (operands[3]))
19654 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19655 : : STRIP_UNARY (operands[3])))) &&
19656 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19657 : : (TARGET_AVX)))
19658 : : return -1;
19659 : : return 6540; /* *avx512vl_vpternlogv16bf_2 */
19660 : :
19661 : : case 5:
19662 : : if (!
19663 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19664 : : ((16 == 64 || TARGET_AVX512VL
19665 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19666 : : && ix86_pre_reload_split ()
19667 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19668 : : STRIP_UNARY (operands[4]))
19669 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19670 : : STRIP_UNARY (operands[4]))
19671 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19672 : : STRIP_UNARY (operands[3]))
19673 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19674 : : STRIP_UNARY (operands[3])))))
19675 : : return -1;
19676 : : return 6567; /* *avx512vl_vpternlogv8bf_2 */
19677 : :
19678 : : case 6:
19679 : : if (!(
19680 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19681 : : ((64 == 64 || TARGET_AVX512VL
19682 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19683 : : && ix86_pre_reload_split ()
19684 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19685 : : STRIP_UNARY (operands[4]))
19686 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19687 : : STRIP_UNARY (operands[4]))
19688 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19689 : : STRIP_UNARY (operands[3]))
19690 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19691 : : STRIP_UNARY (operands[3])))) &&
19692 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19693 : : (TARGET_AVX512F)))
19694 : : return -1;
19695 : : return 6594; /* *avx512f_vpternlogv16sf_2 */
19696 : :
19697 : : case 7:
19698 : : if (!(
19699 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19700 : : ((32 == 64 || TARGET_AVX512VL
19701 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19702 : : && ix86_pre_reload_split ()
19703 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19704 : : STRIP_UNARY (operands[4]))
19705 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19706 : : STRIP_UNARY (operands[4]))
19707 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19708 : : STRIP_UNARY (operands[3]))
19709 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19710 : : STRIP_UNARY (operands[3])))) &&
19711 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19712 : : (TARGET_AVX)))
19713 : : return -1;
19714 : : return 6621; /* *avx512vl_vpternlogv8sf_2 */
19715 : :
19716 : : case 8:
19717 : : if (!
19718 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19719 : : ((16 == 64 || TARGET_AVX512VL
19720 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19721 : : && ix86_pre_reload_split ()
19722 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19723 : : STRIP_UNARY (operands[4]))
19724 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19725 : : STRIP_UNARY (operands[4]))
19726 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19727 : : STRIP_UNARY (operands[3]))
19728 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19729 : : STRIP_UNARY (operands[3])))))
19730 : : return -1;
19731 : : return 6648; /* *avx512vl_vpternlogv4sf_2 */
19732 : :
19733 : : case 9:
19734 : : if (!(
19735 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19736 : : ((64 == 64 || TARGET_AVX512VL
19737 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19738 : : && ix86_pre_reload_split ()
19739 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19740 : : STRIP_UNARY (operands[4]))
19741 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19742 : : STRIP_UNARY (operands[4]))
19743 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19744 : : STRIP_UNARY (operands[3]))
19745 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19746 : : STRIP_UNARY (operands[3])))) &&
19747 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19748 : : (TARGET_AVX512F)))
19749 : : return -1;
19750 : : return 6675; /* *avx512f_vpternlogv8df_2 */
19751 : :
19752 : : case 10:
19753 : : if (!(
19754 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19755 : : ((32 == 64 || TARGET_AVX512VL
19756 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19757 : : && ix86_pre_reload_split ()
19758 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19759 : : STRIP_UNARY (operands[4]))
19760 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19761 : : STRIP_UNARY (operands[4]))
19762 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19763 : : STRIP_UNARY (operands[3]))
19764 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19765 : : STRIP_UNARY (operands[3])))) &&
19766 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19767 : : (TARGET_AVX)))
19768 : : return -1;
19769 : : return 6702; /* *avx512vl_vpternlogv4df_2 */
19770 : :
19771 : : case 11:
19772 : : if (!(
19773 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19774 : : ((16 == 64 || TARGET_AVX512VL
19775 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19776 : : && ix86_pre_reload_split ()
19777 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19778 : : STRIP_UNARY (operands[4]))
19779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19780 : : STRIP_UNARY (operands[4]))
19781 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19782 : : STRIP_UNARY (operands[3]))
19783 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19784 : : STRIP_UNARY (operands[3])))) &&
19785 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19786 : : (TARGET_SSE2)))
19787 : : return -1;
19788 : : return 6729; /* *avx512vl_vpternlogv2df_2 */
19789 : :
19790 : : default:
19791 : : return -1;
19792 : : }
19793 : :
19794 : : default:
19795 : : return -1;
19796 : : }
19797 : :
19798 : : case IOR:
19799 : : x4 = XEXP (x3, 0);
19800 : : switch (GET_CODE (x4))
19801 : : {
19802 : : case REG:
19803 : : case SUBREG:
19804 : : case MEM:
19805 : : case NOT:
19806 : : switch (pattern524 (x2))
19807 : : {
19808 : : case 0:
19809 : : if (!(
19810 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19811 : : ((64 == 64 || TARGET_AVX512VL
19812 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19813 : : && ix86_pre_reload_split ()
19814 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19815 : : STRIP_UNARY (operands[4]))
19816 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19817 : : STRIP_UNARY (operands[4]))
19818 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19819 : : STRIP_UNARY (operands[3]))
19820 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19821 : : STRIP_UNARY (operands[3])))) &&
19822 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19823 : : (TARGET_AVX512F)))
19824 : : return -1;
19825 : : return 5787; /* *avx512bw_vpternlogv32hf_1 */
19826 : :
19827 : : case 1:
19828 : : if (!(
19829 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19830 : : ((32 == 64 || TARGET_AVX512VL
19831 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19832 : : && ix86_pre_reload_split ()
19833 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19834 : : STRIP_UNARY (operands[4]))
19835 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19836 : : STRIP_UNARY (operands[4]))
19837 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19838 : : STRIP_UNARY (operands[3]))
19839 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19840 : : STRIP_UNARY (operands[3])))) &&
19841 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19842 : : (TARGET_AVX)))
19843 : : return -1;
19844 : : return 5814; /* *avx512vl_vpternlogv16hf_1 */
19845 : :
19846 : : case 2:
19847 : : if (!
19848 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19849 : : ((16 == 64 || TARGET_AVX512VL
19850 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19851 : : && ix86_pre_reload_split ()
19852 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19853 : : STRIP_UNARY (operands[4]))
19854 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19855 : : STRIP_UNARY (operands[4]))
19856 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19857 : : STRIP_UNARY (operands[3]))
19858 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19859 : : STRIP_UNARY (operands[3])))))
19860 : : return -1;
19861 : : return 5841; /* *avx512fp16_vpternlogv8hf_1 */
19862 : :
19863 : : case 3:
19864 : : if (!(
19865 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19866 : : ((64 == 64 || TARGET_AVX512VL
19867 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19868 : : && ix86_pre_reload_split ()
19869 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19870 : : STRIP_UNARY (operands[4]))
19871 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19872 : : STRIP_UNARY (operands[4]))
19873 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19874 : : STRIP_UNARY (operands[3]))
19875 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19876 : : STRIP_UNARY (operands[3])))) &&
19877 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19878 : : (TARGET_AVX512F)))
19879 : : return -1;
19880 : : return 5868; /* *avx512bw_vpternlogv32bf_1 */
19881 : :
19882 : : case 4:
19883 : : if (!(
19884 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19885 : : ((32 == 64 || TARGET_AVX512VL
19886 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19887 : : && ix86_pre_reload_split ()
19888 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19889 : : STRIP_UNARY (operands[4]))
19890 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19891 : : STRIP_UNARY (operands[4]))
19892 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19893 : : STRIP_UNARY (operands[3]))
19894 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19895 : : STRIP_UNARY (operands[3])))) &&
19896 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19897 : : (TARGET_AVX)))
19898 : : return -1;
19899 : : return 5895; /* *avx512vl_vpternlogv16bf_1 */
19900 : :
19901 : : case 5:
19902 : : if (!
19903 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19904 : : ((16 == 64 || TARGET_AVX512VL
19905 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19906 : : && ix86_pre_reload_split ()
19907 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19908 : : STRIP_UNARY (operands[4]))
19909 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19910 : : STRIP_UNARY (operands[4]))
19911 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19912 : : STRIP_UNARY (operands[3]))
19913 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19914 : : STRIP_UNARY (operands[3])))))
19915 : : return -1;
19916 : : return 5922; /* *avx512vl_vpternlogv8bf_1 */
19917 : :
19918 : : case 6:
19919 : : if (!(
19920 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19921 : : ((64 == 64 || TARGET_AVX512VL
19922 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19923 : : && ix86_pre_reload_split ()
19924 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19925 : : STRIP_UNARY (operands[4]))
19926 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19927 : : STRIP_UNARY (operands[4]))
19928 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19929 : : STRIP_UNARY (operands[3]))
19930 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19931 : : STRIP_UNARY (operands[3])))) &&
19932 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19933 : : (TARGET_AVX512F)))
19934 : : return -1;
19935 : : return 5949; /* *avx512f_vpternlogv16sf_1 */
19936 : :
19937 : : case 7:
19938 : : if (!(
19939 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19940 : : ((32 == 64 || TARGET_AVX512VL
19941 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19942 : : && ix86_pre_reload_split ()
19943 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19944 : : STRIP_UNARY (operands[4]))
19945 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19946 : : STRIP_UNARY (operands[4]))
19947 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19948 : : STRIP_UNARY (operands[3]))
19949 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19950 : : STRIP_UNARY (operands[3])))) &&
19951 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19952 : : (TARGET_AVX)))
19953 : : return -1;
19954 : : return 5976; /* *avx512vl_vpternlogv8sf_1 */
19955 : :
19956 : : case 8:
19957 : : if (!
19958 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19959 : : ((16 == 64 || TARGET_AVX512VL
19960 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19961 : : && ix86_pre_reload_split ()
19962 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19963 : : STRIP_UNARY (operands[4]))
19964 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19965 : : STRIP_UNARY (operands[4]))
19966 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19967 : : STRIP_UNARY (operands[3]))
19968 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19969 : : STRIP_UNARY (operands[3])))))
19970 : : return -1;
19971 : : return 6003; /* *avx512vl_vpternlogv4sf_1 */
19972 : :
19973 : : case 9:
19974 : : if (!(
19975 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19976 : : ((64 == 64 || TARGET_AVX512VL
19977 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19978 : : && ix86_pre_reload_split ()
19979 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19980 : : STRIP_UNARY (operands[4]))
19981 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19982 : : STRIP_UNARY (operands[4]))
19983 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
19984 : : STRIP_UNARY (operands[3]))
19985 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
19986 : : STRIP_UNARY (operands[3])))) &&
19987 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19988 : : (TARGET_AVX512F)))
19989 : : return -1;
19990 : : return 6030; /* *avx512f_vpternlogv8df_1 */
19991 : :
19992 : : case 10:
19993 : : if (!(
19994 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19995 : : ((32 == 64 || TARGET_AVX512VL
19996 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19997 : : && ix86_pre_reload_split ()
19998 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19999 : : STRIP_UNARY (operands[4]))
20000 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20001 : : STRIP_UNARY (operands[4]))
20002 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20003 : : STRIP_UNARY (operands[3]))
20004 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20005 : : STRIP_UNARY (operands[3])))) &&
20006 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20007 : : (TARGET_AVX)))
20008 : : return -1;
20009 : : return 6057; /* *avx512vl_vpternlogv4df_1 */
20010 : :
20011 : : case 11:
20012 : : if (!(
20013 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20014 : : ((16 == 64 || TARGET_AVX512VL
20015 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20016 : : && ix86_pre_reload_split ()
20017 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20018 : : STRIP_UNARY (operands[4]))
20019 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20020 : : STRIP_UNARY (operands[4]))
20021 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20022 : : STRIP_UNARY (operands[3]))
20023 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20024 : : STRIP_UNARY (operands[3])))) &&
20025 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20026 : : (TARGET_SSE2)))
20027 : : return -1;
20028 : : return 6084; /* *avx512vl_vpternlogv2df_1 */
20029 : :
20030 : : case 12:
20031 : : if (!(
20032 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20033 : : ((64 == 64 || TARGET_AVX512VL
20034 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20035 : : && ix86_pre_reload_split ()
20036 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20037 : : STRIP_UNARY (operands[4]))
20038 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20039 : : STRIP_UNARY (operands[4]))
20040 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20041 : : STRIP_UNARY (operands[3]))
20042 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20043 : : STRIP_UNARY (operands[3])))) &&
20044 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20045 : : (TARGET_AVX512F)))
20046 : : return -1;
20047 : : return 5790; /* *avx512bw_vpternlogv32hf_1 */
20048 : :
20049 : : case 13:
20050 : : if (!(
20051 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20052 : : ((32 == 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 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20064 : : (TARGET_AVX)))
20065 : : return -1;
20066 : : return 5817; /* *avx512vl_vpternlogv16hf_1 */
20067 : :
20068 : : case 14:
20069 : : if (!
20070 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20071 : : ((16 == 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 : : return -1;
20083 : : return 5844; /* *avx512fp16_vpternlogv8hf_1 */
20084 : :
20085 : : case 15:
20086 : : if (!(
20087 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20088 : : ((64 == 64 || TARGET_AVX512VL
20089 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20090 : : && ix86_pre_reload_split ()
20091 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20092 : : STRIP_UNARY (operands[4]))
20093 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20094 : : STRIP_UNARY (operands[4]))
20095 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20096 : : STRIP_UNARY (operands[3]))
20097 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20098 : : STRIP_UNARY (operands[3])))) &&
20099 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20100 : : (TARGET_AVX512F)))
20101 : : return -1;
20102 : : return 5871; /* *avx512bw_vpternlogv32bf_1 */
20103 : :
20104 : : case 16:
20105 : : if (!(
20106 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20107 : : ((32 == 64 || TARGET_AVX512VL
20108 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20109 : : && ix86_pre_reload_split ()
20110 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20111 : : STRIP_UNARY (operands[4]))
20112 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20113 : : STRIP_UNARY (operands[4]))
20114 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20115 : : STRIP_UNARY (operands[3]))
20116 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20117 : : STRIP_UNARY (operands[3])))) &&
20118 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20119 : : (TARGET_AVX)))
20120 : : return -1;
20121 : : return 5898; /* *avx512vl_vpternlogv16bf_1 */
20122 : :
20123 : : case 17:
20124 : : if (!
20125 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20126 : : ((16 == 64 || TARGET_AVX512VL
20127 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20128 : : && ix86_pre_reload_split ()
20129 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20130 : : STRIP_UNARY (operands[4]))
20131 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20132 : : STRIP_UNARY (operands[4]))
20133 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20134 : : STRIP_UNARY (operands[3]))
20135 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20136 : : STRIP_UNARY (operands[3])))))
20137 : : return -1;
20138 : : return 5925; /* *avx512vl_vpternlogv8bf_1 */
20139 : :
20140 : : case 18:
20141 : : if (!(
20142 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20143 : : ((64 == 64 || TARGET_AVX512VL
20144 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20145 : : && ix86_pre_reload_split ()
20146 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20147 : : STRIP_UNARY (operands[4]))
20148 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20149 : : STRIP_UNARY (operands[4]))
20150 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20151 : : STRIP_UNARY (operands[3]))
20152 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20153 : : STRIP_UNARY (operands[3])))) &&
20154 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20155 : : (TARGET_AVX512F)))
20156 : : return -1;
20157 : : return 5952; /* *avx512f_vpternlogv16sf_1 */
20158 : :
20159 : : case 19:
20160 : : if (!(
20161 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20162 : : ((32 == 64 || TARGET_AVX512VL
20163 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20164 : : && ix86_pre_reload_split ()
20165 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20166 : : STRIP_UNARY (operands[4]))
20167 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20168 : : STRIP_UNARY (operands[4]))
20169 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20170 : : STRIP_UNARY (operands[3]))
20171 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20172 : : STRIP_UNARY (operands[3])))) &&
20173 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20174 : : (TARGET_AVX)))
20175 : : return -1;
20176 : : return 5979; /* *avx512vl_vpternlogv8sf_1 */
20177 : :
20178 : : case 20:
20179 : : if (!
20180 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20181 : : ((16 == 64 || TARGET_AVX512VL
20182 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20183 : : && ix86_pre_reload_split ()
20184 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20185 : : STRIP_UNARY (operands[4]))
20186 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20187 : : STRIP_UNARY (operands[4]))
20188 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20189 : : STRIP_UNARY (operands[3]))
20190 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20191 : : STRIP_UNARY (operands[3])))))
20192 : : return -1;
20193 : : return 6006; /* *avx512vl_vpternlogv4sf_1 */
20194 : :
20195 : : case 21:
20196 : : if (!(
20197 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20198 : : ((64 == 64 || TARGET_AVX512VL
20199 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20200 : : && ix86_pre_reload_split ()
20201 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20202 : : STRIP_UNARY (operands[4]))
20203 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20204 : : STRIP_UNARY (operands[4]))
20205 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20206 : : STRIP_UNARY (operands[3]))
20207 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20208 : : STRIP_UNARY (operands[3])))) &&
20209 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20210 : : (TARGET_AVX512F)))
20211 : : return -1;
20212 : : return 6033; /* *avx512f_vpternlogv8df_1 */
20213 : :
20214 : : case 22:
20215 : : if (!(
20216 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20217 : : ((32 == 64 || TARGET_AVX512VL
20218 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20219 : : && ix86_pre_reload_split ()
20220 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20221 : : STRIP_UNARY (operands[4]))
20222 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20223 : : STRIP_UNARY (operands[4]))
20224 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20225 : : STRIP_UNARY (operands[3]))
20226 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20227 : : STRIP_UNARY (operands[3])))) &&
20228 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20229 : : (TARGET_AVX)))
20230 : : return -1;
20231 : : return 6060; /* *avx512vl_vpternlogv4df_1 */
20232 : :
20233 : : case 23:
20234 : : if (!(
20235 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20236 : : ((16 == 64 || TARGET_AVX512VL
20237 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20238 : : && ix86_pre_reload_split ()
20239 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20240 : : STRIP_UNARY (operands[4]))
20241 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20242 : : STRIP_UNARY (operands[4]))
20243 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20244 : : STRIP_UNARY (operands[3]))
20245 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20246 : : STRIP_UNARY (operands[3])))) &&
20247 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20248 : : (TARGET_SSE2)))
20249 : : return -1;
20250 : : return 6087; /* *avx512vl_vpternlogv2df_1 */
20251 : :
20252 : : case 24:
20253 : : if (!(
20254 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20255 : : ((64 == 64 || TARGET_AVX512VL
20256 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20257 : : && ix86_pre_reload_split ()
20258 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20259 : : STRIP_UNARY (operands[4]))
20260 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20261 : : STRIP_UNARY (operands[4]))
20262 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20263 : : STRIP_UNARY (operands[3]))
20264 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20265 : : STRIP_UNARY (operands[3])))) &&
20266 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20267 : : (TARGET_AVX512F)))
20268 : : return -1;
20269 : : return 5793; /* *avx512bw_vpternlogv32hf_1 */
20270 : :
20271 : : case 25:
20272 : : if (!(
20273 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20274 : : ((32 == 64 || TARGET_AVX512VL
20275 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20276 : : && ix86_pre_reload_split ()
20277 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20278 : : STRIP_UNARY (operands[4]))
20279 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20280 : : STRIP_UNARY (operands[4]))
20281 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20282 : : STRIP_UNARY (operands[3]))
20283 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20284 : : STRIP_UNARY (operands[3])))) &&
20285 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20286 : : (TARGET_AVX)))
20287 : : return -1;
20288 : : return 5820; /* *avx512vl_vpternlogv16hf_1 */
20289 : :
20290 : : case 26:
20291 : : if (!
20292 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20293 : : ((16 == 64 || TARGET_AVX512VL
20294 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20295 : : && ix86_pre_reload_split ()
20296 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20297 : : STRIP_UNARY (operands[4]))
20298 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20299 : : STRIP_UNARY (operands[4]))
20300 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20301 : : STRIP_UNARY (operands[3]))
20302 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20303 : : STRIP_UNARY (operands[3])))))
20304 : : return -1;
20305 : : return 5847; /* *avx512fp16_vpternlogv8hf_1 */
20306 : :
20307 : : case 27:
20308 : : if (!(
20309 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20310 : : ((64 == 64 || TARGET_AVX512VL
20311 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20312 : : && ix86_pre_reload_split ()
20313 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20314 : : STRIP_UNARY (operands[4]))
20315 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20316 : : STRIP_UNARY (operands[4]))
20317 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20318 : : STRIP_UNARY (operands[3]))
20319 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20320 : : STRIP_UNARY (operands[3])))) &&
20321 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20322 : : (TARGET_AVX512F)))
20323 : : return -1;
20324 : : return 5874; /* *avx512bw_vpternlogv32bf_1 */
20325 : :
20326 : : case 28:
20327 : : if (!(
20328 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20329 : : ((32 == 64 || TARGET_AVX512VL
20330 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20331 : : && ix86_pre_reload_split ()
20332 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20333 : : STRIP_UNARY (operands[4]))
20334 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20335 : : STRIP_UNARY (operands[4]))
20336 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20337 : : STRIP_UNARY (operands[3]))
20338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20339 : : STRIP_UNARY (operands[3])))) &&
20340 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20341 : : (TARGET_AVX)))
20342 : : return -1;
20343 : : return 5901; /* *avx512vl_vpternlogv16bf_1 */
20344 : :
20345 : : case 29:
20346 : : if (!
20347 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20348 : : ((16 == 64 || TARGET_AVX512VL
20349 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20350 : : && ix86_pre_reload_split ()
20351 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20352 : : STRIP_UNARY (operands[4]))
20353 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20354 : : STRIP_UNARY (operands[4]))
20355 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20356 : : STRIP_UNARY (operands[3]))
20357 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20358 : : STRIP_UNARY (operands[3])))))
20359 : : return -1;
20360 : : return 5928; /* *avx512vl_vpternlogv8bf_1 */
20361 : :
20362 : : case 30:
20363 : : if (!(
20364 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20365 : : ((64 == 64 || TARGET_AVX512VL
20366 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20367 : : && ix86_pre_reload_split ()
20368 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20369 : : STRIP_UNARY (operands[4]))
20370 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20371 : : STRIP_UNARY (operands[4]))
20372 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20373 : : STRIP_UNARY (operands[3]))
20374 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20375 : : STRIP_UNARY (operands[3])))) &&
20376 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20377 : : (TARGET_AVX512F)))
20378 : : return -1;
20379 : : return 5955; /* *avx512f_vpternlogv16sf_1 */
20380 : :
20381 : : case 31:
20382 : : if (!(
20383 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20384 : : ((32 == 64 || TARGET_AVX512VL
20385 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20386 : : && ix86_pre_reload_split ()
20387 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20388 : : STRIP_UNARY (operands[4]))
20389 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20390 : : STRIP_UNARY (operands[4]))
20391 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20392 : : STRIP_UNARY (operands[3]))
20393 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20394 : : STRIP_UNARY (operands[3])))) &&
20395 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20396 : : (TARGET_AVX)))
20397 : : return -1;
20398 : : return 5982; /* *avx512vl_vpternlogv8sf_1 */
20399 : :
20400 : : case 32:
20401 : : if (!
20402 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20403 : : ((16 == 64 || TARGET_AVX512VL
20404 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20405 : : && ix86_pre_reload_split ()
20406 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20407 : : STRIP_UNARY (operands[4]))
20408 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20409 : : STRIP_UNARY (operands[4]))
20410 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20411 : : STRIP_UNARY (operands[3]))
20412 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20413 : : STRIP_UNARY (operands[3])))))
20414 : : return -1;
20415 : : return 6009; /* *avx512vl_vpternlogv4sf_1 */
20416 : :
20417 : : case 33:
20418 : : if (!(
20419 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20420 : : ((64 == 64 || TARGET_AVX512VL
20421 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20422 : : && ix86_pre_reload_split ()
20423 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20424 : : STRIP_UNARY (operands[4]))
20425 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20426 : : STRIP_UNARY (operands[4]))
20427 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20428 : : STRIP_UNARY (operands[3]))
20429 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20430 : : STRIP_UNARY (operands[3])))) &&
20431 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20432 : : (TARGET_AVX512F)))
20433 : : return -1;
20434 : : return 6036; /* *avx512f_vpternlogv8df_1 */
20435 : :
20436 : : case 34:
20437 : : if (!(
20438 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20439 : : ((32 == 64 || TARGET_AVX512VL
20440 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20441 : : && ix86_pre_reload_split ()
20442 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20443 : : STRIP_UNARY (operands[4]))
20444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20445 : : STRIP_UNARY (operands[4]))
20446 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20447 : : STRIP_UNARY (operands[3]))
20448 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20449 : : STRIP_UNARY (operands[3])))) &&
20450 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20451 : : (TARGET_AVX)))
20452 : : return -1;
20453 : : return 6063; /* *avx512vl_vpternlogv4df_1 */
20454 : :
20455 : : case 35:
20456 : : if (!(
20457 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20458 : : ((16 == 64 || TARGET_AVX512VL
20459 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20460 : : && ix86_pre_reload_split ()
20461 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20462 : : STRIP_UNARY (operands[4]))
20463 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20464 : : STRIP_UNARY (operands[4]))
20465 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20466 : : STRIP_UNARY (operands[3]))
20467 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20468 : : STRIP_UNARY (operands[3])))) &&
20469 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20470 : : (TARGET_SSE2)))
20471 : : return -1;
20472 : : return 6090; /* *avx512vl_vpternlogv2df_1 */
20473 : :
20474 : : case 36:
20475 : : if (!(
20476 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20477 : : ((64 == 64 || TARGET_AVX512VL
20478 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20479 : : && ix86_pre_reload_split ()) &&
20480 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20481 : : (TARGET_AVX512F)))
20482 : : return -1;
20483 : : return 6861; /* *avx512bw_vpternlogv32hf_3 */
20484 : :
20485 : : case 37:
20486 : : if (!(
20487 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20488 : : ((32 == 64 || TARGET_AVX512VL
20489 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20490 : : && ix86_pre_reload_split ()) &&
20491 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20492 : : (TARGET_AVX)))
20493 : : return -1;
20494 : : return 6870; /* *avx512vl_vpternlogv16hf_3 */
20495 : :
20496 : : case 38:
20497 : : if (!
20498 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20499 : : ((16 == 64 || TARGET_AVX512VL
20500 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20501 : : && ix86_pre_reload_split ()))
20502 : : return -1;
20503 : : return 6879; /* *avx512fp16_vpternlogv8hf_3 */
20504 : :
20505 : : case 39:
20506 : : if (!(
20507 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20508 : : ((64 == 64 || TARGET_AVX512VL
20509 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20510 : : && ix86_pre_reload_split ()) &&
20511 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20512 : : (TARGET_AVX512F)))
20513 : : return -1;
20514 : : return 6888; /* *avx512bw_vpternlogv32bf_3 */
20515 : :
20516 : : case 40:
20517 : : if (!(
20518 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20519 : : ((32 == 64 || TARGET_AVX512VL
20520 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20521 : : && ix86_pre_reload_split ()) &&
20522 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20523 : : (TARGET_AVX)))
20524 : : return -1;
20525 : : return 6897; /* *avx512vl_vpternlogv16bf_3 */
20526 : :
20527 : : case 41:
20528 : : if (!
20529 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20530 : : ((16 == 64 || TARGET_AVX512VL
20531 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20532 : : && ix86_pre_reload_split ()))
20533 : : return -1;
20534 : : return 6906; /* *avx512vl_vpternlogv8bf_3 */
20535 : :
20536 : : case 42:
20537 : : if (!(
20538 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20539 : : ((64 == 64 || TARGET_AVX512VL
20540 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20541 : : && ix86_pre_reload_split ()) &&
20542 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20543 : : (TARGET_AVX512F)))
20544 : : return -1;
20545 : : return 6915; /* *avx512f_vpternlogv16sf_3 */
20546 : :
20547 : : case 43:
20548 : : if (!(
20549 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20550 : : ((32 == 64 || TARGET_AVX512VL
20551 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20552 : : && ix86_pre_reload_split ()) &&
20553 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20554 : : (TARGET_AVX)))
20555 : : return -1;
20556 : : return 6924; /* *avx512vl_vpternlogv8sf_3 */
20557 : :
20558 : : case 44:
20559 : : if (!
20560 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20561 : : ((16 == 64 || TARGET_AVX512VL
20562 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20563 : : && ix86_pre_reload_split ()))
20564 : : return -1;
20565 : : return 6933; /* *avx512vl_vpternlogv4sf_3 */
20566 : :
20567 : : case 45:
20568 : : if (!(
20569 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20570 : : ((64 == 64 || TARGET_AVX512VL
20571 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20572 : : && ix86_pre_reload_split ()) &&
20573 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20574 : : (TARGET_AVX512F)))
20575 : : return -1;
20576 : : return 6942; /* *avx512f_vpternlogv8df_3 */
20577 : :
20578 : : case 46:
20579 : : if (!(
20580 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20581 : : ((32 == 64 || TARGET_AVX512VL
20582 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20583 : : && ix86_pre_reload_split ()) &&
20584 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20585 : : (TARGET_AVX)))
20586 : : return -1;
20587 : : return 6951; /* *avx512vl_vpternlogv4df_3 */
20588 : :
20589 : : case 47:
20590 : : if (!(
20591 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20592 : : ((16 == 64 || TARGET_AVX512VL
20593 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20594 : : && ix86_pre_reload_split ()) &&
20595 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20596 : : (TARGET_SSE2)))
20597 : : return -1;
20598 : : return 6960; /* *avx512vl_vpternlogv2df_3 */
20599 : :
20600 : : default:
20601 : : return -1;
20602 : : }
20603 : :
20604 : : case AND:
20605 : : switch (pattern525 (x2))
20606 : : {
20607 : : case 0:
20608 : : if (!(
20609 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20610 : : ((64 == 64 || TARGET_AVX512VL
20611 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20612 : : && ix86_pre_reload_split ()
20613 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20614 : : STRIP_UNARY (operands[4]))
20615 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20616 : : STRIP_UNARY (operands[4]))
20617 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20618 : : STRIP_UNARY (operands[3]))
20619 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20620 : : STRIP_UNARY (operands[3])))) &&
20621 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20622 : : (TARGET_AVX512F)))
20623 : : return -1;
20624 : : return 6435; /* *avx512bw_vpternlogv32hf_2 */
20625 : :
20626 : : case 1:
20627 : : if (!(
20628 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20629 : : ((32 == 64 || TARGET_AVX512VL
20630 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20631 : : && ix86_pre_reload_split ()
20632 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20633 : : STRIP_UNARY (operands[4]))
20634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20635 : : STRIP_UNARY (operands[4]))
20636 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20637 : : STRIP_UNARY (operands[3]))
20638 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20639 : : STRIP_UNARY (operands[3])))) &&
20640 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20641 : : (TARGET_AVX)))
20642 : : return -1;
20643 : : return 6462; /* *avx512vl_vpternlogv16hf_2 */
20644 : :
20645 : : case 2:
20646 : : if (!
20647 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20648 : : ((16 == 64 || TARGET_AVX512VL
20649 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20650 : : && ix86_pre_reload_split ()
20651 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20652 : : STRIP_UNARY (operands[4]))
20653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20654 : : STRIP_UNARY (operands[4]))
20655 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20656 : : STRIP_UNARY (operands[3]))
20657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20658 : : STRIP_UNARY (operands[3])))))
20659 : : return -1;
20660 : : return 6489; /* *avx512fp16_vpternlogv8hf_2 */
20661 : :
20662 : : case 3:
20663 : : if (!(
20664 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20665 : : ((64 == 64 || TARGET_AVX512VL
20666 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20667 : : && ix86_pre_reload_split ()
20668 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20669 : : STRIP_UNARY (operands[4]))
20670 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20671 : : STRIP_UNARY (operands[4]))
20672 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20673 : : STRIP_UNARY (operands[3]))
20674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20675 : : STRIP_UNARY (operands[3])))) &&
20676 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20677 : : (TARGET_AVX512F)))
20678 : : return -1;
20679 : : return 6516; /* *avx512bw_vpternlogv32bf_2 */
20680 : :
20681 : : case 4:
20682 : : if (!(
20683 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20684 : : ((32 == 64 || TARGET_AVX512VL
20685 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20686 : : && ix86_pre_reload_split ()
20687 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20688 : : STRIP_UNARY (operands[4]))
20689 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20690 : : STRIP_UNARY (operands[4]))
20691 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20692 : : STRIP_UNARY (operands[3]))
20693 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20694 : : STRIP_UNARY (operands[3])))) &&
20695 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20696 : : (TARGET_AVX)))
20697 : : return -1;
20698 : : return 6543; /* *avx512vl_vpternlogv16bf_2 */
20699 : :
20700 : : case 5:
20701 : : if (!
20702 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20703 : : ((16 == 64 || TARGET_AVX512VL
20704 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20705 : : && ix86_pre_reload_split ()
20706 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20707 : : STRIP_UNARY (operands[4]))
20708 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20709 : : STRIP_UNARY (operands[4]))
20710 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20711 : : STRIP_UNARY (operands[3]))
20712 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20713 : : STRIP_UNARY (operands[3])))))
20714 : : return -1;
20715 : : return 6570; /* *avx512vl_vpternlogv8bf_2 */
20716 : :
20717 : : case 6:
20718 : : if (!(
20719 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20720 : : ((64 == 64 || TARGET_AVX512VL
20721 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20722 : : && ix86_pre_reload_split ()
20723 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20724 : : STRIP_UNARY (operands[4]))
20725 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20726 : : STRIP_UNARY (operands[4]))
20727 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20728 : : STRIP_UNARY (operands[3]))
20729 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20730 : : STRIP_UNARY (operands[3])))) &&
20731 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20732 : : (TARGET_AVX512F)))
20733 : : return -1;
20734 : : return 6597; /* *avx512f_vpternlogv16sf_2 */
20735 : :
20736 : : case 7:
20737 : : if (!(
20738 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20739 : : ((32 == 64 || TARGET_AVX512VL
20740 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20741 : : && ix86_pre_reload_split ()
20742 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20743 : : STRIP_UNARY (operands[4]))
20744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20745 : : STRIP_UNARY (operands[4]))
20746 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20747 : : STRIP_UNARY (operands[3]))
20748 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20749 : : STRIP_UNARY (operands[3])))) &&
20750 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20751 : : (TARGET_AVX)))
20752 : : return -1;
20753 : : return 6624; /* *avx512vl_vpternlogv8sf_2 */
20754 : :
20755 : : case 8:
20756 : : if (!
20757 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20758 : : ((16 == 64 || TARGET_AVX512VL
20759 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20760 : : && ix86_pre_reload_split ()
20761 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20762 : : STRIP_UNARY (operands[4]))
20763 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20764 : : STRIP_UNARY (operands[4]))
20765 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20766 : : STRIP_UNARY (operands[3]))
20767 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20768 : : STRIP_UNARY (operands[3])))))
20769 : : return -1;
20770 : : return 6651; /* *avx512vl_vpternlogv4sf_2 */
20771 : :
20772 : : case 9:
20773 : : if (!(
20774 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20775 : : ((64 == 64 || TARGET_AVX512VL
20776 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20777 : : && ix86_pre_reload_split ()
20778 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20779 : : STRIP_UNARY (operands[4]))
20780 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20781 : : STRIP_UNARY (operands[4]))
20782 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20783 : : STRIP_UNARY (operands[3]))
20784 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20785 : : STRIP_UNARY (operands[3])))) &&
20786 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20787 : : (TARGET_AVX512F)))
20788 : : return -1;
20789 : : return 6678; /* *avx512f_vpternlogv8df_2 */
20790 : :
20791 : : case 10:
20792 : : if (!(
20793 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20794 : : ((32 == 64 || TARGET_AVX512VL
20795 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20796 : : && ix86_pre_reload_split ()
20797 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20798 : : STRIP_UNARY (operands[4]))
20799 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20800 : : STRIP_UNARY (operands[4]))
20801 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20802 : : STRIP_UNARY (operands[3]))
20803 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20804 : : STRIP_UNARY (operands[3])))) &&
20805 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20806 : : (TARGET_AVX)))
20807 : : return -1;
20808 : : return 6705; /* *avx512vl_vpternlogv4df_2 */
20809 : :
20810 : : case 11:
20811 : : if (!(
20812 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20813 : : ((16 == 64 || TARGET_AVX512VL
20814 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20815 : : && ix86_pre_reload_split ()
20816 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20817 : : STRIP_UNARY (operands[4]))
20818 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20819 : : STRIP_UNARY (operands[4]))
20820 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20821 : : STRIP_UNARY (operands[3]))
20822 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20823 : : STRIP_UNARY (operands[3])))) &&
20824 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20825 : : (TARGET_SSE2)))
20826 : : return -1;
20827 : : return 6732; /* *avx512vl_vpternlogv2df_2 */
20828 : :
20829 : : default:
20830 : : return -1;
20831 : : }
20832 : :
20833 : : case IOR:
20834 : : switch (pattern525 (x2))
20835 : : {
20836 : : case 0:
20837 : : if (!(
20838 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20839 : : ((64 == 64 || TARGET_AVX512VL
20840 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20841 : : && ix86_pre_reload_split ()
20842 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20843 : : STRIP_UNARY (operands[4]))
20844 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20845 : : STRIP_UNARY (operands[4]))
20846 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20847 : : STRIP_UNARY (operands[3]))
20848 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20849 : : STRIP_UNARY (operands[3])))) &&
20850 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20851 : : (TARGET_AVX512F)))
20852 : : return -1;
20853 : : return 6438; /* *avx512bw_vpternlogv32hf_2 */
20854 : :
20855 : : case 1:
20856 : : if (!(
20857 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20858 : : ((32 == 64 || TARGET_AVX512VL
20859 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20860 : : && ix86_pre_reload_split ()
20861 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20862 : : STRIP_UNARY (operands[4]))
20863 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20864 : : STRIP_UNARY (operands[4]))
20865 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20866 : : STRIP_UNARY (operands[3]))
20867 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20868 : : STRIP_UNARY (operands[3])))) &&
20869 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20870 : : (TARGET_AVX)))
20871 : : return -1;
20872 : : return 6465; /* *avx512vl_vpternlogv16hf_2 */
20873 : :
20874 : : case 2:
20875 : : if (!
20876 : : #line 13894 "/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 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20881 : : STRIP_UNARY (operands[4]))
20882 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20883 : : STRIP_UNARY (operands[4]))
20884 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20885 : : STRIP_UNARY (operands[3]))
20886 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20887 : : STRIP_UNARY (operands[3])))))
20888 : : return -1;
20889 : : return 6492; /* *avx512fp16_vpternlogv8hf_2 */
20890 : :
20891 : : case 3:
20892 : : if (!(
20893 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20894 : : ((64 == 64 || TARGET_AVX512VL
20895 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20896 : : && ix86_pre_reload_split ()
20897 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20898 : : STRIP_UNARY (operands[4]))
20899 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20900 : : STRIP_UNARY (operands[4]))
20901 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20902 : : STRIP_UNARY (operands[3]))
20903 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20904 : : STRIP_UNARY (operands[3])))) &&
20905 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20906 : : (TARGET_AVX512F)))
20907 : : return -1;
20908 : : return 6519; /* *avx512bw_vpternlogv32bf_2 */
20909 : :
20910 : : case 4:
20911 : : if (!(
20912 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20913 : : ((32 == 64 || TARGET_AVX512VL
20914 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20915 : : && ix86_pre_reload_split ()
20916 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20917 : : STRIP_UNARY (operands[4]))
20918 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20919 : : STRIP_UNARY (operands[4]))
20920 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20921 : : STRIP_UNARY (operands[3]))
20922 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20923 : : STRIP_UNARY (operands[3])))) &&
20924 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20925 : : (TARGET_AVX)))
20926 : : return -1;
20927 : : return 6546; /* *avx512vl_vpternlogv16bf_2 */
20928 : :
20929 : : case 5:
20930 : : if (!
20931 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20932 : : ((16 == 64 || TARGET_AVX512VL
20933 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20934 : : && ix86_pre_reload_split ()
20935 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20936 : : STRIP_UNARY (operands[4]))
20937 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20938 : : STRIP_UNARY (operands[4]))
20939 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20940 : : STRIP_UNARY (operands[3]))
20941 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20942 : : STRIP_UNARY (operands[3])))))
20943 : : return -1;
20944 : : return 6573; /* *avx512vl_vpternlogv8bf_2 */
20945 : :
20946 : : case 6:
20947 : : if (!(
20948 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20949 : : ((64 == 64 || TARGET_AVX512VL
20950 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20951 : : && ix86_pre_reload_split ()
20952 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20953 : : STRIP_UNARY (operands[4]))
20954 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20955 : : STRIP_UNARY (operands[4]))
20956 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20957 : : STRIP_UNARY (operands[3]))
20958 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20959 : : STRIP_UNARY (operands[3])))) &&
20960 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20961 : : (TARGET_AVX512F)))
20962 : : return -1;
20963 : : return 6600; /* *avx512f_vpternlogv16sf_2 */
20964 : :
20965 : : case 7:
20966 : : if (!(
20967 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20968 : : ((32 == 64 || TARGET_AVX512VL
20969 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20970 : : && ix86_pre_reload_split ()
20971 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20972 : : STRIP_UNARY (operands[4]))
20973 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20974 : : STRIP_UNARY (operands[4]))
20975 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20976 : : STRIP_UNARY (operands[3]))
20977 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20978 : : STRIP_UNARY (operands[3])))) &&
20979 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20980 : : (TARGET_AVX)))
20981 : : return -1;
20982 : : return 6627; /* *avx512vl_vpternlogv8sf_2 */
20983 : :
20984 : : case 8:
20985 : : if (!
20986 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20987 : : ((16 == 64 || TARGET_AVX512VL
20988 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20989 : : && ix86_pre_reload_split ()
20990 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20991 : : STRIP_UNARY (operands[4]))
20992 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20993 : : STRIP_UNARY (operands[4]))
20994 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
20995 : : STRIP_UNARY (operands[3]))
20996 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
20997 : : STRIP_UNARY (operands[3])))))
20998 : : return -1;
20999 : : return 6654; /* *avx512vl_vpternlogv4sf_2 */
21000 : :
21001 : : case 9:
21002 : : if (!(
21003 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21004 : : ((64 == 64 || TARGET_AVX512VL
21005 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21006 : : && ix86_pre_reload_split ()
21007 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21008 : : STRIP_UNARY (operands[4]))
21009 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21010 : : STRIP_UNARY (operands[4]))
21011 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21012 : : STRIP_UNARY (operands[3]))
21013 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21014 : : STRIP_UNARY (operands[3])))) &&
21015 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21016 : : (TARGET_AVX512F)))
21017 : : return -1;
21018 : : return 6681; /* *avx512f_vpternlogv8df_2 */
21019 : :
21020 : : case 10:
21021 : : if (!(
21022 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21023 : : ((32 == 64 || TARGET_AVX512VL
21024 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21025 : : && ix86_pre_reload_split ()
21026 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21027 : : STRIP_UNARY (operands[4]))
21028 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21029 : : STRIP_UNARY (operands[4]))
21030 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21031 : : STRIP_UNARY (operands[3]))
21032 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21033 : : STRIP_UNARY (operands[3])))) &&
21034 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21035 : : (TARGET_AVX)))
21036 : : return -1;
21037 : : return 6708; /* *avx512vl_vpternlogv4df_2 */
21038 : :
21039 : : case 11:
21040 : : if (!(
21041 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21042 : : ((16 == 64 || TARGET_AVX512VL
21043 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21044 : : && ix86_pre_reload_split ()
21045 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21046 : : STRIP_UNARY (operands[4]))
21047 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21048 : : STRIP_UNARY (operands[4]))
21049 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21050 : : STRIP_UNARY (operands[3]))
21051 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21052 : : STRIP_UNARY (operands[3])))) &&
21053 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21054 : : (TARGET_SSE2)))
21055 : : return -1;
21056 : : return 6735; /* *avx512vl_vpternlogv2df_2 */
21057 : :
21058 : : default:
21059 : : return -1;
21060 : : }
21061 : :
21062 : : case XOR:
21063 : : switch (pattern525 (x2))
21064 : : {
21065 : : case 0:
21066 : : if (!(
21067 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21068 : : ((64 == 64 || TARGET_AVX512VL
21069 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21070 : : && ix86_pre_reload_split ()
21071 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21072 : : STRIP_UNARY (operands[4]))
21073 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21074 : : STRIP_UNARY (operands[4]))
21075 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21076 : : STRIP_UNARY (operands[3]))
21077 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21078 : : STRIP_UNARY (operands[3])))) &&
21079 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21080 : : (TARGET_AVX512F)))
21081 : : return -1;
21082 : : return 6441; /* *avx512bw_vpternlogv32hf_2 */
21083 : :
21084 : : case 1:
21085 : : if (!(
21086 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21087 : : ((32 == 64 || TARGET_AVX512VL
21088 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21089 : : && ix86_pre_reload_split ()
21090 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21091 : : STRIP_UNARY (operands[4]))
21092 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21093 : : STRIP_UNARY (operands[4]))
21094 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21095 : : STRIP_UNARY (operands[3]))
21096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21097 : : STRIP_UNARY (operands[3])))) &&
21098 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21099 : : (TARGET_AVX)))
21100 : : return -1;
21101 : : return 6468; /* *avx512vl_vpternlogv16hf_2 */
21102 : :
21103 : : case 2:
21104 : : if (!
21105 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21106 : : ((16 == 64 || TARGET_AVX512VL
21107 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21108 : : && ix86_pre_reload_split ()
21109 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21110 : : STRIP_UNARY (operands[4]))
21111 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21112 : : STRIP_UNARY (operands[4]))
21113 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21114 : : STRIP_UNARY (operands[3]))
21115 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21116 : : STRIP_UNARY (operands[3])))))
21117 : : return -1;
21118 : : return 6495; /* *avx512fp16_vpternlogv8hf_2 */
21119 : :
21120 : : case 3:
21121 : : if (!(
21122 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21123 : : ((64 == 64 || TARGET_AVX512VL
21124 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21125 : : && ix86_pre_reload_split ()
21126 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21127 : : STRIP_UNARY (operands[4]))
21128 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21129 : : STRIP_UNARY (operands[4]))
21130 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21131 : : STRIP_UNARY (operands[3]))
21132 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21133 : : STRIP_UNARY (operands[3])))) &&
21134 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21135 : : (TARGET_AVX512F)))
21136 : : return -1;
21137 : : return 6522; /* *avx512bw_vpternlogv32bf_2 */
21138 : :
21139 : : case 4:
21140 : : if (!(
21141 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21142 : : ((32 == 64 || TARGET_AVX512VL
21143 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21144 : : && ix86_pre_reload_split ()
21145 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21146 : : STRIP_UNARY (operands[4]))
21147 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21148 : : STRIP_UNARY (operands[4]))
21149 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21150 : : STRIP_UNARY (operands[3]))
21151 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21152 : : STRIP_UNARY (operands[3])))) &&
21153 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21154 : : (TARGET_AVX)))
21155 : : return -1;
21156 : : return 6549; /* *avx512vl_vpternlogv16bf_2 */
21157 : :
21158 : : case 5:
21159 : : if (!
21160 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21161 : : ((16 == 64 || TARGET_AVX512VL
21162 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21163 : : && ix86_pre_reload_split ()
21164 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21165 : : STRIP_UNARY (operands[4]))
21166 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21167 : : STRIP_UNARY (operands[4]))
21168 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21169 : : STRIP_UNARY (operands[3]))
21170 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21171 : : STRIP_UNARY (operands[3])))))
21172 : : return -1;
21173 : : return 6576; /* *avx512vl_vpternlogv8bf_2 */
21174 : :
21175 : : case 6:
21176 : : if (!(
21177 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21178 : : ((64 == 64 || TARGET_AVX512VL
21179 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21180 : : && ix86_pre_reload_split ()
21181 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21182 : : STRIP_UNARY (operands[4]))
21183 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21184 : : STRIP_UNARY (operands[4]))
21185 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21186 : : STRIP_UNARY (operands[3]))
21187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21188 : : STRIP_UNARY (operands[3])))) &&
21189 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21190 : : (TARGET_AVX512F)))
21191 : : return -1;
21192 : : return 6603; /* *avx512f_vpternlogv16sf_2 */
21193 : :
21194 : : case 7:
21195 : : if (!(
21196 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21197 : : ((32 == 64 || TARGET_AVX512VL
21198 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21199 : : && ix86_pre_reload_split ()
21200 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21201 : : STRIP_UNARY (operands[4]))
21202 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21203 : : STRIP_UNARY (operands[4]))
21204 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21205 : : STRIP_UNARY (operands[3]))
21206 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21207 : : STRIP_UNARY (operands[3])))) &&
21208 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21209 : : (TARGET_AVX)))
21210 : : return -1;
21211 : : return 6630; /* *avx512vl_vpternlogv8sf_2 */
21212 : :
21213 : : case 8:
21214 : : if (!
21215 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21216 : : ((16 == 64 || TARGET_AVX512VL
21217 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21218 : : && ix86_pre_reload_split ()
21219 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21220 : : STRIP_UNARY (operands[4]))
21221 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21222 : : STRIP_UNARY (operands[4]))
21223 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21224 : : STRIP_UNARY (operands[3]))
21225 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21226 : : STRIP_UNARY (operands[3])))))
21227 : : return -1;
21228 : : return 6657; /* *avx512vl_vpternlogv4sf_2 */
21229 : :
21230 : : case 9:
21231 : : if (!(
21232 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21233 : : ((64 == 64 || TARGET_AVX512VL
21234 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21235 : : && ix86_pre_reload_split ()
21236 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21237 : : STRIP_UNARY (operands[4]))
21238 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21239 : : STRIP_UNARY (operands[4]))
21240 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21241 : : STRIP_UNARY (operands[3]))
21242 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21243 : : STRIP_UNARY (operands[3])))) &&
21244 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21245 : : (TARGET_AVX512F)))
21246 : : return -1;
21247 : : return 6684; /* *avx512f_vpternlogv8df_2 */
21248 : :
21249 : : case 10:
21250 : : if (!(
21251 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21252 : : ((32 == 64 || TARGET_AVX512VL
21253 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21254 : : && ix86_pre_reload_split ()
21255 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21256 : : STRIP_UNARY (operands[4]))
21257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21258 : : STRIP_UNARY (operands[4]))
21259 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21260 : : STRIP_UNARY (operands[3]))
21261 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21262 : : STRIP_UNARY (operands[3])))) &&
21263 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21264 : : (TARGET_AVX)))
21265 : : return -1;
21266 : : return 6711; /* *avx512vl_vpternlogv4df_2 */
21267 : :
21268 : : case 11:
21269 : : if (!(
21270 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21271 : : ((16 == 64 || TARGET_AVX512VL
21272 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21273 : : && ix86_pre_reload_split ()
21274 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21275 : : STRIP_UNARY (operands[4]))
21276 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21277 : : STRIP_UNARY (operands[4]))
21278 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
21279 : : STRIP_UNARY (operands[3]))
21280 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
21281 : : STRIP_UNARY (operands[3])))) &&
21282 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21283 : : (TARGET_SSE2)))
21284 : : return -1;
21285 : : return 6738; /* *avx512vl_vpternlogv2df_2 */
21286 : :
21287 : : default:
21288 : : return -1;
21289 : : }
21290 : :
21291 : : default:
21292 : : return -1;
21293 : : }
21294 : :
21295 : : case XOR:
21296 : : return recog_310 (x1, insn, pnum_clobbers);
21297 : :
21298 : : default:
21299 : : return -1;
21300 : : }
21301 : : }
21302 : :
21303 : : int
21304 : : recog_377 (rtx x1 ATTRIBUTE_UNUSED,
21305 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21306 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21307 : : {
21308 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21309 : : rtx x2, x3, x4, x5, x6, x7;
21310 : : int res ATTRIBUTE_UNUSED;
21311 : : x2 = XVECEXP (x1, 0, 0);
21312 : : x3 = XEXP (x2, 0);
21313 : : operands[0] = x3;
21314 : : x4 = XEXP (x2, 1);
21315 : : x5 = XEXP (x4, 0);
21316 : : operands[1] = x5;
21317 : : x6 = XVECEXP (x1, 0, 1);
21318 : : switch (GET_CODE (x6))
21319 : : {
21320 : : case CLOBBER:
21321 : : if (!register_operand (operands[1], E_VOIDmode))
21322 : : return -1;
21323 : : x7 = XEXP (x6, 0);
21324 : : operands[2] = x7;
21325 : : if (scratch_operand (operands[2], E_XFmode))
21326 : : {
21327 : : switch (pattern535 (x4))
21328 : : {
21329 : : case 0:
21330 : : if (
21331 : : #line 5984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21332 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
21333 : : && TARGET_FISTTP
21334 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
21335 : : && (TARGET_64BIT || HImode != DImode))
21336 : : && TARGET_SSE_MATH)))
21337 : : return 233; /* fix_trunchi_i387_fisttp */
21338 : : break;
21339 : :
21340 : : case 1:
21341 : : if (
21342 : : #line 5984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21343 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
21344 : : && TARGET_FISTTP
21345 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
21346 : : && (TARGET_64BIT || SImode != DImode))
21347 : : && TARGET_SSE_MATH)))
21348 : : return 234; /* fix_truncsi_i387_fisttp */
21349 : : break;
21350 : :
21351 : : case 2:
21352 : : if (
21353 : : #line 5984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21354 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
21355 : : && TARGET_FISTTP
21356 : : && !((SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
21357 : : && (TARGET_64BIT || DImode != DImode))
21358 : : && TARGET_SSE_MATH)))
21359 : : return 235; /* fix_truncdi_i387_fisttp */
21360 : : break;
21361 : :
21362 : : default:
21363 : : break;
21364 : : }
21365 : : }
21366 : : if (GET_CODE (x7) != REG
21367 : : || REGNO (x7) != 17
21368 : : || GET_MODE (x7) != E_CCmode)
21369 : : return -1;
21370 : : switch (pattern535 (x4))
21371 : : {
21372 : : case 0:
21373 : : if (!
21374 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21375 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
21376 : : && !TARGET_FISTTP
21377 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
21378 : : && (TARGET_64BIT || HImode != DImode))
21379 : : && ix86_pre_reload_split ()))
21380 : : return -1;
21381 : : return 236; /* *fix_trunchi_i387_1 */
21382 : :
21383 : : case 1:
21384 : : if (!
21385 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21386 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
21387 : : && !TARGET_FISTTP
21388 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
21389 : : && (TARGET_64BIT || SImode != DImode))
21390 : : && ix86_pre_reload_split ()))
21391 : : return -1;
21392 : : return 237; /* *fix_truncsi_i387_1 */
21393 : :
21394 : : case 2:
21395 : : if (!
21396 : : #line 6002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21397 : : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
21398 : : && !TARGET_FISTTP
21399 : : && !(SSE_FLOAT_MODE_P (GET_MODE (operands[1]))
21400 : : && (TARGET_64BIT || DImode != DImode))
21401 : : && ix86_pre_reload_split ()))
21402 : : return -1;
21403 : : return 238; /* *fix_truncdi_i387_1 */
21404 : :
21405 : : default:
21406 : : return -1;
21407 : : }
21408 : :
21409 : : case UNSPEC:
21410 : : if (pattern668 (x1,
21411 : : E_V2SFmode,
21412 : : E_V2SImode) != 0
21413 : : || !
21414 : : #line 1581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21415 : : (TARGET_3DNOW))
21416 : : return -1;
21417 : : return 2091; /* mmx_fix_truncv2sfv2si2 */
21418 : :
21419 : : default:
21420 : : return -1;
21421 : : }
21422 : : }
21423 : :
21424 : : int
21425 : : recog_380 (rtx x1 ATTRIBUTE_UNUSED,
21426 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21427 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21428 : : {
21429 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21430 : : rtx x2, x3, x4, x5, x6, x7;
21431 : : int res ATTRIBUTE_UNUSED;
21432 : : switch (pattern544 (x1))
21433 : : {
21434 : : case 0:
21435 : : x2 = XVECEXP (x1, 0, 1);
21436 : : x3 = XEXP (x2, 0);
21437 : : switch (GET_CODE (x3))
21438 : : {
21439 : : case REG:
21440 : : if (REGNO (x3) != 17
21441 : : || GET_MODE (x3) != E_CCmode)
21442 : : return -1;
21443 : : switch (GET_MODE (operands[0]))
21444 : : {
21445 : : case E_DImode:
21446 : : if (!nonimmediate_operand (operands[0], E_DImode))
21447 : : return -1;
21448 : : x4 = XVECEXP (x1, 0, 0);
21449 : : x5 = XEXP (x4, 1);
21450 : : if (GET_MODE (x5) != E_DImode
21451 : : || !nonimmediate_operand (operands[1], E_DImode))
21452 : : return -1;
21453 : : if (x86_64_hilo_general_operand (operands[2], E_DImode)
21454 : : && (
21455 : : #line 6474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21456 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
21457 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21458 : : (!TARGET_64BIT)))
21459 : : return 270; /* *adddi3_doubleword */
21460 : : if (!x86_64_general_operand (operands[2], E_DImode)
21461 : : || !(
21462 : : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21463 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
21464 : : && true) &&
21465 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21466 : : (TARGET_64BIT)))
21467 : : return -1;
21468 : : return 289; /* *adddi_1 */
21469 : :
21470 : : case E_TImode:
21471 : : x4 = XVECEXP (x1, 0, 0);
21472 : : x5 = XEXP (x4, 1);
21473 : : if (pattern549 (x5,
21474 : : E_TImode) != 0
21475 : : || !(
21476 : : #line 6474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21477 : : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
21478 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21479 : : (TARGET_64BIT)))
21480 : : return -1;
21481 : : return 271; /* *addti3_doubleword */
21482 : :
21483 : : case E_SImode:
21484 : : x4 = XVECEXP (x1, 0, 0);
21485 : : x5 = XEXP (x4, 1);
21486 : : if (pattern551 (x5) != 0
21487 : : || !
21488 : : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21489 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
21490 : : && true))
21491 : : return -1;
21492 : : return 287; /* *addsi_1 */
21493 : :
21494 : : case E_HImode:
21495 : : x4 = XVECEXP (x1, 0, 0);
21496 : : x5 = XEXP (x4, 1);
21497 : : if (pattern550 (x5,
21498 : : E_HImode) != 0
21499 : : || !
21500 : : #line 6822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21501 : : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
21502 : : && true))
21503 : : return -1;
21504 : : return 302; /* *addhi_1 */
21505 : :
21506 : : case E_QImode:
21507 : : x4 = XVECEXP (x1, 0, 0);
21508 : : x5 = XEXP (x4, 1);
21509 : : if (pattern550 (x5,
21510 : : E_QImode) != 0
21511 : : || !
21512 : : #line 6879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21513 : : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
21514 : : && true))
21515 : : return -1;
21516 : : return 304; /* *addqi_1 */
21517 : :
21518 : : case E_V2QImode:
21519 : : x4 = XVECEXP (x1, 0, 0);
21520 : : x5 = XEXP (x4, 1);
21521 : : if (pattern553 (x5,
21522 : : E_V2QImode) != 0
21523 : : || !
21524 : : #line 3264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21525 : : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
21526 : : return -1;
21527 : : return 2147; /* addv2qi3 */
21528 : :
21529 : : default:
21530 : : return -1;
21531 : : }
21532 : :
21533 : : case MEM:
21534 : : if (GET_MODE (x3) != E_BLKmode)
21535 : : return -1;
21536 : : x6 = XEXP (x3, 0);
21537 : : if (GET_CODE (x6) != SCRATCH)
21538 : : return -1;
21539 : : switch (GET_MODE (operands[0]))
21540 : : {
21541 : : case E_SImode:
21542 : : x4 = XVECEXP (x1, 0, 0);
21543 : : x5 = XEXP (x4, 1);
21544 : : if (pattern1412 (x5,
21545 : : E_SImode) != 0
21546 : : || !
21547 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21548 : : (Pmode == SImode))
21549 : : return -1;
21550 : : return 1863; /* pro_epilogue_adjust_stack_add_noccsi */
21551 : :
21552 : : case E_DImode:
21553 : : x4 = XVECEXP (x1, 0, 0);
21554 : : x5 = XEXP (x4, 1);
21555 : : if (pattern1412 (x5,
21556 : : E_DImode) != 0
21557 : : || !
21558 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21559 : : (Pmode == DImode))
21560 : : return -1;
21561 : : return 1864; /* pro_epilogue_adjust_stack_add_noccdi */
21562 : :
21563 : : default:
21564 : : return -1;
21565 : : }
21566 : :
21567 : : default:
21568 : : return -1;
21569 : : }
21570 : :
21571 : : case 1:
21572 : : x2 = XVECEXP (x1, 0, 1);
21573 : : if (XVECLEN (x2, 0) != 1)
21574 : : return -1;
21575 : : x7 = XVECEXP (x2, 0, 0);
21576 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21577 : : return -1;
21578 : : switch (XINT (x2, 1))
21579 : : {
21580 : : case 111:
21581 : : x4 = XVECEXP (x1, 0, 0);
21582 : : x5 = XEXP (x4, 1);
21583 : : if (pattern203 (x5,
21584 : : E_V2SFmode) != 0
21585 : : || !
21586 : : #line 769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
21587 : : (TARGET_3DNOW && ix86_binary_operator_ok (PLUS, V2SFmode, operands)))
21588 : : return -1;
21589 : : return 2063; /* *mmx_addv2sf3 */
21590 : :
21591 : : case 175:
21592 : : switch (GET_MODE (operands[0]))
21593 : : {
21594 : : case E_QImode:
21595 : : x4 = XVECEXP (x1, 0, 0);
21596 : : x5 = XEXP (x4, 1);
21597 : : if (pattern553 (x5,
21598 : : E_QImode) != 0
21599 : : || !(
21600 : : #line 2255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21601 : : (TARGET_AVX512F) &&
21602 : : #line 2081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21603 : : (TARGET_AVX512DQ)))
21604 : : return -1;
21605 : : return 2614; /* kaddqi */
21606 : :
21607 : : case E_HImode:
21608 : : x4 = XVECEXP (x1, 0, 0);
21609 : : x5 = XEXP (x4, 1);
21610 : : if (pattern553 (x5,
21611 : : E_HImode) != 0
21612 : : || !(
21613 : : #line 2255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21614 : : (TARGET_AVX512F) &&
21615 : : #line 2081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21616 : : (TARGET_AVX512DQ)))
21617 : : return -1;
21618 : : return 2615; /* kaddhi */
21619 : :
21620 : : case E_SImode:
21621 : : x4 = XVECEXP (x1, 0, 0);
21622 : : x5 = XEXP (x4, 1);
21623 : : if (pattern553 (x5,
21624 : : E_SImode) != 0
21625 : : || !(
21626 : : #line 2255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21627 : : (TARGET_AVX512F) &&
21628 : : #line 2082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21629 : : (TARGET_AVX512BW)))
21630 : : return -1;
21631 : : return 2616; /* kaddsi */
21632 : :
21633 : : case E_DImode:
21634 : : x4 = XVECEXP (x1, 0, 0);
21635 : : x5 = XEXP (x4, 1);
21636 : : if (pattern553 (x5,
21637 : : E_DImode) != 0
21638 : : || !(
21639 : : #line 2255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21640 : : (TARGET_AVX512F) &&
21641 : : #line 2082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21642 : : (TARGET_AVX512BW)))
21643 : : return -1;
21644 : : return 2617; /* kadddi */
21645 : :
21646 : : default:
21647 : : return -1;
21648 : : }
21649 : :
21650 : : default:
21651 : : return -1;
21652 : : }
21653 : :
21654 : : case 2:
21655 : : if (!
21656 : : #line 6955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21657 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21658 : : return -1;
21659 : : return 305; /* *addqi_1_slp */
21660 : :
21661 : : case 3:
21662 : : if (!
21663 : : #line 6955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21664 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
21665 : : return -1;
21666 : : return 306; /* *addhi_1_slp */
21667 : :
21668 : : default:
21669 : : return -1;
21670 : : }
21671 : : }
21672 : :
21673 : : int
21674 : : recog_387 (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, x7, x8, x9;
21680 : : rtx x10, x11;
21681 : : int res ATTRIBUTE_UNUSED;
21682 : : if (pattern569 (x1,
21683 : : PLUS,
21684 : : E_CCZmode) != 0)
21685 : : return -1;
21686 : : x2 = XVECEXP (x1, 0, 0);
21687 : : x3 = XEXP (x2, 1);
21688 : : if (GET_MODE (x3) != E_CCZmode)
21689 : : return -1;
21690 : : x4 = XEXP (x3, 0);
21691 : : x5 = XVECEXP (x4, 0, 0);
21692 : : operands[0] = x5;
21693 : : x6 = XVECEXP (x4, 0, 1);
21694 : : operands[3] = x6;
21695 : : if (!const_int_operand (operands[3], E_SImode))
21696 : : return -1;
21697 : : x7 = XVECEXP (x1, 0, 1);
21698 : : x8 = XEXP (x7, 1);
21699 : : x9 = XEXP (x8, 1);
21700 : : operands[1] = x9;
21701 : : x10 = XEXP (x8, 0);
21702 : : if (!rtx_equal_p (x10, operands[0]))
21703 : : return -1;
21704 : : x11 = XEXP (x7, 0);
21705 : : if (!rtx_equal_p (x11, operands[0]))
21706 : : return -1;
21707 : : switch (GET_MODE (x4))
21708 : : {
21709 : : case E_QImode:
21710 : : if (pattern1746 (x8,
21711 : : E_QImode) != 0
21712 : : || !
21713 : : #line 778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
21714 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[1])
21715 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
21716 : : return -1;
21717 : : return 10972; /* *atomic_fetch_add_cmpqi */
21718 : :
21719 : : case E_HImode:
21720 : : if (pattern1746 (x8,
21721 : : E_HImode) != 0
21722 : : || !
21723 : : #line 778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
21724 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[1])
21725 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
21726 : : return -1;
21727 : : return 10973; /* *atomic_fetch_add_cmphi */
21728 : :
21729 : : case E_SImode:
21730 : : if (pattern1746 (x8,
21731 : : E_SImode) != 0
21732 : : || !
21733 : : #line 778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
21734 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[1])
21735 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
21736 : : return -1;
21737 : : return 10974; /* *atomic_fetch_add_cmpsi */
21738 : :
21739 : : case E_DImode:
21740 : : if (pattern1746 (x8,
21741 : : E_DImode) != 0
21742 : : || !(
21743 : : #line 778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
21744 : : ((unsigned HOST_WIDE_INT) INTVAL (operands[1])
21745 : : == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])) &&
21746 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21747 : : (TARGET_64BIT)))
21748 : : return -1;
21749 : : return 10975; /* *atomic_fetch_add_cmpdi */
21750 : :
21751 : : default:
21752 : : return -1;
21753 : : }
21754 : : }
21755 : :
21756 : : int
21757 : : recog_389 (rtx x1 ATTRIBUTE_UNUSED,
21758 : : rtx_insn *insn ATTRIBUTE_UNUSED,
21759 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
21760 : : {
21761 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21762 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21763 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21764 : : rtx x18, x19, x20, x21, x22, x23, x24, x25;
21765 : : int res ATTRIBUTE_UNUSED;
21766 : : x2 = XVECEXP (x1, 0, 0);
21767 : : x3 = XEXP (x2, 1);
21768 : : x4 = XEXP (x3, 1);
21769 : : if (GET_CODE (x4) != PLUS)
21770 : : return -1;
21771 : : x5 = XEXP (x4, 0);
21772 : : switch (GET_CODE (x5))
21773 : : {
21774 : : case LTU:
21775 : : case UNLT:
21776 : : x6 = XEXP (x5, 1);
21777 : : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
21778 : : || pattern802 (x2,
21779 : : E_CCCmode) != 0)
21780 : : return -1;
21781 : : x7 = XEXP (x3, 0);
21782 : : x8 = XEXP (x7, 0);
21783 : : switch (GET_CODE (x8))
21784 : : {
21785 : : case PLUS:
21786 : : x9 = XEXP (x8, 0);
21787 : : if (GET_CODE (x9) != PLUS)
21788 : : return -1;
21789 : : x10 = XEXP (x9, 0);
21790 : : switch (GET_CODE (x10))
21791 : : {
21792 : : case LTU:
21793 : : case UNLT:
21794 : : operands[5] = x10;
21795 : : x11 = XEXP (x10, 1);
21796 : : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21797 : : return -1;
21798 : : x12 = XVECEXP (x1, 0, 1);
21799 : : if (GET_CODE (x12) != SET)
21800 : : return -1;
21801 : : x13 = XEXP (x12, 1);
21802 : : if (GET_CODE (x13) != PLUS)
21803 : : return -1;
21804 : : x14 = XEXP (x13, 0);
21805 : : if (GET_CODE (x14) != PLUS)
21806 : : return -1;
21807 : : x15 = XEXP (x14, 0);
21808 : : switch (GET_CODE (x15))
21809 : : {
21810 : : case LTU:
21811 : : case UNLT:
21812 : : if (!rtx_equal_p (x15, operands[5]))
21813 : : return -1;
21814 : : x16 = XEXP (x10, 0);
21815 : : operands[3] = x16;
21816 : : if (!flags_reg_operand (operands[3], E_VOIDmode))
21817 : : return -1;
21818 : : x17 = XEXP (x9, 1);
21819 : : operands[1] = x17;
21820 : : x18 = XEXP (x8, 1);
21821 : : operands[2] = x18;
21822 : : operands[4] = x5;
21823 : : x19 = XEXP (x12, 0);
21824 : : operands[0] = x19;
21825 : : x20 = XEXP (x5, 0);
21826 : : if (!rtx_equal_p (x20, operands[3]))
21827 : : return -1;
21828 : : x21 = XEXP (x14, 1);
21829 : : if (!rtx_equal_p (x21, operands[1]))
21830 : : return -1;
21831 : : x22 = XEXP (x13, 1);
21832 : : if (!rtx_equal_p (x22, operands[2]))
21833 : : return -1;
21834 : : switch (GET_CODE (operands[2]))
21835 : : {
21836 : : case REG:
21837 : : case SUBREG:
21838 : : case MEM:
21839 : : x23 = XEXP (x4, 1);
21840 : : if (GET_CODE (x23) != ZERO_EXTEND)
21841 : : return -1;
21842 : : x24 = XEXP (x23, 0);
21843 : : if (!rtx_equal_p (x24, operands[2]))
21844 : : return -1;
21845 : : switch (GET_MODE (x7))
21846 : : {
21847 : : case E_DImode:
21848 : : if (pattern1852 (x1,
21849 : : E_SImode,
21850 : : E_DImode) != 0
21851 : : || !
21852 : : #line 9061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21853 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21854 : : return -1;
21855 : : return 487; /* addcarrysi */
21856 : :
21857 : : case E_TImode:
21858 : : if (pattern1852 (x1,
21859 : : E_DImode,
21860 : : E_TImode) != 0
21861 : : || !(
21862 : : #line 9061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21863 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
21864 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21865 : : (TARGET_64BIT)))
21866 : : return -1;
21867 : : return 488; /* addcarrydi */
21868 : :
21869 : : default:
21870 : : return -1;
21871 : : }
21872 : :
21873 : : case CONST_INT:
21874 : : case CONST:
21875 : : case LABEL_REF:
21876 : : case SYMBOL_REF:
21877 : : x23 = XEXP (x4, 1);
21878 : : operands[6] = x23;
21879 : : switch (GET_MODE (x7))
21880 : : {
21881 : : case E_DImode:
21882 : : if (pattern1849 (x1,
21883 : : E_SImode,
21884 : : E_DImode) != 0
21885 : : || !
21886 : : #line 9359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21887 : : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
21888 : : && CONST_INT_P (operands[2])
21889 : : /* Check that operands[6] is operands[2] zero extended from
21890 : : SImode to DImode. */
21891 : : && ((SImode == SImode || INTVAL (operands[2]) >= 0)
21892 : : ? (CONST_INT_P (operands[6])
21893 : : && UINTVAL (operands[6]) == (UINTVAL (operands[2])
21894 : : & GET_MODE_MASK (SImode)))
21895 : : : (CONST_WIDE_INT_P (operands[6])
21896 : : && CONST_WIDE_INT_NUNITS (operands[6]) == 2
21897 : : && ((unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (operands[6], 0)
21898 : : == UINTVAL (operands[2]))
21899 : : && CONST_WIDE_INT_ELT (operands[6], 1) == 0))))
21900 : : return -1;
21901 : : return 489; /* *addcarrysi_1 */
21902 : :
21903 : : case E_TImode:
21904 : : if (pattern1849 (x1,
21905 : : E_DImode,
21906 : : E_TImode) != 0
21907 : : || !(
21908 : : #line 9359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21909 : : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
21910 : : && CONST_INT_P (operands[2])
21911 : : /* Check that operands[6] is operands[2] zero extended from
21912 : : DImode to TImode. */
21913 : : && ((DImode == SImode || INTVAL (operands[2]) >= 0)
21914 : : ? (CONST_INT_P (operands[6])
21915 : : && UINTVAL (operands[6]) == (UINTVAL (operands[2])
21916 : : & GET_MODE_MASK (DImode)))
21917 : : : (CONST_WIDE_INT_P (operands[6])
21918 : : && CONST_WIDE_INT_NUNITS (operands[6]) == 2
21919 : : && ((unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (operands[6], 0)
21920 : : == UINTVAL (operands[2]))
21921 : : && CONST_WIDE_INT_ELT (operands[6], 1) == 0))) &&
21922 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21923 : : (TARGET_64BIT)))
21924 : : return -1;
21925 : : return 490; /* *addcarrydi_1 */
21926 : :
21927 : : default:
21928 : : return -1;
21929 : : }
21930 : :
21931 : : default:
21932 : : return -1;
21933 : : }
21934 : :
21935 : : default:
21936 : : return -1;
21937 : : }
21938 : :
21939 : : default:
21940 : : return -1;
21941 : : }
21942 : :
21943 : : case REG:
21944 : : case SUBREG:
21945 : : case MEM:
21946 : : operands[1] = x8;
21947 : : if (GET_CODE (x5) == LTU)
21948 : : {
21949 : : res = recog_385 (x1, insn, pnum_clobbers);
21950 : : if (res >= 0)
21951 : : return res;
21952 : : }
21953 : : x12 = XVECEXP (x1, 0, 1);
21954 : : if (GET_CODE (x12) != SET)
21955 : : return -1;
21956 : : operands[4] = x5;
21957 : : x20 = XEXP (x5, 0);
21958 : : operands[3] = x20;
21959 : : if (!flags_reg_operand (operands[3], E_VOIDmode))
21960 : : return -1;
21961 : : x19 = XEXP (x12, 0);
21962 : : operands[0] = x19;
21963 : : x23 = XEXP (x4, 1);
21964 : : switch (GET_CODE (x23))
21965 : : {
21966 : : case ZERO_EXTEND:
21967 : : x13 = XEXP (x12, 1);
21968 : : if (pattern1673 (x13,
21969 : : MINUS) != 0)
21970 : : return -1;
21971 : : x24 = XEXP (x23, 0);
21972 : : operands[2] = x24;
21973 : : x14 = XEXP (x13, 0);
21974 : : x15 = XEXP (x14, 0);
21975 : : if (!rtx_equal_p (x15, operands[1]))
21976 : : return -1;
21977 : : x21 = XEXP (x14, 1);
21978 : : x25 = XEXP (x21, 0);
21979 : : if (!rtx_equal_p (x25, operands[3]))
21980 : : return -1;
21981 : : x22 = XEXP (x13, 1);
21982 : : if (!rtx_equal_p (x22, operands[2]))
21983 : : return -1;
21984 : : switch (GET_MODE (x7))
21985 : : {
21986 : : case E_DImode:
21987 : : if (pattern1835 (x1,
21988 : : E_SImode,
21989 : : E_DImode) != 0
21990 : : || !
21991 : : #line 9707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21992 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
21993 : : return -1;
21994 : : return 527; /* subborrowsi */
21995 : :
21996 : : case E_TImode:
21997 : : if (pattern1835 (x1,
21998 : : E_DImode,
21999 : : E_TImode) != 0
22000 : : || !(
22001 : : #line 9707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22002 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22003 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22004 : : (TARGET_64BIT)))
22005 : : return -1;
22006 : : return 528; /* subborrowdi */
22007 : :
22008 : : default:
22009 : : return -1;
22010 : : }
22011 : :
22012 : : case CONST_INT:
22013 : : case CONST_WIDE_INT:
22014 : : operands[6] = x23;
22015 : : x13 = XEXP (x12, 1);
22016 : : if (pattern1673 (x13,
22017 : : PLUS) != 0)
22018 : : return -1;
22019 : : x22 = XEXP (x13, 1);
22020 : : operands[2] = x22;
22021 : : x14 = XEXP (x13, 0);
22022 : : x15 = XEXP (x14, 0);
22023 : : if (!rtx_equal_p (x15, operands[1]))
22024 : : return -1;
22025 : : x21 = XEXP (x14, 1);
22026 : : x25 = XEXP (x21, 0);
22027 : : if (!rtx_equal_p (x25, operands[3]))
22028 : : return -1;
22029 : : switch (GET_MODE (x7))
22030 : : {
22031 : : case E_DImode:
22032 : : if (pattern1836 (x1,
22033 : : E_SImode,
22034 : : E_DImode) != 0
22035 : : || !
22036 : : #line 9938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22037 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22038 : : && CONST_INT_P (operands[2])
22039 : : /* Check that operands[6] is -operands[2] zero extended from
22040 : : SImode to DImode. */
22041 : : && ((SImode == SImode || -INTVAL (operands[2]) >= 0)
22042 : : ? (CONST_INT_P (operands[6])
22043 : : && (UINTVAL (operands[6])
22044 : : == ((unsigned HOST_WIDE_INT) -INTVAL (operands[2])
22045 : : & GET_MODE_MASK (SImode))))
22046 : : : (CONST_WIDE_INT_P (operands[6])
22047 : : && CONST_WIDE_INT_NUNITS (operands[6]) == 2
22048 : : && ((unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (operands[6], 0)
22049 : : == (unsigned HOST_WIDE_INT) -INTVAL (operands[2]))
22050 : : && CONST_WIDE_INT_ELT (operands[6], 1) == 0))))
22051 : : return -1;
22052 : : return 529; /* *subborrowsi_1 */
22053 : :
22054 : : case E_TImode:
22055 : : if (pattern1836 (x1,
22056 : : E_DImode,
22057 : : E_TImode) != 0
22058 : : || !(
22059 : : #line 9938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22060 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22061 : : && CONST_INT_P (operands[2])
22062 : : /* Check that operands[6] is -operands[2] zero extended from
22063 : : DImode to TImode. */
22064 : : && ((DImode == SImode || -INTVAL (operands[2]) >= 0)
22065 : : ? (CONST_INT_P (operands[6])
22066 : : && (UINTVAL (operands[6])
22067 : : == ((unsigned HOST_WIDE_INT) -INTVAL (operands[2])
22068 : : & GET_MODE_MASK (DImode))))
22069 : : : (CONST_WIDE_INT_P (operands[6])
22070 : : && CONST_WIDE_INT_NUNITS (operands[6]) == 2
22071 : : && ((unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (operands[6], 0)
22072 : : == (unsigned HOST_WIDE_INT) -INTVAL (operands[2]))
22073 : : && CONST_WIDE_INT_ELT (operands[6], 1) == 0))) &&
22074 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22075 : : (TARGET_64BIT)))
22076 : : return -1;
22077 : : return 530; /* *subborrowdi_1 */
22078 : :
22079 : : default:
22080 : : return -1;
22081 : : }
22082 : :
22083 : : default:
22084 : : return -1;
22085 : : }
22086 : :
22087 : : default:
22088 : : return -1;
22089 : : }
22090 : :
22091 : : default:
22092 : : return -1;
22093 : : }
22094 : : }
22095 : :
22096 : : int
22097 : : recog_396 (rtx x1 ATTRIBUTE_UNUSED,
22098 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22099 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22100 : : {
22101 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22102 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22103 : : rtx x10, x11, x12, x13;
22104 : : int res ATTRIBUTE_UNUSED;
22105 : : x2 = XVECEXP (x1, 0, 0);
22106 : : x3 = XEXP (x2, 1);
22107 : : x4 = XEXP (x3, 0);
22108 : : switch (GET_CODE (x4))
22109 : : {
22110 : : case CONST_INT:
22111 : : case CONST_WIDE_INT:
22112 : : case CONST_POLY_INT:
22113 : : case CONST_FIXED:
22114 : : case CONST_DOUBLE:
22115 : : case CONST_VECTOR:
22116 : : case CONST:
22117 : : case REG:
22118 : : case SUBREG:
22119 : : case MEM:
22120 : : case LABEL_REF:
22121 : : case SYMBOL_REF:
22122 : : case HIGH:
22123 : : operands[1] = x4;
22124 : : res = recog_395 (x1, insn, pnum_clobbers);
22125 : : if (res >= 0)
22126 : : return res;
22127 : : x5 = XVECEXP (x1, 0, 1);
22128 : : if (GET_CODE (x5) != CLOBBER)
22129 : : return -1;
22130 : : x6 = XEXP (x5, 0);
22131 : : if (GET_CODE (x6) != REG
22132 : : || REGNO (x6) != 17
22133 : : || GET_MODE (x6) != E_CCmode)
22134 : : return -1;
22135 : : switch (GET_CODE (x4))
22136 : : {
22137 : : case SUBREG:
22138 : : switch (pattern1035 (x2))
22139 : : {
22140 : : case 0:
22141 : : if (!
22142 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22143 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22144 : : return -1;
22145 : : return 412; /* *subqi_exthi_2_slp */
22146 : :
22147 : : case 1:
22148 : : if (!
22149 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22150 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22151 : : return -1;
22152 : : return 413; /* *subqi_extsi_2_slp */
22153 : :
22154 : : case 2:
22155 : : if (!(
22156 : : #line 8233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22157 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22158 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22159 : : (TARGET_64BIT)))
22160 : : return -1;
22161 : : return 414; /* *subqi_extdi_2_slp */
22162 : :
22163 : : case 3:
22164 : : return 423; /* *subqi_ext2hi_0 */
22165 : :
22166 : : case 4:
22167 : : return 424; /* *subqi_ext2si_0 */
22168 : :
22169 : : case 5:
22170 : : if (!
22171 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22172 : : (TARGET_64BIT))
22173 : : return -1;
22174 : : return 425; /* *subqi_ext2di_0 */
22175 : :
22176 : : default:
22177 : : return -1;
22178 : : }
22179 : :
22180 : : case CONST_INT:
22181 : : x7 = XEXP (x3, 1);
22182 : : if (GET_CODE (x7) != CLZ)
22183 : : return -1;
22184 : : x8 = XEXP (x2, 0);
22185 : : operands[0] = x8;
22186 : : x9 = XEXP (x7, 0);
22187 : : operands[1] = x9;
22188 : : switch (XWINT (x4, 0))
22189 : : {
22190 : : case 63L:
22191 : : if (pattern1419 (x3,
22192 : : E_DImode) != 0
22193 : : || !
22194 : : #line 21388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22195 : : (!TARGET_LZCNT && TARGET_64BIT))
22196 : : return -1;
22197 : : return 1529; /* bsr_rex64_1 */
22198 : :
22199 : : case 31L:
22200 : : if (pattern1419 (x3,
22201 : : E_SImode) != 0
22202 : : || !
22203 : : #line 21429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22204 : : (!TARGET_LZCNT))
22205 : : return -1;
22206 : : return 1532; /* bsr_1 */
22207 : :
22208 : : default:
22209 : : return -1;
22210 : : }
22211 : :
22212 : : default:
22213 : : return -1;
22214 : : }
22215 : :
22216 : : case MINUS:
22217 : : x5 = XVECEXP (x1, 0, 1);
22218 : : if (pattern344 (x5) != 0)
22219 : : return -1;
22220 : : x8 = XEXP (x2, 0);
22221 : : operands[0] = x8;
22222 : : x10 = XEXP (x4, 0);
22223 : : operands[1] = x10;
22224 : : x7 = XEXP (x3, 1);
22225 : : operands[2] = x7;
22226 : : x11 = XEXP (x4, 1);
22227 : : switch (GET_CODE (x11))
22228 : : {
22229 : : case LTU:
22230 : : case UNLT:
22231 : : operands[4] = x11;
22232 : : x12 = XEXP (x11, 1);
22233 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22234 : : return -1;
22235 : : x13 = XEXP (x11, 0);
22236 : : operands[3] = x13;
22237 : : if (!flags_reg_operand (operands[3], E_VOIDmode))
22238 : : return -1;
22239 : : switch (GET_MODE (operands[0]))
22240 : : {
22241 : : case E_QImode:
22242 : : if (pattern1616 (x3,
22243 : : E_QImode) != 0
22244 : : || !
22245 : : #line 9394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22246 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
22247 : : return -1;
22248 : : return 491; /* subqi3_carry */
22249 : :
22250 : : case E_HImode:
22251 : : if (pattern1616 (x3,
22252 : : E_HImode) != 0
22253 : : || !
22254 : : #line 9394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22255 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
22256 : : return -1;
22257 : : return 492; /* subhi3_carry */
22258 : :
22259 : : case E_SImode:
22260 : : if (pattern1617 (x3,
22261 : : E_SImode) != 0
22262 : : || !
22263 : : #line 9394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22264 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22265 : : return -1;
22266 : : return 493; /* subsi3_carry */
22267 : :
22268 : : case E_DImode:
22269 : : if (pattern1617 (x3,
22270 : : E_DImode) != 0
22271 : : || !(
22272 : : #line 9394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22273 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22274 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22275 : : (TARGET_64BIT)))
22276 : : return -1;
22277 : : return 494; /* subdi3_carry */
22278 : :
22279 : : default:
22280 : : return -1;
22281 : : }
22282 : :
22283 : : case EQ:
22284 : : x12 = XEXP (x11, 1);
22285 : : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22286 : : return -1;
22287 : : x13 = XEXP (x11, 0);
22288 : : operands[3] = x13;
22289 : : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
22290 : : return -1;
22291 : : switch (GET_MODE (operands[0]))
22292 : : {
22293 : : case E_QImode:
22294 : : if (pattern1553 (x3,
22295 : : E_QImode) != 0
22296 : : || !
22297 : : #line 10393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22298 : : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22299 : : && ix86_pre_reload_split ()))
22300 : : return -1;
22301 : : return 574; /* *subqi3_eq */
22302 : :
22303 : : case E_HImode:
22304 : : if (pattern1553 (x3,
22305 : : E_HImode) != 0
22306 : : || !
22307 : : #line 10393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22308 : : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22309 : : && ix86_pre_reload_split ()))
22310 : : return -1;
22311 : : return 575; /* *subhi3_eq */
22312 : :
22313 : : case E_SImode:
22314 : : if (pattern1554 (x3,
22315 : : E_SImode) != 0
22316 : : || !
22317 : : #line 10393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22318 : : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22319 : : && ix86_pre_reload_split ()))
22320 : : return -1;
22321 : : return 576; /* *subsi3_eq */
22322 : :
22323 : : case E_DImode:
22324 : : if (pattern1554 (x3,
22325 : : E_DImode) != 0
22326 : : || !(
22327 : : #line 10393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22328 : : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22329 : : && ix86_pre_reload_split ()) &&
22330 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22331 : : (TARGET_64BIT)))
22332 : : return -1;
22333 : : return 577; /* *subdi3_eq */
22334 : :
22335 : : default:
22336 : : return -1;
22337 : : }
22338 : :
22339 : : default:
22340 : : return -1;
22341 : : }
22342 : :
22343 : : default:
22344 : : return -1;
22345 : : }
22346 : : }
22347 : :
22348 : : int
22349 : : recog_402 (rtx x1 ATTRIBUTE_UNUSED,
22350 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22351 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22352 : : {
22353 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22354 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22355 : : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22356 : : rtx x18, x19, x20;
22357 : : int res ATTRIBUTE_UNUSED;
22358 : : x2 = XVECEXP (x1, 0, 0);
22359 : : x3 = XEXP (x2, 1);
22360 : : x4 = XEXP (x3, 0);
22361 : : switch (GET_CODE (x4))
22362 : : {
22363 : : case ASHIFT:
22364 : : return recog_401 (x1, insn, pnum_clobbers);
22365 : :
22366 : : case REG:
22367 : : case SUBREG:
22368 : : case MEM:
22369 : : operands[1] = x4;
22370 : : switch (pattern555 (x1))
22371 : : {
22372 : : case 0:
22373 : : if (
22374 : : #line 12900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22375 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22376 : : return 730; /* *iorqi_1_slp */
22377 : : break;
22378 : :
22379 : : case 1:
22380 : : if (
22381 : : #line 12900 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22382 : : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22383 : : return 733; /* *iorhi_1_slp */
22384 : : break;
22385 : :
22386 : : case 2:
22387 : : if (x86_64_hilo_general_operand (operands[2], E_DImode)
22388 : : && (
22389 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22390 : : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
22391 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22392 : : (!TARGET_64BIT)))
22393 : : return 823; /* *iordi3_doubleword */
22394 : : if (x86_64_general_operand (operands[2], E_DImode)
22395 : : && (
22396 : : #line 13722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22397 : : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
22398 : : && true) &&
22399 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22400 : : (TARGET_64BIT)))
22401 : : return 836; /* *iordi_1 */
22402 : : if (const_int_operand (operands[2], E_DImode)
22403 : : &&
22404 : : #line 13770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22405 : : (TARGET_64BIT && TARGET_USE_BT
22406 : : && ix86_binary_operator_ok (IOR, DImode, operands)
22407 : : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
22408 : : return 842; /* *iordi_1_bts */
22409 : : break;
22410 : :
22411 : : case 3:
22412 : : if ((
22413 : : #line 13664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22414 : : (ix86_binary_operator_ok (IOR, TImode, operands, TARGET_APX_NDD)) &&
22415 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22416 : : (TARGET_64BIT)))
22417 : : return 825; /* *iorti3_doubleword */
22418 : : break;
22419 : :
22420 : : case 4:
22421 : : if (
22422 : : #line 13722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22423 : : (ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)
22424 : : && true))
22425 : : return 828; /* *iorhi_1 */
22426 : : break;
22427 : :
22428 : : case 5:
22429 : : if (
22430 : : #line 13722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22431 : : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
22432 : : && true))
22433 : : return 832; /* *iorsi_1 */
22434 : : break;
22435 : :
22436 : : case 6:
22437 : : if (
22438 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22439 : : (ix86_binary_operator_ok (IOR, V4QImode, operands)))
22440 : : return 2295; /* *iorv4qi3 */
22441 : : break;
22442 : :
22443 : : case 7:
22444 : : if (
22445 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22446 : : (ix86_binary_operator_ok (IOR, V2QImode, operands)))
22447 : : return 2298; /* *iorv2qi3 */
22448 : : break;
22449 : :
22450 : : case 8:
22451 : : if (
22452 : : #line 4736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22453 : : (ix86_binary_operator_ok (IOR, V2HImode, operands)))
22454 : : return 2301; /* *iorv2hi3 */
22455 : : break;
22456 : :
22457 : : case 9:
22458 : : if (
22459 : : #line 2096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22460 : : (TARGET_AVX512F))
22461 : : return 2590; /* kiorqi */
22462 : : break;
22463 : :
22464 : : case 10:
22465 : : if (
22466 : : #line 2096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22467 : : (TARGET_AVX512F))
22468 : : return 2593; /* kiorhi */
22469 : : break;
22470 : :
22471 : : case 11:
22472 : : if ((
22473 : : #line 2096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22474 : : (TARGET_AVX512F) &&
22475 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22476 : : (TARGET_AVX512BW)))
22477 : : return 2596; /* kiorsi */
22478 : : break;
22479 : :
22480 : : case 12:
22481 : : if ((
22482 : : #line 2096 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22483 : : (TARGET_AVX512F) &&
22484 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22485 : : (TARGET_AVX512BW)))
22486 : : return 2599; /* kiordi */
22487 : : break;
22488 : :
22489 : : default:
22490 : : break;
22491 : : }
22492 : : x5 = XVECEXP (x1, 0, 1);
22493 : : if (GET_CODE (x5) != CLOBBER
22494 : : || pattern556 (x1) != 0)
22495 : : return -1;
22496 : : if (GET_CODE (x4) == SUBREG
22497 : : && known_eq (SUBREG_BYTE (x4), 0)
22498 : : && GET_MODE (x4) == E_QImode)
22499 : : {
22500 : : res = recog_400 (x1, insn, pnum_clobbers);
22501 : : if (res >= 0)
22502 : : return res;
22503 : : }
22504 : : x6 = XEXP (x2, 0);
22505 : : operands[0] = x6;
22506 : : if (!nonimmediate_operand (operands[0], E_QImode))
22507 : : return -1;
22508 : : operands[1] = x4;
22509 : : if (!nonimmediate_operand (operands[1], E_QImode))
22510 : : return -1;
22511 : : x7 = XEXP (x3, 1);
22512 : : operands[2] = x7;
22513 : : if (!general_operand (operands[2], E_QImode)
22514 : : || !
22515 : : #line 13912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22516 : : (ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)
22517 : : && true))
22518 : : return -1;
22519 : : return 872; /* *iorqi_1 */
22520 : :
22521 : : case ZERO_EXTEND:
22522 : : if (GET_MODE (x4) != E_DImode
22523 : : || pattern557 (x1) != 0)
22524 : : return -1;
22525 : : x8 = XEXP (x4, 0);
22526 : : operands[1] = x8;
22527 : : if (!nonimmediate_operand (operands[1], E_SImode))
22528 : : return -1;
22529 : : x7 = XEXP (x3, 1);
22530 : : operands[2] = x7;
22531 : : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
22532 : : || !
22533 : : #line 13899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22534 : : (TARGET_64BIT
22535 : : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
22536 : : return -1;
22537 : : return 869; /* *iorsi_1_zext_imm */
22538 : :
22539 : : case LSHIFTRT:
22540 : : if (pattern333 (x1) != 0)
22541 : : return -1;
22542 : : switch (pattern1037 (x3,
22543 : : ASHIFT))
22544 : : {
22545 : : case 0:
22546 : : x7 = XEXP (x3, 1);
22547 : : x9 = XEXP (x7, 0);
22548 : : x10 = XEXP (x9, 0);
22549 : : x11 = XEXP (x10, 0);
22550 : : operands[1] = x11;
22551 : : if (nonimmediate_operand (operands[0], E_DImode))
22552 : : {
22553 : : x12 = XEXP (x4, 1);
22554 : : x13 = XEXP (x12, 0);
22555 : : operands[2] = x13;
22556 : : x8 = XEXP (x4, 0);
22557 : : if (rtx_equal_p (x8, operands[0]))
22558 : : {
22559 : : x14 = XEXP (x9, 1);
22560 : : x15 = XEXP (x14, 1);
22561 : : x16 = XEXP (x15, 0);
22562 : : if (rtx_equal_p (x16, operands[2])
22563 : : &&
22564 : : #line 16923 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22565 : : (TARGET_64BIT && true))
22566 : : return 1147; /* x86_64_shrd */
22567 : : }
22568 : : }
22569 : : operands[2] = x11;
22570 : : if (!register_operand (operands[0], E_DImode))
22571 : : return -1;
22572 : : x8 = XEXP (x4, 0);
22573 : : operands[1] = x8;
22574 : : if (!nonimmediate_operand (operands[1], E_DImode))
22575 : : return -1;
22576 : : x12 = XEXP (x4, 1);
22577 : : x13 = XEXP (x12, 0);
22578 : : operands[3] = x13;
22579 : : x14 = XEXP (x9, 1);
22580 : : x15 = XEXP (x14, 1);
22581 : : x16 = XEXP (x15, 0);
22582 : : if (!rtx_equal_p (x16, operands[3])
22583 : : || !
22584 : : #line 16944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22585 : : (TARGET_APX_NDD && true))
22586 : : return -1;
22587 : : return 1149; /* x86_64_shrd_ndd */
22588 : :
22589 : : case 1:
22590 : : if (pattern1036 (x3,
22591 : : E_SImode,
22592 : : E_DImode) != 0)
22593 : : return -1;
22594 : : x7 = XEXP (x3, 1);
22595 : : x9 = XEXP (x7, 0);
22596 : : x10 = XEXP (x9, 0);
22597 : : x11 = XEXP (x10, 0);
22598 : : operands[1] = x11;
22599 : : if (nonimmediate_operand (operands[0], E_SImode))
22600 : : {
22601 : : x12 = XEXP (x4, 1);
22602 : : x13 = XEXP (x12, 0);
22603 : : operands[2] = x13;
22604 : : x8 = XEXP (x4, 0);
22605 : : if (rtx_equal_p (x8, operands[0]))
22606 : : {
22607 : : x14 = XEXP (x9, 1);
22608 : : x15 = XEXP (x14, 1);
22609 : : x16 = XEXP (x15, 0);
22610 : : if (rtx_equal_p (x16, operands[2]))
22611 : : return 1159; /* x86_shrd */
22612 : : }
22613 : : }
22614 : : operands[2] = x11;
22615 : : if (!register_operand (operands[0], E_SImode))
22616 : : return -1;
22617 : : x8 = XEXP (x4, 0);
22618 : : operands[1] = x8;
22619 : : if (!nonimmediate_operand (operands[1], E_SImode))
22620 : : return -1;
22621 : : x12 = XEXP (x4, 1);
22622 : : x13 = XEXP (x12, 0);
22623 : : operands[3] = x13;
22624 : : x14 = XEXP (x9, 1);
22625 : : x15 = XEXP (x14, 1);
22626 : : x16 = XEXP (x15, 0);
22627 : : if (!rtx_equal_p (x16, operands[3])
22628 : : || !
22629 : : #line 17175 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22630 : : (TARGET_APX_NDD && true))
22631 : : return -1;
22632 : : return 1161; /* x86_shrd_ndd */
22633 : :
22634 : : case 2:
22635 : : x7 = XEXP (x3, 1);
22636 : : switch (GET_CODE (x7))
22637 : : {
22638 : : case SUBREG:
22639 : : switch (pattern1229 (x3,
22640 : : ASHIFT))
22641 : : {
22642 : : case 0:
22643 : : x12 = XEXP (x4, 1);
22644 : : operands[2] = x12;
22645 : : if (pattern1674 (x3) == 0
22646 : : &&
22647 : : #line 16959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22648 : : (TARGET_64BIT
22649 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
22650 : : && true))
22651 : : return 1151; /* x86_64_shrd_1 */
22652 : : operands[3] = x12;
22653 : : if (pattern1675 (x3) != 0
22654 : : || !
22655 : : #line 16981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22656 : : (TARGET_APX_NDD
22657 : : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
22658 : : && true))
22659 : : return -1;
22660 : : return 1153; /* x86_64_shrd_ndd_1 */
22661 : :
22662 : : case 1:
22663 : : x12 = XEXP (x4, 1);
22664 : : operands[2] = x12;
22665 : : if (pattern1676 (x3) == 0
22666 : : &&
22667 : : #line 17190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22668 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
22669 : : && true))
22670 : : return 1163; /* x86_shrd_1 */
22671 : : operands[3] = x12;
22672 : : if (pattern1677 (x3) != 0
22673 : : || !
22674 : : #line 17212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22675 : : (TARGET_APX_NDD
22676 : : && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
22677 : : && true))
22678 : : return -1;
22679 : : return 1165; /* x86_shrd_ndd_1 */
22680 : :
22681 : : default:
22682 : : return -1;
22683 : : }
22684 : :
22685 : : case ASHIFT:
22686 : : switch (pattern1231 (x3))
22687 : : {
22688 : : case 0:
22689 : : if (!
22690 : : #line 17053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22691 : : (TARGET_64BIT
22692 : : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
22693 : : && ix86_pre_reload_split ()))
22694 : : return -1;
22695 : : return 1155; /* *x86_64_shrd_shld_1_nozext */
22696 : :
22697 : : case 1:
22698 : : if (!
22699 : : #line 17284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22700 : : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
22701 : : && ix86_pre_reload_split ()))
22702 : : return -1;
22703 : : return 1167; /* *x86_shrd_shld_1_nozext */
22704 : :
22705 : : case 2:
22706 : : x9 = XEXP (x7, 0);
22707 : : operands[1] = x9;
22708 : : if (nonimmediate_operand (operands[0], E_DImode))
22709 : : {
22710 : : x12 = XEXP (x4, 1);
22711 : : operands[2] = x12;
22712 : : x8 = XEXP (x4, 0);
22713 : : if (rtx_equal_p (x8, operands[0]))
22714 : : {
22715 : : x17 = XEXP (x7, 1);
22716 : : x18 = XEXP (x17, 1);
22717 : : if (rtx_equal_p (x18, operands[2])
22718 : : &&
22719 : : #line 17106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22720 : : (TARGET_64BIT && ix86_pre_reload_split ()))
22721 : : return 1156; /* *x86_64_shrd_2 */
22722 : : }
22723 : : }
22724 : : operands[2] = x9;
22725 : : if (!register_operand (operands[0], E_DImode))
22726 : : return -1;
22727 : : x8 = XEXP (x4, 0);
22728 : : operands[1] = x8;
22729 : : if (!nonimmediate_operand (operands[1], E_DImode))
22730 : : return -1;
22731 : : x12 = XEXP (x4, 1);
22732 : : operands[3] = x12;
22733 : : x17 = XEXP (x7, 1);
22734 : : x18 = XEXP (x17, 1);
22735 : : if (!rtx_equal_p (x18, operands[2])
22736 : : || !
22737 : : #line 17127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22738 : : (TARGET_APX_NDD
22739 : : && ix86_pre_reload_split ()))
22740 : : return -1;
22741 : : return 1157; /* *x86_64_shrd_ndd_2 */
22742 : :
22743 : : case 3:
22744 : : x9 = XEXP (x7, 0);
22745 : : operands[1] = x9;
22746 : : if (nonimmediate_operand (operands[0], E_SImode))
22747 : : {
22748 : : x12 = XEXP (x4, 1);
22749 : : operands[2] = x12;
22750 : : x8 = XEXP (x4, 0);
22751 : : if (rtx_equal_p (x8, operands[0]))
22752 : : {
22753 : : x17 = XEXP (x7, 1);
22754 : : x18 = XEXP (x17, 1);
22755 : : if (rtx_equal_p (x18, operands[2])
22756 : : &&
22757 : : #line 17336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22758 : : (TARGET_64BIT && ix86_pre_reload_split ()))
22759 : : return 1168; /* *x86_shrd_2 */
22760 : : }
22761 : : }
22762 : : operands[2] = x9;
22763 : : if (!register_operand (operands[0], E_SImode))
22764 : : return -1;
22765 : : x8 = XEXP (x4, 0);
22766 : : operands[1] = x8;
22767 : : if (!nonimmediate_operand (operands[1], E_SImode))
22768 : : return -1;
22769 : : x12 = XEXP (x4, 1);
22770 : : operands[3] = x12;
22771 : : x17 = XEXP (x7, 1);
22772 : : x18 = XEXP (x17, 1);
22773 : : if (!rtx_equal_p (x18, operands[3])
22774 : : || !
22775 : : #line 17357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22776 : : (TARGET_APX_NDD
22777 : : && ix86_pre_reload_split ()))
22778 : : return -1;
22779 : : return 1169; /* *x86_shrd_ndd_2 */
22780 : :
22781 : : default:
22782 : : return -1;
22783 : : }
22784 : :
22785 : : default:
22786 : : return -1;
22787 : : }
22788 : :
22789 : : default:
22790 : : return -1;
22791 : : }
22792 : :
22793 : : case NOT:
22794 : : x8 = XEXP (x4, 0);
22795 : : if (GET_CODE (x8) != PLUS)
22796 : : return -1;
22797 : : x19 = XEXP (x8, 1);
22798 : : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
22799 : : || pattern333 (x1) != 0)
22800 : : return -1;
22801 : : x20 = XEXP (x8, 0);
22802 : : operands[1] = x20;
22803 : : x7 = XEXP (x3, 1);
22804 : : if (!rtx_equal_p (x7, operands[1]))
22805 : : return -1;
22806 : : switch (GET_MODE (operands[0]))
22807 : : {
22808 : : case E_SImode:
22809 : : if (!register_operand (operands[0], E_SImode)
22810 : : || GET_MODE (x3) != E_SImode
22811 : : || GET_MODE (x4) != E_SImode
22812 : : || GET_MODE (x8) != E_SImode
22813 : : || !nonimmediate_operand (operands[1], E_SImode)
22814 : : || !
22815 : : #line 22336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22816 : : (TARGET_TBM))
22817 : : return -1;
22818 : : return 1614; /* *tbm_blci_si */
22819 : :
22820 : : case E_DImode:
22821 : : if (!register_operand (operands[0], E_DImode)
22822 : : || GET_MODE (x3) != E_DImode
22823 : : || GET_MODE (x4) != E_DImode
22824 : : || GET_MODE (x8) != E_DImode
22825 : : || !nonimmediate_operand (operands[1], E_DImode)
22826 : : || !(
22827 : : #line 22336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22828 : : (TARGET_TBM) &&
22829 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22830 : : (TARGET_64BIT)))
22831 : : return -1;
22832 : : return 1615; /* *tbm_blci_di */
22833 : :
22834 : : default:
22835 : : return -1;
22836 : : }
22837 : :
22838 : : case PLUS:
22839 : : x12 = XEXP (x4, 1);
22840 : : if (GET_CODE (x12) != CONST_INT
22841 : : || pattern338 (x1) != 0)
22842 : : return -1;
22843 : : switch (XWINT (x12, 0))
22844 : : {
22845 : : case 1L:
22846 : : switch (pattern1313 (x3))
22847 : : {
22848 : : case 0:
22849 : : if (!
22850 : : #line 22376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22851 : : (TARGET_TBM))
22852 : : return -1;
22853 : : return 1620; /* *tbm_blcs_si */
22854 : :
22855 : : case 1:
22856 : : if (!(
22857 : : #line 22376 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22858 : : (TARGET_TBM) &&
22859 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22860 : : (TARGET_64BIT)))
22861 : : return -1;
22862 : : return 1621; /* *tbm_blcs_di */
22863 : :
22864 : : case 2:
22865 : : if (!
22866 : : #line 22417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22867 : : (TARGET_TBM))
22868 : : return -1;
22869 : : return 1626; /* *tbm_t1mskc_si */
22870 : :
22871 : : case 3:
22872 : : if (!(
22873 : : #line 22417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22874 : : (TARGET_TBM) &&
22875 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22876 : : (TARGET_64BIT)))
22877 : : return -1;
22878 : : return 1627; /* *tbm_t1mskc_di */
22879 : :
22880 : : default:
22881 : : return -1;
22882 : : }
22883 : :
22884 : : case -1L:
22885 : : switch (pattern1313 (x3))
22886 : : {
22887 : : case 0:
22888 : : if (!
22889 : : #line 22389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22890 : : (TARGET_TBM))
22891 : : return -1;
22892 : : return 1622; /* *tbm_blsfill_si */
22893 : :
22894 : : case 1:
22895 : : if (!(
22896 : : #line 22389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22897 : : (TARGET_TBM) &&
22898 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22899 : : (TARGET_64BIT)))
22900 : : return -1;
22901 : : return 1623; /* *tbm_blsfill_di */
22902 : :
22903 : : case 2:
22904 : : if (!
22905 : : #line 22403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22906 : : (TARGET_TBM))
22907 : : return -1;
22908 : : return 1624; /* *tbm_blsic_si */
22909 : :
22910 : : case 3:
22911 : : if (!(
22912 : : #line 22403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22913 : : (TARGET_TBM) &&
22914 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22915 : : (TARGET_64BIT)))
22916 : : return -1;
22917 : : return 1625; /* *tbm_blsic_di */
22918 : :
22919 : : default:
22920 : : return -1;
22921 : : }
22922 : :
22923 : : default:
22924 : : return -1;
22925 : : }
22926 : :
22927 : : default:
22928 : : return -1;
22929 : : }
22930 : : }
22931 : :
22932 : : int
22933 : : recog_417 (rtx x1 ATTRIBUTE_UNUSED,
22934 : : rtx_insn *insn ATTRIBUTE_UNUSED,
22935 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
22936 : : {
22937 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22938 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22939 : : rtx x10, x11;
22940 : : int res ATTRIBUTE_UNUSED;
22941 : : x2 = XVECEXP (x1, 0, 0);
22942 : : x3 = XEXP (x2, 0);
22943 : : operands[0] = x3;
22944 : : x4 = XEXP (x2, 1);
22945 : : switch (XVECLEN (x4, 0))
22946 : : {
22947 : : case 1:
22948 : : switch (XINT (x4, 1))
22949 : : {
22950 : : case 2:
22951 : : x5 = XVECEXP (x1, 0, 1);
22952 : : if (pattern222 (x5,
22953 : : E_CCmode,
22954 : : 17) != 0)
22955 : : return -1;
22956 : : x6 = XVECEXP (x4, 0, 0);
22957 : : operands[1] = x6;
22958 : : switch (GET_MODE (operands[0]))
22959 : : {
22960 : : case E_SImode:
22961 : : if (!register_operand (operands[0], E_SImode)
22962 : : || GET_MODE (x4) != E_SImode
22963 : : || !register_operand (operands[1], E_SImode)
22964 : : || !(
22965 : : #line 27468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22966 : : (ix86_target_stack_probe ()) &&
22967 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22968 : : (Pmode == SImode)))
22969 : : return -1;
22970 : : return 1867; /* allocate_stack_worker_probe_si */
22971 : :
22972 : : case E_DImode:
22973 : : if (!register_operand (operands[0], E_DImode)
22974 : : || GET_MODE (x4) != E_DImode
22975 : : || !register_operand (operands[1], E_DImode)
22976 : : || !(
22977 : : #line 27468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22978 : : (ix86_target_stack_probe ()) &&
22979 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22980 : : (Pmode == DImode)))
22981 : : return -1;
22982 : : return 1868; /* allocate_stack_worker_probe_di */
22983 : :
22984 : : default:
22985 : : return -1;
22986 : : }
22987 : :
22988 : : case 11:
22989 : : if (pattern687 (x1,
22990 : : 11) != 0
22991 : : || !
22992 : : #line 29502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22993 : : (TARGET_64BIT))
22994 : : return -1;
22995 : : return 1904; /* rdpmc_rex64 */
22996 : :
22997 : : case 9:
22998 : : if (pattern688 (x1,
22999 : : E_DImode,
23000 : : 9) != 0
23001 : : || !
23002 : : #line 29520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23003 : : (TARGET_64BIT))
23004 : : return -1;
23005 : : return 1906; /* rdtsc_rex64 */
23006 : :
23007 : : case 10:
23008 : : if (pattern688 (x1,
23009 : : E_SImode,
23010 : : 10) != 0
23011 : : || !
23012 : : #line 29530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23013 : : (!TARGET_64BIT))
23014 : : return -1;
23015 : : return 1907; /* rdtscp */
23016 : :
23017 : : case 36:
23018 : : if (pattern687 (x1,
23019 : : 36) != 0
23020 : : || !
23021 : : #line 29744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23022 : : (TARGET_64BIT && TARGET_XSAVE))
23023 : : return -1;
23024 : : return 1934; /* xgetbv_rex64 */
23025 : :
23026 : : case 44:
23027 : : switch (pattern689 (x1,
23028 : : 44))
23029 : : {
23030 : : case 0:
23031 : : if (!
23032 : : #line 29905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23033 : : (TARGET_RDRND))
23034 : : return -1;
23035 : : return 1957; /* rdrandhi */
23036 : :
23037 : : case 1:
23038 : : if (!
23039 : : #line 29905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23040 : : (TARGET_RDRND))
23041 : : return -1;
23042 : : return 1958; /* rdrandsi */
23043 : :
23044 : : case 2:
23045 : : if (!(
23046 : : #line 29905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23047 : : (TARGET_RDRND) &&
23048 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23049 : : (TARGET_64BIT)))
23050 : : return -1;
23051 : : return 1959; /* rdranddi */
23052 : :
23053 : : default:
23054 : : return -1;
23055 : : }
23056 : :
23057 : : case 45:
23058 : : switch (pattern689 (x1,
23059 : : 45))
23060 : : {
23061 : : case 0:
23062 : : if (!
23063 : : #line 29915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23064 : : (TARGET_RDSEED))
23065 : : return -1;
23066 : : return 1960; /* rdseedhi */
23067 : :
23068 : : case 1:
23069 : : if (!
23070 : : #line 29915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23071 : : (TARGET_RDSEED))
23072 : : return -1;
23073 : : return 1961; /* rdseedsi */
23074 : :
23075 : : case 2:
23076 : : if (!(
23077 : : #line 29915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23078 : : (TARGET_RDSEED) &&
23079 : : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23080 : : (TARGET_64BIT)))
23081 : : return -1;
23082 : : return 1962; /* rdseeddi */
23083 : :
23084 : : default:
23085 : : return -1;
23086 : : }
23087 : :
23088 : : case 56:
23089 : : if (GET_MODE (x4) != E_SImode)
23090 : : return -1;
23091 : : x5 = XVECEXP (x1, 0, 1);
23092 : : if (GET_CODE (x5) != SET)
23093 : : return -1;
23094 : : x7 = XEXP (x5, 1);
23095 : : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23096 : : || !register_operand (operands[0], E_SImode))
23097 : : return -1;
23098 : : x6 = XVECEXP (x4, 0, 0);
23099 : : operands[2] = x6;
23100 : : if (!register_operand (operands[2], E_SImode))
23101 : : return -1;
23102 : : x8 = XEXP (x5, 0);
23103 : : operands[1] = x8;
23104 : : if (!register_operand (operands[1], E_SImode)
23105 : : || !
23106 : : #line 30158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23107 : : (TARGET_PKU))
23108 : : return -1;
23109 : : return 1988; /* *rdpkru */
23110 : :
23111 : : default:
23112 : : return -1;
23113 : : }
23114 : :
23115 : : case 2:
23116 : : switch (XINT (x4, 1))
23117 : : {
23118 : : case 3:
23119 : : x5 = XVECEXP (x1, 0, 1);
23120 : : if (pattern222 (x5,
23121 : : E_CCmode,
23122 : : 17) != 0)
23123 : : return -1;
23124 : : x6 = XVECEXP (x4, 0, 0);
23125 : : operands[1] = x6;
23126 : : x9 = XVECEXP (x4, 0, 1);
23127 : : operands[2] = x9;
23128 : : switch (GET_MODE (operands[0]))
23129 : : {
23130 : : case E_SImode:
23131 : : if (pattern1426 (x4,
23132 : : E_SImode) != 0
23133 : : || !
23134 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23135 : : (Pmode == SImode))
23136 : : return -1;
23137 : : return 1873; /* probe_stack_range_si */
23138 : :
23139 : : case E_DImode:
23140 : : if (pattern1426 (x4,
23141 : : E_DImode) != 0
23142 : : || !
23143 : : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23144 : : (Pmode == DImode))
23145 : : return -1;
23146 : : return 1874; /* probe_stack_range_di */
23147 : :
23148 : : default:
23149 : : return -1;
23150 : : }
23151 : :
23152 : : case 99:
23153 : : if (pattern690 (x1,
23154 : : 99) != 0
23155 : : || !
23156 : : #line 31505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23157 : : (TARGET_KL))
23158 : : return -1;
23159 : : return 10335; /* aesdec128klu8 */
23160 : :
23161 : : case 101:
23162 : : if (pattern690 (x1,
23163 : : 101) != 0
23164 : : || !
23165 : : #line 31505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23166 : : (TARGET_KL))
23167 : : return -1;
23168 : : return 10336; /* aesdec256klu8 */
23169 : :
23170 : : case 100:
23171 : : if (pattern690 (x1,
23172 : : 100) != 0
23173 : : || !
23174 : : #line 31505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23175 : : (TARGET_KL))
23176 : : return -1;
23177 : : return 10337; /* aesenc128klu8 */
23178 : :
23179 : : case 102:
23180 : : if (pattern690 (x1,
23181 : : 102) != 0
23182 : : || !
23183 : : #line 31505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23184 : : (TARGET_KL))
23185 : : return -1;
23186 : : return 10338; /* aesenc256klu8 */
23187 : :
23188 : : case 110:
23189 : : x5 = XVECEXP (x1, 0, 1);
23190 : : if (GET_CODE (x5) != SET)
23191 : : return -1;
23192 : : x6 = XVECEXP (x4, 0, 0);
23193 : : operands[1] = x6;
23194 : : x9 = XVECEXP (x4, 0, 1);
23195 : : operands[3] = x9;
23196 : : if (!const_int_operand (operands[3], E_SImode))
23197 : : return -1;
23198 : : x8 = XEXP (x5, 0);
23199 : : if (!rtx_equal_p (x8, operands[1]))
23200 : : return -1;
23201 : : x7 = XEXP (x5, 1);
23202 : : switch (GET_CODE (x7))
23203 : : {
23204 : : case PLUS:
23205 : : if (pnum_clobbers == NULL)
23206 : : return -1;
23207 : : x10 = XEXP (x7, 1);
23208 : : operands[2] = x10;
23209 : : x11 = XEXP (x7, 0);
23210 : : if (!rtx_equal_p (x11, operands[1]))
23211 : : return -1;
23212 : : switch (GET_MODE (operands[0]))
23213 : : {
23214 : : case E_QImode:
23215 : : if (pattern1557 (x1,
23216 : : E_QImode) != 0
23217 : : || !
23218 : : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23219 : : (TARGET_XADD))
23220 : : return -1;
23221 : : *pnum_clobbers = 1;
23222 : : return 10968; /* atomic_fetch_addqi */
23223 : :
23224 : : case E_HImode:
23225 : : if (pattern1557 (x1,
23226 : : E_HImode) != 0
23227 : : || !
23228 : : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23229 : : (TARGET_XADD))
23230 : : return -1;
23231 : : *pnum_clobbers = 1;
23232 : : return 10969; /* atomic_fetch_addhi */
23233 : :
23234 : : case E_SImode:
23235 : : if (pattern1557 (x1,
23236 : : E_SImode) != 0
23237 : : || !
23238 : : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23239 : : (TARGET_XADD))
23240 : : return -1;
23241 : : *pnum_clobbers = 1;
23242 : : return 10970; /* atomic_fetch_addsi */
23243 : :
23244 : : case E_DImode:
23245 : : if (pattern1557 (x1,
23246 : : E_DImode) != 0
23247 : : || !(
23248 : : #line 703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
23249 : : (TARGET_XADD) &&
23250 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23251 : : (TARGET_64BIT)))
23252 : : return -1;
23253 : : *pnum_clobbers = 1;
23254 : : return 10971; /* atomic_fetch_adddi */
23255 : :
23256 : : default:
23257 : : return -1;
23258 : : }
23259 : :
23260 : : case REG:
23261 : : case SUBREG:
23262 : : operands[2] = x7;
23263 : : switch (GET_MODE (operands[0]))
23264 : : {
23265 : : case E_QImode:
23266 : : if (pattern1484 (x4,
23267 : : E_QImode) != 0)
23268 : : return -1;
23269 : : return 10976; /* atomic_exchangeqi */
23270 : :
23271 : : case E_HImode:
23272 : : if (pattern1484 (x4,
23273 : : E_HImode) != 0)
23274 : : return -1;
23275 : : return 10977; /* atomic_exchangehi */
23276 : :
23277 : : case E_SImode:
23278 : : if (pattern1484 (x4,
23279 : : E_SImode) != 0)
23280 : : return -1;
23281 : : return 10978; /* atomic_exchangesi */
23282 : :
23283 : : case E_DImode:
23284 : : if (pattern1484 (x4,
23285 : : E_DImode) != 0
23286 : : || !
23287 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23288 : : (TARGET_64BIT))
23289 : : return -1;
23290 : : return 10979; /* atomic_exchangedi */
23291 : :
23292 : : default:
23293 : : return -1;
23294 : : }
23295 : :
23296 : : default:
23297 : : return -1;
23298 : : }
23299 : :
23300 : : case 111:
23301 : : x5 = XVECEXP (x1, 0, 1);
23302 : : if (pattern222 (x5,
23303 : : E_CCmode,
23304 : : 17) != 0)
23305 : : return -1;
23306 : : x9 = XVECEXP (x4, 0, 1);
23307 : : operands[2] = x9;
23308 : : if (!const_int_operand (operands[2], E_SImode))
23309 : : return -1;
23310 : : x6 = XVECEXP (x4, 0, 0);
23311 : : switch (GET_CODE (x6))
23312 : : {
23313 : : case PLUS:
23314 : : switch (pattern1428 (x4))
23315 : : {
23316 : : case 0:
23317 : : return 10988; /* atomic_addqi */
23318 : :
23319 : : case 1:
23320 : : return 10989; /* atomic_addhi */
23321 : :
23322 : : case 2:
23323 : : return 10990; /* atomic_addsi */
23324 : :
23325 : : case 3:
23326 : : if (!
23327 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23328 : : (TARGET_64BIT))
23329 : : return -1;
23330 : : return 10991; /* atomic_adddi */
23331 : :
23332 : : default:
23333 : : return -1;
23334 : : }
23335 : :
23336 : : case MINUS:
23337 : : switch (pattern1428 (x4))
23338 : : {
23339 : : case 0:
23340 : : return 10992; /* atomic_subqi */
23341 : :
23342 : : case 1:
23343 : : return 10993; /* atomic_subhi */
23344 : :
23345 : : case 2:
23346 : : return 10994; /* atomic_subsi */
23347 : :
23348 : : case 3:
23349 : : if (!
23350 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23351 : : (TARGET_64BIT))
23352 : : return -1;
23353 : : return 10995; /* atomic_subdi */
23354 : :
23355 : : default:
23356 : : return -1;
23357 : : }
23358 : :
23359 : : case AND:
23360 : : switch (pattern1428 (x4))
23361 : : {
23362 : : case 0:
23363 : : return 10996; /* atomic_andqi */
23364 : :
23365 : : case 1:
23366 : : return 10999; /* atomic_andhi */
23367 : :
23368 : : case 2:
23369 : : return 11002; /* atomic_andsi */
23370 : :
23371 : : case 3:
23372 : : if (!
23373 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23374 : : (TARGET_64BIT))
23375 : : return -1;
23376 : : return 11005; /* atomic_anddi */
23377 : :
23378 : : default:
23379 : : return -1;
23380 : : }
23381 : :
23382 : : case IOR:
23383 : : switch (pattern1428 (x4))
23384 : : {
23385 : : case 0:
23386 : : return 10997; /* atomic_orqi */
23387 : :
23388 : : case 1:
23389 : : return 11000; /* atomic_orhi */
23390 : :
23391 : : case 2:
23392 : : return 11003; /* atomic_orsi */
23393 : :
23394 : : case 3:
23395 : : if (!
23396 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23397 : : (TARGET_64BIT))
23398 : : return -1;
23399 : : return 11006; /* atomic_ordi */
23400 : :
23401 : : default:
23402 : : return -1;
23403 : : }
23404 : :
23405 : : case XOR:
23406 : : switch (pattern1428 (x4))
23407 : : {
23408 : : case 0:
23409 : : return 10998; /* atomic_xorqi */
23410 : :
23411 : : case 1:
23412 : : return 11001; /* atomic_xorhi */
23413 : :
23414 : : case 2:
23415 : : return 11004; /* atomic_xorsi */
23416 : :
23417 : : case 3:
23418 : : if (!
23419 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23420 : : (TARGET_64BIT))
23421 : : return -1;
23422 : : return 11007; /* atomic_xordi */
23423 : :
23424 : : default:
23425 : : return -1;
23426 : : }
23427 : :
23428 : : default:
23429 : : return -1;
23430 : : }
23431 : :
23432 : : default:
23433 : : return -1;
23434 : : }
23435 : :
23436 : : default:
23437 : : return -1;
23438 : : }
23439 : : }
23440 : :
23441 : : int
23442 : : recog_437 (rtx x1 ATTRIBUTE_UNUSED,
23443 : : rtx_insn *insn ATTRIBUTE_UNUSED,
23444 : : int *pnum_clobbers ATTRIBUTE_UNUSED)
23445 : : {
23446 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23447 : : rtx x2, x3, x4;
23448 : : int res ATTRIBUTE_UNUSED;
23449 : : x2 = XEXP (x1, 1);
23450 : : switch (GET_CODE (x2))
23451 : : {
23452 : : case IF_THEN_ELSE:
23453 : : res = recog_2 (x1, insn, pnum_clobbers);
23454 : : if (res >= 0)
23455 : : return res;
23456 : : break;
23457 : :
23458 : : case COMPARE:
23459 : : res = recog_5 (x1, insn, pnum_clobbers);
23460 : : if (res >= 0)
23461 : : return res;
23462 : : break;
23463 : :
23464 : : case UNSPEC:
23465 : : res = recog_14 (x1, insn, pnum_clobbers);
23466 : : if (res >= 0)
23467 : : return res;
23468 : : break;
23469 : :
23470 : : case CONST_INT:
23471 : : case CONST_WIDE_INT:
23472 : : case CONST_POLY_INT:
23473 : : case CONST_FIXED:
23474 : : case CONST_DOUBLE:
23475 : : case CONST_VECTOR:
23476 : : case CONST:
23477 : : case REG:
23478 : : case SUBREG:
23479 : : case MEM:
23480 : : case LABEL_REF:
23481 : : case SYMBOL_REF:
23482 : : case HIGH:
23483 : : res = recog_20 (x1, insn, pnum_clobbers);
23484 : : if (res >= 0)
23485 : : return res;
23486 : : break;
23487 : :
23488 : : case ASHIFTRT:
23489 : : case LSHIFTRT:
23490 : : case SIGN_EXTRACT:
23491 : : case ZERO_EXTRACT:
23492 : : res = recog_25 (x1, insn, pnum_clobbers);
23493 : : if (res >= 0)
23494 : : return res;
23495 : : break;
23496 : :
23497 : : case IOR:
23498 : : res = recog_26 (x1, insn, pnum_clobbers);
23499 : : if (res >= 0)
23500 : : return res;
23501 : : break;
23502 : :
23503 : : case XOR:
23504 : : res = recog_27 (x1, insn, pnum_clobbers);
23505 : : if (res >= 0)
23506 : : return res;
23507 : : break;
23508 : :
23509 : : case ZERO_EXTEND:
23510 : : res = recog_29 (x1, insn, pnum_clobbers);
23511 : : if (res >= 0)
23512 : : return res;
23513 : : break;
23514 : :
23515 : : case SIGN_EXTEND:
23516 : : res = recog_30 (x1, insn, pnum_clobbers);
23517 : : if (res >= 0)
23518 : : return res;
23519 : : break;
23520 : :
23521 : : case FLOAT_EXTEND:
23522 : : res = recog_31 (x1, insn, pnum_clobbers);
23523 : : if (res >= 0)
23524 : : return res;
23525 : : break;
23526 : :
23527 : : case FLOAT_TRUNCATE:
23528 : : res = recog_32 (x1, insn, pnum_clobbers);
23529 : : if (res >= 0)
23530 : : return res;
23531 : : break;
23532 : :
23533 : : case FIX:
23534 : : res = recog_33 (x1, insn, pnum_clobbers);
23535 : : if (res >= 0)
23536 : : return res;
23537 : : break;
23538 : :
23539 : : case UNSIGNED_FIX:
23540 : : res = recog_34 (x1, insn, pnum_clobbers);
23541 : : if (res >= 0)
23542 : : return res;
23543 : : break;
23544 : :
23545 : : case FLOAT:
23546 : : res = recog_35 (x1, insn, pnum_clobbers);
23547 : : if (res >= 0)
23548 : : return res;
23549 : : break;
23550 : :
23551 : : case UNSIGNED_FLOAT:
23552 : : res = recog_36 (x1, insn, pnum_clobbers);
23553 : : if (res >= 0)
23554 : : return res;
23555 : : break;
23556 : :
23557 : : case AND:
23558 : : res = recog_41 (x1, insn, pnum_clobbers);
23559 : : if (res >= 0)
23560 : : return res;
23561 : : break;
23562 : :
23563 : : case NOT:
23564 : : res = recog_42 (x1, insn, pnum_clobbers);
23565 : : if (res >= 0)
23566 : : return res;
23567 : : break;
23568 : :
23569 : : case NEG:
23570 : : res = recog_43 (x1, insn, pnum_clobbers);
23571 : : if (res >= 0)
23572 : : return res;
23573 : : break;
23574 : :
23575 : : case ABS:
23576 : : res = recog_44 (x1, insn, pnum_clobbers);
23577 : : if (res >= 0)
23578 : : return res;
23579 : : break;
23580 : :
23581 : : case ASHIFT:
23582 : : res = recog_45 (x1, insn, pnum_clobbers);
23583 : : if (res >= 0)
23584 : : return res;
23585 : : break;
23586 : :
23587 : : case ROTATE:
23588 : : res = recog_46 (x1, insn, pnum_clobbers);
23589 : : if (res >= 0)
23590 : : return res;
23591 : : break;
23592 : :
23593 : : case ROTATERT:
23594 : : res = recog_47 (x1, insn, pnum_clobbers);
23595 : : if (res >= 0)
23596 : : return res;
23597 : : break;
23598 : :
23599 : : case NE:
23600 : : case EQ:
23601 : : case GE:
23602 : : case GT:
23603 : : case LE:
23604 : : case LT:
23605 : : case LTGT:
23606 : : case GEU:
23607 : : case GTU:
23608 : : case LEU:
23609 : : case LTU:
23610 : : case UNORDERED:
23611 : : case ORDERED:
23612 : : case UNEQ:
23613 : : case UNGE:
23614 : : case UNGT:
23615 : : case UNLE:
23616 : : case UNLT:
23617 : : res = recog_53 (x1, insn, pnum_clobbers);
23618 : : if (res >= 0)
23619 : : return res;
23620 : : break;
23621 : :
23622 : : case POPCOUNT:
23623 : : res = recog_54 (x1, insn, pnum_clobbers);
23624 : : if (res >= 0)
23625 : : return res;
23626 : : break;
23627 : :
23628 : : case BSWAP:
23629 : : if (GET_MODE (x2) == E_HImode)
23630 : : {
23631 : : x3 = XEXP (x1, 0);
23632 : : operands[0] = x3;
23633 : : x4 = XEXP (x2, 0);
23634 : : operands[1] = x4;
23635 : : if (nonimmediate_operand (operands[1], E_HImode)
23636 : : && nonimmediate_operand (operands[0], E_HImode)
23637 : : &&
23638 : : #line 22749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23639 : : (TARGET_MOVBE
23640 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
23641 : : return 1650; /* *bswaphi2_movbe */
23642 : : if (register_operand (operands[1], E_HImode)
23643 : : && register_operand (operands[0], E_HImode)
23644 : : &&
23645 : : #line 22768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23646 : : (!TARGET_MOVBE))
23647 : : return 1651; /* *bswaphi2 */
23648 : : }
23649 : : break;
23650 : :
23651 : : case PLUS:
23652 : : case MINUS:
23653 : : case MULT:
23654 : : case DIV:
23655 : : res = recog_61 (x1, insn, pnum_clobbers);
23656 : : if (res >= 0)
23657 : : return res;
23658 : : break;
23659 : :
23660 : : case SQRT:
23661 : : res = recog_355 (x1, insn, pnum_clobbers);
23662 : : if (res >= 0)
23663 : : return res;
23664 : : break;
23665 : :
23666 : : case SMAX:
23667 : : switch (pattern7 (x1, pnum_clobbers))
23668 : : {
23669 : : case 0:
23670 : : if (
23671 : : #line 26955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23672 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
23673 : : return 1821; /* smaxsf3 */
23674 : : break;
23675 : :
23676 : : case 1:
23677 : : if (
23678 : : #line 26955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23679 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
23680 : : return 1823; /* smaxdf3 */
23681 : : break;
23682 : :
23683 : : case 2:
23684 : : if (
23685 : : #line 26969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23686 : : (TARGET_AVX512FP16))
23687 : : return 1825; /* smaxhf3 */
23688 : : break;
23689 : :
23690 : : case 3:
23691 : : if ((
23692 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23693 : : (TARGET_CMOVE
23694 : : && ix86_pre_reload_split ()) &&
23695 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23696 : : (TARGET_64BIT)))
23697 : : {
23698 : : *pnum_clobbers = 1;
23699 : : return 1841; /* *smaxti3_doubleword */
23700 : : }
23701 : : break;
23702 : :
23703 : : case 4:
23704 : : if (
23705 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23706 : : (TARGET_CMOVE
23707 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
23708 : : && ix86_pre_reload_split ()))
23709 : : {
23710 : : *pnum_clobbers = 1;
23711 : : return 1845; /* *smaxqi3_1 */
23712 : : }
23713 : : break;
23714 : :
23715 : : case 5:
23716 : : if (
23717 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23718 : : (TARGET_CMOVE
23719 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
23720 : : && ix86_pre_reload_split ()))
23721 : : {
23722 : : *pnum_clobbers = 1;
23723 : : return 1849; /* *smaxhi3_1 */
23724 : : }
23725 : : break;
23726 : :
23727 : : case 6:
23728 : : if (
23729 : : #line 3682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23730 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
23731 : : return 2179; /* smaxv8qi3 */
23732 : : break;
23733 : :
23734 : : case 7:
23735 : : if (
23736 : : #line 3682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23737 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
23738 : : return 2181; /* smaxv2si3 */
23739 : : break;
23740 : :
23741 : : case 8:
23742 : : if (
23743 : : #line 3707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23744 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
23745 : : && (TARGET_SSE || TARGET_3DNOW_A)
23746 : : && ix86_binary_operator_ok (SMAX, V4HImode, operands)))
23747 : : return 2183; /* *mmx_smaxv4hi3 */
23748 : : break;
23749 : :
23750 : : case 9:
23751 : : if (
23752 : : #line 3731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23753 : : (TARGET_SSE4_1))
23754 : : return 2185; /* smaxv4qi3 */
23755 : : break;
23756 : :
23757 : : case 10:
23758 : : if (
23759 : : #line 3731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23760 : : (TARGET_SSE4_1))
23761 : : return 2187; /* smaxv2qi3 */
23762 : : break;
23763 : :
23764 : : case 11:
23765 : : if (
23766 : : #line 3747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23767 : : (TARGET_SSE2))
23768 : : return 2189; /* smaxv2hi3 */
23769 : : break;
23770 : :
23771 : : default:
23772 : : break;
23773 : : }
23774 : : break;
23775 : :
23776 : : case SMIN:
23777 : : switch (pattern7 (x1, pnum_clobbers))
23778 : : {
23779 : : case 0:
23780 : : if (
23781 : : #line 26955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23782 : : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
23783 : : return 1822; /* sminsf3 */
23784 : : break;
23785 : :
23786 : : case 1:
23787 : : if (
23788 : : #line 26955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23789 : : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
23790 : : return 1824; /* smindf3 */
23791 : : break;
23792 : :
23793 : : case 2:
23794 : : if (
23795 : : #line 26969 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23796 : : (TARGET_AVX512FP16))
23797 : : return 1826; /* sminhf3 */
23798 : : break;
23799 : :
23800 : : case 3:
23801 : : if ((
23802 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23803 : : (TARGET_CMOVE
23804 : : && ix86_pre_reload_split ()) &&
23805 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23806 : : (TARGET_64BIT)))
23807 : : {
23808 : : *pnum_clobbers = 1;
23809 : : return 1842; /* *sminti3_doubleword */
23810 : : }
23811 : : break;
23812 : :
23813 : : case 4:
23814 : : if (
23815 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23816 : : (TARGET_CMOVE
23817 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
23818 : : && ix86_pre_reload_split ()))
23819 : : {
23820 : : *pnum_clobbers = 1;
23821 : : return 1846; /* *sminqi3_1 */
23822 : : }
23823 : : break;
23824 : :
23825 : : case 5:
23826 : : if (
23827 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23828 : : (TARGET_CMOVE
23829 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
23830 : : && ix86_pre_reload_split ()))
23831 : : {
23832 : : *pnum_clobbers = 1;
23833 : : return 1850; /* *sminhi3_1 */
23834 : : }
23835 : : break;
23836 : :
23837 : : case 6:
23838 : : if (
23839 : : #line 3682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23840 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
23841 : : return 2180; /* sminv8qi3 */
23842 : : break;
23843 : :
23844 : : case 7:
23845 : : if (
23846 : : #line 3682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23847 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
23848 : : return 2182; /* sminv2si3 */
23849 : : break;
23850 : :
23851 : : case 8:
23852 : : if (
23853 : : #line 3707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23854 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
23855 : : && (TARGET_SSE || TARGET_3DNOW_A)
23856 : : && ix86_binary_operator_ok (SMIN, V4HImode, operands)))
23857 : : return 2184; /* *mmx_sminv4hi3 */
23858 : : break;
23859 : :
23860 : : case 9:
23861 : : if (
23862 : : #line 3731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23863 : : (TARGET_SSE4_1))
23864 : : return 2186; /* sminv4qi3 */
23865 : : break;
23866 : :
23867 : : case 10:
23868 : : if (
23869 : : #line 3731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23870 : : (TARGET_SSE4_1))
23871 : : return 2188; /* sminv2qi3 */
23872 : : break;
23873 : :
23874 : : case 11:
23875 : : if (
23876 : : #line 3747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23877 : : (TARGET_SSE2))
23878 : : return 2190; /* sminv2hi3 */
23879 : : break;
23880 : :
23881 : : default:
23882 : : break;
23883 : : }
23884 : : break;
23885 : :
23886 : : case UMAX:
23887 : : switch (pattern8 (x1, pnum_clobbers))
23888 : : {
23889 : : case 0:
23890 : : if ((
23891 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23892 : : (TARGET_CMOVE
23893 : : && ix86_pre_reload_split ()) &&
23894 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23895 : : (TARGET_64BIT)))
23896 : : {
23897 : : *pnum_clobbers = 1;
23898 : : return 1843; /* *umaxti3_doubleword */
23899 : : }
23900 : : break;
23901 : :
23902 : : case 1:
23903 : : if (
23904 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23905 : : (TARGET_CMOVE
23906 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
23907 : : && ix86_pre_reload_split ()))
23908 : : {
23909 : : *pnum_clobbers = 1;
23910 : : return 1847; /* *umaxqi3_1 */
23911 : : }
23912 : : break;
23913 : :
23914 : : case 2:
23915 : : if (
23916 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23917 : : (TARGET_CMOVE
23918 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
23919 : : && ix86_pre_reload_split ()))
23920 : : {
23921 : : *pnum_clobbers = 1;
23922 : : return 1851; /* *umaxhi3_1 */
23923 : : }
23924 : : break;
23925 : :
23926 : : case 3:
23927 : : if (
23928 : : #line 3760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23929 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
23930 : : return 2191; /* umaxv4hi3 */
23931 : : break;
23932 : :
23933 : : case 4:
23934 : : if (
23935 : : #line 3760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23936 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
23937 : : return 2193; /* umaxv2si3 */
23938 : : break;
23939 : :
23940 : : case 5:
23941 : : if (
23942 : : #line 3785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23943 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
23944 : : && (TARGET_SSE || TARGET_3DNOW_A)
23945 : : && ix86_binary_operator_ok (UMAX, V8QImode, operands)))
23946 : : return 2195; /* *mmx_umaxv8qi3 */
23947 : : break;
23948 : :
23949 : : case 6:
23950 : : if (
23951 : : #line 3809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23952 : : (TARGET_SSE2))
23953 : : return 2197; /* umaxv4qi3 */
23954 : : break;
23955 : :
23956 : : case 7:
23957 : : if (
23958 : : #line 3809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23959 : : (TARGET_SSE2))
23960 : : return 2199; /* umaxv2qi3 */
23961 : : break;
23962 : :
23963 : : case 8:
23964 : : if (
23965 : : #line 3822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23966 : : (TARGET_SSE4_1))
23967 : : return 2201; /* umaxv2hi3 */
23968 : : break;
23969 : :
23970 : : default:
23971 : : break;
23972 : : }
23973 : : break;
23974 : :
23975 : : case UMIN:
23976 : : switch (pattern8 (x1, pnum_clobbers))
23977 : : {
23978 : : case 0:
23979 : : if ((
23980 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23981 : : (TARGET_CMOVE
23982 : : && ix86_pre_reload_split ()) &&
23983 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23984 : : (TARGET_64BIT)))
23985 : : {
23986 : : *pnum_clobbers = 1;
23987 : : return 1844; /* *uminti3_doubleword */
23988 : : }
23989 : : break;
23990 : :
23991 : : case 1:
23992 : : if (
23993 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23994 : : (TARGET_CMOVE
23995 : : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
23996 : : && ix86_pre_reload_split ()))
23997 : : {
23998 : : *pnum_clobbers = 1;
23999 : : return 1848; /* *uminqi3_1 */
24000 : : }
24001 : : break;
24002 : :
24003 : : case 2:
24004 : : if (
24005 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24006 : : (TARGET_CMOVE
24007 : : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
24008 : : && ix86_pre_reload_split ()))
24009 : : {
24010 : : *pnum_clobbers = 1;
24011 : : return 1852; /* *uminhi3_1 */
24012 : : }
24013 : : break;
24014 : :
24015 : : case 3:
24016 : : if (
24017 : : #line 3760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24018 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
24019 : : return 2192; /* uminv4hi3 */
24020 : : break;
24021 : :
24022 : : case 4:
24023 : : if (
24024 : : #line 3760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24025 : : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
24026 : : return 2194; /* uminv2si3 */
24027 : : break;
24028 : :
24029 : : case 5:
24030 : : if (
24031 : : #line 3785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24032 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
24033 : : && (TARGET_SSE || TARGET_3DNOW_A)
24034 : : && ix86_binary_operator_ok (UMIN, V8QImode, operands)))
24035 : : return 2196; /* *mmx_uminv8qi3 */
24036 : : break;
24037 : :
24038 : : case 6:
24039 : : if (
24040 : : #line 3809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24041 : : (TARGET_SSE2))
24042 : : return 2198; /* uminv4qi3 */
24043 : : break;
24044 : :
24045 : : case 7:
24046 : : if (
24047 : : #line 3809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24048 : : (TARGET_SSE2))
24049 : : return 2200; /* uminv2qi3 */
24050 : : break;
24051 : :
24052 : : case 8:
24053 : : if (
24054 : : #line 3822 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24055 : : (TARGET_SSE4_1))
24056 : : return 2202; /* uminv2hi3 */
24057 : : break;
24058 : :
24059 : : default:
24060 : : break;
24061 : : }
24062 : : break;
24063 : :
24064 : : case UNSPEC_VOLATILE:
24065 : : res = recog_62 (x1, insn, pnum_clobbers);
24066 : : if (res >= 0)
24067 : : return res;
24068 : : break;
24069 : :
24070 : : case VEC_CONCAT:
24071 : : res = recog_63 (x1, insn, pnum_clobbers);
24072 : : if (res >= 0)
24073 : : return res;
24074 : : break;
24075 : :
24076 : : case VEC_MERGE:
24077 : : res = recog_64 (x1, insn, pnum_clobbers);
24078 : : if (res >= 0)
24079 : : return res;
24080 : : break;
24081 : :
24082 : : case VEC_SELECT:
24083 : : res = recog_66 (x1, insn, pnum_clobbers);
24084 : : if (res >= 0)
24085 : : return res;
24086 : : break;
24087 : :
24088 : : case VEC_DUPLICATE:
24089 : : res = recog_67 (x1, insn, pnum_clobbers);
24090 : : if (res >= 0)
24091 : : return res;
24092 : : break;
24093 : :
24094 : : case SS_PLUS:
24095 : : res = recog_68 (x1, insn, pnum_clobbers);
24096 : : if (res >= 0)
24097 : : return res;
24098 : : break;
24099 : :
24100 : : case US_PLUS:
24101 : : x3 = XEXP (x1, 0);
24102 : : operands[0] = x3;
24103 : : switch (pattern44 (x2))
24104 : : {
24105 : : case 0:
24106 : : if (
24107 : : #line 3346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24108 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
24109 : : && ix86_binary_operator_ok (US_PLUS, V8QImode, operands)))
24110 : : return 2150; /* *mmx_usaddv8qi3 */
24111 : : break;
24112 : :
24113 : : case 1:
24114 : : if (
24115 : : #line 3346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24116 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
24117 : : && ix86_binary_operator_ok (US_PLUS, V4HImode, operands)))
24118 : : return 2154; /* *mmx_usaddv4hi3 */
24119 : : break;
24120 : :
24121 : : case 2:
24122 : : if (
24123 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24124 : : (TARGET_SSE2))
24125 : : return 2158; /* usaddv4qi3 */
24126 : : break;
24127 : :
24128 : : case 3:
24129 : : if (
24130 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24131 : : (TARGET_SSE2))
24132 : : return 2162; /* usaddv2qi3 */
24133 : : break;
24134 : :
24135 : : case 4:
24136 : : if (
24137 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24138 : : (TARGET_SSE2))
24139 : : return 2166; /* usaddv2hi3 */
24140 : : break;
24141 : :
24142 : : default:
24143 : : break;
24144 : : }
24145 : : break;
24146 : :
24147 : : case SS_MINUS:
24148 : : x3 = XEXP (x1, 0);
24149 : : operands[0] = x3;
24150 : : x4 = XEXP (x2, 0);
24151 : : switch (GET_CODE (x4))
24152 : : {
24153 : : case REG:
24154 : : case SUBREG:
24155 : : case MEM:
24156 : : switch (pattern44 (x2))
24157 : : {
24158 : : case 0:
24159 : : if (
24160 : : #line 3346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24161 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
24162 : : && ix86_binary_operator_ok (SS_MINUS, V8QImode, operands)))
24163 : : return 2151; /* *mmx_sssubv8qi3 */
24164 : : break;
24165 : :
24166 : : case 1:
24167 : : if (
24168 : : #line 3346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24169 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
24170 : : && ix86_binary_operator_ok (SS_MINUS, V4HImode, operands)))
24171 : : return 2155; /* *mmx_sssubv4hi3 */
24172 : : break;
24173 : :
24174 : : case 2:
24175 : : if (
24176 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24177 : : (TARGET_SSE2))
24178 : : return 2159; /* sssubv4qi3 */
24179 : : break;
24180 : :
24181 : : case 3:
24182 : : if (
24183 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24184 : : (TARGET_SSE2))
24185 : : return 2163; /* sssubv2qi3 */
24186 : : break;
24187 : :
24188 : : case 4:
24189 : : if (
24190 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24191 : : (TARGET_SSE2))
24192 : : return 2167; /* sssubv2hi3 */
24193 : : break;
24194 : :
24195 : : default:
24196 : : break;
24197 : : }
24198 : : break;
24199 : :
24200 : : case VEC_SELECT:
24201 : : if (pattern101 (x2) == 0
24202 : : &&
24203 : : #line 22659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24204 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
24205 : : return 8551; /* ssse3_phsubswv4hi3 */
24206 : : break;
24207 : :
24208 : : default:
24209 : : break;
24210 : : }
24211 : : break;
24212 : :
24213 : : case US_MINUS:
24214 : : x3 = XEXP (x1, 0);
24215 : : operands[0] = x3;
24216 : : switch (pattern44 (x2))
24217 : : {
24218 : : case 0:
24219 : : if (
24220 : : #line 3346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24221 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
24222 : : && ix86_binary_operator_ok (US_MINUS, V8QImode, operands)))
24223 : : return 2152; /* *mmx_ussubv8qi3 */
24224 : : break;
24225 : :
24226 : : case 1:
24227 : : if (
24228 : : #line 3346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24229 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
24230 : : && ix86_binary_operator_ok (US_MINUS, V4HImode, operands)))
24231 : : return 2156; /* *mmx_ussubv4hi3 */
24232 : : break;
24233 : :
24234 : : case 2:
24235 : : if (
24236 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24237 : : (TARGET_SSE2))
24238 : : return 2160; /* ussubv4qi3 */
24239 : : break;
24240 : :
24241 : : case 3:
24242 : : if (
24243 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24244 : : (TARGET_SSE2))
24245 : : return 2164; /* ussubv2qi3 */
24246 : : break;
24247 : :
24248 : : case 4:
24249 : : if (
24250 : : #line 3362 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
24251 : : (TARGET_SSE2))
24252 : : return 2168; /* ussubv2hi3 */
24253 : : break;
24254 : :
24255 : : default:
24256 : : break;
24257 : : }
24258 : : break;
24259 : :
24260 : : case TRUNCATE:
24261 : : res = recog_69 (x1, insn, pnum_clobbers);
24262 : : if (res >= 0)
24263 : : return res;
24264 : : break;
24265 : :
24266 : : case FMA:
24267 : : res = recog_70 (x1, insn, pnum_clobbers);
24268 : : if (res >= 0)
24269 : : return res;
24270 : : break;
24271 : :
24272 : : case SS_TRUNCATE:
24273 : : switch (pattern11 (x1))
24274 : : {
24275 : : case 0:
24276 : : if (
24277 : : #line 15432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24278 : : (TARGET_AVX512VL))
24279 : : return 7248; /* *avx512vl_ss_truncatev2div2qi2_store_1 */
24280 : : break;
24281 : :
24282 : : case 1:
24283 : : if (
24284 : : #line 15527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24285 : : (TARGET_AVX512VL))
24286 : : return 7263; /* *avx512vl_ss_truncatev4siv4qi2_store_1 */
24287 : : break;
24288 : :
24289 : : case 2:
24290 : : if (
24291 : : #line 15527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24292 : : (TARGET_AVX512VL))
24293 : : return 7266; /* *avx512vl_ss_truncatev4div4qi2_store_1 */
24294 : : break;
24295 : :
24296 : : case 3:
24297 : : if ((
24298 : : #line 15625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24299 : : (TARGET_AVX512VL) &&
24300 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24301 : : (TARGET_AVX512BW)))
24302 : : return 7293; /* *avx512vl_ss_truncatev8hiv8qi2_store_1 */
24303 : : break;
24304 : :
24305 : : case 4:
24306 : : if (
24307 : : #line 15625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24308 : : (TARGET_AVX512VL))
24309 : : return 7296; /* *avx512vl_ss_truncatev8siv8qi2_store_1 */
24310 : : break;
24311 : :
24312 : : case 5:
24313 : : if (
24314 : : #line 16141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24315 : : (TARGET_AVX512F))
24316 : : return 7400; /* *avx512f_ss_truncatev8div16qi2_store_1 */
24317 : : break;
24318 : :
24319 : : case 6:
24320 : : if (
24321 : : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24322 : : (TARGET_AVX512VL))
24323 : : return 7333; /* *avx512vl_ss_truncatev4siv4hi2_store_1 */
24324 : : break;
24325 : :
24326 : : case 7:
24327 : : if (
24328 : : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24329 : : (TARGET_AVX512VL))
24330 : : return 7336; /* *avx512vl_ss_truncatev4div4hi2_store_1 */
24331 : : break;
24332 : :
24333 : : case 8:
24334 : : if (
24335 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24336 : : (TARGET_AVX512VL))
24337 : : return 7363; /* *avx512vl_ss_truncatev2div2hi2_store_1 */
24338 : : break;
24339 : :
24340 : : case 9:
24341 : : if (
24342 : : #line 16028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24343 : : (TARGET_AVX512VL))
24344 : : return 7382; /* *avx512vl_ss_truncatev2div2si2_store_1 */
24345 : : break;
24346 : :
24347 : : default:
24348 : : break;
24349 : : }
24350 : : break;
24351 : :
24352 : : case US_TRUNCATE:
24353 : : switch (pattern11 (x1))
24354 : : {
24355 : : case 0:
24356 : : if (
24357 : : #line 15432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24358 : : (TARGET_AVX512VL))
24359 : : return 7250; /* *avx512vl_us_truncatev2div2qi2_store_1 */
24360 : : break;
24361 : :
24362 : : case 1:
24363 : : if (
24364 : : #line 15527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24365 : : (TARGET_AVX512VL))
24366 : : return 7265; /* *avx512vl_us_truncatev4siv4qi2_store_1 */
24367 : : break;
24368 : :
24369 : : case 2:
24370 : : if (
24371 : : #line 15527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24372 : : (TARGET_AVX512VL))
24373 : : return 7268; /* *avx512vl_us_truncatev4div4qi2_store_1 */
24374 : : break;
24375 : :
24376 : : case 3:
24377 : : if ((
24378 : : #line 15625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24379 : : (TARGET_AVX512VL) &&
24380 : : #line 15619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24381 : : (TARGET_AVX512BW)))
24382 : : return 7295; /* *avx512vl_us_truncatev8hiv8qi2_store_1 */
24383 : : break;
24384 : :
24385 : : case 4:
24386 : : if (
24387 : : #line 15625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24388 : : (TARGET_AVX512VL))
24389 : : return 7298; /* *avx512vl_us_truncatev8siv8qi2_store_1 */
24390 : : break;
24391 : :
24392 : : case 5:
24393 : : if (
24394 : : #line 16141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24395 : : (TARGET_AVX512F))
24396 : : return 7402; /* *avx512f_us_truncatev8div16qi2_store_1 */
24397 : : break;
24398 : :
24399 : : case 6:
24400 : : if (
24401 : : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24402 : : (TARGET_AVX512VL))
24403 : : return 7335; /* *avx512vl_us_truncatev4siv4hi2_store_1 */
24404 : : break;
24405 : :
24406 : : case 7:
24407 : : if (
24408 : : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24409 : : (TARGET_AVX512VL))
24410 : : return 7338; /* *avx512vl_us_truncatev4div4hi2_store_1 */
24411 : : break;
24412 : :
24413 : : case 8:
24414 : : if (
24415 : : #line 15878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24416 : : (TARGET_AVX512VL))
24417 : : return 7365; /* *avx512vl_us_truncatev2div2hi2_store_1 */
24418 : : break;
24419 : :
24420 : : case 9:
24421 : : if (
24422 : : #line 16028 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24423 : : (TARGET_AVX512VL))
24424 : : return 7384; /* *avx512vl_us_truncatev2div2si2_store_1 */
24425 : : break;
24426 : :
24427 : : default:
24428 : : break;
24429 : : }
24430 : : break;
24431 : :
24432 : : default:
24433 : : break;
24434 : : }
24435 : : x3 = XEXP (x1, 0);
24436 : : operands[0] = x3;
24437 : : operands[1] = x2;
24438 : : switch (GET_MODE (operands[0]))
24439 : : {
24440 : : case E_XImode:
24441 : : if (nonimmediate_operand (operands[0], E_XImode)
24442 : : && nonimmediate_or_sse_const_operand (operands[1], E_XImode)
24443 : : &&
24444 : : #line 2468 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24445 : : (TARGET_AVX512F
24446 : : && (register_operand (operands[0], XImode)
24447 : : || register_operand (operands[1], XImode))))
24448 : : return 96; /* *movxi_internal_avx512f */
24449 : : break;
24450 : :
24451 : : case E_OImode:
24452 : : if (nonimmediate_operand (operands[0], E_OImode)
24453 : : && nonimmediate_or_sse_const_operand (operands[1], E_OImode)
24454 : : &&
24455 : : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24456 : : (TARGET_AVX
24457 : : && (register_operand (operands[0], OImode)
24458 : : || register_operand (operands[1], OImode))))
24459 : : return 97; /* *movoi_internal_avx */
24460 : : break;
24461 : :
24462 : : case E_SImode:
24463 : : if (register_operand (operands[0], E_SImode)
24464 : : && address_no_seg_operand (operands[1], E_SImode)
24465 : : &&
24466 : : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24467 : : (ix86_hardreg_mov_ok (operands[0], operands[1])))
24468 : : return 268; /* *leasi */
24469 : : break;
24470 : :
24471 : : case E_DImode:
24472 : : if (register_operand (operands[0], E_DImode)
24473 : : && address_no_seg_operand (operands[1], E_DImode)
24474 : : && (
24475 : : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24476 : : (ix86_hardreg_mov_ok (operands[0], operands[1])) &&
24477 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24478 : : (TARGET_64BIT)))
24479 : : return 269; /* *leadi */
24480 : : break;
24481 : :
24482 : : default:
24483 : : break;
24484 : : }
24485 : : switch (GET_CODE (x2))
24486 : : {
24487 : : case PLUS:
24488 : : res = recog_71 (x1, insn, pnum_clobbers);
24489 : : if (res >= 0)
24490 : : return res;
24491 : : break;
24492 : :
24493 : : case ZERO_EXTEND:
24494 : : res = recog_79 (x1, insn, pnum_clobbers);
24495 : : if (res >= 0)
24496 : : return res;
24497 : : break;
24498 : :
24499 : : case COMPARE:
24500 : : res = recog_80 (x1, insn, pnum_clobbers);
24501 : : if (res >= 0)
24502 : : return res;
24503 : : break;
24504 : :
24505 : : case IOR:
24506 : : res = recog_84 (x1, insn, pnum_clobbers);
24507 : : if (res >= 0)
24508 : : return res;
24509 : : break;
24510 : :
24511 : : case XOR:
24512 : : res = recog_85 (x1, insn, pnum_clobbers);
24513 : : if (res >= 0)
24514 : : return res;
24515 : : break;
24516 : :
24517 : : case MINUS:
24518 : : res = recog_87 (x1, insn, pnum_clobbers);
24519 : : if (res >= 0)
24520 : : return res;
24521 : : break;
24522 : :
24523 : : case IF_THEN_ELSE:
24524 : : res = recog_90 (x1, insn, pnum_clobbers);
24525 : : if (res >= 0)
24526 : : return res;
24527 : : break;
24528 : :
24529 : : case MULT:
24530 : : res = recog_91 (x1, insn, pnum_clobbers);
24531 : : if (res >= 0)
24532 : : return res;
24533 : : break;
24534 : :
24535 : : case SMUL_HIGHPART:
24536 : : switch (pattern13 (x1, pnum_clobbers))
24537 : : {
24538 : : case 0:
24539 : : if (
24540 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24541 : : (!TARGET_64BIT))
24542 : : {
24543 : : *pnum_clobbers = 2;
24544 : : return 631; /* smulsi3_highpart */
24545 : : }
24546 : : break;
24547 : :
24548 : : case 1:
24549 : : if (
24550 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24551 : : (TARGET_64BIT))
24552 : : {
24553 : : *pnum_clobbers = 2;
24554 : : return 633; /* smuldi3_highpart */
24555 : : }
24556 : : break;
24557 : :
24558 : : default:
24559 : : break;
24560 : : }
24561 : : break;
24562 : :
24563 : : case UMUL_HIGHPART:
24564 : : switch (pattern13 (x1, pnum_clobbers))
24565 : : {
24566 : : case 0:
24567 : : if (
24568 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24569 : : (!TARGET_64BIT))
24570 : : {
24571 : : *pnum_clobbers = 2;
24572 : : return 632; /* umulsi3_highpart */
24573 : : }
24574 : : break;
24575 : :
24576 : : case 1:
24577 : : if (
24578 : : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24579 : : (TARGET_64BIT))
24580 : : {
24581 : : *pnum_clobbers = 2;
24582 : : return 634; /* umuldi3_highpart */
24583 : : }
24584 : : break;
24585 : :
24586 : : default:
24587 : : break;
24588 : : }
24589 : : break;
24590 : :
24591 : : case TRUNCATE:
24592 : : res = recog_92 (x1, insn, pnum_clobbers);
24593 : : if (res >= 0)
24594 : : return res;
24595 : : break;
24596 : :
24597 : : case AND:
24598 : : res = recog_94 (x1, insn, pnum_clobbers);
24599 : : if (res >= 0)
24600 : : return res;
24601 : : break;
24602 : :
24603 : : case NOT:
24604 : : res = recog_95 (x1, insn, pnum_clobbers);
24605 : : if (res >= 0)
24606 : : return res;
24607 : : break;
24608 : :
24609 : : case NEG:
24610 : : res = recog_96 (x1, insn, pnum_clobbers);
24611 : : if (res >= 0)
24612 : : return res;
24613 : : break;
24614 : :
24615 : : case ABS:
24616 : : res = recog_97 (x1, insn, pnum_clobbers);
24617 : : if (res >= 0)
24618 : : return res;
24619 : : break;
24620 : :
24621 : : case ASHIFT:
24622 : : res = recog_99 (x1, insn, pnum_clobbers);
24623 : : if (res >= 0)
24624 : : return res;
24625 : : break;
24626 : :
24627 : : case LSHIFTRT:
24628 : : res = recog_101 (x1, insn, pnum_clobbers);
24629 : : if (res >= 0)
24630 : : return res;
24631 : : break;
24632 : :
24633 : : case ASHIFTRT:
24634 : : res = recog_103 (x1, insn, pnum_clobbers);
24635 : : if (res >= 0)
24636 : : return res;
24637 : : break;
24638 : :
24639 : : case SUBREG:
24640 : : res = recog_104 (x1, insn, pnum_clobbers);
24641 : : if (res >= 0)
24642 : : return res;
24643 : : break;
24644 : :
24645 : : case ROTATE:
24646 : : res = recog_105 (x1, insn, pnum_clobbers);
24647 : : if (res >= 0)
24648 : : return res;
24649 : : break;
24650 : :
24651 : : case ROTATERT:
24652 : : res = recog_106 (x1, insn, pnum_clobbers);
24653 : : if (res >= 0)
24654 : : return res;
24655 : : break;
24656 : :
24657 : : case ZERO_EXTRACT:
24658 : : res = recog_108 (x1, insn, pnum_clobbers);
24659 : : if (res >= 0)
24660 : : return res;
24661 : : break;
24662 : :
24663 : : case NE:
24664 : : case EQ:
24665 : : case GE:
24666 : : case GT:
24667 : : case LE:
24668 : : case LT:
24669 : : case LTGT:
24670 : : case GEU:
24671 : : case GTU:
24672 : : case LEU:
24673 : : case LTU:
24674 : : case UNORDERED:
24675 : : case ORDERED:
24676 : : case UNEQ:
24677 : : case UNGE:
24678 : : case UNGT:
24679 : : case UNLE:
24680 : : case UNLT:
24681 : : res = recog_109 (x1, insn, pnum_clobbers);
24682 : : if (res >= 0)
24683 : : return res;
24684 : : break;
24685 : :
24686 : : case UNSPEC:
24687 : : res = recog_113 (x1, insn, pnum_clobbers);
24688 : : if (res >= 0)
24689 : : return res;
24690 : : break;
24691 : :
24692 : : case CALL:
24693 : : res = recog_114 (x1, insn, pnum_clobbers);
24694 : : if (res >= 0)
24695 : : return res;
24696 : : break;
24697 : :
24698 : : case FFS:
24699 : : if (pnum_clobbers != NULL
24700 : : && GET_MODE (x2) == E_SImode)
24701 : : {
24702 : : operands[0] = x3;
24703 : : if (register_operand (operands[0], E_SImode))
24704 : : {
24705 : : x4 = XEXP (x2, 0);
24706 : : operands[1] = x4;
24707 : : if (nonimmediate_operand (operands[1], E_SImode)
24708 : : &&
24709 : : #line 21118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24710 : : (!TARGET_CMOVE))
24711 : : {
24712 : : *pnum_clobbers = 2;
24713 : : return 1511; /* ffssi2_no_cmove */
24714 : : }
24715 : : }
24716 : : }
24717 : : break;
24718 : :
24719 : : case CTZ:
24720 : : res = recog_115 (x1, insn, pnum_clobbers);
24721 : : if (res >= 0)
24722 : : return res;
24723 : : break;
24724 : :
24725 : : case SIGN_EXTEND:
24726 : : res = recog_116 (x1, insn, pnum_clobbers);
24727 : : if (res >= 0)
24728 : : return res;
24729 : : break;
24730 : :
24731 : : case CLZ:
24732 : : res = recog_117 (x1, insn, pnum_clobbers);
24733 : : if (res >= 0)
24734 : : return res;
24735 : : break;
24736 : :
24737 : : case POPCOUNT:
24738 : : res = recog_118 (x1, insn, pnum_clobbers);
24739 : : if (res >= 0)
24740 : : return res;
24741 : : break;
24742 : :
24743 : : case BSWAP:
24744 : : res = recog_356 (x1, insn, pnum_clobbers);
24745 : : if (res >= 0)
24746 : : return res;
24747 : : break;
24748 : :
24749 : : case SIGN_EXTRACT:
24750 : : res = recog_119 (x1, insn, pnum_clobbers);
24751 : : if (res >= 0)
24752 : : return res;
24753 : : break;
24754 : :
24755 : : case SMAX:
24756 : : switch (pattern19 (x1, pnum_clobbers))
24757 : : {
24758 : : case 0:
24759 : : if ((
24760 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24761 : : (TARGET_CMOVE
24762 : : && ix86_pre_reload_split ()) &&
24763 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24764 : : (!TARGET_64BIT)))
24765 : : {
24766 : : *pnum_clobbers = 1;
24767 : : return 1837; /* *smaxdi3_doubleword */
24768 : : }
24769 : : if ((
24770 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24771 : : (TARGET_CMOVE
24772 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24773 : : && ix86_pre_reload_split ()) &&
24774 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24775 : : (TARGET_64BIT)))
24776 : : {
24777 : : *pnum_clobbers = 1;
24778 : : return 1857; /* *smaxdi3_1 */
24779 : : }
24780 : : break;
24781 : :
24782 : : case 1:
24783 : : if (
24784 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24785 : : (TARGET_CMOVE
24786 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24787 : : && ix86_pre_reload_split ()))
24788 : : {
24789 : : *pnum_clobbers = 1;
24790 : : return 1853; /* *smaxsi3_1 */
24791 : : }
24792 : : break;
24793 : :
24794 : : default:
24795 : : break;
24796 : : }
24797 : : break;
24798 : :
24799 : : case SMIN:
24800 : : switch (pattern19 (x1, pnum_clobbers))
24801 : : {
24802 : : case 0:
24803 : : if ((
24804 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24805 : : (TARGET_CMOVE
24806 : : && ix86_pre_reload_split ()) &&
24807 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24808 : : (!TARGET_64BIT)))
24809 : : {
24810 : : *pnum_clobbers = 1;
24811 : : return 1838; /* *smindi3_doubleword */
24812 : : }
24813 : : if ((
24814 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24815 : : (TARGET_CMOVE
24816 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24817 : : && ix86_pre_reload_split ()) &&
24818 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24819 : : (TARGET_64BIT)))
24820 : : {
24821 : : *pnum_clobbers = 1;
24822 : : return 1858; /* *smindi3_1 */
24823 : : }
24824 : : break;
24825 : :
24826 : : case 1:
24827 : : if (
24828 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24829 : : (TARGET_CMOVE
24830 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24831 : : && ix86_pre_reload_split ()))
24832 : : {
24833 : : *pnum_clobbers = 1;
24834 : : return 1854; /* *sminsi3_1 */
24835 : : }
24836 : : break;
24837 : :
24838 : : default:
24839 : : break;
24840 : : }
24841 : : break;
24842 : :
24843 : : case UMAX:
24844 : : switch (pattern19 (x1, pnum_clobbers))
24845 : : {
24846 : : case 0:
24847 : : if ((
24848 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24849 : : (TARGET_CMOVE
24850 : : && ix86_pre_reload_split ()) &&
24851 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24852 : : (!TARGET_64BIT)))
24853 : : {
24854 : : *pnum_clobbers = 1;
24855 : : return 1839; /* *umaxdi3_doubleword */
24856 : : }
24857 : : if ((
24858 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24859 : : (TARGET_CMOVE
24860 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24861 : : && ix86_pre_reload_split ()) &&
24862 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24863 : : (TARGET_64BIT)))
24864 : : {
24865 : : *pnum_clobbers = 1;
24866 : : return 1859; /* *umaxdi3_1 */
24867 : : }
24868 : : break;
24869 : :
24870 : : case 1:
24871 : : if (
24872 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24873 : : (TARGET_CMOVE
24874 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24875 : : && ix86_pre_reload_split ()))
24876 : : {
24877 : : *pnum_clobbers = 1;
24878 : : return 1855; /* *umaxsi3_1 */
24879 : : }
24880 : : break;
24881 : :
24882 : : default:
24883 : : break;
24884 : : }
24885 : : break;
24886 : :
24887 : : case UMIN:
24888 : : switch (pattern19 (x1, pnum_clobbers))
24889 : : {
24890 : : case 0:
24891 : : if ((
24892 : : #line 27132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24893 : : (TARGET_CMOVE
24894 : : && ix86_pre_reload_split ()) &&
24895 : : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24896 : : (!TARGET_64BIT)))
24897 : : {
24898 : : *pnum_clobbers = 1;
24899 : : return 1840; /* *umindi3_doubleword */
24900 : : }
24901 : : if ((
24902 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24903 : : (TARGET_CMOVE
24904 : : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
24905 : : && ix86_pre_reload_split ()) &&
24906 : : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24907 : : (TARGET_64BIT)))
24908 : : {
24909 : : *pnum_clobbers = 1;
24910 : : return 1860; /* *umindi3_1 */
24911 : : }
24912 : : break;
24913 : :
24914 : : case 1:
24915 : : if (
24916 : : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24917 : : (TARGET_CMOVE
24918 : : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
24919 : : && ix86_pre_reload_split ()))
24920 : : {
24921 : : *pnum_clobbers = 1;
24922 : : return 1856; /* *uminsi3_1 */
24923 : : }
24924 : : break;
24925 : :
24926 : : default:
24927 : : break;
24928 : : }
24929 : : break;
24930 : :
24931 : : case UNSPEC_VOLATILE:
24932 : : res = recog_120 (x1, insn, pnum_clobbers);
24933 : : if (res >= 0)
24934 : : return res;
24935 : : break;
24936 : :
24937 : : case VEC_SELECT:
24938 : : res = recog_123 (x1, insn, pnum_clobbers);
24939 : : if (res >= 0)
24940 : : return res;
24941 : : break;
24942 : :
24943 : : case FIX:
24944 : : switch (pattern22 (x1))
24945 : : {
24946 : : case 0:
24947 : : if (
24948 : : #line 8042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24949 : : (TARGET_AVX512FP16))
24950 : : return 4660; /* avx512fp16_fix_truncsi2 */
24951 : : break;
24952 : :
24953 : : case 1:
24954 : : if (
24955 : : #line 8636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24956 : : (TARGET_SSE))
24957 : : return 4759; /* sse_cvttss2si */
24958 : : break;
24959 : :
24960 : : case 2:
24961 : : if (
24962 : : #line 9181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24963 : : (TARGET_SSE2))
24964 : : return 4894; /* sse2_cvttsd2si */
24965 : : break;
24966 : :
24967 : : case 3:
24968 : : if ((
24969 : : #line 8042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24970 : : (TARGET_AVX512FP16) &&
24971 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24972 : : (TARGET_64BIT)))
24973 : : return 4664; /* avx512fp16_fix_truncdi2 */
24974 : : break;
24975 : :
24976 : : case 4:
24977 : : if ((
24978 : : #line 8636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24979 : : (TARGET_SSE) &&
24980 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24981 : : (TARGET_64BIT)))
24982 : : return 4761; /* sse_cvttss2siq */
24983 : : break;
24984 : :
24985 : : case 5:
24986 : : if ((
24987 : : #line 9181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24988 : : (TARGET_SSE2) &&
24989 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24990 : : (TARGET_64BIT)))
24991 : : return 4896; /* sse2_cvttsd2siq */
24992 : : break;
24993 : :
24994 : : case 6:
24995 : : if (
24996 : : #line 8052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24997 : : (TARGET_AVX512FP16))
24998 : : return 4668; /* avx512fp16_fix_truncsi2_mem */
24999 : : break;
25000 : :
25001 : : case 7:
25002 : : if ((
25003 : : #line 8052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25004 : : (TARGET_AVX512FP16) &&
25005 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25006 : : (TARGET_64BIT)))
25007 : : return 4670; /* avx512fp16_fix_truncdi2_mem */
25008 : : break;
25009 : :
25010 : : default:
25011 : : break;
25012 : : }
25013 : : break;
25014 : :
25015 : : case UNSIGNED_FIX:
25016 : : switch (pattern22 (x1))
25017 : : {
25018 : : case 0:
25019 : : if (
25020 : : #line 8042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25021 : : (TARGET_AVX512FP16))
25022 : : return 4662; /* avx512fp16_fixuns_truncsi2 */
25023 : : break;
25024 : :
25025 : : case 1:
25026 : : if (
25027 : : #line 9086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25028 : : (TARGET_AVX512F))
25029 : : return 4868; /* avx512f_vcvttss2usi */
25030 : : break;
25031 : :
25032 : : case 2:
25033 : : if (
25034 : : #line 9122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25035 : : (TARGET_AVX512F))
25036 : : return 4880; /* avx512f_vcvttsd2usi */
25037 : : break;
25038 : :
25039 : : case 3:
25040 : : if ((
25041 : : #line 8042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25042 : : (TARGET_AVX512FP16) &&
25043 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25044 : : (TARGET_64BIT)))
25045 : : return 4666; /* avx512fp16_fixuns_truncdi2 */
25046 : : break;
25047 : :
25048 : : case 4:
25049 : : if ((
25050 : : #line 9086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25051 : : (TARGET_AVX512F) &&
25052 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25053 : : (TARGET_64BIT)))
25054 : : return 4870; /* avx512f_vcvttss2usiq */
25055 : : break;
25056 : :
25057 : : case 5:
25058 : : if ((
25059 : : #line 9122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25060 : : (TARGET_AVX512F) &&
25061 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25062 : : (TARGET_64BIT)))
25063 : : return 4882; /* avx512f_vcvttsd2usiq */
25064 : : break;
25065 : :
25066 : : case 6:
25067 : : if (
25068 : : #line 8052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25069 : : (TARGET_AVX512FP16))
25070 : : return 4669; /* avx512fp16_fixuns_truncsi2_mem */
25071 : : break;
25072 : :
25073 : : case 7:
25074 : : if ((
25075 : : #line 8052 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25076 : : (TARGET_AVX512FP16) &&
25077 : : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25078 : : (TARGET_64BIT)))
25079 : : return 4671; /* avx512fp16_fixuns_truncdi2_mem */
25080 : : break;
25081 : :
25082 : : default:
25083 : : break;
25084 : : }
25085 : : break;
25086 : :
25087 : : default:
25088 : : break;
25089 : : }
25090 : : operands[0] = x3;
25091 : : res = recog_325 (x1, insn, pnum_clobbers);
25092 : : if (res >= 0)
25093 : : return res;
25094 : : switch (GET_CODE (x2))
25095 : : {
25096 : : case VEC_MERGE:
25097 : : return recog_322 (x1, insn, pnum_clobbers);
25098 : :
25099 : : case UNSPEC:
25100 : : return recog_319 (x1, insn, pnum_clobbers);
25101 : :
25102 : : case VEC_CONCAT:
25103 : : return recog_318 (x1, insn, pnum_clobbers);
25104 : :
25105 : : case PLUS:
25106 : : return recog_320 (x1, insn, pnum_clobbers);
25107 : :
25108 : : case MINUS:
25109 : : return recog_344 (x1, insn, pnum_clobbers);
25110 : :
25111 : : case MULT:
25112 : : return recog_333 (x1, insn, pnum_clobbers);
25113 : :
25114 : : case DIV:
25115 : : return recog_351 (x1, insn, pnum_clobbers);
25116 : :
25117 : : case SQRT:
25118 : : return recog_338 (x1, insn, pnum_clobbers);
25119 : :
25120 : : case SMAX:
25121 : : return recog_340 (x1, insn, pnum_clobbers);
25122 : :
25123 : : case SMIN:
25124 : : return recog_341 (x1, insn, pnum_clobbers);
25125 : :
25126 : : case NE:
25127 : : case EQ:
25128 : : case GE:
25129 : : case GT:
25130 : : case LE:
25131 : : case LT:
25132 : : case LTGT:
25133 : : case GEU:
25134 : : case GTU:
25135 : : case LEU:
25136 : : case LTU:
25137 : : case UNORDERED:
25138 : : case ORDERED:
25139 : : case UNEQ:
25140 : : case UNGE:
25141 : : case UNGT:
25142 : : case UNLE:
25143 : : case UNLT:
25144 : : return recog_354 (x1, insn, pnum_clobbers);
25145 : :
25146 : : case FMA:
25147 : : return recog_326 (x1, insn, pnum_clobbers);
25148 : :
25149 : : case FLOAT:
25150 : : return recog_332 (x1, insn, pnum_clobbers);
25151 : :
25152 : : case UNSIGNED_FLOAT:
25153 : : return recog_337 (x1, insn, pnum_clobbers);
25154 : :
25155 : : case FIX:
25156 : : return recog_346 (x1, insn, pnum_clobbers);
25157 : :
25158 : : case UNSIGNED_FIX:
25159 : : return recog_345 (x1, insn, pnum_clobbers);
25160 : :
25161 : : case FLOAT_EXTEND:
25162 : : return recog_327 (x1, insn, pnum_clobbers);
25163 : :
25164 : : case FLOAT_TRUNCATE:
25165 : : return recog_349 (x1, insn, pnum_clobbers);
25166 : :
25167 : : case VEC_SELECT:
25168 : : return recog_321 (x1, insn, pnum_clobbers);
25169 : :
25170 : : case VEC_DUPLICATE:
25171 : : return recog_323 (x1, insn, pnum_clobbers);
25172 : :
25173 : : case AND:
25174 : : case IOR:
25175 : : case XOR:
25176 : : case NOT:
25177 : : return recog_343 (x1, insn, pnum_clobbers);
25178 : :
25179 : : case SS_TRUNCATE:
25180 : : operands[0] = x3;
25181 : : switch (pattern49 (x2))
25182 : : {
25183 : : case 0:
25184 : : if (!
25185 : : #line 15020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25186 : : (TARGET_AVX512F))
25187 : : return -1;
25188 : : return 7176; /* *avx512f_ss_truncatev16siv16qi2 */
25189 : :
25190 : : case 1:
25191 : : if (!(
25192 : : #line 15282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25193 : : (TARGET_AVX512VL) &&
25194 : : #line 15256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25195 : : (TARGET_AVX512BW)))
25196 : : return -1;
25197 : : return 7218; /* *avx512vl_ss_truncatev16hiv16qi2 */
25198 : :
25199 : : case 2:
25200 : : if (!
25201 : : #line 15020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25202 : : (TARGET_AVX512F))
25203 : : return -1;
25204 : : return 7179; /* *avx512f_ss_truncatev16siv16hi2 */
25205 : :
25206 : : case 3:
25207 : : if (!
25208 : : #line 15020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25209 : : (TARGET_AVX512F))
25210 : : return -1;
25211 : : return 7182; /* *avx512f_ss_truncatev8div8si2 */
25212 : :
25213 : : case 4:
25214 : : if (!
25215 : : #line 15020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25216 : : (TARGET_AVX512F))
25217 : : return -1;
25218 : : return 7185; /* *avx512f_ss_truncatev8div8hi2 */
25219 : :
25220 : : case 5:
25221 : : if (!
25222 : : #line 15282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25223 : : (TARGET_AVX512VL))
25224 : : return -1;
25225 : : return 7215; /* *avx512vl_ss_truncatev8siv8hi2 */
25226 : :
25227 : : case 6:
25228 : : if (!
25229 : : #line 15193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25230 : : (TARGET_AVX512BW))
25231 : : return -1;
25232 : : return 7205; /* avx512bw_ss_truncatev32hiv32qi2 */
25233 : :
25234 : : case 7:
25235 : : if (!
25236 : : #line 15282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25237 : : (TARGET_AVX512VL))
25238 : : return -1;
25239 : : return 7212; /* *avx512vl_ss_truncatev4div4si2 */
25240 : :
25241 : : default:
25242 : : return -1;
25243 : : }
25244 : :
25245 : : case TRUNCATE:
25246 : : return recog_339 (x1, insn, pnum_clobbers);
25247 : :
25248 : : case US_TRUNCATE:
25249 : : operands[0] = x3;
25250 : : switch (pattern49 (x2))
25251 : : {
25252 : : case 0:
25253 : : if (!
25254 : : #line 15020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25255 : : (TARGET_AVX512F))
25256 : : return -1;
25257 : : return 7178; /* *avx512f_us_truncatev16siv16qi2 */
25258 : :
25259 : : case 1:
25260 : : if (!(
25261 : : #line 15282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25262 : : (TARGET_AVX512VL) &&
25263 : : #line 15256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25264 : : (TARGET_AVX512BW)))
25265 : : return -1;
25266 : : return 7220; /* *avx512vl_us_truncatev16hiv16qi2 */
25267 : :
25268 : : case 2:
25269 : : if (!
25270 : : #line 15020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25271 : : (TARGET_AVX512F))
25272 : : return -1;
25273 : : return 7181; /* *avx512f_us_truncatev16siv16hi2 */
25274 : :
25275 : : case 3:
25276 : : if (!
25277 : : #line 15020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25278 : : (TARGET_AVX512F))
25279 : : return -1;
25280 : : return 7184; /* *avx512f_us_truncatev8div8si2 */
25281 : :
25282 : : case 4:
25283 : : if (!
25284 : : #line 15020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25285 : : (TARGET_AVX512F))
25286 : : return -1;
25287 : : return 7187; /* *avx512f_us_truncatev8div8hi2 */
25288 : :
25289 : : case 5:
25290 : : if (!
25291 : : #line 15282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25292 : : (TARGET_AVX512VL))
25293 : : return -1;
25294 : : return 7217; /* *avx512vl_us_truncatev8siv8hi2 */
25295 : :
25296 : : case 6:
25297 : : if (!
25298 : : #line 15193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25299 : : (TARGET_AVX512BW))
25300 : : return -1;
25301 : : return 7207; /* avx512bw_us_truncatev32hiv32qi2 */
25302 : :
25303 : : case 7:
25304 : : if (!
25305 : : #line 15282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25306 : : (TARGET_AVX512VL))
25307 : : return -1;
25308 : : return 7214; /* *avx512vl_us_truncatev4div4si2 */
25309 : :
25310 : : default:
25311 : : return -1;
25312 : : }
25313 : :
25314 : : case SS_PLUS:
25315 : : return recog_324 (x1, insn, pnum_clobbers);
25316 : :
25317 : : case US_PLUS:
25318 : : operands[0] = x3;
25319 : : switch (pattern50 (x2))
25320 : : {
25321 : : case 0:
25322 : : if (!(
25323 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25324 : : (TARGET_SSE2 && 1 && 1
25325 : : && ix86_binary_operator_ok (US_PLUS, V64QImode, operands)) &&
25326 : : #line 712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25327 : : (TARGET_AVX512BW)))
25328 : : return -1;
25329 : : return 7465; /* *avx512bw_usaddv64qi3 */
25330 : :
25331 : : case 1:
25332 : : if (!(
25333 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25334 : : (TARGET_SSE2 && 1 && 1
25335 : : && ix86_binary_operator_ok (US_PLUS, V32QImode, operands)) &&
25336 : : #line 712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25337 : : (TARGET_AVX2)))
25338 : : return -1;
25339 : : return 7473; /* *avx2_usaddv32qi3 */
25340 : :
25341 : : case 2:
25342 : : if (!
25343 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25344 : : (TARGET_SSE2 && 1 && 1
25345 : : && ix86_binary_operator_ok (US_PLUS, V16QImode, operands)))
25346 : : return -1;
25347 : : return 7481; /* *sse2_usaddv16qi3 */
25348 : :
25349 : : case 3:
25350 : : if (!(
25351 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25352 : : (TARGET_SSE2 && 1 && 1
25353 : : && ix86_binary_operator_ok (US_PLUS, V32HImode, operands)) &&
25354 : : #line 713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25355 : : (TARGET_AVX512BW)))
25356 : : return -1;
25357 : : return 7489; /* *avx512bw_usaddv32hi3 */
25358 : :
25359 : : case 4:
25360 : : if (!(
25361 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25362 : : (TARGET_SSE2 && 1 && 1
25363 : : && ix86_binary_operator_ok (US_PLUS, V16HImode, operands)) &&
25364 : : #line 713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25365 : : (TARGET_AVX2)))
25366 : : return -1;
25367 : : return 7497; /* *avx2_usaddv16hi3 */
25368 : :
25369 : : case 5:
25370 : : if (!
25371 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25372 : : (TARGET_SSE2 && 1 && 1
25373 : : && ix86_binary_operator_ok (US_PLUS, V8HImode, operands)))
25374 : : return -1;
25375 : : return 7505; /* *sse2_usaddv8hi3 */
25376 : :
25377 : : default:
25378 : : return -1;
25379 : : }
25380 : :
25381 : : case SS_MINUS:
25382 : : operands[0] = x3;
25383 : : x4 = XEXP (x2, 0);
25384 : : switch (GET_CODE (x4))
25385 : : {
25386 : : case REG:
25387 : : case SUBREG:
25388 : : case MEM:
25389 : : switch (pattern50 (x2))
25390 : : {
25391 : : case 0:
25392 : : if (!(
25393 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25394 : : (TARGET_SSE2 && 1 && 1
25395 : : && ix86_binary_operator_ok (SS_MINUS, V64QImode, operands)) &&
25396 : : #line 712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25397 : : (TARGET_AVX512BW)))
25398 : : return -1;
25399 : : return 7467; /* *avx512bw_sssubv64qi3 */
25400 : :
25401 : : case 1:
25402 : : if (!(
25403 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25404 : : (TARGET_SSE2 && 1 && 1
25405 : : && ix86_binary_operator_ok (SS_MINUS, V32QImode, operands)) &&
25406 : : #line 712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25407 : : (TARGET_AVX2)))
25408 : : return -1;
25409 : : return 7475; /* *avx2_sssubv32qi3 */
25410 : :
25411 : : case 2:
25412 : : if (!
25413 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25414 : : (TARGET_SSE2 && 1 && 1
25415 : : && ix86_binary_operator_ok (SS_MINUS, V16QImode, operands)))
25416 : : return -1;
25417 : : return 7483; /* *sse2_sssubv16qi3 */
25418 : :
25419 : : case 3:
25420 : : if (!(
25421 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25422 : : (TARGET_SSE2 && 1 && 1
25423 : : && ix86_binary_operator_ok (SS_MINUS, V32HImode, operands)) &&
25424 : : #line 713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25425 : : (TARGET_AVX512BW)))
25426 : : return -1;
25427 : : return 7491; /* *avx512bw_sssubv32hi3 */
25428 : :
25429 : : case 4:
25430 : : if (!(
25431 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25432 : : (TARGET_SSE2 && 1 && 1
25433 : : && ix86_binary_operator_ok (SS_MINUS, V16HImode, operands)) &&
25434 : : #line 713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25435 : : (TARGET_AVX2)))
25436 : : return -1;
25437 : : return 7499; /* *avx2_sssubv16hi3 */
25438 : :
25439 : : case 5:
25440 : : if (!
25441 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25442 : : (TARGET_SSE2 && 1 && 1
25443 : : && ix86_binary_operator_ok (SS_MINUS, V8HImode, operands)))
25444 : : return -1;
25445 : : return 7507; /* *sse2_sssubv8hi3 */
25446 : :
25447 : : default:
25448 : : return -1;
25449 : : }
25450 : :
25451 : : case VEC_SELECT:
25452 : : switch (pattern195 (x2))
25453 : : {
25454 : : case 0:
25455 : : if (!
25456 : : #line 22611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25457 : : (TARGET_AVX2))
25458 : : return -1;
25459 : : return 8543; /* avx2_phsubswv16hi3 */
25460 : :
25461 : : case 1:
25462 : : if (!
25463 : : #line 22634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25464 : : (TARGET_SSSE3))
25465 : : return -1;
25466 : : return 8547; /* ssse3_phsubswv8hi3 */
25467 : :
25468 : : default:
25469 : : return -1;
25470 : : }
25471 : :
25472 : : default:
25473 : : return -1;
25474 : : }
25475 : :
25476 : : case US_MINUS:
25477 : : operands[0] = x3;
25478 : : switch (pattern50 (x2))
25479 : : {
25480 : : case 0:
25481 : : if (!(
25482 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25483 : : (TARGET_SSE2 && 1 && 1
25484 : : && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)) &&
25485 : : #line 712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25486 : : (TARGET_AVX512BW)))
25487 : : return -1;
25488 : : return 7469; /* *avx512bw_ussubv64qi3 */
25489 : :
25490 : : case 1:
25491 : : if (!(
25492 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25493 : : (TARGET_SSE2 && 1 && 1
25494 : : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) &&
25495 : : #line 712 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25496 : : (TARGET_AVX2)))
25497 : : return -1;
25498 : : return 7477; /* *avx2_ussubv32qi3 */
25499 : :
25500 : : case 2:
25501 : : if (!
25502 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25503 : : (TARGET_SSE2 && 1 && 1
25504 : : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)))
25505 : : return -1;
25506 : : return 7485; /* *sse2_ussubv16qi3 */
25507 : :
25508 : : case 3:
25509 : : if (!(
25510 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25511 : : (TARGET_SSE2 && 1 && 1
25512 : : && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)) &&
25513 : : #line 713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25514 : : (TARGET_AVX512BW)))
25515 : : return -1;
25516 : : return 7493; /* *avx512bw_ussubv32hi3 */
25517 : :
25518 : : case 4:
25519 : : if (!(
25520 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25521 : : (TARGET_SSE2 && 1 && 1
25522 : : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) &&
25523 : : #line 713 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25524 : : (TARGET_AVX2)))
25525 : : return -1;
25526 : : return 7501; /* *avx2_ussubv16hi3 */
25527 : :
25528 : : case 5:
25529 : : if (!
25530 : : #line 16350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25531 : : (TARGET_SSE2 && 1 && 1
25532 : : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)))
25533 : : return -1;
25534 : : return 7509; /* *sse2_ussubv8hi3 */
25535 : :
25536 : : default:
25537 : : return -1;
25538 : : }
25539 : :
25540 : : case ASHIFTRT:
25541 : : return recog_328 (x1, insn, pnum_clobbers);
25542 : :
25543 : : case ASHIFT:
25544 : : return recog_330 (x1, insn, pnum_clobbers);
25545 : :
25546 : : case LSHIFTRT:
25547 : : return recog_329 (x1, insn, pnum_clobbers);
25548 : :
25549 : : case ROTATE:
25550 : : return recog_353 (x1, insn, pnum_clobbers);
25551 : :
25552 : : case ROTATERT:
25553 : : return recog_352 (x1, insn, pnum_clobbers);
25554 : :
25555 : : case UMAX:
25556 : : return recog_348 (x1, insn, pnum_clobbers);
25557 : :
25558 : : case UMIN:
25559 : : return recog_347 (x1, insn, pnum_clobbers);
25560 : :
25561 : : case ABS:
25562 : : return recog_336 (x1, insn, pnum_clobbers);
25563 : :
25564 : : case SIGN_EXTEND:
25565 : : return recog_342 (x1, insn, pnum_clobbers);
25566 : :
25567 : : case ZERO_EXTEND:
25568 : : return recog_334 (x1, insn, pnum_clobbers);
25569 : :
25570 : : case IF_THEN_ELSE:
25571 : : return recog_331 (x1, insn, pnum_clobbers);
25572 : :
25573 : : case CLZ:
25574 : : return recog_350 (x1, insn, pnum_clobbers);
25575 : :
25576 : : case POPCOUNT:
25577 : : return recog_335 (x1, insn, pnum_clobbers);
25578 : :
25579 : : default:
25580 : : return -1;
25581 : : }
25582 : : }
25583 : :
25584 : : rtx_insn *
25585 : : split_38 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25586 : : {
25587 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25588 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25589 : : rtx_insn *res ATTRIBUTE_UNUSED;
25590 : : x2 = XVECEXP (x1, 0, 0);
25591 : : x3 = XEXP (x2, 1);
25592 : : operands[3] = x3;
25593 : : if (promotable_binary_operator (operands[3], E_VOIDmode)
25594 : : && pattern333 (x1) == 0
25595 : : && general_reg_operand (operands[0], E_VOIDmode))
25596 : : {
25597 : : x4 = XEXP (x3, 0);
25598 : : operands[1] = x4;
25599 : : if (general_reg_operand (operands[1], E_VOIDmode))
25600 : : {
25601 : : x5 = XEXP (x3, 1);
25602 : : operands[2] = x5;
25603 : : if (aligned_operand (operands[2], E_VOIDmode)
25604 : : &&
25605 : : #line 27922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25606 : : (! TARGET_PARTIAL_REG_STALL && reload_completed
25607 : : && ((GET_MODE (operands[0]) == HImode
25608 : : && ((optimize_function_for_speed_p (cfun) && !TARGET_FAST_PREFIX)
25609 : : /* ??? next two lines just !satisfies_constraint_K (...) */
25610 : : || !CONST_INT_P (operands[2])
25611 : : || satisfies_constraint_K (operands[2])))
25612 : : || (GET_MODE (operands[0]) == QImode
25613 : : && (TARGET_PROMOTE_QImode || optimize_function_for_size_p (cfun))))))
25614 : : return gen_split_993 (insn, operands);
25615 : : }
25616 : : }
25617 : : x6 = XVECEXP (x1, 0, 1);
25618 : : if (GET_CODE (x6) != CLOBBER)
25619 : : return NULL;
25620 : : x7 = XEXP (x6, 0);
25621 : : if (GET_CODE (x7) != REG
25622 : : || REGNO (x7) != 17
25623 : : || GET_MODE (x7) != E_CCmode)
25624 : : return NULL;
25625 : : x8 = XEXP (x2, 0);
25626 : : operands[0] = x8;
25627 : : x5 = XEXP (x3, 1);
25628 : : operands[2] = x5;
25629 : : switch (GET_CODE (x3))
25630 : : {
25631 : : case PLUS:
25632 : : if (GET_MODE (x3) != E_V2QImode)
25633 : : return NULL;
25634 : : x4 = XEXP (x3, 0);
25635 : : operands[1] = x4;
25636 : : if (general_reg_operand (operands[1], E_V2QImode)
25637 : : && general_reg_operand (operands[0], E_V2QImode)
25638 : : && general_reg_operand (operands[2], E_V2QImode)
25639 : : &&
25640 : : #line 3283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25641 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25642 : : && reload_completed))
25643 : : return gen_split_1074 (insn, operands);
25644 : : if (!sse_reg_operand (operands[1], E_V2QImode)
25645 : : || !sse_reg_operand (operands[0], E_V2QImode)
25646 : : || !sse_reg_operand (operands[2], E_V2QImode)
25647 : : || !
25648 : : #line 3317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25649 : : (TARGET_SSE2 && reload_completed))
25650 : : return NULL;
25651 : : return gen_split_1076 (insn, operands);
25652 : :
25653 : : case MINUS:
25654 : : if (GET_MODE (x3) != E_V2QImode)
25655 : : return NULL;
25656 : : x4 = XEXP (x3, 0);
25657 : : operands[1] = x4;
25658 : : if (general_reg_operand (operands[1], E_V2QImode)
25659 : : && general_reg_operand (operands[0], E_V2QImode)
25660 : : && general_reg_operand (operands[2], E_V2QImode)
25661 : : &&
25662 : : #line 3283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25663 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25664 : : && reload_completed))
25665 : : return gen_split_1075 (insn, operands);
25666 : : if (!sse_reg_operand (operands[1], E_V2QImode)
25667 : : || !sse_reg_operand (operands[0], E_V2QImode)
25668 : : || !sse_reg_operand (operands[2], E_V2QImode)
25669 : : || !
25670 : : #line 3317 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25671 : : (TARGET_SSE2 && reload_completed))
25672 : : return NULL;
25673 : : return gen_split_1077 (insn, operands);
25674 : :
25675 : : case ASHIFT:
25676 : : x4 = XEXP (x3, 0);
25677 : : operands[1] = x4;
25678 : : switch (GET_MODE (operands[0]))
25679 : : {
25680 : : case E_V2QImode:
25681 : : if (pattern1321 (x3,
25682 : : E_V2QImode) != 0
25683 : : || !
25684 : : #line 4032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25685 : : ((!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun))
25686 : : && reload_completed))
25687 : : return NULL;
25688 : : return gen_split_1085 (insn, operands);
25689 : :
25690 : : case E_QImode:
25691 : : if (pattern1327 (x3,
25692 : : E_QImode) != 0
25693 : : || !
25694 : : #line 2295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25695 : : (TARGET_AVX512F && reload_completed))
25696 : : return NULL;
25697 : : return gen_split_1256 (insn, operands);
25698 : :
25699 : : case E_HImode:
25700 : : if (pattern1327 (x3,
25701 : : E_HImode) != 0
25702 : : || !
25703 : : #line 2295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25704 : : (TARGET_AVX512F && reload_completed))
25705 : : return NULL;
25706 : : return gen_split_1258 (insn, operands);
25707 : :
25708 : : case E_SImode:
25709 : : if (pattern1327 (x3,
25710 : : E_SImode) != 0
25711 : : || !(
25712 : : #line 2295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25713 : : (TARGET_AVX512F && reload_completed) &&
25714 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25715 : : (TARGET_AVX512BW)))
25716 : : return NULL;
25717 : : return gen_split_1260 (insn, operands);
25718 : :
25719 : : case E_DImode:
25720 : : if (pattern1327 (x3,
25721 : : E_DImode) != 0
25722 : : || !(
25723 : : #line 2295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25724 : : (TARGET_AVX512F && reload_completed) &&
25725 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25726 : : (TARGET_AVX512BW)))
25727 : : return NULL;
25728 : : return gen_split_1262 (insn, operands);
25729 : :
25730 : : default:
25731 : : return NULL;
25732 : : }
25733 : :
25734 : : case AND:
25735 : : x4 = XEXP (x3, 0);
25736 : : switch (GET_CODE (x4))
25737 : : {
25738 : : case NOT:
25739 : : x9 = XEXP (x4, 0);
25740 : : operands[1] = x9;
25741 : : switch (GET_MODE (operands[0]))
25742 : : {
25743 : : case E_V4QImode:
25744 : : if (GET_MODE (x3) != E_V4QImode
25745 : : || GET_MODE (x4) != E_V4QImode)
25746 : : return NULL;
25747 : : if (general_reg_operand (operands[0], E_V4QImode)
25748 : : && general_reg_operand (operands[1], E_V4QImode)
25749 : : && general_reg_operand (operands[2], E_V4QImode))
25750 : : {
25751 : : if (
25752 : : #line 4645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25753 : : (TARGET_BMI && reload_completed))
25754 : : return gen_split_1101 (insn, operands);
25755 : : if (
25756 : : #line 4662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25757 : : (!TARGET_BMI && reload_completed))
25758 : : return gen_split_1104 (insn, operands);
25759 : : }
25760 : : if (!sse_reg_operand (operands[0], E_V4QImode)
25761 : : || !sse_reg_operand (operands[1], E_V4QImode)
25762 : : || !sse_reg_operand (operands[2], E_V4QImode)
25763 : : || !
25764 : : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25765 : : (TARGET_SSE2 && reload_completed))
25766 : : return NULL;
25767 : : return gen_split_1107 (insn, operands);
25768 : :
25769 : : case E_V2QImode:
25770 : : if (GET_MODE (x3) != E_V2QImode
25771 : : || GET_MODE (x4) != E_V2QImode)
25772 : : return NULL;
25773 : : if (general_reg_operand (operands[0], E_V2QImode)
25774 : : && general_reg_operand (operands[1], E_V2QImode)
25775 : : && general_reg_operand (operands[2], E_V2QImode))
25776 : : {
25777 : : if (
25778 : : #line 4645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25779 : : (TARGET_BMI && reload_completed))
25780 : : return gen_split_1102 (insn, operands);
25781 : : if (
25782 : : #line 4662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25783 : : (!TARGET_BMI && reload_completed))
25784 : : return gen_split_1105 (insn, operands);
25785 : : }
25786 : : if (!sse_reg_operand (operands[0], E_V2QImode)
25787 : : || !sse_reg_operand (operands[1], E_V2QImode)
25788 : : || !sse_reg_operand (operands[2], E_V2QImode)
25789 : : || !
25790 : : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25791 : : (TARGET_SSE2 && reload_completed))
25792 : : return NULL;
25793 : : return gen_split_1108 (insn, operands);
25794 : :
25795 : : case E_V2HImode:
25796 : : if (GET_MODE (x3) != E_V2HImode
25797 : : || GET_MODE (x4) != E_V2HImode)
25798 : : return NULL;
25799 : : if (general_reg_operand (operands[0], E_V2HImode)
25800 : : && general_reg_operand (operands[1], E_V2HImode)
25801 : : && general_reg_operand (operands[2], E_V2HImode))
25802 : : {
25803 : : if (
25804 : : #line 4645 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25805 : : (TARGET_BMI && reload_completed))
25806 : : return gen_split_1103 (insn, operands);
25807 : : if (
25808 : : #line 4662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25809 : : (!TARGET_BMI && reload_completed))
25810 : : return gen_split_1106 (insn, operands);
25811 : : }
25812 : : if (!sse_reg_operand (operands[0], E_V2HImode)
25813 : : || !sse_reg_operand (operands[1], E_V2HImode)
25814 : : || !sse_reg_operand (operands[2], E_V2HImode)
25815 : : || !
25816 : : #line 4681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25817 : : (TARGET_SSE2 && reload_completed))
25818 : : return NULL;
25819 : : return gen_split_1109 (insn, operands);
25820 : :
25821 : : case E_QImode:
25822 : : if (pattern1491 (x3,
25823 : : E_QImode) != 0
25824 : : || !
25825 : : #line 2165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25826 : : (TARGET_AVX512F && reload_completed))
25827 : : return NULL;
25828 : : return gen_split_1239 (insn, operands);
25829 : :
25830 : : case E_HImode:
25831 : : if (pattern1491 (x3,
25832 : : E_HImode) != 0
25833 : : || !
25834 : : #line 2165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25835 : : (TARGET_AVX512F && reload_completed))
25836 : : return NULL;
25837 : : return gen_split_1240 (insn, operands);
25838 : :
25839 : : case E_SImode:
25840 : : if (pattern1491 (x3,
25841 : : E_SImode) != 0
25842 : : || !(
25843 : : #line 2165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25844 : : (TARGET_AVX512F && reload_completed) &&
25845 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25846 : : (TARGET_AVX512BW)))
25847 : : return NULL;
25848 : : return gen_split_1241 (insn, operands);
25849 : :
25850 : : case E_DImode:
25851 : : if (pattern1491 (x3,
25852 : : E_DImode) != 0
25853 : : || !(
25854 : : #line 2165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25855 : : (TARGET_AVX512F && reload_completed) &&
25856 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25857 : : (TARGET_AVX512BW)))
25858 : : return NULL;
25859 : : return gen_split_1242 (insn, operands);
25860 : :
25861 : : default:
25862 : : return NULL;
25863 : : }
25864 : :
25865 : : case REG:
25866 : : case SUBREG:
25867 : : case MEM:
25868 : : switch (pattern1240 (x3))
25869 : : {
25870 : : case 0:
25871 : : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
25872 : : && nonimmediate_gr_operand (operands[1], E_V4QImode)
25873 : : && reg_or_const_vector_operand (operands[2], E_V4QImode)
25874 : : &&
25875 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25876 : : (reload_completed))
25877 : : return gen_split_1110 (insn, operands);
25878 : : if (!sse_reg_operand (operands[0], E_V4QImode)
25879 : : || !sse_reg_operand (operands[1], E_V4QImode)
25880 : : || !sse_reg_operand (operands[2], E_V4QImode)
25881 : : || !
25882 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25883 : : (TARGET_SSE2 && reload_completed))
25884 : : return NULL;
25885 : : return gen_split_1119 (insn, operands);
25886 : :
25887 : : case 1:
25888 : : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
25889 : : && nonimmediate_gr_operand (operands[1], E_V2QImode)
25890 : : && reg_or_const_vector_operand (operands[2], E_V2QImode)
25891 : : &&
25892 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25893 : : (reload_completed))
25894 : : return gen_split_1113 (insn, operands);
25895 : : if (!sse_reg_operand (operands[0], E_V2QImode)
25896 : : || !sse_reg_operand (operands[1], E_V2QImode)
25897 : : || !sse_reg_operand (operands[2], E_V2QImode)
25898 : : || !
25899 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25900 : : (TARGET_SSE2 && reload_completed))
25901 : : return NULL;
25902 : : return gen_split_1122 (insn, operands);
25903 : :
25904 : : case 2:
25905 : : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
25906 : : && nonimmediate_gr_operand (operands[1], E_V2HImode)
25907 : : && reg_or_const_vector_operand (operands[2], E_V2HImode)
25908 : : &&
25909 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25910 : : (reload_completed))
25911 : : return gen_split_1116 (insn, operands);
25912 : : if (!sse_reg_operand (operands[0], E_V2HImode)
25913 : : || !sse_reg_operand (operands[1], E_V2HImode)
25914 : : || !sse_reg_operand (operands[2], E_V2HImode)
25915 : : || !
25916 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25917 : : (TARGET_SSE2 && reload_completed))
25918 : : return NULL;
25919 : : return gen_split_1125 (insn, operands);
25920 : :
25921 : : case 3:
25922 : : if (!
25923 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25924 : : (TARGET_AVX512F && reload_completed))
25925 : : return NULL;
25926 : : return gen_split_1227 (insn, operands);
25927 : :
25928 : : case 4:
25929 : : if (!
25930 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25931 : : (TARGET_AVX512F && reload_completed))
25932 : : return NULL;
25933 : : return gen_split_1230 (insn, operands);
25934 : :
25935 : : case 5:
25936 : : if (!(
25937 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25938 : : (TARGET_AVX512F && reload_completed) &&
25939 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25940 : : (TARGET_AVX512BW)))
25941 : : return NULL;
25942 : : return gen_split_1233 (insn, operands);
25943 : :
25944 : : case 6:
25945 : : if (!(
25946 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25947 : : (TARGET_AVX512F && reload_completed) &&
25948 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
25949 : : (TARGET_AVX512BW)))
25950 : : return NULL;
25951 : : return gen_split_1236 (insn, operands);
25952 : :
25953 : : default:
25954 : : return NULL;
25955 : : }
25956 : :
25957 : : default:
25958 : : return NULL;
25959 : : }
25960 : :
25961 : : case IOR:
25962 : : switch (pattern1240 (x3))
25963 : : {
25964 : : case 0:
25965 : : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
25966 : : && nonimmediate_gr_operand (operands[1], E_V4QImode)
25967 : : && reg_or_const_vector_operand (operands[2], E_V4QImode)
25968 : : &&
25969 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25970 : : (reload_completed))
25971 : : return gen_split_1111 (insn, operands);
25972 : : if (!sse_reg_operand (operands[0], E_V4QImode)
25973 : : || !sse_reg_operand (operands[1], E_V4QImode)
25974 : : || !sse_reg_operand (operands[2], E_V4QImode)
25975 : : || !
25976 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25977 : : (TARGET_SSE2 && reload_completed))
25978 : : return NULL;
25979 : : return gen_split_1120 (insn, operands);
25980 : :
25981 : : case 1:
25982 : : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
25983 : : && nonimmediate_gr_operand (operands[1], E_V2QImode)
25984 : : && reg_or_const_vector_operand (operands[2], E_V2QImode)
25985 : : &&
25986 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25987 : : (reload_completed))
25988 : : return gen_split_1114 (insn, operands);
25989 : : if (!sse_reg_operand (operands[0], E_V2QImode)
25990 : : || !sse_reg_operand (operands[1], E_V2QImode)
25991 : : || !sse_reg_operand (operands[2], E_V2QImode)
25992 : : || !
25993 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25994 : : (TARGET_SSE2 && reload_completed))
25995 : : return NULL;
25996 : : return gen_split_1123 (insn, operands);
25997 : :
25998 : : case 2:
25999 : : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26000 : : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26001 : : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26002 : : &&
26003 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26004 : : (reload_completed))
26005 : : return gen_split_1117 (insn, operands);
26006 : : if (!sse_reg_operand (operands[0], E_V2HImode)
26007 : : || !sse_reg_operand (operands[1], E_V2HImode)
26008 : : || !sse_reg_operand (operands[2], E_V2HImode)
26009 : : || !
26010 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26011 : : (TARGET_SSE2 && reload_completed))
26012 : : return NULL;
26013 : : return gen_split_1126 (insn, operands);
26014 : :
26015 : : case 3:
26016 : : if (!
26017 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26018 : : (TARGET_AVX512F && reload_completed))
26019 : : return NULL;
26020 : : return gen_split_1228 (insn, operands);
26021 : :
26022 : : case 4:
26023 : : if (!
26024 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26025 : : (TARGET_AVX512F && reload_completed))
26026 : : return NULL;
26027 : : return gen_split_1231 (insn, operands);
26028 : :
26029 : : case 5:
26030 : : if (!(
26031 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26032 : : (TARGET_AVX512F && reload_completed) &&
26033 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26034 : : (TARGET_AVX512BW)))
26035 : : return NULL;
26036 : : return gen_split_1234 (insn, operands);
26037 : :
26038 : : case 6:
26039 : : if (!(
26040 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26041 : : (TARGET_AVX512F && reload_completed) &&
26042 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26043 : : (TARGET_AVX512BW)))
26044 : : return NULL;
26045 : : return gen_split_1237 (insn, operands);
26046 : :
26047 : : default:
26048 : : return NULL;
26049 : : }
26050 : :
26051 : : case XOR:
26052 : : switch (pattern1240 (x3))
26053 : : {
26054 : : case 0:
26055 : : if (nonimmediate_gr_operand (operands[0], E_V4QImode)
26056 : : && nonimmediate_gr_operand (operands[1], E_V4QImode)
26057 : : && reg_or_const_vector_operand (operands[2], E_V4QImode)
26058 : : &&
26059 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26060 : : (reload_completed))
26061 : : return gen_split_1112 (insn, operands);
26062 : : if (!sse_reg_operand (operands[0], E_V4QImode)
26063 : : || !sse_reg_operand (operands[1], E_V4QImode)
26064 : : || !sse_reg_operand (operands[2], E_V4QImode)
26065 : : || !
26066 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26067 : : (TARGET_SSE2 && reload_completed))
26068 : : return NULL;
26069 : : return gen_split_1121 (insn, operands);
26070 : :
26071 : : case 1:
26072 : : if (nonimmediate_gr_operand (operands[0], E_V2QImode)
26073 : : && nonimmediate_gr_operand (operands[1], E_V2QImode)
26074 : : && reg_or_const_vector_operand (operands[2], E_V2QImode)
26075 : : &&
26076 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26077 : : (reload_completed))
26078 : : return gen_split_1115 (insn, operands);
26079 : : if (!sse_reg_operand (operands[0], E_V2QImode)
26080 : : || !sse_reg_operand (operands[1], E_V2QImode)
26081 : : || !sse_reg_operand (operands[2], E_V2QImode)
26082 : : || !
26083 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26084 : : (TARGET_SSE2 && reload_completed))
26085 : : return NULL;
26086 : : return gen_split_1124 (insn, operands);
26087 : :
26088 : : case 2:
26089 : : if (nonimmediate_gr_operand (operands[0], E_V2HImode)
26090 : : && nonimmediate_gr_operand (operands[1], E_V2HImode)
26091 : : && reg_or_const_vector_operand (operands[2], E_V2HImode)
26092 : : &&
26093 : : #line 4748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26094 : : (reload_completed))
26095 : : return gen_split_1118 (insn, operands);
26096 : : if (!sse_reg_operand (operands[0], E_V2HImode)
26097 : : || !sse_reg_operand (operands[1], E_V2HImode)
26098 : : || !sse_reg_operand (operands[2], E_V2HImode)
26099 : : || !
26100 : : #line 4772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26101 : : (TARGET_SSE2 && reload_completed))
26102 : : return NULL;
26103 : : return gen_split_1127 (insn, operands);
26104 : :
26105 : : case 3:
26106 : : if (!
26107 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26108 : : (TARGET_AVX512F && reload_completed))
26109 : : return NULL;
26110 : : return gen_split_1229 (insn, operands);
26111 : :
26112 : : case 4:
26113 : : if (!
26114 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26115 : : (TARGET_AVX512F && reload_completed))
26116 : : return NULL;
26117 : : return gen_split_1232 (insn, operands);
26118 : :
26119 : : case 5:
26120 : : if (!(
26121 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26122 : : (TARGET_AVX512F && reload_completed) &&
26123 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26124 : : (TARGET_AVX512BW)))
26125 : : return NULL;
26126 : : return gen_split_1235 (insn, operands);
26127 : :
26128 : : case 6:
26129 : : if (!(
26130 : : #line 2129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26131 : : (TARGET_AVX512F && reload_completed) &&
26132 : : #line 2077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26133 : : (TARGET_AVX512BW)))
26134 : : return NULL;
26135 : : return gen_split_1238 (insn, operands);
26136 : :
26137 : : default:
26138 : : return NULL;
26139 : : }
26140 : :
26141 : : default:
26142 : : return NULL;
26143 : : }
26144 : : }
26145 : :
26146 : : rtx_insn *
26147 : : split_55 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26148 : : {
26149 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26150 : : rtx x2, x3, x4, x5, x6, x7, x8, x9;
26151 : : rtx x10;
26152 : : rtx_insn *res ATTRIBUTE_UNUSED;
26153 : : x2 = XEXP (x1, 0);
26154 : : operands[0] = x2;
26155 : : x3 = XEXP (x1, 1);
26156 : : x4 = XEXP (x3, 0);
26157 : : switch (GET_CODE (x4))
26158 : : {
26159 : : case VEC_SELECT:
26160 : : if (GET_MODE (x4) != E_SImode)
26161 : : return NULL;
26162 : : x5 = XEXP (x4, 1);
26163 : : if (GET_CODE (x5) != PARALLEL
26164 : : || XVECLEN (x5, 0) != 1)
26165 : : return NULL;
26166 : : x6 = XVECEXP (x5, 0, 0);
26167 : : if (GET_CODE (x6) != CONST_INT
26168 : : || !register_operand (operands[0], E_DImode)
26169 : : || GET_MODE (x3) != E_DImode)
26170 : : return NULL;
26171 : : x7 = XEXP (x4, 0);
26172 : : operands[1] = x7;
26173 : : if (XWINT (x6, 0) == 0L)
26174 : : {
26175 : : switch (GET_MODE (operands[1]))
26176 : : {
26177 : : case E_V2SImode:
26178 : : if (register_operand (operands[1], E_V2SImode)
26179 : : &&
26180 : : #line 5797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26181 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
26182 : : && TARGET_SSE2 && reload_completed))
26183 : : return gen_split_1145 (insn, operands);
26184 : : break;
26185 : :
26186 : : case E_V4SImode:
26187 : : if (register_operand (operands[1], E_V4SImode)
26188 : : &&
26189 : : #line 21267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26190 : : (TARGET_SSE2 && reload_completed))
26191 : : return gen_split_3424 (insn, operands);
26192 : : break;
26193 : :
26194 : : default:
26195 : : break;
26196 : : }
26197 : : }
26198 : : operands[2] = x6;
26199 : : switch (GET_MODE (operands[1]))
26200 : : {
26201 : : case E_V2SImode:
26202 : : if (!memory_operand (operands[1], E_V2SImode)
26203 : : || !const_0_to_1_operand (operands[2], E_SImode)
26204 : : || !(
26205 : : #line 5865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26206 : : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_64BIT) &&
26207 : : #line 5867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26208 : : ( reload_completed)))
26209 : : return NULL;
26210 : : return gen_split_1147 (insn, operands);
26211 : :
26212 : : case E_V4SImode:
26213 : : if (!memory_operand (operands[1], E_V4SImode)
26214 : : || !const_0_to_3_operand (operands[2], E_SImode)
26215 : : || !(
26216 : : #line 21342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26217 : : (TARGET_64BIT && TARGET_SSE) &&
26218 : : #line 21344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26219 : : ( reload_completed)))
26220 : : return NULL;
26221 : : return gen_split_3425 (insn, operands);
26222 : :
26223 : : default:
26224 : : return NULL;
26225 : : }
26226 : :
26227 : : case NOT:
26228 : : x7 = XEXP (x4, 0);
26229 : : switch (GET_CODE (x7))
26230 : : {
26231 : : case REG:
26232 : : operands[1] = x7;
26233 : : if (!mask_reg_operand (operands[1], E_SImode)
26234 : : || !mask_reg_operand (operands[0], E_DImode)
26235 : : || GET_MODE (x3) != E_DImode
26236 : : || GET_MODE (x4) != E_SImode
26237 : : || !
26238 : : #line 2242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26239 : : (TARGET_AVX512BW && reload_completed))
26240 : : return NULL;
26241 : : return gen_split_1247 (insn, operands);
26242 : :
26243 : : case SUBREG:
26244 : : if (maybe_ne (SUBREG_BYTE (x7), 0)
26245 : : || GET_MODE (x7) != E_HImode)
26246 : : return NULL;
26247 : : x8 = XEXP (x7, 0);
26248 : : if (GET_CODE (x8) != UNSPEC
26249 : : || XVECLEN (x8, 0) != 1
26250 : : || XINT (x8, 1) != 50
26251 : : || GET_MODE (x8) != E_SImode
26252 : : || !register_operand (operands[0], E_SImode)
26253 : : || GET_MODE (x3) != E_SImode
26254 : : || GET_MODE (x4) != E_HImode)
26255 : : return NULL;
26256 : : x9 = XVECEXP (x8, 0, 0);
26257 : : operands[1] = x9;
26258 : : if (!register_operand (operands[1], E_V16QImode)
26259 : : || !
26260 : : #line 22194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26261 : : (TARGET_SSE2))
26262 : : return NULL;
26263 : : return gen_split_3474 (insn, operands);
26264 : :
26265 : : default:
26266 : : return NULL;
26267 : : }
26268 : :
26269 : : case UNSPEC:
26270 : : if (XVECLEN (x4, 0) != 1
26271 : : || XINT (x4, 1) != 50
26272 : : || GET_MODE (x4) != E_SImode
26273 : : || !register_operand (operands[0], E_DImode)
26274 : : || GET_MODE (x3) != E_DImode)
26275 : : return NULL;
26276 : : x10 = XVECEXP (x4, 0, 0);
26277 : : switch (GET_CODE (x10))
26278 : : {
26279 : : case LT:
26280 : : switch (pattern963 (x10))
26281 : : {
26282 : : case 0:
26283 : : if (!((
26284 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26285 : : (TARGET_64BIT && TARGET_SSE) &&
26286 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26287 : : (TARGET_AVX)) &&
26288 : : #line 22047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26289 : : ( reload_completed)))
26290 : : return NULL;
26291 : : return gen_split_3446 (insn, operands);
26292 : :
26293 : : case 1:
26294 : : if (!(
26295 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26296 : : (TARGET_64BIT && TARGET_SSE) &&
26297 : : #line 22047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26298 : : ( reload_completed)))
26299 : : return NULL;
26300 : : return gen_split_3448 (insn, operands);
26301 : :
26302 : : case 2:
26303 : : if (!((
26304 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26305 : : (TARGET_64BIT && TARGET_SSE) &&
26306 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26307 : : (TARGET_AVX)) &&
26308 : : #line 22047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26309 : : ( reload_completed)))
26310 : : return NULL;
26311 : : return gen_split_3450 (insn, operands);
26312 : :
26313 : : case 3:
26314 : : if (!((
26315 : : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26316 : : (TARGET_64BIT && TARGET_SSE) &&
26317 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26318 : : (TARGET_SSE2)) &&
26319 : : #line 22047 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26320 : : ( reload_completed)))
26321 : : return NULL;
26322 : : return gen_split_3452 (insn, operands);
26323 : :
26324 : : case 4:
26325 : : if (!((
26326 : : #line 22305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26327 : : (TARGET_64BIT && TARGET_SSE2) &&
26328 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26329 : : (TARGET_AVX2)) &&
26330 : : #line 22307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26331 : : ( 1)))
26332 : : return NULL;
26333 : : return gen_split_3483 (insn, operands);
26334 : :
26335 : : case 5:
26336 : : if (!(
26337 : : #line 22305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26338 : : (TARGET_64BIT && TARGET_SSE2) &&
26339 : : #line 22307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26340 : : ( 1)))
26341 : : return NULL;
26342 : : return gen_split_3484 (insn, operands);
26343 : :
26344 : : default:
26345 : : return NULL;
26346 : : }
26347 : :
26348 : : case SUBREG:
26349 : : switch (pattern1077 (x10))
26350 : : {
26351 : : case 0:
26352 : : if (!((
26353 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26354 : : (TARGET_64BIT && TARGET_SSE) &&
26355 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26356 : : (TARGET_AVX)) &&
26357 : : #line 22072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26358 : : ( reload_completed)))
26359 : : return NULL;
26360 : : return gen_split_3454 (insn, operands);
26361 : :
26362 : : case 1:
26363 : : if (!(
26364 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26365 : : (TARGET_64BIT && TARGET_SSE) &&
26366 : : #line 22072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26367 : : ( reload_completed)))
26368 : : return NULL;
26369 : : return gen_split_3456 (insn, operands);
26370 : :
26371 : : case 2:
26372 : : if (!((
26373 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26374 : : (TARGET_64BIT && TARGET_SSE) &&
26375 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26376 : : (TARGET_AVX)) &&
26377 : : #line 22072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26378 : : ( reload_completed)))
26379 : : return NULL;
26380 : : return gen_split_3458 (insn, operands);
26381 : :
26382 : : case 3:
26383 : : if (!((
26384 : : #line 22070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26385 : : (TARGET_64BIT && TARGET_SSE) &&
26386 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26387 : : (TARGET_SSE2)) &&
26388 : : #line 22072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26389 : : ( reload_completed)))
26390 : : return NULL;
26391 : : return gen_split_3460 (insn, operands);
26392 : :
26393 : : case 4:
26394 : : if (!((
26395 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26396 : : (TARGET_64BIT && TARGET_SSE) &&
26397 : : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26398 : : (TARGET_AVX)) &&
26399 : : #line 22111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26400 : : ( reload_completed)))
26401 : : return NULL;
26402 : : return gen_split_3466 (insn, operands);
26403 : :
26404 : : case 5:
26405 : : if (!(
26406 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26407 : : (TARGET_64BIT && TARGET_SSE) &&
26408 : : #line 22111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26409 : : ( reload_completed)))
26410 : : return NULL;
26411 : : return gen_split_3468 (insn, operands);
26412 : :
26413 : : case 6:
26414 : : if (!((
26415 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26416 : : (TARGET_64BIT && TARGET_SSE) &&
26417 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26418 : : (TARGET_AVX)) &&
26419 : : #line 22111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26420 : : ( reload_completed)))
26421 : : return NULL;
26422 : : return gen_split_3470 (insn, operands);
26423 : :
26424 : : case 7:
26425 : : if (!((
26426 : : #line 22109 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26427 : : (TARGET_64BIT && TARGET_SSE) &&
26428 : : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26429 : : (TARGET_SSE2)) &&
26430 : : #line 22111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26431 : : ( reload_completed)))
26432 : : return NULL;
26433 : : return gen_split_3472 (insn, operands);
26434 : :
26435 : : default:
26436 : : return NULL;
26437 : : }
26438 : :
26439 : : case VEC_MERGE:
26440 : : switch (pattern965 (x10))
26441 : : {
26442 : : case 0:
26443 : : if (!((
26444 : : #line 22334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26445 : : (TARGET_64BIT && TARGET_SSE2) &&
26446 : : #line 606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26447 : : (TARGET_AVX2)) &&
26448 : : #line 22336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26449 : : ( 1)))
26450 : : return NULL;
26451 : : return gen_split_3485 (insn, operands);
26452 : :
26453 : : case 1:
26454 : : if (!(
26455 : : #line 22334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26456 : : (TARGET_64BIT && TARGET_SSE2) &&
26457 : : #line 22336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26458 : : ( 1)))
26459 : : return NULL;
26460 : : return gen_split_3486 (insn, operands);
26461 : :
26462 : : default:
26463 : : return NULL;
26464 : : }
26465 : :
26466 : : default:
26467 : : return NULL;
26468 : : }
26469 : :
26470 : : case SUBREG:
26471 : : if (pattern111 (x3) != 0
26472 : : || !(
26473 : : #line 22180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26474 : : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26475 : : #line 22182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26476 : : ( 1)))
26477 : : return NULL;
26478 : : return gen_split_3473 (insn, operands);
26479 : :
26480 : : default:
26481 : : return NULL;
26482 : : }
26483 : : }
26484 : :
26485 : : rtx_insn *
26486 : : split_62 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26487 : : {
26488 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26489 : : rtx x2, x3, x4, x5, x6, x7;
26490 : : rtx_insn *res ATTRIBUTE_UNUSED;
26491 : : x2 = XEXP (x1, 1);
26492 : : x3 = XEXP (x2, 0);
26493 : : x4 = XEXP (x3, 1);
26494 : : if (!rtx_equal_p (x4, operands[1]))
26495 : : return NULL;
26496 : : x5 = XEXP (x2, 1);
26497 : : if (XVECLEN (x5, 0) != 2)
26498 : : return NULL;
26499 : : x6 = XVECEXP (x5, 0, 0);
26500 : : if (GET_CODE (x6) != CONST_INT
26501 : : || GET_MODE (x2) != E_V2DFmode
26502 : : || GET_MODE (x3) != E_V4DFmode)
26503 : : return NULL;
26504 : : if (XWINT (x6, 0) == 0L)
26505 : : {
26506 : : x7 = XVECEXP (x5, 0, 1);
26507 : : if (x7 == const_int_rtx[MAX_SAVED_CONST_INT + 2]
26508 : : && memory_operand (operands[0], E_V2DFmode)
26509 : : && register_operand (operands[1], E_V2DFmode)
26510 : : &&
26511 : : #line 13611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26512 : : (TARGET_SSE3 && reload_completed))
26513 : : return gen_split_1617 (insn, operands);
26514 : : }
26515 : : if (!register_operand (operands[0], E_V2DFmode)
26516 : : || !memory_operand (operands[1], E_V2DFmode))
26517 : : return NULL;
26518 : : operands[2] = x6;
26519 : : if (!const_0_to_1_operand (operands[2], E_SImode))
26520 : : return NULL;
26521 : : x7 = XVECEXP (x5, 0, 1);
26522 : : operands[3] = x7;
26523 : : if (!const_int_operand (operands[3], E_SImode)
26524 : : || !
26525 : : #line 13629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26526 : : (TARGET_SSE3 && INTVAL (operands[2]) + 2 == INTVAL (operands[3])))
26527 : : return NULL;
26528 : : return gen_split_1618 (insn, operands);
26529 : : }
26530 : :
26531 : : rtx_insn *
26532 : : split_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26533 : : {
26534 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26535 : : rtx x2, x3, x4, x5;
26536 : : rtx_insn *res ATTRIBUTE_UNUSED;
26537 : : x2 = XEXP (x1, 1);
26538 : : x3 = XEXP (x2, 1);
26539 : : x4 = XVECEXP (x3, 0, 0);
26540 : : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26541 : : return NULL;
26542 : : x5 = XVECEXP (x3, 0, 1);
26543 : : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
26544 : : return NULL;
26545 : : switch (GET_MODE (operands[0]))
26546 : : {
26547 : : case E_V2DFmode:
26548 : : if (!nonimmediate_operand (operands[0], E_V2DFmode)
26549 : : || GET_MODE (x2) != E_V2DFmode)
26550 : : return NULL;
26551 : : switch (GET_MODE (operands[1]))
26552 : : {
26553 : : case E_V8DFmode:
26554 : : if (!register_operand (operands[1], E_V8DFmode)
26555 : : || !
26556 : : #line 12505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26557 : : (TARGET_AVX512DQ
26558 : : && reload_completed
26559 : : && (TARGET_AVX512VL
26560 : : || REG_P (operands[0])
26561 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26562 : : return NULL;
26563 : : return gen_split_1591 (insn, operands);
26564 : :
26565 : : case E_V4DFmode:
26566 : : if (!nonimmediate_operand (operands[1], E_V4DFmode)
26567 : : || !
26568 : : #line 12921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26569 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26570 : : && reload_completed))
26571 : : return NULL;
26572 : : return gen_split_1600 (insn, operands);
26573 : :
26574 : : default:
26575 : : return NULL;
26576 : : }
26577 : :
26578 : : case E_V2DImode:
26579 : : if (!nonimmediate_operand (operands[0], E_V2DImode)
26580 : : || GET_MODE (x2) != E_V2DImode)
26581 : : return NULL;
26582 : : switch (GET_MODE (operands[1]))
26583 : : {
26584 : : case E_V8DImode:
26585 : : if (!register_operand (operands[1], E_V8DImode)
26586 : : || !
26587 : : #line 12505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26588 : : (TARGET_AVX512DQ
26589 : : && reload_completed
26590 : : && (TARGET_AVX512VL
26591 : : || REG_P (operands[0])
26592 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26593 : : return NULL;
26594 : : return gen_split_1592 (insn, operands);
26595 : :
26596 : : case E_V4DImode:
26597 : : if (!nonimmediate_operand (operands[1], E_V4DImode)
26598 : : || !
26599 : : #line 12921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26600 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26601 : : && reload_completed))
26602 : : return NULL;
26603 : : return gen_split_1599 (insn, operands);
26604 : :
26605 : : default:
26606 : : return NULL;
26607 : : }
26608 : :
26609 : : default:
26610 : : return NULL;
26611 : : }
26612 : : }
26613 : :
26614 : : rtx_insn *
26615 : : split_64 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26616 : : {
26617 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26618 : : rtx x2, x3;
26619 : : rtx_insn *res ATTRIBUTE_UNUSED;
26620 : : x2 = XEXP (x1, 1);
26621 : : x3 = XEXP (x2, 1);
26622 : : if (pattern820 (x3) != 0)
26623 : : return NULL;
26624 : : switch (GET_MODE (operands[0]))
26625 : : {
26626 : : case E_V4SFmode:
26627 : : if (!nonimmediate_operand (operands[0], E_V4SFmode)
26628 : : || GET_MODE (x2) != E_V4SFmode)
26629 : : return NULL;
26630 : : switch (GET_MODE (operands[1]))
26631 : : {
26632 : : case E_V16SFmode:
26633 : : if (!register_operand (operands[1], E_V16SFmode)
26634 : : || !
26635 : : #line 12575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26636 : : (TARGET_AVX512F
26637 : : && reload_completed
26638 : : && (TARGET_AVX512VL
26639 : : || REG_P (operands[0])
26640 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26641 : : return NULL;
26642 : : return gen_split_1593 (insn, operands);
26643 : :
26644 : : case E_V8SFmode:
26645 : : if (!nonimmediate_operand (operands[1], E_V8SFmode)
26646 : : || !
26647 : : #line 12974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26648 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26649 : : && reload_completed))
26650 : : return NULL;
26651 : : return gen_split_1602 (insn, operands);
26652 : :
26653 : : default:
26654 : : return NULL;
26655 : : }
26656 : :
26657 : : case E_V4SImode:
26658 : : if (!nonimmediate_operand (operands[0], E_V4SImode)
26659 : : || GET_MODE (x2) != E_V4SImode)
26660 : : return NULL;
26661 : : switch (GET_MODE (operands[1]))
26662 : : {
26663 : : case E_V16SImode:
26664 : : if (!register_operand (operands[1], E_V16SImode)
26665 : : || !
26666 : : #line 12575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26667 : : (TARGET_AVX512F
26668 : : && reload_completed
26669 : : && (TARGET_AVX512VL
26670 : : || REG_P (operands[0])
26671 : : || !EXT_REX_SSE_REG_P (operands[1]))))
26672 : : return NULL;
26673 : : return gen_split_1594 (insn, operands);
26674 : :
26675 : : case E_V8SImode:
26676 : : if (!nonimmediate_operand (operands[1], E_V8SImode)
26677 : : || !
26678 : : #line 12974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26679 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26680 : : && reload_completed))
26681 : : return NULL;
26682 : : return gen_split_1601 (insn, operands);
26683 : :
26684 : : default:
26685 : : return NULL;
26686 : : }
26687 : :
26688 : : case E_V4DFmode:
26689 : : if (!nonimmediate_operand (operands[0], E_V4DFmode)
26690 : : || GET_MODE (x2) != E_V4DFmode
26691 : : || !nonimmediate_operand (operands[1], E_V8DFmode)
26692 : : || !
26693 : : #line 12638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26694 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26695 : : && reload_completed
26696 : : && (TARGET_AVX512VL
26697 : : || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
26698 : : return NULL;
26699 : : return gen_split_1595 (insn, operands);
26700 : :
26701 : : case E_V4DImode:
26702 : : if (!nonimmediate_operand (operands[0], E_V4DImode)
26703 : : || GET_MODE (x2) != E_V4DImode
26704 : : || !nonimmediate_operand (operands[1], E_V8DImode)
26705 : : || !
26706 : : #line 12638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26707 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))
26708 : : && reload_completed
26709 : : && (TARGET_AVX512VL
26710 : : || (REG_P (operands[0]) && !EXT_REX_SSE_REG_P (operands[1])))))
26711 : : return NULL;
26712 : : return gen_split_1596 (insn, operands);
26713 : :
26714 : : default:
26715 : : return NULL;
26716 : : }
26717 : : }
26718 : :
26719 : : rtx_insn *
26720 : : split_66 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26721 : : {
26722 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26723 : : rtx x2, x3, x4, x5;
26724 : : rtx_insn *res ATTRIBUTE_UNUSED;
26725 : : x2 = XEXP (x1, 1);
26726 : : x3 = XEXP (x2, 1);
26727 : : switch (XVECLEN (x3, 0))
26728 : : {
26729 : : case 2:
26730 : : res = split_63 (x1, insn);
26731 : : if (res != NULL_RTX)
26732 : : return res;
26733 : : break;
26734 : :
26735 : : case 4:
26736 : : res = split_64 (x1, insn);
26737 : : if (res != NULL_RTX)
26738 : : return res;
26739 : : break;
26740 : :
26741 : : case 8:
26742 : : res = split_65 (x1, insn);
26743 : : if (res != NULL_RTX)
26744 : : return res;
26745 : : break;
26746 : :
26747 : : case 16:
26748 : : if (pattern821 (x3,
26749 : : 6,
26750 : : 5,
26751 : : 4) == 0
26752 : : && pattern1492 (x3,
26753 : : 11,
26754 : : 10,
26755 : : 9,
26756 : : 8,
26757 : : 7) == 0)
26758 : : {
26759 : : switch (pattern1774 (x2))
26760 : : {
26761 : : case 0:
26762 : : if ((
26763 : : #line 13057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26764 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26765 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26766 : : ( reload_completed
26767 : : && (TARGET_AVX512VL
26768 : : || REG_P (operands[0])
26769 : : || !EXT_REX_SSE_REG_P (operands[1])))))
26770 : : return gen_split_1603 (insn, operands);
26771 : : break;
26772 : :
26773 : : case 1:
26774 : : if ((
26775 : : #line 13057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26776 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26777 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26778 : : ( reload_completed
26779 : : && (TARGET_AVX512VL
26780 : : || REG_P (operands[0])
26781 : : || !EXT_REX_SSE_REG_P (operands[1])))))
26782 : : return gen_split_1604 (insn, operands);
26783 : : break;
26784 : :
26785 : : case 2:
26786 : : if ((
26787 : : #line 13057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26788 : : (TARGET_AVX512F && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26789 : : #line 13066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26790 : : ( reload_completed
26791 : : && (TARGET_AVX512VL
26792 : : || REG_P (operands[0])
26793 : : || !EXT_REX_SSE_REG_P (operands[1])))))
26794 : : return gen_split_1605 (insn, operands);
26795 : : break;
26796 : :
26797 : : case 3:
26798 : : if ((
26799 : : #line 13227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26800 : : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26801 : : #line 13229 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26802 : : ( reload_completed)))
26803 : : return gen_split_1610 (insn, operands);
26804 : : break;
26805 : :
26806 : : default:
26807 : : break;
26808 : : }
26809 : : }
26810 : : break;
26811 : :
26812 : : case 32:
26813 : : if (pattern823 (x3,
26814 : : 11,
26815 : : 10,
26816 : : 9,
26817 : : 8) == 0
26818 : : && pattern1685 (x3,
26819 : : 15,
26820 : : 14,
26821 : : 13,
26822 : : 12,
26823 : : 16) == 0
26824 : : && pattern1795 (x3,
26825 : : 21,
26826 : : 20,
26827 : : 19,
26828 : : 18,
26829 : : 17) == 0
26830 : : && pattern1837 (x3,
26831 : : 26,
26832 : : 25,
26833 : : 24,
26834 : : 23,
26835 : : 22) == 0)
26836 : : {
26837 : : x4 = XVECEXP (x3, 0, 27);
26838 : : if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 27]
26839 : : && pattern1855 (x3,
26840 : : 31,
26841 : : 30,
26842 : : 29,
26843 : : 28) == 0
26844 : : && nonimmediate_operand (operands[0], E_V32QImode)
26845 : : && GET_MODE (x2) == E_V32QImode
26846 : : && nonimmediate_operand (operands[1], E_V64QImode)
26847 : : && (
26848 : : #line 13159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26849 : : (TARGET_AVX512F
26850 : : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26851 : : #line 13169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26852 : : ( reload_completed
26853 : : && (TARGET_AVX512VL
26854 : : || REG_P (operands[0])
26855 : : || !EXT_REX_SSE_REG_P (operands[1])))))
26856 : : return gen_split_1609 (insn, operands);
26857 : : }
26858 : : break;
26859 : :
26860 : : default:
26861 : : break;
26862 : : }
26863 : : if (XVECLEN (x3, 0) < 1)
26864 : : return NULL;
26865 : : operands[2] = x3;
26866 : : if (!avx_vbroadcast_operand (operands[2], E_VOIDmode))
26867 : : return NULL;
26868 : : x5 = XVECEXP (x3, 0, 0);
26869 : : operands[3] = x5;
26870 : : if (!const_int_operand (operands[3], E_VOIDmode))
26871 : : return NULL;
26872 : : switch (GET_MODE (operands[0]))
26873 : : {
26874 : : case E_V8SFmode:
26875 : : if (!register_operand (operands[0], E_V8SFmode)
26876 : : || GET_MODE (x2) != E_V8SFmode
26877 : : || !nonimmediate_operand (operands[1], E_V8SFmode)
26878 : : || !(
26879 : : #line 27520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26880 : : (TARGET_AVX
26881 : : && (V8SFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)) &&
26882 : : #line 27523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26883 : : ( reload_completed)))
26884 : : return NULL;
26885 : : return gen_split_3758 (insn, operands);
26886 : :
26887 : : case E_V4DFmode:
26888 : : if (!register_operand (operands[0], E_V4DFmode)
26889 : : || GET_MODE (x2) != E_V4DFmode
26890 : : || !nonimmediate_operand (operands[1], E_V4DFmode)
26891 : : || !(
26892 : : #line 27520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26893 : : (TARGET_AVX
26894 : : && (V4DFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)) &&
26895 : : #line 27523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26896 : : ( reload_completed)))
26897 : : return NULL;
26898 : : return gen_split_3759 (insn, operands);
26899 : :
26900 : : default:
26901 : : return NULL;
26902 : : }
26903 : : }
26904 : :
26905 : : rtx_insn *
26906 : : split_68 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26907 : : {
26908 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26909 : : rtx x2, x3, x4;
26910 : : rtx_insn *res ATTRIBUTE_UNUSED;
26911 : : x2 = XEXP (x1, 1);
26912 : : x3 = XEXP (x2, 0);
26913 : : x4 = XEXP (x3, 0);
26914 : : switch (GET_CODE (x4))
26915 : : {
26916 : : case REG:
26917 : : case SUBREG:
26918 : : case MEM:
26919 : : case NOT:
26920 : : switch (pattern520 (x2))
26921 : : {
26922 : : case 0:
26923 : : if (!((
26924 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26925 : : ((64 == 64 || TARGET_AVX512VL
26926 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26927 : : && ix86_pre_reload_split ()
26928 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26929 : : STRIP_UNARY (operands[4]))
26930 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26931 : : STRIP_UNARY (operands[4]))
26932 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26933 : : STRIP_UNARY (operands[3]))
26934 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26935 : : STRIP_UNARY (operands[3])))) &&
26936 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26937 : : (TARGET_AVX512F)) &&
26938 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26939 : : ( 1)))
26940 : : return NULL;
26941 : : return gen_split_1700 (insn, operands);
26942 : :
26943 : : case 1:
26944 : : if (!((
26945 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26946 : : ((32 == 64 || TARGET_AVX512VL
26947 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26948 : : && ix86_pre_reload_split ()
26949 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26950 : : STRIP_UNARY (operands[4]))
26951 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26952 : : STRIP_UNARY (operands[4]))
26953 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26954 : : STRIP_UNARY (operands[3]))
26955 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26956 : : STRIP_UNARY (operands[3])))) &&
26957 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26958 : : (TARGET_AVX)) &&
26959 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26960 : : ( 1)))
26961 : : return NULL;
26962 : : return gen_split_1727 (insn, operands);
26963 : :
26964 : : case 2:
26965 : : if (!(
26966 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26967 : : ((16 == 64 || TARGET_AVX512VL
26968 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26969 : : && ix86_pre_reload_split ()
26970 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26971 : : STRIP_UNARY (operands[4]))
26972 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26973 : : STRIP_UNARY (operands[4]))
26974 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26975 : : STRIP_UNARY (operands[3]))
26976 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26977 : : STRIP_UNARY (operands[3])))) &&
26978 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26979 : : ( 1)))
26980 : : return NULL;
26981 : : return gen_split_1754 (insn, operands);
26982 : :
26983 : : case 3:
26984 : : if (!((
26985 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26986 : : ((64 == 64 || TARGET_AVX512VL
26987 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26988 : : && ix86_pre_reload_split ()
26989 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26990 : : STRIP_UNARY (operands[4]))
26991 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26992 : : STRIP_UNARY (operands[4]))
26993 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
26994 : : STRIP_UNARY (operands[3]))
26995 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
26996 : : STRIP_UNARY (operands[3])))) &&
26997 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26998 : : (TARGET_AVX512F)) &&
26999 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27000 : : ( 1)))
27001 : : return NULL;
27002 : : return gen_split_1781 (insn, operands);
27003 : :
27004 : : case 4:
27005 : : if (!((
27006 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27007 : : ((32 == 64 || TARGET_AVX512VL
27008 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27009 : : && ix86_pre_reload_split ()
27010 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27011 : : STRIP_UNARY (operands[4]))
27012 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27013 : : STRIP_UNARY (operands[4]))
27014 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27015 : : STRIP_UNARY (operands[3]))
27016 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27017 : : STRIP_UNARY (operands[3])))) &&
27018 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27019 : : (TARGET_AVX)) &&
27020 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27021 : : ( 1)))
27022 : : return NULL;
27023 : : return gen_split_1808 (insn, operands);
27024 : :
27025 : : case 5:
27026 : : if (!(
27027 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27028 : : ((16 == 64 || TARGET_AVX512VL
27029 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27030 : : && ix86_pre_reload_split ()
27031 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27032 : : STRIP_UNARY (operands[4]))
27033 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27034 : : STRIP_UNARY (operands[4]))
27035 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27036 : : STRIP_UNARY (operands[3]))
27037 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27038 : : STRIP_UNARY (operands[3])))) &&
27039 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27040 : : ( 1)))
27041 : : return NULL;
27042 : : return gen_split_1835 (insn, operands);
27043 : :
27044 : : case 6:
27045 : : if (!((
27046 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27047 : : ((64 == 64 || TARGET_AVX512VL
27048 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27049 : : && ix86_pre_reload_split ()
27050 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27051 : : STRIP_UNARY (operands[4]))
27052 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27053 : : STRIP_UNARY (operands[4]))
27054 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27055 : : STRIP_UNARY (operands[3]))
27056 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27057 : : STRIP_UNARY (operands[3])))) &&
27058 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27059 : : (TARGET_AVX512F)) &&
27060 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27061 : : ( 1)))
27062 : : return NULL;
27063 : : return gen_split_1862 (insn, operands);
27064 : :
27065 : : case 7:
27066 : : if (!((
27067 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27068 : : ((32 == 64 || TARGET_AVX512VL
27069 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27070 : : && ix86_pre_reload_split ()
27071 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27072 : : STRIP_UNARY (operands[4]))
27073 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27074 : : STRIP_UNARY (operands[4]))
27075 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27076 : : STRIP_UNARY (operands[3]))
27077 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27078 : : STRIP_UNARY (operands[3])))) &&
27079 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27080 : : (TARGET_AVX)) &&
27081 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27082 : : ( 1)))
27083 : : return NULL;
27084 : : return gen_split_1889 (insn, operands);
27085 : :
27086 : : case 8:
27087 : : if (!(
27088 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27089 : : ((16 == 64 || TARGET_AVX512VL
27090 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27091 : : && ix86_pre_reload_split ()
27092 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27093 : : STRIP_UNARY (operands[4]))
27094 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27095 : : STRIP_UNARY (operands[4]))
27096 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27097 : : STRIP_UNARY (operands[3]))
27098 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27099 : : STRIP_UNARY (operands[3])))) &&
27100 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27101 : : ( 1)))
27102 : : return NULL;
27103 : : return gen_split_1916 (insn, operands);
27104 : :
27105 : : case 9:
27106 : : if (!((
27107 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27108 : : ((64 == 64 || TARGET_AVX512VL
27109 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27110 : : && ix86_pre_reload_split ()
27111 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27112 : : STRIP_UNARY (operands[4]))
27113 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27114 : : STRIP_UNARY (operands[4]))
27115 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27116 : : STRIP_UNARY (operands[3]))
27117 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27118 : : STRIP_UNARY (operands[3])))) &&
27119 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27120 : : (TARGET_AVX512F)) &&
27121 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27122 : : ( 1)))
27123 : : return NULL;
27124 : : return gen_split_1943 (insn, operands);
27125 : :
27126 : : case 10:
27127 : : if (!((
27128 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27129 : : ((32 == 64 || TARGET_AVX512VL
27130 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27131 : : && ix86_pre_reload_split ()
27132 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27133 : : STRIP_UNARY (operands[4]))
27134 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27135 : : STRIP_UNARY (operands[4]))
27136 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27137 : : STRIP_UNARY (operands[3]))
27138 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27139 : : STRIP_UNARY (operands[3])))) &&
27140 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27141 : : (TARGET_AVX)) &&
27142 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27143 : : ( 1)))
27144 : : return NULL;
27145 : : return gen_split_1970 (insn, operands);
27146 : :
27147 : : case 11:
27148 : : if (!(
27149 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27150 : : ((16 == 64 || TARGET_AVX512VL
27151 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27152 : : && ix86_pre_reload_split ()
27153 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27154 : : STRIP_UNARY (operands[4]))
27155 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27156 : : STRIP_UNARY (operands[4]))
27157 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27158 : : STRIP_UNARY (operands[3]))
27159 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27160 : : STRIP_UNARY (operands[3])))) &&
27161 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27162 : : ( 1)))
27163 : : return NULL;
27164 : : return gen_split_1997 (insn, operands);
27165 : :
27166 : : case 12:
27167 : : if (!((
27168 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27169 : : ((64 == 64 || TARGET_AVX512VL
27170 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27171 : : && ix86_pre_reload_split ()
27172 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27173 : : STRIP_UNARY (operands[4]))
27174 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27175 : : STRIP_UNARY (operands[4]))
27176 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27177 : : STRIP_UNARY (operands[3]))
27178 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27179 : : STRIP_UNARY (operands[3])))) &&
27180 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27181 : : (TARGET_AVX512F)) &&
27182 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27183 : : ( 1)))
27184 : : return NULL;
27185 : : return gen_split_1703 (insn, operands);
27186 : :
27187 : : case 13:
27188 : : if (!((
27189 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27190 : : ((32 == 64 || TARGET_AVX512VL
27191 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27192 : : && ix86_pre_reload_split ()
27193 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27194 : : STRIP_UNARY (operands[4]))
27195 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27196 : : STRIP_UNARY (operands[4]))
27197 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27198 : : STRIP_UNARY (operands[3]))
27199 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27200 : : STRIP_UNARY (operands[3])))) &&
27201 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27202 : : (TARGET_AVX)) &&
27203 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27204 : : ( 1)))
27205 : : return NULL;
27206 : : return gen_split_1730 (insn, operands);
27207 : :
27208 : : case 14:
27209 : : if (!(
27210 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27211 : : ((16 == 64 || TARGET_AVX512VL
27212 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27213 : : && ix86_pre_reload_split ()
27214 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27215 : : STRIP_UNARY (operands[4]))
27216 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27217 : : STRIP_UNARY (operands[4]))
27218 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27219 : : STRIP_UNARY (operands[3]))
27220 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27221 : : STRIP_UNARY (operands[3])))) &&
27222 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27223 : : ( 1)))
27224 : : return NULL;
27225 : : return gen_split_1757 (insn, operands);
27226 : :
27227 : : case 15:
27228 : : if (!((
27229 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27230 : : ((64 == 64 || TARGET_AVX512VL
27231 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27232 : : && ix86_pre_reload_split ()
27233 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27234 : : STRIP_UNARY (operands[4]))
27235 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27236 : : STRIP_UNARY (operands[4]))
27237 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27238 : : STRIP_UNARY (operands[3]))
27239 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27240 : : STRIP_UNARY (operands[3])))) &&
27241 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27242 : : (TARGET_AVX512F)) &&
27243 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27244 : : ( 1)))
27245 : : return NULL;
27246 : : return gen_split_1784 (insn, operands);
27247 : :
27248 : : case 16:
27249 : : if (!((
27250 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27251 : : ((32 == 64 || TARGET_AVX512VL
27252 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27253 : : && ix86_pre_reload_split ()
27254 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27255 : : STRIP_UNARY (operands[4]))
27256 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27257 : : STRIP_UNARY (operands[4]))
27258 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27259 : : STRIP_UNARY (operands[3]))
27260 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27261 : : STRIP_UNARY (operands[3])))) &&
27262 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27263 : : (TARGET_AVX)) &&
27264 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27265 : : ( 1)))
27266 : : return NULL;
27267 : : return gen_split_1811 (insn, operands);
27268 : :
27269 : : case 17:
27270 : : if (!(
27271 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27272 : : ((16 == 64 || TARGET_AVX512VL
27273 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27274 : : && ix86_pre_reload_split ()
27275 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27276 : : STRIP_UNARY (operands[4]))
27277 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27278 : : STRIP_UNARY (operands[4]))
27279 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27280 : : STRIP_UNARY (operands[3]))
27281 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27282 : : STRIP_UNARY (operands[3])))) &&
27283 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27284 : : ( 1)))
27285 : : return NULL;
27286 : : return gen_split_1838 (insn, operands);
27287 : :
27288 : : case 18:
27289 : : if (!((
27290 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27291 : : ((64 == 64 || TARGET_AVX512VL
27292 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27293 : : && ix86_pre_reload_split ()
27294 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27295 : : STRIP_UNARY (operands[4]))
27296 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27297 : : STRIP_UNARY (operands[4]))
27298 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27299 : : STRIP_UNARY (operands[3]))
27300 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27301 : : STRIP_UNARY (operands[3])))) &&
27302 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27303 : : (TARGET_AVX512F)) &&
27304 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27305 : : ( 1)))
27306 : : return NULL;
27307 : : return gen_split_1865 (insn, operands);
27308 : :
27309 : : case 19:
27310 : : if (!((
27311 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27312 : : ((32 == 64 || TARGET_AVX512VL
27313 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27314 : : && ix86_pre_reload_split ()
27315 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27316 : : STRIP_UNARY (operands[4]))
27317 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27318 : : STRIP_UNARY (operands[4]))
27319 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27320 : : STRIP_UNARY (operands[3]))
27321 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27322 : : STRIP_UNARY (operands[3])))) &&
27323 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27324 : : (TARGET_AVX)) &&
27325 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27326 : : ( 1)))
27327 : : return NULL;
27328 : : return gen_split_1892 (insn, operands);
27329 : :
27330 : : case 20:
27331 : : if (!(
27332 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27333 : : ((16 == 64 || TARGET_AVX512VL
27334 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27335 : : && ix86_pre_reload_split ()
27336 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27337 : : STRIP_UNARY (operands[4]))
27338 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27339 : : STRIP_UNARY (operands[4]))
27340 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27341 : : STRIP_UNARY (operands[3]))
27342 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27343 : : STRIP_UNARY (operands[3])))) &&
27344 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27345 : : ( 1)))
27346 : : return NULL;
27347 : : return gen_split_1919 (insn, operands);
27348 : :
27349 : : case 21:
27350 : : if (!((
27351 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27352 : : ((64 == 64 || TARGET_AVX512VL
27353 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27354 : : && ix86_pre_reload_split ()
27355 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27356 : : STRIP_UNARY (operands[4]))
27357 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27358 : : STRIP_UNARY (operands[4]))
27359 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27360 : : STRIP_UNARY (operands[3]))
27361 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27362 : : STRIP_UNARY (operands[3])))) &&
27363 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27364 : : (TARGET_AVX512F)) &&
27365 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27366 : : ( 1)))
27367 : : return NULL;
27368 : : return gen_split_1946 (insn, operands);
27369 : :
27370 : : case 22:
27371 : : if (!((
27372 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27373 : : ((32 == 64 || TARGET_AVX512VL
27374 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27375 : : && ix86_pre_reload_split ()
27376 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27377 : : STRIP_UNARY (operands[4]))
27378 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27379 : : STRIP_UNARY (operands[4]))
27380 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27381 : : STRIP_UNARY (operands[3]))
27382 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27383 : : STRIP_UNARY (operands[3])))) &&
27384 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27385 : : (TARGET_AVX)) &&
27386 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27387 : : ( 1)))
27388 : : return NULL;
27389 : : return gen_split_1973 (insn, operands);
27390 : :
27391 : : case 23:
27392 : : if (!(
27393 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27394 : : ((16 == 64 || TARGET_AVX512VL
27395 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27396 : : && ix86_pre_reload_split ()
27397 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27398 : : STRIP_UNARY (operands[4]))
27399 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27400 : : STRIP_UNARY (operands[4]))
27401 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27402 : : STRIP_UNARY (operands[3]))
27403 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27404 : : STRIP_UNARY (operands[3])))) &&
27405 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27406 : : ( 1)))
27407 : : return NULL;
27408 : : return gen_split_2000 (insn, operands);
27409 : :
27410 : : case 24:
27411 : : if (!((
27412 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27413 : : ((64 == 64 || TARGET_AVX512VL
27414 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27415 : : && ix86_pre_reload_split ()
27416 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27417 : : STRIP_UNARY (operands[4]))
27418 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27419 : : STRIP_UNARY (operands[4]))
27420 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27421 : : STRIP_UNARY (operands[3]))
27422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27423 : : STRIP_UNARY (operands[3])))) &&
27424 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27425 : : (TARGET_AVX512F)) &&
27426 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27427 : : ( 1)))
27428 : : return NULL;
27429 : : return gen_split_1706 (insn, operands);
27430 : :
27431 : : case 25:
27432 : : if (!((
27433 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27434 : : ((32 == 64 || TARGET_AVX512VL
27435 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27436 : : && ix86_pre_reload_split ()
27437 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27438 : : STRIP_UNARY (operands[4]))
27439 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27440 : : STRIP_UNARY (operands[4]))
27441 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27442 : : STRIP_UNARY (operands[3]))
27443 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27444 : : STRIP_UNARY (operands[3])))) &&
27445 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27446 : : (TARGET_AVX)) &&
27447 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27448 : : ( 1)))
27449 : : return NULL;
27450 : : return gen_split_1733 (insn, operands);
27451 : :
27452 : : case 26:
27453 : : if (!(
27454 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27455 : : ((16 == 64 || TARGET_AVX512VL
27456 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27457 : : && ix86_pre_reload_split ()
27458 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27459 : : STRIP_UNARY (operands[4]))
27460 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27461 : : STRIP_UNARY (operands[4]))
27462 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27463 : : STRIP_UNARY (operands[3]))
27464 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27465 : : STRIP_UNARY (operands[3])))) &&
27466 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27467 : : ( 1)))
27468 : : return NULL;
27469 : : return gen_split_1760 (insn, operands);
27470 : :
27471 : : case 27:
27472 : : if (!((
27473 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27474 : : ((64 == 64 || TARGET_AVX512VL
27475 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27476 : : && ix86_pre_reload_split ()
27477 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27478 : : STRIP_UNARY (operands[4]))
27479 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27480 : : STRIP_UNARY (operands[4]))
27481 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27482 : : STRIP_UNARY (operands[3]))
27483 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27484 : : STRIP_UNARY (operands[3])))) &&
27485 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27486 : : (TARGET_AVX512F)) &&
27487 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27488 : : ( 1)))
27489 : : return NULL;
27490 : : return gen_split_1787 (insn, operands);
27491 : :
27492 : : case 28:
27493 : : if (!((
27494 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27495 : : ((32 == 64 || TARGET_AVX512VL
27496 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27497 : : && ix86_pre_reload_split ()
27498 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27499 : : STRIP_UNARY (operands[4]))
27500 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27501 : : STRIP_UNARY (operands[4]))
27502 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27503 : : STRIP_UNARY (operands[3]))
27504 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27505 : : STRIP_UNARY (operands[3])))) &&
27506 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27507 : : (TARGET_AVX)) &&
27508 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27509 : : ( 1)))
27510 : : return NULL;
27511 : : return gen_split_1814 (insn, operands);
27512 : :
27513 : : case 29:
27514 : : if (!(
27515 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27516 : : ((16 == 64 || TARGET_AVX512VL
27517 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27518 : : && ix86_pre_reload_split ()
27519 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27520 : : STRIP_UNARY (operands[4]))
27521 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27522 : : STRIP_UNARY (operands[4]))
27523 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27524 : : STRIP_UNARY (operands[3]))
27525 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27526 : : STRIP_UNARY (operands[3])))) &&
27527 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27528 : : ( 1)))
27529 : : return NULL;
27530 : : return gen_split_1841 (insn, operands);
27531 : :
27532 : : case 30:
27533 : : if (!((
27534 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27535 : : ((64 == 64 || TARGET_AVX512VL
27536 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27537 : : && ix86_pre_reload_split ()
27538 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27539 : : STRIP_UNARY (operands[4]))
27540 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27541 : : STRIP_UNARY (operands[4]))
27542 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27543 : : STRIP_UNARY (operands[3]))
27544 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27545 : : STRIP_UNARY (operands[3])))) &&
27546 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27547 : : (TARGET_AVX512F)) &&
27548 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27549 : : ( 1)))
27550 : : return NULL;
27551 : : return gen_split_1868 (insn, operands);
27552 : :
27553 : : case 31:
27554 : : if (!((
27555 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27556 : : ((32 == 64 || TARGET_AVX512VL
27557 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27558 : : && ix86_pre_reload_split ()
27559 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27560 : : STRIP_UNARY (operands[4]))
27561 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27562 : : STRIP_UNARY (operands[4]))
27563 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27564 : : STRIP_UNARY (operands[3]))
27565 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27566 : : STRIP_UNARY (operands[3])))) &&
27567 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27568 : : (TARGET_AVX)) &&
27569 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27570 : : ( 1)))
27571 : : return NULL;
27572 : : return gen_split_1895 (insn, operands);
27573 : :
27574 : : case 32:
27575 : : if (!(
27576 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27577 : : ((16 == 64 || TARGET_AVX512VL
27578 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27579 : : && ix86_pre_reload_split ()
27580 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27581 : : STRIP_UNARY (operands[4]))
27582 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27583 : : STRIP_UNARY (operands[4]))
27584 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27585 : : STRIP_UNARY (operands[3]))
27586 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27587 : : STRIP_UNARY (operands[3])))) &&
27588 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27589 : : ( 1)))
27590 : : return NULL;
27591 : : return gen_split_1922 (insn, operands);
27592 : :
27593 : : case 33:
27594 : : if (!((
27595 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27596 : : ((64 == 64 || TARGET_AVX512VL
27597 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27598 : : && ix86_pre_reload_split ()
27599 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27600 : : STRIP_UNARY (operands[4]))
27601 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27602 : : STRIP_UNARY (operands[4]))
27603 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27604 : : STRIP_UNARY (operands[3]))
27605 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27606 : : STRIP_UNARY (operands[3])))) &&
27607 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27608 : : (TARGET_AVX512F)) &&
27609 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27610 : : ( 1)))
27611 : : return NULL;
27612 : : return gen_split_1949 (insn, operands);
27613 : :
27614 : : case 34:
27615 : : if (!((
27616 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27617 : : ((32 == 64 || TARGET_AVX512VL
27618 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27619 : : && ix86_pre_reload_split ()
27620 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27621 : : STRIP_UNARY (operands[4]))
27622 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27623 : : STRIP_UNARY (operands[4]))
27624 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27625 : : STRIP_UNARY (operands[3]))
27626 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27627 : : STRIP_UNARY (operands[3])))) &&
27628 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27629 : : (TARGET_AVX)) &&
27630 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27631 : : ( 1)))
27632 : : return NULL;
27633 : : return gen_split_1976 (insn, operands);
27634 : :
27635 : : case 35:
27636 : : if (!(
27637 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27638 : : ((16 == 64 || TARGET_AVX512VL
27639 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27640 : : && ix86_pre_reload_split ()
27641 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27642 : : STRIP_UNARY (operands[4]))
27643 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27644 : : STRIP_UNARY (operands[4]))
27645 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27646 : : STRIP_UNARY (operands[3]))
27647 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27648 : : STRIP_UNARY (operands[3])))) &&
27649 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27650 : : ( 1)))
27651 : : return NULL;
27652 : : return gen_split_2003 (insn, operands);
27653 : :
27654 : : case 36:
27655 : : if (!((
27656 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27657 : : ((64 == 64 || TARGET_AVX512VL
27658 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27659 : : && ix86_pre_reload_split ()) &&
27660 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27661 : : (TARGET_AVX512F)) &&
27662 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27663 : : ( 1)))
27664 : : return NULL;
27665 : : return gen_split_2990 (insn, operands);
27666 : :
27667 : : case 37:
27668 : : if (!((
27669 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27670 : : ((32 == 64 || TARGET_AVX512VL
27671 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27672 : : && ix86_pre_reload_split ()) &&
27673 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27674 : : (TARGET_AVX)) &&
27675 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27676 : : ( 1)))
27677 : : return NULL;
27678 : : return gen_split_2999 (insn, operands);
27679 : :
27680 : : case 38:
27681 : : if (!(
27682 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27683 : : ((16 == 64 || TARGET_AVX512VL
27684 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27685 : : && ix86_pre_reload_split ()) &&
27686 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27687 : : ( 1)))
27688 : : return NULL;
27689 : : return gen_split_3008 (insn, operands);
27690 : :
27691 : : case 39:
27692 : : if (!((
27693 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27694 : : ((64 == 64 || TARGET_AVX512VL
27695 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27696 : : && ix86_pre_reload_split ()) &&
27697 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27698 : : (TARGET_AVX512F)) &&
27699 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27700 : : ( 1)))
27701 : : return NULL;
27702 : : return gen_split_3017 (insn, operands);
27703 : :
27704 : : case 40:
27705 : : if (!((
27706 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27707 : : ((32 == 64 || TARGET_AVX512VL
27708 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27709 : : && ix86_pre_reload_split ()) &&
27710 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27711 : : (TARGET_AVX)) &&
27712 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27713 : : ( 1)))
27714 : : return NULL;
27715 : : return gen_split_3026 (insn, operands);
27716 : :
27717 : : case 41:
27718 : : if (!(
27719 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27720 : : ((16 == 64 || TARGET_AVX512VL
27721 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27722 : : && ix86_pre_reload_split ()) &&
27723 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27724 : : ( 1)))
27725 : : return NULL;
27726 : : return gen_split_3035 (insn, operands);
27727 : :
27728 : : case 42:
27729 : : if (!((
27730 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27731 : : ((64 == 64 || TARGET_AVX512VL
27732 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27733 : : && ix86_pre_reload_split ()) &&
27734 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27735 : : (TARGET_AVX512F)) &&
27736 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27737 : : ( 1)))
27738 : : return NULL;
27739 : : return gen_split_3044 (insn, operands);
27740 : :
27741 : : case 43:
27742 : : if (!((
27743 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27744 : : ((32 == 64 || TARGET_AVX512VL
27745 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27746 : : && ix86_pre_reload_split ()) &&
27747 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27748 : : (TARGET_AVX)) &&
27749 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27750 : : ( 1)))
27751 : : return NULL;
27752 : : return gen_split_3053 (insn, operands);
27753 : :
27754 : : case 44:
27755 : : if (!(
27756 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27757 : : ((16 == 64 || TARGET_AVX512VL
27758 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27759 : : && ix86_pre_reload_split ()) &&
27760 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27761 : : ( 1)))
27762 : : return NULL;
27763 : : return gen_split_3062 (insn, operands);
27764 : :
27765 : : case 45:
27766 : : if (!((
27767 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27768 : : ((64 == 64 || TARGET_AVX512VL
27769 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27770 : : && ix86_pre_reload_split ()) &&
27771 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27772 : : (TARGET_AVX512F)) &&
27773 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27774 : : ( 1)))
27775 : : return NULL;
27776 : : return gen_split_3071 (insn, operands);
27777 : :
27778 : : case 46:
27779 : : if (!((
27780 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27781 : : ((32 == 64 || TARGET_AVX512VL
27782 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27783 : : && ix86_pre_reload_split ()) &&
27784 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27785 : : (TARGET_AVX)) &&
27786 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27787 : : ( 1)))
27788 : : return NULL;
27789 : : return gen_split_3080 (insn, operands);
27790 : :
27791 : : case 47:
27792 : : if (!(
27793 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27794 : : ((16 == 64 || TARGET_AVX512VL
27795 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27796 : : && ix86_pre_reload_split ()) &&
27797 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27798 : : ( 1)))
27799 : : return NULL;
27800 : : return gen_split_3089 (insn, operands);
27801 : :
27802 : : default:
27803 : : return NULL;
27804 : : }
27805 : :
27806 : : case AND:
27807 : : switch (pattern522 (x2))
27808 : : {
27809 : : case 0:
27810 : : if (!((
27811 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27812 : : ((64 == 64 || TARGET_AVX512VL
27813 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27814 : : && ix86_pre_reload_split ()
27815 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27816 : : STRIP_UNARY (operands[4]))
27817 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27818 : : STRIP_UNARY (operands[4]))
27819 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27820 : : STRIP_UNARY (operands[3]))
27821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27822 : : STRIP_UNARY (operands[3])))) &&
27823 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27824 : : (TARGET_AVX512F)) &&
27825 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27826 : : ( 1)))
27827 : : return NULL;
27828 : : return gen_split_2348 (insn, operands);
27829 : :
27830 : : case 1:
27831 : : if (!((
27832 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27833 : : ((32 == 64 || TARGET_AVX512VL
27834 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27835 : : && ix86_pre_reload_split ()
27836 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27837 : : STRIP_UNARY (operands[4]))
27838 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27839 : : STRIP_UNARY (operands[4]))
27840 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27841 : : STRIP_UNARY (operands[3]))
27842 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27843 : : STRIP_UNARY (operands[3])))) &&
27844 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27845 : : (TARGET_AVX)) &&
27846 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27847 : : ( 1)))
27848 : : return NULL;
27849 : : return gen_split_2375 (insn, operands);
27850 : :
27851 : : case 2:
27852 : : if (!(
27853 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27854 : : ((16 == 64 || TARGET_AVX512VL
27855 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27856 : : && ix86_pre_reload_split ()
27857 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27858 : : STRIP_UNARY (operands[4]))
27859 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27860 : : STRIP_UNARY (operands[4]))
27861 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27862 : : STRIP_UNARY (operands[3]))
27863 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27864 : : STRIP_UNARY (operands[3])))) &&
27865 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27866 : : ( 1)))
27867 : : return NULL;
27868 : : return gen_split_2402 (insn, operands);
27869 : :
27870 : : case 3:
27871 : : if (!((
27872 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27873 : : ((64 == 64 || TARGET_AVX512VL
27874 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27875 : : && ix86_pre_reload_split ()
27876 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27877 : : STRIP_UNARY (operands[4]))
27878 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27879 : : STRIP_UNARY (operands[4]))
27880 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27881 : : STRIP_UNARY (operands[3]))
27882 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27883 : : STRIP_UNARY (operands[3])))) &&
27884 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27885 : : (TARGET_AVX512F)) &&
27886 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27887 : : ( 1)))
27888 : : return NULL;
27889 : : return gen_split_2429 (insn, operands);
27890 : :
27891 : : case 4:
27892 : : if (!((
27893 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27894 : : ((32 == 64 || TARGET_AVX512VL
27895 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27896 : : && ix86_pre_reload_split ()
27897 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27898 : : STRIP_UNARY (operands[4]))
27899 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27900 : : STRIP_UNARY (operands[4]))
27901 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27902 : : STRIP_UNARY (operands[3]))
27903 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27904 : : STRIP_UNARY (operands[3])))) &&
27905 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27906 : : (TARGET_AVX)) &&
27907 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27908 : : ( 1)))
27909 : : return NULL;
27910 : : return gen_split_2456 (insn, operands);
27911 : :
27912 : : case 5:
27913 : : if (!(
27914 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27915 : : ((16 == 64 || TARGET_AVX512VL
27916 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27917 : : && ix86_pre_reload_split ()
27918 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27919 : : STRIP_UNARY (operands[4]))
27920 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27921 : : STRIP_UNARY (operands[4]))
27922 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27923 : : STRIP_UNARY (operands[3]))
27924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27925 : : STRIP_UNARY (operands[3])))) &&
27926 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27927 : : ( 1)))
27928 : : return NULL;
27929 : : return gen_split_2483 (insn, operands);
27930 : :
27931 : : case 6:
27932 : : if (!((
27933 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27934 : : ((64 == 64 || TARGET_AVX512VL
27935 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27936 : : && ix86_pre_reload_split ()
27937 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27938 : : STRIP_UNARY (operands[4]))
27939 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27940 : : STRIP_UNARY (operands[4]))
27941 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27942 : : STRIP_UNARY (operands[3]))
27943 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27944 : : STRIP_UNARY (operands[3])))) &&
27945 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27946 : : (TARGET_AVX512F)) &&
27947 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27948 : : ( 1)))
27949 : : return NULL;
27950 : : return gen_split_2510 (insn, operands);
27951 : :
27952 : : case 7:
27953 : : if (!((
27954 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27955 : : ((32 == 64 || TARGET_AVX512VL
27956 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27957 : : && ix86_pre_reload_split ()
27958 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27959 : : STRIP_UNARY (operands[4]))
27960 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27961 : : STRIP_UNARY (operands[4]))
27962 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27963 : : STRIP_UNARY (operands[3]))
27964 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27965 : : STRIP_UNARY (operands[3])))) &&
27966 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27967 : : (TARGET_AVX)) &&
27968 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27969 : : ( 1)))
27970 : : return NULL;
27971 : : return gen_split_2537 (insn, operands);
27972 : :
27973 : : case 8:
27974 : : if (!(
27975 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27976 : : ((16 == 64 || TARGET_AVX512VL
27977 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27978 : : && ix86_pre_reload_split ()
27979 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27980 : : STRIP_UNARY (operands[4]))
27981 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27982 : : STRIP_UNARY (operands[4]))
27983 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
27984 : : STRIP_UNARY (operands[3]))
27985 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
27986 : : STRIP_UNARY (operands[3])))) &&
27987 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27988 : : ( 1)))
27989 : : return NULL;
27990 : : return gen_split_2564 (insn, operands);
27991 : :
27992 : : case 9:
27993 : : if (!((
27994 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27995 : : ((64 == 64 || TARGET_AVX512VL
27996 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27997 : : && ix86_pre_reload_split ()
27998 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27999 : : STRIP_UNARY (operands[4]))
28000 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28001 : : STRIP_UNARY (operands[4]))
28002 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28003 : : STRIP_UNARY (operands[3]))
28004 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28005 : : STRIP_UNARY (operands[3])))) &&
28006 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28007 : : (TARGET_AVX512F)) &&
28008 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28009 : : ( 1)))
28010 : : return NULL;
28011 : : return gen_split_2591 (insn, operands);
28012 : :
28013 : : case 10:
28014 : : if (!((
28015 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28016 : : ((32 == 64 || TARGET_AVX512VL
28017 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28018 : : && ix86_pre_reload_split ()
28019 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28020 : : STRIP_UNARY (operands[4]))
28021 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28022 : : STRIP_UNARY (operands[4]))
28023 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28024 : : STRIP_UNARY (operands[3]))
28025 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28026 : : STRIP_UNARY (operands[3])))) &&
28027 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28028 : : (TARGET_AVX)) &&
28029 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28030 : : ( 1)))
28031 : : return NULL;
28032 : : return gen_split_2618 (insn, operands);
28033 : :
28034 : : case 11:
28035 : : if (!(
28036 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28037 : : ((16 == 64 || TARGET_AVX512VL
28038 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28039 : : && ix86_pre_reload_split ()
28040 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28041 : : STRIP_UNARY (operands[4]))
28042 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28043 : : STRIP_UNARY (operands[4]))
28044 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28045 : : STRIP_UNARY (operands[3]))
28046 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28047 : : STRIP_UNARY (operands[3])))) &&
28048 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28049 : : ( 1)))
28050 : : return NULL;
28051 : : return gen_split_2645 (insn, operands);
28052 : :
28053 : : default:
28054 : : return NULL;
28055 : : }
28056 : :
28057 : : case IOR:
28058 : : switch (pattern522 (x2))
28059 : : {
28060 : : case 0:
28061 : : if (!((
28062 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28063 : : ((64 == 64 || TARGET_AVX512VL
28064 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28065 : : && ix86_pre_reload_split ()
28066 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28067 : : STRIP_UNARY (operands[4]))
28068 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28069 : : STRIP_UNARY (operands[4]))
28070 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28071 : : STRIP_UNARY (operands[3]))
28072 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28073 : : STRIP_UNARY (operands[3])))) &&
28074 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28075 : : (TARGET_AVX512F)) &&
28076 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28077 : : ( 1)))
28078 : : return NULL;
28079 : : return gen_split_2351 (insn, operands);
28080 : :
28081 : : case 1:
28082 : : if (!((
28083 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28084 : : ((32 == 64 || TARGET_AVX512VL
28085 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28086 : : && ix86_pre_reload_split ()
28087 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28088 : : STRIP_UNARY (operands[4]))
28089 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28090 : : STRIP_UNARY (operands[4]))
28091 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28092 : : STRIP_UNARY (operands[3]))
28093 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28094 : : STRIP_UNARY (operands[3])))) &&
28095 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28096 : : (TARGET_AVX)) &&
28097 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28098 : : ( 1)))
28099 : : return NULL;
28100 : : return gen_split_2378 (insn, operands);
28101 : :
28102 : : case 2:
28103 : : if (!(
28104 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28105 : : ((16 == 64 || TARGET_AVX512VL
28106 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28107 : : && ix86_pre_reload_split ()
28108 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28109 : : STRIP_UNARY (operands[4]))
28110 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28111 : : STRIP_UNARY (operands[4]))
28112 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28113 : : STRIP_UNARY (operands[3]))
28114 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28115 : : STRIP_UNARY (operands[3])))) &&
28116 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28117 : : ( 1)))
28118 : : return NULL;
28119 : : return gen_split_2405 (insn, operands);
28120 : :
28121 : : case 3:
28122 : : if (!((
28123 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28124 : : ((64 == 64 || TARGET_AVX512VL
28125 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28126 : : && ix86_pre_reload_split ()
28127 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28128 : : STRIP_UNARY (operands[4]))
28129 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28130 : : STRIP_UNARY (operands[4]))
28131 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28132 : : STRIP_UNARY (operands[3]))
28133 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28134 : : STRIP_UNARY (operands[3])))) &&
28135 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28136 : : (TARGET_AVX512F)) &&
28137 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28138 : : ( 1)))
28139 : : return NULL;
28140 : : return gen_split_2432 (insn, operands);
28141 : :
28142 : : case 4:
28143 : : if (!((
28144 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28145 : : ((32 == 64 || TARGET_AVX512VL
28146 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28147 : : && ix86_pre_reload_split ()
28148 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28149 : : STRIP_UNARY (operands[4]))
28150 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28151 : : STRIP_UNARY (operands[4]))
28152 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28153 : : STRIP_UNARY (operands[3]))
28154 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28155 : : STRIP_UNARY (operands[3])))) &&
28156 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28157 : : (TARGET_AVX)) &&
28158 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28159 : : ( 1)))
28160 : : return NULL;
28161 : : return gen_split_2459 (insn, operands);
28162 : :
28163 : : case 5:
28164 : : if (!(
28165 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28166 : : ((16 == 64 || TARGET_AVX512VL
28167 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28168 : : && ix86_pre_reload_split ()
28169 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28170 : : STRIP_UNARY (operands[4]))
28171 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28172 : : STRIP_UNARY (operands[4]))
28173 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28174 : : STRIP_UNARY (operands[3]))
28175 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28176 : : STRIP_UNARY (operands[3])))) &&
28177 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28178 : : ( 1)))
28179 : : return NULL;
28180 : : return gen_split_2486 (insn, operands);
28181 : :
28182 : : case 6:
28183 : : if (!((
28184 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28185 : : ((64 == 64 || TARGET_AVX512VL
28186 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28187 : : && ix86_pre_reload_split ()
28188 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28189 : : STRIP_UNARY (operands[4]))
28190 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28191 : : STRIP_UNARY (operands[4]))
28192 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28193 : : STRIP_UNARY (operands[3]))
28194 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28195 : : STRIP_UNARY (operands[3])))) &&
28196 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28197 : : (TARGET_AVX512F)) &&
28198 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28199 : : ( 1)))
28200 : : return NULL;
28201 : : return gen_split_2513 (insn, operands);
28202 : :
28203 : : case 7:
28204 : : if (!((
28205 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28206 : : ((32 == 64 || TARGET_AVX512VL
28207 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28208 : : && ix86_pre_reload_split ()
28209 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28210 : : STRIP_UNARY (operands[4]))
28211 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28212 : : STRIP_UNARY (operands[4]))
28213 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28214 : : STRIP_UNARY (operands[3]))
28215 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28216 : : STRIP_UNARY (operands[3])))) &&
28217 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28218 : : (TARGET_AVX)) &&
28219 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28220 : : ( 1)))
28221 : : return NULL;
28222 : : return gen_split_2540 (insn, operands);
28223 : :
28224 : : case 8:
28225 : : if (!(
28226 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28227 : : ((16 == 64 || TARGET_AVX512VL
28228 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28229 : : && ix86_pre_reload_split ()
28230 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28231 : : STRIP_UNARY (operands[4]))
28232 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28233 : : STRIP_UNARY (operands[4]))
28234 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28235 : : STRIP_UNARY (operands[3]))
28236 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28237 : : STRIP_UNARY (operands[3])))) &&
28238 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28239 : : ( 1)))
28240 : : return NULL;
28241 : : return gen_split_2567 (insn, operands);
28242 : :
28243 : : case 9:
28244 : : if (!((
28245 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28246 : : ((64 == 64 || TARGET_AVX512VL
28247 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28248 : : && ix86_pre_reload_split ()
28249 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28250 : : STRIP_UNARY (operands[4]))
28251 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28252 : : STRIP_UNARY (operands[4]))
28253 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28254 : : STRIP_UNARY (operands[3]))
28255 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28256 : : STRIP_UNARY (operands[3])))) &&
28257 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28258 : : (TARGET_AVX512F)) &&
28259 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28260 : : ( 1)))
28261 : : return NULL;
28262 : : return gen_split_2594 (insn, operands);
28263 : :
28264 : : case 10:
28265 : : if (!((
28266 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28267 : : ((32 == 64 || TARGET_AVX512VL
28268 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28269 : : && ix86_pre_reload_split ()
28270 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28271 : : STRIP_UNARY (operands[4]))
28272 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28273 : : STRIP_UNARY (operands[4]))
28274 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28275 : : STRIP_UNARY (operands[3]))
28276 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28277 : : STRIP_UNARY (operands[3])))) &&
28278 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28279 : : (TARGET_AVX)) &&
28280 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28281 : : ( 1)))
28282 : : return NULL;
28283 : : return gen_split_2621 (insn, operands);
28284 : :
28285 : : case 11:
28286 : : if (!(
28287 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28288 : : ((16 == 64 || TARGET_AVX512VL
28289 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28290 : : && ix86_pre_reload_split ()
28291 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28292 : : STRIP_UNARY (operands[4]))
28293 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28294 : : STRIP_UNARY (operands[4]))
28295 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28296 : : STRIP_UNARY (operands[3]))
28297 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28298 : : STRIP_UNARY (operands[3])))) &&
28299 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28300 : : ( 1)))
28301 : : return NULL;
28302 : : return gen_split_2648 (insn, operands);
28303 : :
28304 : : default:
28305 : : return NULL;
28306 : : }
28307 : :
28308 : : case XOR:
28309 : : switch (pattern522 (x2))
28310 : : {
28311 : : case 0:
28312 : : if (!((
28313 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28314 : : ((64 == 64 || TARGET_AVX512VL
28315 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28316 : : && ix86_pre_reload_split ()
28317 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28318 : : STRIP_UNARY (operands[4]))
28319 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28320 : : STRIP_UNARY (operands[4]))
28321 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28322 : : STRIP_UNARY (operands[3]))
28323 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28324 : : STRIP_UNARY (operands[3])))) &&
28325 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28326 : : (TARGET_AVX512F)) &&
28327 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28328 : : ( 1)))
28329 : : return NULL;
28330 : : return gen_split_2354 (insn, operands);
28331 : :
28332 : : case 1:
28333 : : if (!((
28334 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28335 : : ((32 == 64 || TARGET_AVX512VL
28336 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28337 : : && ix86_pre_reload_split ()
28338 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28339 : : STRIP_UNARY (operands[4]))
28340 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28341 : : STRIP_UNARY (operands[4]))
28342 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28343 : : STRIP_UNARY (operands[3]))
28344 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28345 : : STRIP_UNARY (operands[3])))) &&
28346 : : #line 340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28347 : : (TARGET_AVX)) &&
28348 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28349 : : ( 1)))
28350 : : return NULL;
28351 : : return gen_split_2381 (insn, operands);
28352 : :
28353 : : case 2:
28354 : : if (!(
28355 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28356 : : ((16 == 64 || TARGET_AVX512VL
28357 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28358 : : && ix86_pre_reload_split ()
28359 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28360 : : STRIP_UNARY (operands[4]))
28361 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28362 : : STRIP_UNARY (operands[4]))
28363 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28364 : : STRIP_UNARY (operands[3]))
28365 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28366 : : STRIP_UNARY (operands[3])))) &&
28367 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28368 : : ( 1)))
28369 : : return NULL;
28370 : : return gen_split_2408 (insn, operands);
28371 : :
28372 : : case 3:
28373 : : if (!((
28374 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28375 : : ((64 == 64 || TARGET_AVX512VL
28376 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28377 : : && ix86_pre_reload_split ()
28378 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28379 : : STRIP_UNARY (operands[4]))
28380 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28381 : : STRIP_UNARY (operands[4]))
28382 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28383 : : STRIP_UNARY (operands[3]))
28384 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28385 : : STRIP_UNARY (operands[3])))) &&
28386 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28387 : : (TARGET_AVX512F)) &&
28388 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28389 : : ( 1)))
28390 : : return NULL;
28391 : : return gen_split_2435 (insn, operands);
28392 : :
28393 : : case 4:
28394 : : if (!((
28395 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28396 : : ((32 == 64 || TARGET_AVX512VL
28397 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28398 : : && ix86_pre_reload_split ()
28399 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28400 : : STRIP_UNARY (operands[4]))
28401 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28402 : : STRIP_UNARY (operands[4]))
28403 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28404 : : STRIP_UNARY (operands[3]))
28405 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28406 : : STRIP_UNARY (operands[3])))) &&
28407 : : #line 341 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28408 : : (TARGET_AVX)) &&
28409 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28410 : : ( 1)))
28411 : : return NULL;
28412 : : return gen_split_2462 (insn, operands);
28413 : :
28414 : : case 5:
28415 : : if (!(
28416 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28417 : : ((16 == 64 || TARGET_AVX512VL
28418 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28419 : : && ix86_pre_reload_split ()
28420 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28421 : : STRIP_UNARY (operands[4]))
28422 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28423 : : STRIP_UNARY (operands[4]))
28424 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28425 : : STRIP_UNARY (operands[3]))
28426 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28427 : : STRIP_UNARY (operands[3])))) &&
28428 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28429 : : ( 1)))
28430 : : return NULL;
28431 : : return gen_split_2489 (insn, operands);
28432 : :
28433 : : case 6:
28434 : : if (!((
28435 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28436 : : ((64 == 64 || TARGET_AVX512VL
28437 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28438 : : && ix86_pre_reload_split ()
28439 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28440 : : STRIP_UNARY (operands[4]))
28441 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28442 : : STRIP_UNARY (operands[4]))
28443 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28444 : : STRIP_UNARY (operands[3]))
28445 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28446 : : STRIP_UNARY (operands[3])))) &&
28447 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28448 : : (TARGET_AVX512F)) &&
28449 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28450 : : ( 1)))
28451 : : return NULL;
28452 : : return gen_split_2516 (insn, operands);
28453 : :
28454 : : case 7:
28455 : : if (!((
28456 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28457 : : ((32 == 64 || TARGET_AVX512VL
28458 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28459 : : && ix86_pre_reload_split ()
28460 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28461 : : STRIP_UNARY (operands[4]))
28462 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28463 : : STRIP_UNARY (operands[4]))
28464 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28465 : : STRIP_UNARY (operands[3]))
28466 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28467 : : STRIP_UNARY (operands[3])))) &&
28468 : : #line 342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28469 : : (TARGET_AVX)) &&
28470 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28471 : : ( 1)))
28472 : : return NULL;
28473 : : return gen_split_2543 (insn, operands);
28474 : :
28475 : : case 8:
28476 : : if (!(
28477 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28478 : : ((16 == 64 || TARGET_AVX512VL
28479 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28480 : : && ix86_pre_reload_split ()
28481 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28482 : : STRIP_UNARY (operands[4]))
28483 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28484 : : STRIP_UNARY (operands[4]))
28485 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28486 : : STRIP_UNARY (operands[3]))
28487 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28488 : : STRIP_UNARY (operands[3])))) &&
28489 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28490 : : ( 1)))
28491 : : return NULL;
28492 : : return gen_split_2570 (insn, operands);
28493 : :
28494 : : case 9:
28495 : : if (!((
28496 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28497 : : ((64 == 64 || TARGET_AVX512VL
28498 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28499 : : && ix86_pre_reload_split ()
28500 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28501 : : STRIP_UNARY (operands[4]))
28502 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28503 : : STRIP_UNARY (operands[4]))
28504 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28505 : : STRIP_UNARY (operands[3]))
28506 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28507 : : STRIP_UNARY (operands[3])))) &&
28508 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28509 : : (TARGET_AVX512F)) &&
28510 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28511 : : ( 1)))
28512 : : return NULL;
28513 : : return gen_split_2597 (insn, operands);
28514 : :
28515 : : case 10:
28516 : : if (!((
28517 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28518 : : ((32 == 64 || TARGET_AVX512VL
28519 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28520 : : && ix86_pre_reload_split ()
28521 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28522 : : STRIP_UNARY (operands[4]))
28523 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28524 : : STRIP_UNARY (operands[4]))
28525 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28526 : : STRIP_UNARY (operands[3]))
28527 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28528 : : STRIP_UNARY (operands[3])))) &&
28529 : : #line 343 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28530 : : (TARGET_AVX)) &&
28531 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28532 : : ( 1)))
28533 : : return NULL;
28534 : : return gen_split_2624 (insn, operands);
28535 : :
28536 : : case 11:
28537 : : if (!(
28538 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28539 : : ((16 == 64 || TARGET_AVX512VL
28540 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28541 : : && ix86_pre_reload_split ()
28542 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28543 : : STRIP_UNARY (operands[4]))
28544 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28545 : : STRIP_UNARY (operands[4]))
28546 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28547 : : STRIP_UNARY (operands[3]))
28548 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28549 : : STRIP_UNARY (operands[3])))) &&
28550 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28551 : : ( 1)))
28552 : : return NULL;
28553 : : return gen_split_2651 (insn, operands);
28554 : :
28555 : : default:
28556 : : return NULL;
28557 : : }
28558 : :
28559 : : default:
28560 : : return NULL;
28561 : : }
28562 : : }
28563 : :
28564 : : rtx_insn *
28565 : : split_78 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28566 : : {
28567 : : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28568 : : rtx x2, x3, x4;
28569 : : rtx_insn *res ATTRIBUTE_UNUSED;
28570 : : x2 = XEXP (x1, 1);
28571 : : x3 = XEXP (x2, 0);
28572 : : switch (GET_CODE (x3))
28573 : : {
28574 : : case AND:
28575 : : x4 = XEXP (x3, 0);
28576 : : switch (GET_CODE (x4))
28577 : : {
28578 : : case REG:
28579 : : case SUBREG:
28580 : : case MEM:
28581 : : case NOT:
28582 : : switch (pattern524 (x2))
28583 : : {
28584 : : case 0:
28585 : : if (!((
28586 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28587 : : ((64 == 64 || TARGET_AVX512VL
28588 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28589 : : && ix86_pre_reload_split ()
28590 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28591 : : STRIP_UNARY (operands[4]))
28592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28593 : : STRIP_UNARY (operands[4]))
28594 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28595 : : STRIP_UNARY (operands[3]))
28596 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28597 : : STRIP_UNARY (operands[3])))) &&
28598 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28599 : : (TARGET_AVX512F)) &&
28600 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28601 : : ( 1)))
28602 : : return NULL;
28603 : : return gen_split_2016 (insn, operands);
28604 : :
28605 : : case 1:
28606 : : if (!((
28607 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28608 : : ((32 == 64 || TARGET_AVX512VL
28609 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28610 : : && ix86_pre_reload_split ()
28611 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28612 : : STRIP_UNARY (operands[4]))
28613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28614 : : STRIP_UNARY (operands[4]))
28615 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28616 : : STRIP_UNARY (operands[3]))
28617 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28618 : : STRIP_UNARY (operands[3])))) &&
28619 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28620 : : (TARGET_AVX)) &&
28621 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28622 : : ( 1)))
28623 : : return NULL;
28624 : : return gen_split_2043 (insn, operands);
28625 : :
28626 : : case 2:
28627 : : if (!(
28628 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28629 : : ((16 == 64 || TARGET_AVX512VL
28630 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28631 : : && ix86_pre_reload_split ()
28632 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28633 : : STRIP_UNARY (operands[4]))
28634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28635 : : STRIP_UNARY (operands[4]))
28636 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28637 : : STRIP_UNARY (operands[3]))
28638 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28639 : : STRIP_UNARY (operands[3])))) &&
28640 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28641 : : ( 1)))
28642 : : return NULL;
28643 : : return gen_split_2070 (insn, operands);
28644 : :
28645 : : case 3:
28646 : : if (!((
28647 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28648 : : ((64 == 64 || TARGET_AVX512VL
28649 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28650 : : && ix86_pre_reload_split ()
28651 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28652 : : STRIP_UNARY (operands[4]))
28653 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28654 : : STRIP_UNARY (operands[4]))
28655 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28656 : : STRIP_UNARY (operands[3]))
28657 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28658 : : STRIP_UNARY (operands[3])))) &&
28659 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28660 : : (TARGET_AVX512F)) &&
28661 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28662 : : ( 1)))
28663 : : return NULL;
28664 : : return gen_split_2097 (insn, operands);
28665 : :
28666 : : case 4:
28667 : : if (!((
28668 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28669 : : ((32 == 64 || TARGET_AVX512VL
28670 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28671 : : && ix86_pre_reload_split ()
28672 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28673 : : STRIP_UNARY (operands[4]))
28674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28675 : : STRIP_UNARY (operands[4]))
28676 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28677 : : STRIP_UNARY (operands[3]))
28678 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28679 : : STRIP_UNARY (operands[3])))) &&
28680 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28681 : : (TARGET_AVX)) &&
28682 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28683 : : ( 1)))
28684 : : return NULL;
28685 : : return gen_split_2124 (insn, operands);
28686 : :
28687 : : case 5:
28688 : : if (!(
28689 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28690 : : ((16 == 64 || TARGET_AVX512VL
28691 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28692 : : && ix86_pre_reload_split ()
28693 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28694 : : STRIP_UNARY (operands[4]))
28695 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28696 : : STRIP_UNARY (operands[4]))
28697 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28698 : : STRIP_UNARY (operands[3]))
28699 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28700 : : STRIP_UNARY (operands[3])))) &&
28701 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28702 : : ( 1)))
28703 : : return NULL;
28704 : : return gen_split_2151 (insn, operands);
28705 : :
28706 : : case 6:
28707 : : if (!((
28708 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28709 : : ((64 == 64 || TARGET_AVX512VL
28710 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28711 : : && ix86_pre_reload_split ()
28712 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28713 : : STRIP_UNARY (operands[4]))
28714 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28715 : : STRIP_UNARY (operands[4]))
28716 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28717 : : STRIP_UNARY (operands[3]))
28718 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28719 : : STRIP_UNARY (operands[3])))) &&
28720 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28721 : : (TARGET_AVX512F)) &&
28722 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28723 : : ( 1)))
28724 : : return NULL;
28725 : : return gen_split_2178 (insn, operands);
28726 : :
28727 : : case 7:
28728 : : if (!((
28729 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28730 : : ((32 == 64 || TARGET_AVX512VL
28731 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28732 : : && ix86_pre_reload_split ()
28733 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28734 : : STRIP_UNARY (operands[4]))
28735 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28736 : : STRIP_UNARY (operands[4]))
28737 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28738 : : STRIP_UNARY (operands[3]))
28739 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28740 : : STRIP_UNARY (operands[3])))) &&
28741 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28742 : : (TARGET_AVX)) &&
28743 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28744 : : ( 1)))
28745 : : return NULL;
28746 : : return gen_split_2205 (insn, operands);
28747 : :
28748 : : case 8:
28749 : : if (!(
28750 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28751 : : ((16 == 64 || TARGET_AVX512VL
28752 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28753 : : && ix86_pre_reload_split ()
28754 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28755 : : STRIP_UNARY (operands[4]))
28756 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28757 : : STRIP_UNARY (operands[4]))
28758 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28759 : : STRIP_UNARY (operands[3]))
28760 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28761 : : STRIP_UNARY (operands[3])))) &&
28762 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28763 : : ( 1)))
28764 : : return NULL;
28765 : : return gen_split_2232 (insn, operands);
28766 : :
28767 : : case 9:
28768 : : if (!((
28769 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28770 : : ((64 == 64 || TARGET_AVX512VL
28771 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28772 : : && ix86_pre_reload_split ()
28773 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28774 : : STRIP_UNARY (operands[4]))
28775 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28776 : : STRIP_UNARY (operands[4]))
28777 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28778 : : STRIP_UNARY (operands[3]))
28779 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28780 : : STRIP_UNARY (operands[3])))) &&
28781 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28782 : : (TARGET_AVX512F)) &&
28783 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28784 : : ( 1)))
28785 : : return NULL;
28786 : : return gen_split_2259 (insn, operands);
28787 : :
28788 : : case 10:
28789 : : if (!((
28790 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28791 : : ((32 == 64 || TARGET_AVX512VL
28792 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28793 : : && ix86_pre_reload_split ()
28794 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28795 : : STRIP_UNARY (operands[4]))
28796 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28797 : : STRIP_UNARY (operands[4]))
28798 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28799 : : STRIP_UNARY (operands[3]))
28800 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28801 : : STRIP_UNARY (operands[3])))) &&
28802 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28803 : : (TARGET_AVX)) &&
28804 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28805 : : ( 1)))
28806 : : return NULL;
28807 : : return gen_split_2286 (insn, operands);
28808 : :
28809 : : case 11:
28810 : : if (!((
28811 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28812 : : ((16 == 64 || TARGET_AVX512VL
28813 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28814 : : && ix86_pre_reload_split ()
28815 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28816 : : STRIP_UNARY (operands[4]))
28817 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28818 : : STRIP_UNARY (operands[4]))
28819 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28820 : : STRIP_UNARY (operands[3]))
28821 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28822 : : STRIP_UNARY (operands[3])))) &&
28823 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28824 : : (TARGET_SSE2)) &&
28825 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28826 : : ( 1)))
28827 : : return NULL;
28828 : : return gen_split_2313 (insn, operands);
28829 : :
28830 : : case 12:
28831 : : if (!((
28832 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28833 : : ((64 == 64 || TARGET_AVX512VL
28834 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28835 : : && ix86_pre_reload_split ()
28836 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28837 : : STRIP_UNARY (operands[4]))
28838 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28839 : : STRIP_UNARY (operands[4]))
28840 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28841 : : STRIP_UNARY (operands[3]))
28842 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28843 : : STRIP_UNARY (operands[3])))) &&
28844 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28845 : : (TARGET_AVX512F)) &&
28846 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28847 : : ( 1)))
28848 : : return NULL;
28849 : : return gen_split_2019 (insn, operands);
28850 : :
28851 : : case 13:
28852 : : if (!((
28853 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28854 : : ((32 == 64 || TARGET_AVX512VL
28855 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28856 : : && ix86_pre_reload_split ()
28857 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28858 : : STRIP_UNARY (operands[4]))
28859 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28860 : : STRIP_UNARY (operands[4]))
28861 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28862 : : STRIP_UNARY (operands[3]))
28863 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28864 : : STRIP_UNARY (operands[3])))) &&
28865 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28866 : : (TARGET_AVX)) &&
28867 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28868 : : ( 1)))
28869 : : return NULL;
28870 : : return gen_split_2046 (insn, operands);
28871 : :
28872 : : case 14:
28873 : : if (!(
28874 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28875 : : ((16 == 64 || TARGET_AVX512VL
28876 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28877 : : && ix86_pre_reload_split ()
28878 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28879 : : STRIP_UNARY (operands[4]))
28880 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28881 : : STRIP_UNARY (operands[4]))
28882 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28883 : : STRIP_UNARY (operands[3]))
28884 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28885 : : STRIP_UNARY (operands[3])))) &&
28886 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28887 : : ( 1)))
28888 : : return NULL;
28889 : : return gen_split_2073 (insn, operands);
28890 : :
28891 : : case 15:
28892 : : if (!((
28893 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28894 : : ((64 == 64 || TARGET_AVX512VL
28895 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28896 : : && ix86_pre_reload_split ()
28897 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28898 : : STRIP_UNARY (operands[4]))
28899 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28900 : : STRIP_UNARY (operands[4]))
28901 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28902 : : STRIP_UNARY (operands[3]))
28903 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28904 : : STRIP_UNARY (operands[3])))) &&
28905 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28906 : : (TARGET_AVX512F)) &&
28907 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28908 : : ( 1)))
28909 : : return NULL;
28910 : : return gen_split_2100 (insn, operands);
28911 : :
28912 : : case 16:
28913 : : if (!((
28914 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28915 : : ((32 == 64 || TARGET_AVX512VL
28916 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28917 : : && ix86_pre_reload_split ()
28918 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28919 : : STRIP_UNARY (operands[4]))
28920 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28921 : : STRIP_UNARY (operands[4]))
28922 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28923 : : STRIP_UNARY (operands[3]))
28924 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28925 : : STRIP_UNARY (operands[3])))) &&
28926 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28927 : : (TARGET_AVX)) &&
28928 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28929 : : ( 1)))
28930 : : return NULL;
28931 : : return gen_split_2127 (insn, operands);
28932 : :
28933 : : case 17:
28934 : : if (!(
28935 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28936 : : ((16 == 64 || TARGET_AVX512VL
28937 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28938 : : && ix86_pre_reload_split ()
28939 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28940 : : STRIP_UNARY (operands[4]))
28941 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28942 : : STRIP_UNARY (operands[4]))
28943 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28944 : : STRIP_UNARY (operands[3]))
28945 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28946 : : STRIP_UNARY (operands[3])))) &&
28947 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28948 : : ( 1)))
28949 : : return NULL;
28950 : : return gen_split_2154 (insn, operands);
28951 : :
28952 : : case 18:
28953 : : if (!((
28954 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28955 : : ((64 == 64 || TARGET_AVX512VL
28956 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28957 : : && ix86_pre_reload_split ()
28958 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28959 : : STRIP_UNARY (operands[4]))
28960 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28961 : : STRIP_UNARY (operands[4]))
28962 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28963 : : STRIP_UNARY (operands[3]))
28964 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28965 : : STRIP_UNARY (operands[3])))) &&
28966 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28967 : : (TARGET_AVX512F)) &&
28968 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28969 : : ( 1)))
28970 : : return NULL;
28971 : : return gen_split_2181 (insn, operands);
28972 : :
28973 : : case 19:
28974 : : if (!((
28975 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28976 : : ((32 == 64 || TARGET_AVX512VL
28977 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28978 : : && ix86_pre_reload_split ()
28979 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28980 : : STRIP_UNARY (operands[4]))
28981 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28982 : : STRIP_UNARY (operands[4]))
28983 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
28984 : : STRIP_UNARY (operands[3]))
28985 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
28986 : : STRIP_UNARY (operands[3])))) &&
28987 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28988 : : (TARGET_AVX)) &&
28989 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28990 : : ( 1)))
28991 : : return NULL;
28992 : : return gen_split_2208 (insn, operands);
28993 : :
28994 : : case 20:
28995 : : if (!(
28996 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28997 : : ((16 == 64 || TARGET_AVX512VL
28998 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28999 : : && ix86_pre_reload_split ()
29000 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29001 : : STRIP_UNARY (operands[4]))
29002 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29003 : : STRIP_UNARY (operands[4]))
29004 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29005 : : STRIP_UNARY (operands[3]))
29006 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29007 : : STRIP_UNARY (operands[3])))) &&
29008 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29009 : : ( 1)))
29010 : : return NULL;
29011 : : return gen_split_2235 (insn, operands);
29012 : :
29013 : : case 21:
29014 : : if (!((
29015 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29016 : : ((64 == 64 || TARGET_AVX512VL
29017 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29018 : : && ix86_pre_reload_split ()
29019 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29020 : : STRIP_UNARY (operands[4]))
29021 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29022 : : STRIP_UNARY (operands[4]))
29023 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29024 : : STRIP_UNARY (operands[3]))
29025 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29026 : : STRIP_UNARY (operands[3])))) &&
29027 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29028 : : (TARGET_AVX512F)) &&
29029 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29030 : : ( 1)))
29031 : : return NULL;
29032 : : return gen_split_2262 (insn, operands);
29033 : :
29034 : : case 22:
29035 : : if (!((
29036 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29037 : : ((32 == 64 || TARGET_AVX512VL
29038 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29039 : : && ix86_pre_reload_split ()
29040 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29041 : : STRIP_UNARY (operands[4]))
29042 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29043 : : STRIP_UNARY (operands[4]))
29044 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29045 : : STRIP_UNARY (operands[3]))
29046 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29047 : : STRIP_UNARY (operands[3])))) &&
29048 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29049 : : (TARGET_AVX)) &&
29050 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29051 : : ( 1)))
29052 : : return NULL;
29053 : : return gen_split_2289 (insn, operands);
29054 : :
29055 : : case 23:
29056 : : if (!((
29057 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29058 : : ((16 == 64 || TARGET_AVX512VL
29059 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29060 : : && ix86_pre_reload_split ()
29061 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29062 : : STRIP_UNARY (operands[4]))
29063 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29064 : : STRIP_UNARY (operands[4]))
29065 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29066 : : STRIP_UNARY (operands[3]))
29067 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29068 : : STRIP_UNARY (operands[3])))) &&
29069 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29070 : : (TARGET_SSE2)) &&
29071 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29072 : : ( 1)))
29073 : : return NULL;
29074 : : return gen_split_2316 (insn, operands);
29075 : :
29076 : : case 24:
29077 : : if (!((
29078 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29079 : : ((64 == 64 || TARGET_AVX512VL
29080 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29081 : : && ix86_pre_reload_split ()
29082 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29083 : : STRIP_UNARY (operands[4]))
29084 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29085 : : STRIP_UNARY (operands[4]))
29086 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29087 : : STRIP_UNARY (operands[3]))
29088 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29089 : : STRIP_UNARY (operands[3])))) &&
29090 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29091 : : (TARGET_AVX512F)) &&
29092 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29093 : : ( 1)))
29094 : : return NULL;
29095 : : return gen_split_2022 (insn, operands);
29096 : :
29097 : : case 25:
29098 : : if (!((
29099 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29100 : : ((32 == 64 || TARGET_AVX512VL
29101 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29102 : : && ix86_pre_reload_split ()
29103 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29104 : : STRIP_UNARY (operands[4]))
29105 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29106 : : STRIP_UNARY (operands[4]))
29107 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29108 : : STRIP_UNARY (operands[3]))
29109 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29110 : : STRIP_UNARY (operands[3])))) &&
29111 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29112 : : (TARGET_AVX)) &&
29113 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29114 : : ( 1)))
29115 : : return NULL;
29116 : : return gen_split_2049 (insn, operands);
29117 : :
29118 : : case 26:
29119 : : if (!(
29120 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29121 : : ((16 == 64 || TARGET_AVX512VL
29122 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29123 : : && ix86_pre_reload_split ()
29124 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29125 : : STRIP_UNARY (operands[4]))
29126 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29127 : : STRIP_UNARY (operands[4]))
29128 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29129 : : STRIP_UNARY (operands[3]))
29130 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29131 : : STRIP_UNARY (operands[3])))) &&
29132 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29133 : : ( 1)))
29134 : : return NULL;
29135 : : return gen_split_2076 (insn, operands);
29136 : :
29137 : : case 27:
29138 : : if (!((
29139 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29140 : : ((64 == 64 || TARGET_AVX512VL
29141 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29142 : : && ix86_pre_reload_split ()
29143 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29144 : : STRIP_UNARY (operands[4]))
29145 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29146 : : STRIP_UNARY (operands[4]))
29147 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29148 : : STRIP_UNARY (operands[3]))
29149 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29150 : : STRIP_UNARY (operands[3])))) &&
29151 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29152 : : (TARGET_AVX512F)) &&
29153 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29154 : : ( 1)))
29155 : : return NULL;
29156 : : return gen_split_2103 (insn, operands);
29157 : :
29158 : : case 28:
29159 : : if (!((
29160 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29161 : : ((32 == 64 || TARGET_AVX512VL
29162 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29163 : : && ix86_pre_reload_split ()
29164 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29165 : : STRIP_UNARY (operands[4]))
29166 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29167 : : STRIP_UNARY (operands[4]))
29168 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29169 : : STRIP_UNARY (operands[3]))
29170 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29171 : : STRIP_UNARY (operands[3])))) &&
29172 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29173 : : (TARGET_AVX)) &&
29174 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29175 : : ( 1)))
29176 : : return NULL;
29177 : : return gen_split_2130 (insn, operands);
29178 : :
29179 : : case 29:
29180 : : if (!(
29181 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29182 : : ((16 == 64 || TARGET_AVX512VL
29183 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29184 : : && ix86_pre_reload_split ()
29185 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29186 : : STRIP_UNARY (operands[4]))
29187 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29188 : : STRIP_UNARY (operands[4]))
29189 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29190 : : STRIP_UNARY (operands[3]))
29191 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29192 : : STRIP_UNARY (operands[3])))) &&
29193 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29194 : : ( 1)))
29195 : : return NULL;
29196 : : return gen_split_2157 (insn, operands);
29197 : :
29198 : : case 30:
29199 : : if (!((
29200 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29201 : : ((64 == 64 || TARGET_AVX512VL
29202 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29203 : : && ix86_pre_reload_split ()
29204 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29205 : : STRIP_UNARY (operands[4]))
29206 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29207 : : STRIP_UNARY (operands[4]))
29208 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29209 : : STRIP_UNARY (operands[3]))
29210 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29211 : : STRIP_UNARY (operands[3])))) &&
29212 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29213 : : (TARGET_AVX512F)) &&
29214 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29215 : : ( 1)))
29216 : : return NULL;
29217 : : return gen_split_2184 (insn, operands);
29218 : :
29219 : : case 31:
29220 : : if (!((
29221 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29222 : : ((32 == 64 || TARGET_AVX512VL
29223 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29224 : : && ix86_pre_reload_split ()
29225 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29226 : : STRIP_UNARY (operands[4]))
29227 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29228 : : STRIP_UNARY (operands[4]))
29229 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29230 : : STRIP_UNARY (operands[3]))
29231 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29232 : : STRIP_UNARY (operands[3])))) &&
29233 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29234 : : (TARGET_AVX)) &&
29235 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29236 : : ( 1)))
29237 : : return NULL;
29238 : : return gen_split_2211 (insn, operands);
29239 : :
29240 : : case 32:
29241 : : if (!(
29242 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29243 : : ((16 == 64 || TARGET_AVX512VL
29244 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29245 : : && ix86_pre_reload_split ()
29246 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29247 : : STRIP_UNARY (operands[4]))
29248 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29249 : : STRIP_UNARY (operands[4]))
29250 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29251 : : STRIP_UNARY (operands[3]))
29252 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29253 : : STRIP_UNARY (operands[3])))) &&
29254 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29255 : : ( 1)))
29256 : : return NULL;
29257 : : return gen_split_2238 (insn, operands);
29258 : :
29259 : : case 33:
29260 : : if (!((
29261 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29262 : : ((64 == 64 || TARGET_AVX512VL
29263 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29264 : : && ix86_pre_reload_split ()
29265 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29266 : : STRIP_UNARY (operands[4]))
29267 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29268 : : STRIP_UNARY (operands[4]))
29269 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29270 : : STRIP_UNARY (operands[3]))
29271 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29272 : : STRIP_UNARY (operands[3])))) &&
29273 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29274 : : (TARGET_AVX512F)) &&
29275 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29276 : : ( 1)))
29277 : : return NULL;
29278 : : return gen_split_2265 (insn, operands);
29279 : :
29280 : : case 34:
29281 : : if (!((
29282 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29283 : : ((32 == 64 || TARGET_AVX512VL
29284 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29285 : : && ix86_pre_reload_split ()
29286 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29287 : : STRIP_UNARY (operands[4]))
29288 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29289 : : STRIP_UNARY (operands[4]))
29290 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29291 : : STRIP_UNARY (operands[3]))
29292 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29293 : : STRIP_UNARY (operands[3])))) &&
29294 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29295 : : (TARGET_AVX)) &&
29296 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29297 : : ( 1)))
29298 : : return NULL;
29299 : : return gen_split_2292 (insn, operands);
29300 : :
29301 : : case 35:
29302 : : if (!((
29303 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29304 : : ((16 == 64 || TARGET_AVX512VL
29305 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29306 : : && ix86_pre_reload_split ()
29307 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29308 : : STRIP_UNARY (operands[4]))
29309 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29310 : : STRIP_UNARY (operands[4]))
29311 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29312 : : STRIP_UNARY (operands[3]))
29313 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29314 : : STRIP_UNARY (operands[3])))) &&
29315 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29316 : : (TARGET_SSE2)) &&
29317 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29318 : : ( 1)))
29319 : : return NULL;
29320 : : return gen_split_2319 (insn, operands);
29321 : :
29322 : : case 36:
29323 : : if (!((
29324 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29325 : : ((64 == 64 || TARGET_AVX512VL
29326 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29327 : : && ix86_pre_reload_split ()) &&
29328 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29329 : : (TARGET_AVX512F)) &&
29330 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29331 : : ( 1)))
29332 : : return NULL;
29333 : : return gen_split_3096 (insn, operands);
29334 : :
29335 : : case 37:
29336 : : if (!((
29337 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29338 : : ((32 == 64 || TARGET_AVX512VL
29339 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29340 : : && ix86_pre_reload_split ()) &&
29341 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29342 : : (TARGET_AVX)) &&
29343 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29344 : : ( 1)))
29345 : : return NULL;
29346 : : return gen_split_3105 (insn, operands);
29347 : :
29348 : : case 38:
29349 : : if (!(
29350 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29351 : : ((16 == 64 || TARGET_AVX512VL
29352 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29353 : : && ix86_pre_reload_split ()) &&
29354 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29355 : : ( 1)))
29356 : : return NULL;
29357 : : return gen_split_3114 (insn, operands);
29358 : :
29359 : : case 39:
29360 : : if (!((
29361 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29362 : : ((64 == 64 || TARGET_AVX512VL
29363 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29364 : : && ix86_pre_reload_split ()) &&
29365 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29366 : : (TARGET_AVX512F)) &&
29367 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29368 : : ( 1)))
29369 : : return NULL;
29370 : : return gen_split_3123 (insn, operands);
29371 : :
29372 : : case 40:
29373 : : if (!((
29374 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29375 : : ((32 == 64 || TARGET_AVX512VL
29376 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29377 : : && ix86_pre_reload_split ()) &&
29378 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29379 : : (TARGET_AVX)) &&
29380 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29381 : : ( 1)))
29382 : : return NULL;
29383 : : return gen_split_3132 (insn, operands);
29384 : :
29385 : : case 41:
29386 : : if (!(
29387 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29388 : : ((16 == 64 || TARGET_AVX512VL
29389 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29390 : : && ix86_pre_reload_split ()) &&
29391 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29392 : : ( 1)))
29393 : : return NULL;
29394 : : return gen_split_3141 (insn, operands);
29395 : :
29396 : : case 42:
29397 : : if (!((
29398 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29399 : : ((64 == 64 || TARGET_AVX512VL
29400 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29401 : : && ix86_pre_reload_split ()) &&
29402 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29403 : : (TARGET_AVX512F)) &&
29404 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29405 : : ( 1)))
29406 : : return NULL;
29407 : : return gen_split_3150 (insn, operands);
29408 : :
29409 : : case 43:
29410 : : if (!((
29411 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29412 : : ((32 == 64 || TARGET_AVX512VL
29413 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29414 : : && ix86_pre_reload_split ()) &&
29415 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29416 : : (TARGET_AVX)) &&
29417 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29418 : : ( 1)))
29419 : : return NULL;
29420 : : return gen_split_3159 (insn, operands);
29421 : :
29422 : : case 44:
29423 : : if (!(
29424 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29425 : : ((16 == 64 || TARGET_AVX512VL
29426 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29427 : : && ix86_pre_reload_split ()) &&
29428 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29429 : : ( 1)))
29430 : : return NULL;
29431 : : return gen_split_3168 (insn, operands);
29432 : :
29433 : : case 45:
29434 : : if (!((
29435 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29436 : : ((64 == 64 || TARGET_AVX512VL
29437 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29438 : : && ix86_pre_reload_split ()) &&
29439 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29440 : : (TARGET_AVX512F)) &&
29441 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29442 : : ( 1)))
29443 : : return NULL;
29444 : : return gen_split_3177 (insn, operands);
29445 : :
29446 : : case 46:
29447 : : if (!((
29448 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29449 : : ((32 == 64 || TARGET_AVX512VL
29450 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29451 : : && ix86_pre_reload_split ()) &&
29452 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29453 : : (TARGET_AVX)) &&
29454 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29455 : : ( 1)))
29456 : : return NULL;
29457 : : return gen_split_3186 (insn, operands);
29458 : :
29459 : : case 47:
29460 : : if (!((
29461 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29462 : : ((16 == 64 || TARGET_AVX512VL
29463 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29464 : : && ix86_pre_reload_split ()) &&
29465 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29466 : : (TARGET_SSE2)) &&
29467 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29468 : : ( 1)))
29469 : : return NULL;
29470 : : return gen_split_3195 (insn, operands);
29471 : :
29472 : : default:
29473 : : return NULL;
29474 : : }
29475 : :
29476 : : case AND:
29477 : : switch (pattern525 (x2))
29478 : : {
29479 : : case 0:
29480 : : if (!((
29481 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29482 : : ((64 == 64 || TARGET_AVX512VL
29483 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29484 : : && ix86_pre_reload_split ()
29485 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29486 : : STRIP_UNARY (operands[4]))
29487 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29488 : : STRIP_UNARY (operands[4]))
29489 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29490 : : STRIP_UNARY (operands[3]))
29491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29492 : : STRIP_UNARY (operands[3])))) &&
29493 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29494 : : (TARGET_AVX512F)) &&
29495 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29496 : : ( 1)))
29497 : : return NULL;
29498 : : return gen_split_2664 (insn, operands);
29499 : :
29500 : : case 1:
29501 : : if (!((
29502 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29503 : : ((32 == 64 || TARGET_AVX512VL
29504 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29505 : : && ix86_pre_reload_split ()
29506 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29507 : : STRIP_UNARY (operands[4]))
29508 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29509 : : STRIP_UNARY (operands[4]))
29510 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29511 : : STRIP_UNARY (operands[3]))
29512 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29513 : : STRIP_UNARY (operands[3])))) &&
29514 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29515 : : (TARGET_AVX)) &&
29516 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29517 : : ( 1)))
29518 : : return NULL;
29519 : : return gen_split_2691 (insn, operands);
29520 : :
29521 : : case 2:
29522 : : if (!(
29523 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29524 : : ((16 == 64 || TARGET_AVX512VL
29525 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29526 : : && ix86_pre_reload_split ()
29527 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29528 : : STRIP_UNARY (operands[4]))
29529 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29530 : : STRIP_UNARY (operands[4]))
29531 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29532 : : STRIP_UNARY (operands[3]))
29533 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29534 : : STRIP_UNARY (operands[3])))) &&
29535 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29536 : : ( 1)))
29537 : : return NULL;
29538 : : return gen_split_2718 (insn, operands);
29539 : :
29540 : : case 3:
29541 : : if (!((
29542 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29543 : : ((64 == 64 || TARGET_AVX512VL
29544 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29545 : : && ix86_pre_reload_split ()
29546 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29547 : : STRIP_UNARY (operands[4]))
29548 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29549 : : STRIP_UNARY (operands[4]))
29550 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29551 : : STRIP_UNARY (operands[3]))
29552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29553 : : STRIP_UNARY (operands[3])))) &&
29554 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29555 : : (TARGET_AVX512F)) &&
29556 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29557 : : ( 1)))
29558 : : return NULL;
29559 : : return gen_split_2745 (insn, operands);
29560 : :
29561 : : case 4:
29562 : : if (!((
29563 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29564 : : ((32 == 64 || TARGET_AVX512VL
29565 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29566 : : && ix86_pre_reload_split ()
29567 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29568 : : STRIP_UNARY (operands[4]))
29569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29570 : : STRIP_UNARY (operands[4]))
29571 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29572 : : STRIP_UNARY (operands[3]))
29573 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29574 : : STRIP_UNARY (operands[3])))) &&
29575 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29576 : : (TARGET_AVX)) &&
29577 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29578 : : ( 1)))
29579 : : return NULL;
29580 : : return gen_split_2772 (insn, operands);
29581 : :
29582 : : case 5:
29583 : : if (!(
29584 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29585 : : ((16 == 64 || TARGET_AVX512VL
29586 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29587 : : && ix86_pre_reload_split ()
29588 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29589 : : STRIP_UNARY (operands[4]))
29590 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29591 : : STRIP_UNARY (operands[4]))
29592 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29593 : : STRIP_UNARY (operands[3]))
29594 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29595 : : STRIP_UNARY (operands[3])))) &&
29596 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29597 : : ( 1)))
29598 : : return NULL;
29599 : : return gen_split_2799 (insn, operands);
29600 : :
29601 : : case 6:
29602 : : if (!((
29603 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29604 : : ((64 == 64 || TARGET_AVX512VL
29605 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29606 : : && ix86_pre_reload_split ()
29607 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29608 : : STRIP_UNARY (operands[4]))
29609 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29610 : : STRIP_UNARY (operands[4]))
29611 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29612 : : STRIP_UNARY (operands[3]))
29613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29614 : : STRIP_UNARY (operands[3])))) &&
29615 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29616 : : (TARGET_AVX512F)) &&
29617 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29618 : : ( 1)))
29619 : : return NULL;
29620 : : return gen_split_2826 (insn, operands);
29621 : :
29622 : : case 7:
29623 : : if (!((
29624 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29625 : : ((32 == 64 || TARGET_AVX512VL
29626 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29627 : : && ix86_pre_reload_split ()
29628 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29629 : : STRIP_UNARY (operands[4]))
29630 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29631 : : STRIP_UNARY (operands[4]))
29632 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29633 : : STRIP_UNARY (operands[3]))
29634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29635 : : STRIP_UNARY (operands[3])))) &&
29636 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29637 : : (TARGET_AVX)) &&
29638 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29639 : : ( 1)))
29640 : : return NULL;
29641 : : return gen_split_2853 (insn, operands);
29642 : :
29643 : : case 8:
29644 : : if (!(
29645 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29646 : : ((16 == 64 || TARGET_AVX512VL
29647 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29648 : : && ix86_pre_reload_split ()
29649 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29650 : : STRIP_UNARY (operands[4]))
29651 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29652 : : STRIP_UNARY (operands[4]))
29653 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29654 : : STRIP_UNARY (operands[3]))
29655 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29656 : : STRIP_UNARY (operands[3])))) &&
29657 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29658 : : ( 1)))
29659 : : return NULL;
29660 : : return gen_split_2880 (insn, operands);
29661 : :
29662 : : case 9:
29663 : : if (!((
29664 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29665 : : ((64 == 64 || TARGET_AVX512VL
29666 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29667 : : && ix86_pre_reload_split ()
29668 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29669 : : STRIP_UNARY (operands[4]))
29670 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29671 : : STRIP_UNARY (operands[4]))
29672 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29673 : : STRIP_UNARY (operands[3]))
29674 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29675 : : STRIP_UNARY (operands[3])))) &&
29676 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29677 : : (TARGET_AVX512F)) &&
29678 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29679 : : ( 1)))
29680 : : return NULL;
29681 : : return gen_split_2907 (insn, operands);
29682 : :
29683 : : case 10:
29684 : : if (!((
29685 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29686 : : ((32 == 64 || TARGET_AVX512VL
29687 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29688 : : && ix86_pre_reload_split ()
29689 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29690 : : STRIP_UNARY (operands[4]))
29691 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29692 : : STRIP_UNARY (operands[4]))
29693 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29694 : : STRIP_UNARY (operands[3]))
29695 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29696 : : STRIP_UNARY (operands[3])))) &&
29697 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29698 : : (TARGET_AVX)) &&
29699 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29700 : : ( 1)))
29701 : : return NULL;
29702 : : return gen_split_2934 (insn, operands);
29703 : :
29704 : : case 11:
29705 : : if (!((
29706 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29707 : : ((16 == 64 || TARGET_AVX512VL
29708 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29709 : : && ix86_pre_reload_split ()
29710 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29711 : : STRIP_UNARY (operands[4]))
29712 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29713 : : STRIP_UNARY (operands[4]))
29714 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29715 : : STRIP_UNARY (operands[3]))
29716 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29717 : : STRIP_UNARY (operands[3])))) &&
29718 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29719 : : (TARGET_SSE2)) &&
29720 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29721 : : ( 1)))
29722 : : return NULL;
29723 : : return gen_split_2961 (insn, operands);
29724 : :
29725 : : default:
29726 : : return NULL;
29727 : : }
29728 : :
29729 : : case IOR:
29730 : : switch (pattern525 (x2))
29731 : : {
29732 : : case 0:
29733 : : if (!((
29734 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29735 : : ((64 == 64 || TARGET_AVX512VL
29736 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29737 : : && ix86_pre_reload_split ()
29738 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29739 : : STRIP_UNARY (operands[4]))
29740 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29741 : : STRIP_UNARY (operands[4]))
29742 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29743 : : STRIP_UNARY (operands[3]))
29744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29745 : : STRIP_UNARY (operands[3])))) &&
29746 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29747 : : (TARGET_AVX512F)) &&
29748 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29749 : : ( 1)))
29750 : : return NULL;
29751 : : return gen_split_2667 (insn, operands);
29752 : :
29753 : : case 1:
29754 : : if (!((
29755 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29756 : : ((32 == 64 || TARGET_AVX512VL
29757 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29758 : : && ix86_pre_reload_split ()
29759 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29760 : : STRIP_UNARY (operands[4]))
29761 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29762 : : STRIP_UNARY (operands[4]))
29763 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29764 : : STRIP_UNARY (operands[3]))
29765 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29766 : : STRIP_UNARY (operands[3])))) &&
29767 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29768 : : (TARGET_AVX)) &&
29769 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29770 : : ( 1)))
29771 : : return NULL;
29772 : : return gen_split_2694 (insn, operands);
29773 : :
29774 : : case 2:
29775 : : if (!(
29776 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29777 : : ((16 == 64 || TARGET_AVX512VL
29778 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29779 : : && ix86_pre_reload_split ()
29780 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29781 : : STRIP_UNARY (operands[4]))
29782 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29783 : : STRIP_UNARY (operands[4]))
29784 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29785 : : STRIP_UNARY (operands[3]))
29786 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29787 : : STRIP_UNARY (operands[3])))) &&
29788 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29789 : : ( 1)))
29790 : : return NULL;
29791 : : return gen_split_2721 (insn, operands);
29792 : :
29793 : : case 3:
29794 : : if (!((
29795 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29796 : : ((64 == 64 || TARGET_AVX512VL
29797 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29798 : : && ix86_pre_reload_split ()
29799 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29800 : : STRIP_UNARY (operands[4]))
29801 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29802 : : STRIP_UNARY (operands[4]))
29803 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29804 : : STRIP_UNARY (operands[3]))
29805 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29806 : : STRIP_UNARY (operands[3])))) &&
29807 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29808 : : (TARGET_AVX512F)) &&
29809 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29810 : : ( 1)))
29811 : : return NULL;
29812 : : return gen_split_2748 (insn, operands);
29813 : :
29814 : : case 4:
29815 : : if (!((
29816 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29817 : : ((32 == 64 || TARGET_AVX512VL
29818 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29819 : : && ix86_pre_reload_split ()
29820 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29821 : : STRIP_UNARY (operands[4]))
29822 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29823 : : STRIP_UNARY (operands[4]))
29824 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29825 : : STRIP_UNARY (operands[3]))
29826 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29827 : : STRIP_UNARY (operands[3])))) &&
29828 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29829 : : (TARGET_AVX)) &&
29830 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29831 : : ( 1)))
29832 : : return NULL;
29833 : : return gen_split_2775 (insn, operands);
29834 : :
29835 : : case 5:
29836 : : if (!(
29837 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29838 : : ((16 == 64 || TARGET_AVX512VL
29839 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29840 : : && ix86_pre_reload_split ()
29841 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29842 : : STRIP_UNARY (operands[4]))
29843 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29844 : : STRIP_UNARY (operands[4]))
29845 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29846 : : STRIP_UNARY (operands[3]))
29847 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29848 : : STRIP_UNARY (operands[3])))) &&
29849 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29850 : : ( 1)))
29851 : : return NULL;
29852 : : return gen_split_2802 (insn, operands);
29853 : :
29854 : : case 6:
29855 : : if (!((
29856 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29857 : : ((64 == 64 || TARGET_AVX512VL
29858 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29859 : : && ix86_pre_reload_split ()
29860 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29861 : : STRIP_UNARY (operands[4]))
29862 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29863 : : STRIP_UNARY (operands[4]))
29864 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29865 : : STRIP_UNARY (operands[3]))
29866 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29867 : : STRIP_UNARY (operands[3])))) &&
29868 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29869 : : (TARGET_AVX512F)) &&
29870 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29871 : : ( 1)))
29872 : : return NULL;
29873 : : return gen_split_2829 (insn, operands);
29874 : :
29875 : : case 7:
29876 : : if (!((
29877 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29878 : : ((32 == 64 || TARGET_AVX512VL
29879 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29880 : : && ix86_pre_reload_split ()
29881 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29882 : : STRIP_UNARY (operands[4]))
29883 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29884 : : STRIP_UNARY (operands[4]))
29885 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29886 : : STRIP_UNARY (operands[3]))
29887 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29888 : : STRIP_UNARY (operands[3])))) &&
29889 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29890 : : (TARGET_AVX)) &&
29891 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29892 : : ( 1)))
29893 : : return NULL;
29894 : : return gen_split_2856 (insn, operands);
29895 : :
29896 : : case 8:
29897 : : if (!(
29898 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29899 : : ((16 == 64 || TARGET_AVX512VL
29900 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29901 : : && ix86_pre_reload_split ()
29902 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29903 : : STRIP_UNARY (operands[4]))
29904 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29905 : : STRIP_UNARY (operands[4]))
29906 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29907 : : STRIP_UNARY (operands[3]))
29908 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29909 : : STRIP_UNARY (operands[3])))) &&
29910 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29911 : : ( 1)))
29912 : : return NULL;
29913 : : return gen_split_2883 (insn, operands);
29914 : :
29915 : : case 9:
29916 : : if (!((
29917 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29918 : : ((64 == 64 || TARGET_AVX512VL
29919 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29920 : : && ix86_pre_reload_split ()
29921 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29922 : : STRIP_UNARY (operands[4]))
29923 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29924 : : STRIP_UNARY (operands[4]))
29925 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29926 : : STRIP_UNARY (operands[3]))
29927 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29928 : : STRIP_UNARY (operands[3])))) &&
29929 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29930 : : (TARGET_AVX512F)) &&
29931 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29932 : : ( 1)))
29933 : : return NULL;
29934 : : return gen_split_2910 (insn, operands);
29935 : :
29936 : : case 10:
29937 : : if (!((
29938 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29939 : : ((32 == 64 || TARGET_AVX512VL
29940 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29941 : : && ix86_pre_reload_split ()
29942 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29943 : : STRIP_UNARY (operands[4]))
29944 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29945 : : STRIP_UNARY (operands[4]))
29946 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29947 : : STRIP_UNARY (operands[3]))
29948 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29949 : : STRIP_UNARY (operands[3])))) &&
29950 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29951 : : (TARGET_AVX)) &&
29952 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29953 : : ( 1)))
29954 : : return NULL;
29955 : : return gen_split_2937 (insn, operands);
29956 : :
29957 : : case 11:
29958 : : if (!((
29959 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29960 : : ((16 == 64 || TARGET_AVX512VL
29961 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29962 : : && ix86_pre_reload_split ()
29963 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29964 : : STRIP_UNARY (operands[4]))
29965 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29966 : : STRIP_UNARY (operands[4]))
29967 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29968 : : STRIP_UNARY (operands[3]))
29969 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29970 : : STRIP_UNARY (operands[3])))) &&
29971 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29972 : : (TARGET_SSE2)) &&
29973 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29974 : : ( 1)))
29975 : : return NULL;
29976 : : return gen_split_2964 (insn, operands);
29977 : :
29978 : : default:
29979 : : return NULL;
29980 : : }
29981 : :
29982 : : case XOR:
29983 : : switch (pattern525 (x2))
29984 : : {
29985 : : case 0:
29986 : : if (!((
29987 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29988 : : ((64 == 64 || TARGET_AVX512VL
29989 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29990 : : && ix86_pre_reload_split ()
29991 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29992 : : STRIP_UNARY (operands[4]))
29993 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29994 : : STRIP_UNARY (operands[4]))
29995 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
29996 : : STRIP_UNARY (operands[3]))
29997 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
29998 : : STRIP_UNARY (operands[3])))) &&
29999 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30000 : : (TARGET_AVX512F)) &&
30001 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30002 : : ( 1)))
30003 : : return NULL;
30004 : : return gen_split_2670 (insn, operands);
30005 : :
30006 : : case 1:
30007 : : if (!((
30008 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30009 : : ((32 == 64 || TARGET_AVX512VL
30010 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30011 : : && ix86_pre_reload_split ()
30012 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30013 : : STRIP_UNARY (operands[4]))
30014 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30015 : : STRIP_UNARY (operands[4]))
30016 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30017 : : STRIP_UNARY (operands[3]))
30018 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30019 : : STRIP_UNARY (operands[3])))) &&
30020 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30021 : : (TARGET_AVX)) &&
30022 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30023 : : ( 1)))
30024 : : return NULL;
30025 : : return gen_split_2697 (insn, operands);
30026 : :
30027 : : case 2:
30028 : : if (!(
30029 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30030 : : ((16 == 64 || TARGET_AVX512VL
30031 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30032 : : && ix86_pre_reload_split ()
30033 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30034 : : STRIP_UNARY (operands[4]))
30035 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30036 : : STRIP_UNARY (operands[4]))
30037 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30038 : : STRIP_UNARY (operands[3]))
30039 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30040 : : STRIP_UNARY (operands[3])))) &&
30041 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30042 : : ( 1)))
30043 : : return NULL;
30044 : : return gen_split_2724 (insn, operands);
30045 : :
30046 : : case 3:
30047 : : if (!((
30048 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30049 : : ((64 == 64 || TARGET_AVX512VL
30050 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30051 : : && ix86_pre_reload_split ()
30052 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30053 : : STRIP_UNARY (operands[4]))
30054 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30055 : : STRIP_UNARY (operands[4]))
30056 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30057 : : STRIP_UNARY (operands[3]))
30058 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30059 : : STRIP_UNARY (operands[3])))) &&
30060 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30061 : : (TARGET_AVX512F)) &&
30062 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30063 : : ( 1)))
30064 : : return NULL;
30065 : : return gen_split_2751 (insn, operands);
30066 : :
30067 : : case 4:
30068 : : if (!((
30069 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30070 : : ((32 == 64 || TARGET_AVX512VL
30071 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30072 : : && ix86_pre_reload_split ()
30073 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30074 : : STRIP_UNARY (operands[4]))
30075 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30076 : : STRIP_UNARY (operands[4]))
30077 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30078 : : STRIP_UNARY (operands[3]))
30079 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30080 : : STRIP_UNARY (operands[3])))) &&
30081 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30082 : : (TARGET_AVX)) &&
30083 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30084 : : ( 1)))
30085 : : return NULL;
30086 : : return gen_split_2778 (insn, operands);
30087 : :
30088 : : case 5:
30089 : : if (!(
30090 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30091 : : ((16 == 64 || TARGET_AVX512VL
30092 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30093 : : && ix86_pre_reload_split ()
30094 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30095 : : STRIP_UNARY (operands[4]))
30096 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30097 : : STRIP_UNARY (operands[4]))
30098 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30099 : : STRIP_UNARY (operands[3]))
30100 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30101 : : STRIP_UNARY (operands[3])))) &&
30102 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30103 : : ( 1)))
30104 : : return NULL;
30105 : : return gen_split_2805 (insn, operands);
30106 : :
30107 : : case 6:
30108 : : if (!((
30109 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30110 : : ((64 == 64 || TARGET_AVX512VL
30111 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30112 : : && ix86_pre_reload_split ()
30113 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30114 : : STRIP_UNARY (operands[4]))
30115 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30116 : : STRIP_UNARY (operands[4]))
30117 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30118 : : STRIP_UNARY (operands[3]))
30119 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30120 : : STRIP_UNARY (operands[3])))) &&
30121 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30122 : : (TARGET_AVX512F)) &&
30123 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30124 : : ( 1)))
30125 : : return NULL;
30126 : : return gen_split_2832 (insn, operands);
30127 : :
30128 : : case 7:
30129 : : if (!((
30130 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30131 : : ((32 == 64 || TARGET_AVX512VL
30132 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30133 : : && ix86_pre_reload_split ()
30134 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30135 : : STRIP_UNARY (operands[4]))
30136 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30137 : : STRIP_UNARY (operands[4]))
30138 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30139 : : STRIP_UNARY (operands[3]))
30140 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30141 : : STRIP_UNARY (operands[3])))) &&
30142 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30143 : : (TARGET_AVX)) &&
30144 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30145 : : ( 1)))
30146 : : return NULL;
30147 : : return gen_split_2859 (insn, operands);
30148 : :
30149 : : case 8:
30150 : : if (!(
30151 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30152 : : ((16 == 64 || TARGET_AVX512VL
30153 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30154 : : && ix86_pre_reload_split ()
30155 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30156 : : STRIP_UNARY (operands[4]))
30157 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30158 : : STRIP_UNARY (operands[4]))
30159 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30160 : : STRIP_UNARY (operands[3]))
30161 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30162 : : STRIP_UNARY (operands[3])))) &&
30163 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30164 : : ( 1)))
30165 : : return NULL;
30166 : : return gen_split_2886 (insn, operands);
30167 : :
30168 : : case 9:
30169 : : if (!((
30170 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30171 : : ((64 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30183 : : (TARGET_AVX512F)) &&
30184 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30185 : : ( 1)))
30186 : : return NULL;
30187 : : return gen_split_2913 (insn, operands);
30188 : :
30189 : : case 10:
30190 : : if (!((
30191 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30192 : : ((32 == 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 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30204 : : (TARGET_AVX)) &&
30205 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30206 : : ( 1)))
30207 : : return NULL;
30208 : : return gen_split_2940 (insn, operands);
30209 : :
30210 : : case 11:
30211 : : if (!((
30212 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30213 : : ((16 == 64 || TARGET_AVX512VL
30214 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30215 : : && ix86_pre_reload_split ()
30216 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30217 : : STRIP_UNARY (operands[4]))
30218 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30219 : : STRIP_UNARY (operands[4]))
30220 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30221 : : STRIP_UNARY (operands[3]))
30222 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30223 : : STRIP_UNARY (operands[3])))) &&
30224 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30225 : : (TARGET_SSE2)) &&
30226 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30227 : : ( 1)))
30228 : : return NULL;
30229 : : return gen_split_2967 (insn, operands);
30230 : :
30231 : : default:
30232 : : return NULL;
30233 : : }
30234 : :
30235 : : default:
30236 : : return NULL;
30237 : : }
30238 : :
30239 : : case IOR:
30240 : : x4 = XEXP (x3, 0);
30241 : : switch (GET_CODE (x4))
30242 : : {
30243 : : case REG:
30244 : : case SUBREG:
30245 : : case MEM:
30246 : : case NOT:
30247 : : switch (pattern524 (x2))
30248 : : {
30249 : : case 0:
30250 : : if (!((
30251 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30252 : : ((64 == 64 || TARGET_AVX512VL
30253 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30254 : : && ix86_pre_reload_split ()
30255 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30256 : : STRIP_UNARY (operands[4]))
30257 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30258 : : STRIP_UNARY (operands[4]))
30259 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30260 : : STRIP_UNARY (operands[3]))
30261 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30262 : : STRIP_UNARY (operands[3])))) &&
30263 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30264 : : (TARGET_AVX512F)) &&
30265 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30266 : : ( 1)))
30267 : : return NULL;
30268 : : return gen_split_2025 (insn, operands);
30269 : :
30270 : : case 1:
30271 : : if (!((
30272 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30273 : : ((32 == 64 || TARGET_AVX512VL
30274 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30275 : : && ix86_pre_reload_split ()
30276 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30277 : : STRIP_UNARY (operands[4]))
30278 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30279 : : STRIP_UNARY (operands[4]))
30280 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30281 : : STRIP_UNARY (operands[3]))
30282 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30283 : : STRIP_UNARY (operands[3])))) &&
30284 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30285 : : (TARGET_AVX)) &&
30286 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30287 : : ( 1)))
30288 : : return NULL;
30289 : : return gen_split_2052 (insn, operands);
30290 : :
30291 : : case 2:
30292 : : if (!(
30293 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30294 : : ((16 == 64 || TARGET_AVX512VL
30295 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30296 : : && ix86_pre_reload_split ()
30297 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30298 : : STRIP_UNARY (operands[4]))
30299 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30300 : : STRIP_UNARY (operands[4]))
30301 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30302 : : STRIP_UNARY (operands[3]))
30303 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30304 : : STRIP_UNARY (operands[3])))) &&
30305 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30306 : : ( 1)))
30307 : : return NULL;
30308 : : return gen_split_2079 (insn, operands);
30309 : :
30310 : : case 3:
30311 : : if (!((
30312 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30313 : : ((64 == 64 || TARGET_AVX512VL
30314 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30315 : : && ix86_pre_reload_split ()
30316 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30317 : : STRIP_UNARY (operands[4]))
30318 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30319 : : STRIP_UNARY (operands[4]))
30320 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30321 : : STRIP_UNARY (operands[3]))
30322 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30323 : : STRIP_UNARY (operands[3])))) &&
30324 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30325 : : (TARGET_AVX512F)) &&
30326 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30327 : : ( 1)))
30328 : : return NULL;
30329 : : return gen_split_2106 (insn, operands);
30330 : :
30331 : : case 4:
30332 : : if (!((
30333 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30334 : : ((32 == 64 || TARGET_AVX512VL
30335 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30336 : : && ix86_pre_reload_split ()
30337 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30338 : : STRIP_UNARY (operands[4]))
30339 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30340 : : STRIP_UNARY (operands[4]))
30341 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30342 : : STRIP_UNARY (operands[3]))
30343 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30344 : : STRIP_UNARY (operands[3])))) &&
30345 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30346 : : (TARGET_AVX)) &&
30347 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30348 : : ( 1)))
30349 : : return NULL;
30350 : : return gen_split_2133 (insn, operands);
30351 : :
30352 : : case 5:
30353 : : if (!(
30354 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30355 : : ((16 == 64 || TARGET_AVX512VL
30356 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30357 : : && ix86_pre_reload_split ()
30358 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30359 : : STRIP_UNARY (operands[4]))
30360 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30361 : : STRIP_UNARY (operands[4]))
30362 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30363 : : STRIP_UNARY (operands[3]))
30364 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30365 : : STRIP_UNARY (operands[3])))) &&
30366 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30367 : : ( 1)))
30368 : : return NULL;
30369 : : return gen_split_2160 (insn, operands);
30370 : :
30371 : : case 6:
30372 : : if (!((
30373 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30374 : : ((64 == 64 || TARGET_AVX512VL
30375 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30376 : : && ix86_pre_reload_split ()
30377 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30378 : : STRIP_UNARY (operands[4]))
30379 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30380 : : STRIP_UNARY (operands[4]))
30381 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30382 : : STRIP_UNARY (operands[3]))
30383 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30384 : : STRIP_UNARY (operands[3])))) &&
30385 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30386 : : (TARGET_AVX512F)) &&
30387 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30388 : : ( 1)))
30389 : : return NULL;
30390 : : return gen_split_2187 (insn, operands);
30391 : :
30392 : : case 7:
30393 : : if (!((
30394 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30395 : : ((32 == 64 || TARGET_AVX512VL
30396 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30397 : : && ix86_pre_reload_split ()
30398 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30399 : : STRIP_UNARY (operands[4]))
30400 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30401 : : STRIP_UNARY (operands[4]))
30402 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30403 : : STRIP_UNARY (operands[3]))
30404 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30405 : : STRIP_UNARY (operands[3])))) &&
30406 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30407 : : (TARGET_AVX)) &&
30408 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30409 : : ( 1)))
30410 : : return NULL;
30411 : : return gen_split_2214 (insn, operands);
30412 : :
30413 : : case 8:
30414 : : if (!(
30415 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30416 : : ((16 == 64 || TARGET_AVX512VL
30417 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30418 : : && ix86_pre_reload_split ()
30419 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30420 : : STRIP_UNARY (operands[4]))
30421 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30422 : : STRIP_UNARY (operands[4]))
30423 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30424 : : STRIP_UNARY (operands[3]))
30425 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30426 : : STRIP_UNARY (operands[3])))) &&
30427 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30428 : : ( 1)))
30429 : : return NULL;
30430 : : return gen_split_2241 (insn, operands);
30431 : :
30432 : : case 9:
30433 : : if (!((
30434 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30435 : : ((64 == 64 || TARGET_AVX512VL
30436 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30437 : : && ix86_pre_reload_split ()
30438 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30439 : : STRIP_UNARY (operands[4]))
30440 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30441 : : STRIP_UNARY (operands[4]))
30442 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30443 : : STRIP_UNARY (operands[3]))
30444 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30445 : : STRIP_UNARY (operands[3])))) &&
30446 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30447 : : (TARGET_AVX512F)) &&
30448 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30449 : : ( 1)))
30450 : : return NULL;
30451 : : return gen_split_2268 (insn, operands);
30452 : :
30453 : : case 10:
30454 : : if (!((
30455 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30456 : : ((32 == 64 || TARGET_AVX512VL
30457 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30458 : : && ix86_pre_reload_split ()
30459 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30460 : : STRIP_UNARY (operands[4]))
30461 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30462 : : STRIP_UNARY (operands[4]))
30463 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30464 : : STRIP_UNARY (operands[3]))
30465 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30466 : : STRIP_UNARY (operands[3])))) &&
30467 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30468 : : (TARGET_AVX)) &&
30469 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30470 : : ( 1)))
30471 : : return NULL;
30472 : : return gen_split_2295 (insn, operands);
30473 : :
30474 : : case 11:
30475 : : if (!((
30476 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30477 : : ((16 == 64 || TARGET_AVX512VL
30478 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30479 : : && ix86_pre_reload_split ()
30480 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30481 : : STRIP_UNARY (operands[4]))
30482 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30483 : : STRIP_UNARY (operands[4]))
30484 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30485 : : STRIP_UNARY (operands[3]))
30486 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30487 : : STRIP_UNARY (operands[3])))) &&
30488 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30489 : : (TARGET_SSE2)) &&
30490 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30491 : : ( 1)))
30492 : : return NULL;
30493 : : return gen_split_2322 (insn, operands);
30494 : :
30495 : : case 12:
30496 : : if (!((
30497 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30498 : : ((64 == 64 || TARGET_AVX512VL
30499 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30500 : : && ix86_pre_reload_split ()
30501 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30502 : : STRIP_UNARY (operands[4]))
30503 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30504 : : STRIP_UNARY (operands[4]))
30505 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30506 : : STRIP_UNARY (operands[3]))
30507 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30508 : : STRIP_UNARY (operands[3])))) &&
30509 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30510 : : (TARGET_AVX512F)) &&
30511 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30512 : : ( 1)))
30513 : : return NULL;
30514 : : return gen_split_2028 (insn, operands);
30515 : :
30516 : : case 13:
30517 : : if (!((
30518 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30519 : : ((32 == 64 || TARGET_AVX512VL
30520 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30521 : : && ix86_pre_reload_split ()
30522 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30523 : : STRIP_UNARY (operands[4]))
30524 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30525 : : STRIP_UNARY (operands[4]))
30526 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30527 : : STRIP_UNARY (operands[3]))
30528 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30529 : : STRIP_UNARY (operands[3])))) &&
30530 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30531 : : (TARGET_AVX)) &&
30532 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30533 : : ( 1)))
30534 : : return NULL;
30535 : : return gen_split_2055 (insn, operands);
30536 : :
30537 : : case 14:
30538 : : if (!(
30539 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30540 : : ((16 == 64 || TARGET_AVX512VL
30541 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30542 : : && ix86_pre_reload_split ()
30543 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30544 : : STRIP_UNARY (operands[4]))
30545 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30546 : : STRIP_UNARY (operands[4]))
30547 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30548 : : STRIP_UNARY (operands[3]))
30549 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30550 : : STRIP_UNARY (operands[3])))) &&
30551 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30552 : : ( 1)))
30553 : : return NULL;
30554 : : return gen_split_2082 (insn, operands);
30555 : :
30556 : : case 15:
30557 : : if (!((
30558 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30559 : : ((64 == 64 || TARGET_AVX512VL
30560 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30561 : : && ix86_pre_reload_split ()
30562 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30563 : : STRIP_UNARY (operands[4]))
30564 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30565 : : STRIP_UNARY (operands[4]))
30566 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30567 : : STRIP_UNARY (operands[3]))
30568 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30569 : : STRIP_UNARY (operands[3])))) &&
30570 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30571 : : (TARGET_AVX512F)) &&
30572 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30573 : : ( 1)))
30574 : : return NULL;
30575 : : return gen_split_2109 (insn, operands);
30576 : :
30577 : : case 16:
30578 : : if (!((
30579 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30580 : : ((32 == 64 || TARGET_AVX512VL
30581 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30582 : : && ix86_pre_reload_split ()
30583 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30584 : : STRIP_UNARY (operands[4]))
30585 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30586 : : STRIP_UNARY (operands[4]))
30587 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30588 : : STRIP_UNARY (operands[3]))
30589 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30590 : : STRIP_UNARY (operands[3])))) &&
30591 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30592 : : (TARGET_AVX)) &&
30593 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30594 : : ( 1)))
30595 : : return NULL;
30596 : : return gen_split_2136 (insn, operands);
30597 : :
30598 : : case 17:
30599 : : if (!(
30600 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30601 : : ((16 == 64 || TARGET_AVX512VL
30602 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30603 : : && ix86_pre_reload_split ()
30604 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30605 : : STRIP_UNARY (operands[4]))
30606 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30607 : : STRIP_UNARY (operands[4]))
30608 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30609 : : STRIP_UNARY (operands[3]))
30610 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30611 : : STRIP_UNARY (operands[3])))) &&
30612 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30613 : : ( 1)))
30614 : : return NULL;
30615 : : return gen_split_2163 (insn, operands);
30616 : :
30617 : : case 18:
30618 : : if (!((
30619 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30620 : : ((64 == 64 || TARGET_AVX512VL
30621 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30622 : : && ix86_pre_reload_split ()
30623 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30624 : : STRIP_UNARY (operands[4]))
30625 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30626 : : STRIP_UNARY (operands[4]))
30627 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30628 : : STRIP_UNARY (operands[3]))
30629 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30630 : : STRIP_UNARY (operands[3])))) &&
30631 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30632 : : (TARGET_AVX512F)) &&
30633 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30634 : : ( 1)))
30635 : : return NULL;
30636 : : return gen_split_2190 (insn, operands);
30637 : :
30638 : : case 19:
30639 : : if (!((
30640 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30641 : : ((32 == 64 || TARGET_AVX512VL
30642 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30643 : : && ix86_pre_reload_split ()
30644 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30645 : : STRIP_UNARY (operands[4]))
30646 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30647 : : STRIP_UNARY (operands[4]))
30648 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30649 : : STRIP_UNARY (operands[3]))
30650 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30651 : : STRIP_UNARY (operands[3])))) &&
30652 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30653 : : (TARGET_AVX)) &&
30654 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30655 : : ( 1)))
30656 : : return NULL;
30657 : : return gen_split_2217 (insn, operands);
30658 : :
30659 : : case 20:
30660 : : if (!(
30661 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30662 : : ((16 == 64 || TARGET_AVX512VL
30663 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30664 : : && ix86_pre_reload_split ()
30665 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30666 : : STRIP_UNARY (operands[4]))
30667 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30668 : : STRIP_UNARY (operands[4]))
30669 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30670 : : STRIP_UNARY (operands[3]))
30671 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30672 : : STRIP_UNARY (operands[3])))) &&
30673 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30674 : : ( 1)))
30675 : : return NULL;
30676 : : return gen_split_2244 (insn, operands);
30677 : :
30678 : : case 21:
30679 : : if (!((
30680 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30681 : : ((64 == 64 || TARGET_AVX512VL
30682 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30683 : : && ix86_pre_reload_split ()
30684 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30685 : : STRIP_UNARY (operands[4]))
30686 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30687 : : STRIP_UNARY (operands[4]))
30688 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30689 : : STRIP_UNARY (operands[3]))
30690 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30691 : : STRIP_UNARY (operands[3])))) &&
30692 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30693 : : (TARGET_AVX512F)) &&
30694 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30695 : : ( 1)))
30696 : : return NULL;
30697 : : return gen_split_2271 (insn, operands);
30698 : :
30699 : : case 22:
30700 : : if (!((
30701 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30702 : : ((32 == 64 || TARGET_AVX512VL
30703 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30704 : : && ix86_pre_reload_split ()
30705 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30706 : : STRIP_UNARY (operands[4]))
30707 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30708 : : STRIP_UNARY (operands[4]))
30709 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30710 : : STRIP_UNARY (operands[3]))
30711 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30712 : : STRIP_UNARY (operands[3])))) &&
30713 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30714 : : (TARGET_AVX)) &&
30715 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30716 : : ( 1)))
30717 : : return NULL;
30718 : : return gen_split_2298 (insn, operands);
30719 : :
30720 : : case 23:
30721 : : if (!((
30722 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30723 : : ((16 == 64 || TARGET_AVX512VL
30724 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30725 : : && ix86_pre_reload_split ()
30726 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30727 : : STRIP_UNARY (operands[4]))
30728 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30729 : : STRIP_UNARY (operands[4]))
30730 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30731 : : STRIP_UNARY (operands[3]))
30732 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30733 : : STRIP_UNARY (operands[3])))) &&
30734 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30735 : : (TARGET_SSE2)) &&
30736 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30737 : : ( 1)))
30738 : : return NULL;
30739 : : return gen_split_2325 (insn, operands);
30740 : :
30741 : : case 24:
30742 : : if (!((
30743 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30744 : : ((64 == 64 || TARGET_AVX512VL
30745 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30746 : : && ix86_pre_reload_split ()
30747 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30748 : : STRIP_UNARY (operands[4]))
30749 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30750 : : STRIP_UNARY (operands[4]))
30751 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30752 : : STRIP_UNARY (operands[3]))
30753 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30754 : : STRIP_UNARY (operands[3])))) &&
30755 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30756 : : (TARGET_AVX512F)) &&
30757 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30758 : : ( 1)))
30759 : : return NULL;
30760 : : return gen_split_2031 (insn, operands);
30761 : :
30762 : : case 25:
30763 : : if (!((
30764 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30765 : : ((32 == 64 || TARGET_AVX512VL
30766 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30767 : : && ix86_pre_reload_split ()
30768 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30769 : : STRIP_UNARY (operands[4]))
30770 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30771 : : STRIP_UNARY (operands[4]))
30772 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30773 : : STRIP_UNARY (operands[3]))
30774 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30775 : : STRIP_UNARY (operands[3])))) &&
30776 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30777 : : (TARGET_AVX)) &&
30778 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30779 : : ( 1)))
30780 : : return NULL;
30781 : : return gen_split_2058 (insn, operands);
30782 : :
30783 : : case 26:
30784 : : if (!(
30785 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30786 : : ((16 == 64 || TARGET_AVX512VL
30787 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30788 : : && ix86_pre_reload_split ()
30789 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30790 : : STRIP_UNARY (operands[4]))
30791 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30792 : : STRIP_UNARY (operands[4]))
30793 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30794 : : STRIP_UNARY (operands[3]))
30795 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30796 : : STRIP_UNARY (operands[3])))) &&
30797 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30798 : : ( 1)))
30799 : : return NULL;
30800 : : return gen_split_2085 (insn, operands);
30801 : :
30802 : : case 27:
30803 : : if (!((
30804 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30805 : : ((64 == 64 || TARGET_AVX512VL
30806 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30807 : : && ix86_pre_reload_split ()
30808 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30809 : : STRIP_UNARY (operands[4]))
30810 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30811 : : STRIP_UNARY (operands[4]))
30812 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30813 : : STRIP_UNARY (operands[3]))
30814 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30815 : : STRIP_UNARY (operands[3])))) &&
30816 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30817 : : (TARGET_AVX512F)) &&
30818 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30819 : : ( 1)))
30820 : : return NULL;
30821 : : return gen_split_2112 (insn, operands);
30822 : :
30823 : : case 28:
30824 : : if (!((
30825 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30826 : : ((32 == 64 || TARGET_AVX512VL
30827 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30828 : : && ix86_pre_reload_split ()
30829 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30830 : : STRIP_UNARY (operands[4]))
30831 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30832 : : STRIP_UNARY (operands[4]))
30833 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30834 : : STRIP_UNARY (operands[3]))
30835 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30836 : : STRIP_UNARY (operands[3])))) &&
30837 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30838 : : (TARGET_AVX)) &&
30839 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30840 : : ( 1)))
30841 : : return NULL;
30842 : : return gen_split_2139 (insn, operands);
30843 : :
30844 : : case 29:
30845 : : if (!(
30846 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30847 : : ((16 == 64 || TARGET_AVX512VL
30848 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30849 : : && ix86_pre_reload_split ()
30850 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30851 : : STRIP_UNARY (operands[4]))
30852 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30853 : : STRIP_UNARY (operands[4]))
30854 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30855 : : STRIP_UNARY (operands[3]))
30856 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30857 : : STRIP_UNARY (operands[3])))) &&
30858 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30859 : : ( 1)))
30860 : : return NULL;
30861 : : return gen_split_2166 (insn, operands);
30862 : :
30863 : : case 30:
30864 : : if (!((
30865 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30866 : : ((64 == 64 || TARGET_AVX512VL
30867 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30868 : : && ix86_pre_reload_split ()
30869 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30870 : : STRIP_UNARY (operands[4]))
30871 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30872 : : STRIP_UNARY (operands[4]))
30873 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30874 : : STRIP_UNARY (operands[3]))
30875 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30876 : : STRIP_UNARY (operands[3])))) &&
30877 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30878 : : (TARGET_AVX512F)) &&
30879 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30880 : : ( 1)))
30881 : : return NULL;
30882 : : return gen_split_2193 (insn, operands);
30883 : :
30884 : : case 31:
30885 : : if (!((
30886 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30887 : : ((32 == 64 || TARGET_AVX512VL
30888 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30889 : : && ix86_pre_reload_split ()
30890 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30891 : : STRIP_UNARY (operands[4]))
30892 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30893 : : STRIP_UNARY (operands[4]))
30894 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30895 : : STRIP_UNARY (operands[3]))
30896 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30897 : : STRIP_UNARY (operands[3])))) &&
30898 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30899 : : (TARGET_AVX)) &&
30900 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30901 : : ( 1)))
30902 : : return NULL;
30903 : : return gen_split_2220 (insn, operands);
30904 : :
30905 : : case 32:
30906 : : if (!(
30907 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30908 : : ((16 == 64 || TARGET_AVX512VL
30909 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30910 : : && ix86_pre_reload_split ()
30911 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30912 : : STRIP_UNARY (operands[4]))
30913 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30914 : : STRIP_UNARY (operands[4]))
30915 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30916 : : STRIP_UNARY (operands[3]))
30917 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30918 : : STRIP_UNARY (operands[3])))) &&
30919 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30920 : : ( 1)))
30921 : : return NULL;
30922 : : return gen_split_2247 (insn, operands);
30923 : :
30924 : : case 33:
30925 : : if (!((
30926 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30927 : : ((64 == 64 || TARGET_AVX512VL
30928 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30929 : : && ix86_pre_reload_split ()
30930 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30931 : : STRIP_UNARY (operands[4]))
30932 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30933 : : STRIP_UNARY (operands[4]))
30934 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30935 : : STRIP_UNARY (operands[3]))
30936 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30937 : : STRIP_UNARY (operands[3])))) &&
30938 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30939 : : (TARGET_AVX512F)) &&
30940 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30941 : : ( 1)))
30942 : : return NULL;
30943 : : return gen_split_2274 (insn, operands);
30944 : :
30945 : : case 34:
30946 : : if (!((
30947 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30948 : : ((32 == 64 || TARGET_AVX512VL
30949 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30950 : : && ix86_pre_reload_split ()
30951 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30952 : : STRIP_UNARY (operands[4]))
30953 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30954 : : STRIP_UNARY (operands[4]))
30955 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30956 : : STRIP_UNARY (operands[3]))
30957 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30958 : : STRIP_UNARY (operands[3])))) &&
30959 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30960 : : (TARGET_AVX)) &&
30961 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30962 : : ( 1)))
30963 : : return NULL;
30964 : : return gen_split_2301 (insn, operands);
30965 : :
30966 : : case 35:
30967 : : if (!((
30968 : : #line 13809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30969 : : ((16 == 64 || TARGET_AVX512VL
30970 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30971 : : && ix86_pre_reload_split ()
30972 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30973 : : STRIP_UNARY (operands[4]))
30974 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30975 : : STRIP_UNARY (operands[4]))
30976 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
30977 : : STRIP_UNARY (operands[3]))
30978 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
30979 : : STRIP_UNARY (operands[3])))) &&
30980 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30981 : : (TARGET_SSE2)) &&
30982 : : #line 13821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30983 : : ( 1)))
30984 : : return NULL;
30985 : : return gen_split_2328 (insn, operands);
30986 : :
30987 : : case 36:
30988 : : if (!((
30989 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30990 : : ((64 == 64 || TARGET_AVX512VL
30991 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30992 : : && ix86_pre_reload_split ()) &&
30993 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30994 : : (TARGET_AVX512F)) &&
30995 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30996 : : ( 1)))
30997 : : return NULL;
30998 : : return gen_split_3099 (insn, operands);
30999 : :
31000 : : case 37:
31001 : : if (!((
31002 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31003 : : ((32 == 64 || TARGET_AVX512VL
31004 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31005 : : && ix86_pre_reload_split ()) &&
31006 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31007 : : (TARGET_AVX)) &&
31008 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31009 : : ( 1)))
31010 : : return NULL;
31011 : : return gen_split_3108 (insn, operands);
31012 : :
31013 : : case 38:
31014 : : if (!(
31015 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31016 : : ((16 == 64 || TARGET_AVX512VL
31017 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31018 : : && ix86_pre_reload_split ()) &&
31019 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31020 : : ( 1)))
31021 : : return NULL;
31022 : : return gen_split_3117 (insn, operands);
31023 : :
31024 : : case 39:
31025 : : if (!((
31026 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31027 : : ((64 == 64 || TARGET_AVX512VL
31028 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31029 : : && ix86_pre_reload_split ()) &&
31030 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31031 : : (TARGET_AVX512F)) &&
31032 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31033 : : ( 1)))
31034 : : return NULL;
31035 : : return gen_split_3126 (insn, operands);
31036 : :
31037 : : case 40:
31038 : : if (!((
31039 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31040 : : ((32 == 64 || TARGET_AVX512VL
31041 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31042 : : && ix86_pre_reload_split ()) &&
31043 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31044 : : (TARGET_AVX)) &&
31045 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31046 : : ( 1)))
31047 : : return NULL;
31048 : : return gen_split_3135 (insn, operands);
31049 : :
31050 : : case 41:
31051 : : if (!(
31052 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31053 : : ((16 == 64 || TARGET_AVX512VL
31054 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31055 : : && ix86_pre_reload_split ()) &&
31056 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31057 : : ( 1)))
31058 : : return NULL;
31059 : : return gen_split_3144 (insn, operands);
31060 : :
31061 : : case 42:
31062 : : if (!((
31063 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31064 : : ((64 == 64 || TARGET_AVX512VL
31065 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31066 : : && ix86_pre_reload_split ()) &&
31067 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31068 : : (TARGET_AVX512F)) &&
31069 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31070 : : ( 1)))
31071 : : return NULL;
31072 : : return gen_split_3153 (insn, operands);
31073 : :
31074 : : case 43:
31075 : : if (!((
31076 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31077 : : ((32 == 64 || TARGET_AVX512VL
31078 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31079 : : && ix86_pre_reload_split ()) &&
31080 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31081 : : (TARGET_AVX)) &&
31082 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31083 : : ( 1)))
31084 : : return NULL;
31085 : : return gen_split_3162 (insn, operands);
31086 : :
31087 : : case 44:
31088 : : if (!(
31089 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31090 : : ((16 == 64 || TARGET_AVX512VL
31091 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31092 : : && ix86_pre_reload_split ()) &&
31093 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31094 : : ( 1)))
31095 : : return NULL;
31096 : : return gen_split_3171 (insn, operands);
31097 : :
31098 : : case 45:
31099 : : if (!((
31100 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31101 : : ((64 == 64 || TARGET_AVX512VL
31102 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31103 : : && ix86_pre_reload_split ()) &&
31104 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31105 : : (TARGET_AVX512F)) &&
31106 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31107 : : ( 1)))
31108 : : return NULL;
31109 : : return gen_split_3180 (insn, operands);
31110 : :
31111 : : case 46:
31112 : : if (!((
31113 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31114 : : ((32 == 64 || TARGET_AVX512VL
31115 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31116 : : && ix86_pre_reload_split ()) &&
31117 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31118 : : (TARGET_AVX)) &&
31119 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31120 : : ( 1)))
31121 : : return NULL;
31122 : : return gen_split_3189 (insn, operands);
31123 : :
31124 : : case 47:
31125 : : if (!((
31126 : : #line 13978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31127 : : ((16 == 64 || TARGET_AVX512VL
31128 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31129 : : && ix86_pre_reload_split ()) &&
31130 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31131 : : (TARGET_SSE2)) &&
31132 : : #line 13982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31133 : : ( 1)))
31134 : : return NULL;
31135 : : return gen_split_3198 (insn, operands);
31136 : :
31137 : : default:
31138 : : return NULL;
31139 : : }
31140 : :
31141 : : case AND:
31142 : : switch (pattern525 (x2))
31143 : : {
31144 : : case 0:
31145 : : if (!((
31146 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31147 : : ((64 == 64 || TARGET_AVX512VL
31148 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31149 : : && ix86_pre_reload_split ()
31150 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31151 : : STRIP_UNARY (operands[4]))
31152 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31153 : : STRIP_UNARY (operands[4]))
31154 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31155 : : STRIP_UNARY (operands[3]))
31156 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31157 : : STRIP_UNARY (operands[3])))) &&
31158 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31159 : : (TARGET_AVX512F)) &&
31160 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31161 : : ( 1)))
31162 : : return NULL;
31163 : : return gen_split_2673 (insn, operands);
31164 : :
31165 : : case 1:
31166 : : if (!((
31167 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31168 : : ((32 == 64 || TARGET_AVX512VL
31169 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31170 : : && ix86_pre_reload_split ()
31171 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31172 : : STRIP_UNARY (operands[4]))
31173 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31174 : : STRIP_UNARY (operands[4]))
31175 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31176 : : STRIP_UNARY (operands[3]))
31177 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31178 : : STRIP_UNARY (operands[3])))) &&
31179 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31180 : : (TARGET_AVX)) &&
31181 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31182 : : ( 1)))
31183 : : return NULL;
31184 : : return gen_split_2700 (insn, operands);
31185 : :
31186 : : case 2:
31187 : : if (!(
31188 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31189 : : ((16 == 64 || TARGET_AVX512VL
31190 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31191 : : && ix86_pre_reload_split ()
31192 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31193 : : STRIP_UNARY (operands[4]))
31194 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31195 : : STRIP_UNARY (operands[4]))
31196 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31197 : : STRIP_UNARY (operands[3]))
31198 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31199 : : STRIP_UNARY (operands[3])))) &&
31200 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31201 : : ( 1)))
31202 : : return NULL;
31203 : : return gen_split_2727 (insn, operands);
31204 : :
31205 : : case 3:
31206 : : if (!((
31207 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31208 : : ((64 == 64 || TARGET_AVX512VL
31209 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31210 : : && ix86_pre_reload_split ()
31211 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31212 : : STRIP_UNARY (operands[4]))
31213 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31214 : : STRIP_UNARY (operands[4]))
31215 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31216 : : STRIP_UNARY (operands[3]))
31217 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31218 : : STRIP_UNARY (operands[3])))) &&
31219 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31220 : : (TARGET_AVX512F)) &&
31221 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31222 : : ( 1)))
31223 : : return NULL;
31224 : : return gen_split_2754 (insn, operands);
31225 : :
31226 : : case 4:
31227 : : if (!((
31228 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31229 : : ((32 == 64 || TARGET_AVX512VL
31230 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31231 : : && ix86_pre_reload_split ()
31232 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31233 : : STRIP_UNARY (operands[4]))
31234 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31235 : : STRIP_UNARY (operands[4]))
31236 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31237 : : STRIP_UNARY (operands[3]))
31238 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31239 : : STRIP_UNARY (operands[3])))) &&
31240 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31241 : : (TARGET_AVX)) &&
31242 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31243 : : ( 1)))
31244 : : return NULL;
31245 : : return gen_split_2781 (insn, operands);
31246 : :
31247 : : case 5:
31248 : : if (!(
31249 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31250 : : ((16 == 64 || TARGET_AVX512VL
31251 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31252 : : && ix86_pre_reload_split ()
31253 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31254 : : STRIP_UNARY (operands[4]))
31255 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31256 : : STRIP_UNARY (operands[4]))
31257 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31258 : : STRIP_UNARY (operands[3]))
31259 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31260 : : STRIP_UNARY (operands[3])))) &&
31261 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31262 : : ( 1)))
31263 : : return NULL;
31264 : : return gen_split_2808 (insn, operands);
31265 : :
31266 : : case 6:
31267 : : if (!((
31268 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31269 : : ((64 == 64 || TARGET_AVX512VL
31270 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31271 : : && ix86_pre_reload_split ()
31272 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31273 : : STRIP_UNARY (operands[4]))
31274 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31275 : : STRIP_UNARY (operands[4]))
31276 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31277 : : STRIP_UNARY (operands[3]))
31278 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31279 : : STRIP_UNARY (operands[3])))) &&
31280 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31281 : : (TARGET_AVX512F)) &&
31282 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31283 : : ( 1)))
31284 : : return NULL;
31285 : : return gen_split_2835 (insn, operands);
31286 : :
31287 : : case 7:
31288 : : if (!((
31289 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31290 : : ((32 == 64 || TARGET_AVX512VL
31291 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31292 : : && ix86_pre_reload_split ()
31293 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31294 : : STRIP_UNARY (operands[4]))
31295 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31296 : : STRIP_UNARY (operands[4]))
31297 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31298 : : STRIP_UNARY (operands[3]))
31299 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31300 : : STRIP_UNARY (operands[3])))) &&
31301 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31302 : : (TARGET_AVX)) &&
31303 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31304 : : ( 1)))
31305 : : return NULL;
31306 : : return gen_split_2862 (insn, operands);
31307 : :
31308 : : case 8:
31309 : : if (!(
31310 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31311 : : ((16 == 64 || TARGET_AVX512VL
31312 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31313 : : && ix86_pre_reload_split ()
31314 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31315 : : STRIP_UNARY (operands[4]))
31316 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31317 : : STRIP_UNARY (operands[4]))
31318 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31319 : : STRIP_UNARY (operands[3]))
31320 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31321 : : STRIP_UNARY (operands[3])))) &&
31322 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31323 : : ( 1)))
31324 : : return NULL;
31325 : : return gen_split_2889 (insn, operands);
31326 : :
31327 : : case 9:
31328 : : if (!((
31329 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31330 : : ((64 == 64 || TARGET_AVX512VL
31331 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31332 : : && ix86_pre_reload_split ()
31333 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31334 : : STRIP_UNARY (operands[4]))
31335 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31336 : : STRIP_UNARY (operands[4]))
31337 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31338 : : STRIP_UNARY (operands[3]))
31339 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31340 : : STRIP_UNARY (operands[3])))) &&
31341 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31342 : : (TARGET_AVX512F)) &&
31343 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31344 : : ( 1)))
31345 : : return NULL;
31346 : : return gen_split_2916 (insn, operands);
31347 : :
31348 : : case 10:
31349 : : if (!((
31350 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31351 : : ((32 == 64 || TARGET_AVX512VL
31352 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31353 : : && ix86_pre_reload_split ()
31354 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31355 : : STRIP_UNARY (operands[4]))
31356 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31357 : : STRIP_UNARY (operands[4]))
31358 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31359 : : STRIP_UNARY (operands[3]))
31360 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31361 : : STRIP_UNARY (operands[3])))) &&
31362 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31363 : : (TARGET_AVX)) &&
31364 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31365 : : ( 1)))
31366 : : return NULL;
31367 : : return gen_split_2943 (insn, operands);
31368 : :
31369 : : case 11:
31370 : : if (!((
31371 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31372 : : ((16 == 64 || TARGET_AVX512VL
31373 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31374 : : && ix86_pre_reload_split ()
31375 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31376 : : STRIP_UNARY (operands[4]))
31377 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31378 : : STRIP_UNARY (operands[4]))
31379 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31380 : : STRIP_UNARY (operands[3]))
31381 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31382 : : STRIP_UNARY (operands[3])))) &&
31383 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31384 : : (TARGET_SSE2)) &&
31385 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31386 : : ( 1)))
31387 : : return NULL;
31388 : : return gen_split_2970 (insn, operands);
31389 : :
31390 : : default:
31391 : : return NULL;
31392 : : }
31393 : :
31394 : : case IOR:
31395 : : switch (pattern525 (x2))
31396 : : {
31397 : : case 0:
31398 : : if (!((
31399 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31400 : : ((64 == 64 || TARGET_AVX512VL
31401 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31402 : : && ix86_pre_reload_split ()
31403 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31404 : : STRIP_UNARY (operands[4]))
31405 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31406 : : STRIP_UNARY (operands[4]))
31407 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31408 : : STRIP_UNARY (operands[3]))
31409 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31410 : : STRIP_UNARY (operands[3])))) &&
31411 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31412 : : (TARGET_AVX512F)) &&
31413 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31414 : : ( 1)))
31415 : : return NULL;
31416 : : return gen_split_2676 (insn, operands);
31417 : :
31418 : : case 1:
31419 : : if (!((
31420 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31421 : : ((32 == 64 || TARGET_AVX512VL
31422 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31423 : : && ix86_pre_reload_split ()
31424 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31425 : : STRIP_UNARY (operands[4]))
31426 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31427 : : STRIP_UNARY (operands[4]))
31428 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31429 : : STRIP_UNARY (operands[3]))
31430 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31431 : : STRIP_UNARY (operands[3])))) &&
31432 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31433 : : (TARGET_AVX)) &&
31434 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31435 : : ( 1)))
31436 : : return NULL;
31437 : : return gen_split_2703 (insn, operands);
31438 : :
31439 : : case 2:
31440 : : if (!(
31441 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31442 : : ((16 == 64 || TARGET_AVX512VL
31443 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31444 : : && ix86_pre_reload_split ()
31445 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31446 : : STRIP_UNARY (operands[4]))
31447 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31448 : : STRIP_UNARY (operands[4]))
31449 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31450 : : STRIP_UNARY (operands[3]))
31451 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31452 : : STRIP_UNARY (operands[3])))) &&
31453 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31454 : : ( 1)))
31455 : : return NULL;
31456 : : return gen_split_2730 (insn, operands);
31457 : :
31458 : : case 3:
31459 : : if (!((
31460 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31461 : : ((64 == 64 || TARGET_AVX512VL
31462 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31463 : : && ix86_pre_reload_split ()
31464 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31465 : : STRIP_UNARY (operands[4]))
31466 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31467 : : STRIP_UNARY (operands[4]))
31468 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31469 : : STRIP_UNARY (operands[3]))
31470 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31471 : : STRIP_UNARY (operands[3])))) &&
31472 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31473 : : (TARGET_AVX512F)) &&
31474 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31475 : : ( 1)))
31476 : : return NULL;
31477 : : return gen_split_2757 (insn, operands);
31478 : :
31479 : : case 4:
31480 : : if (!((
31481 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31482 : : ((32 == 64 || TARGET_AVX512VL
31483 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31484 : : && ix86_pre_reload_split ()
31485 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31486 : : STRIP_UNARY (operands[4]))
31487 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31488 : : STRIP_UNARY (operands[4]))
31489 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31490 : : STRIP_UNARY (operands[3]))
31491 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31492 : : STRIP_UNARY (operands[3])))) &&
31493 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31494 : : (TARGET_AVX)) &&
31495 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31496 : : ( 1)))
31497 : : return NULL;
31498 : : return gen_split_2784 (insn, operands);
31499 : :
31500 : : case 5:
31501 : : if (!(
31502 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31503 : : ((16 == 64 || TARGET_AVX512VL
31504 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31505 : : && ix86_pre_reload_split ()
31506 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31507 : : STRIP_UNARY (operands[4]))
31508 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31509 : : STRIP_UNARY (operands[4]))
31510 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31511 : : STRIP_UNARY (operands[3]))
31512 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31513 : : STRIP_UNARY (operands[3])))) &&
31514 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31515 : : ( 1)))
31516 : : return NULL;
31517 : : return gen_split_2811 (insn, operands);
31518 : :
31519 : : case 6:
31520 : : if (!((
31521 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31522 : : ((64 == 64 || TARGET_AVX512VL
31523 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31524 : : && ix86_pre_reload_split ()
31525 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31526 : : STRIP_UNARY (operands[4]))
31527 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31528 : : STRIP_UNARY (operands[4]))
31529 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31530 : : STRIP_UNARY (operands[3]))
31531 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31532 : : STRIP_UNARY (operands[3])))) &&
31533 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31534 : : (TARGET_AVX512F)) &&
31535 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31536 : : ( 1)))
31537 : : return NULL;
31538 : : return gen_split_2838 (insn, operands);
31539 : :
31540 : : case 7:
31541 : : if (!((
31542 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31543 : : ((32 == 64 || TARGET_AVX512VL
31544 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31545 : : && ix86_pre_reload_split ()
31546 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31547 : : STRIP_UNARY (operands[4]))
31548 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31549 : : STRIP_UNARY (operands[4]))
31550 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31551 : : STRIP_UNARY (operands[3]))
31552 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31553 : : STRIP_UNARY (operands[3])))) &&
31554 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31555 : : (TARGET_AVX)) &&
31556 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31557 : : ( 1)))
31558 : : return NULL;
31559 : : return gen_split_2865 (insn, operands);
31560 : :
31561 : : case 8:
31562 : : if (!(
31563 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31564 : : ((16 == 64 || TARGET_AVX512VL
31565 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31566 : : && ix86_pre_reload_split ()
31567 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31568 : : STRIP_UNARY (operands[4]))
31569 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31570 : : STRIP_UNARY (operands[4]))
31571 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31572 : : STRIP_UNARY (operands[3]))
31573 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31574 : : STRIP_UNARY (operands[3])))) &&
31575 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31576 : : ( 1)))
31577 : : return NULL;
31578 : : return gen_split_2892 (insn, operands);
31579 : :
31580 : : case 9:
31581 : : if (!((
31582 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31583 : : ((64 == 64 || TARGET_AVX512VL
31584 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31585 : : && ix86_pre_reload_split ()
31586 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31587 : : STRIP_UNARY (operands[4]))
31588 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31589 : : STRIP_UNARY (operands[4]))
31590 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31591 : : STRIP_UNARY (operands[3]))
31592 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31593 : : STRIP_UNARY (operands[3])))) &&
31594 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31595 : : (TARGET_AVX512F)) &&
31596 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31597 : : ( 1)))
31598 : : return NULL;
31599 : : return gen_split_2919 (insn, operands);
31600 : :
31601 : : case 10:
31602 : : if (!((
31603 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31604 : : ((32 == 64 || TARGET_AVX512VL
31605 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31606 : : && ix86_pre_reload_split ()
31607 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31608 : : STRIP_UNARY (operands[4]))
31609 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31610 : : STRIP_UNARY (operands[4]))
31611 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31612 : : STRIP_UNARY (operands[3]))
31613 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31614 : : STRIP_UNARY (operands[3])))) &&
31615 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31616 : : (TARGET_AVX)) &&
31617 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31618 : : ( 1)))
31619 : : return NULL;
31620 : : return gen_split_2946 (insn, operands);
31621 : :
31622 : : case 11:
31623 : : if (!((
31624 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31625 : : ((16 == 64 || TARGET_AVX512VL
31626 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31627 : : && ix86_pre_reload_split ()
31628 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31629 : : STRIP_UNARY (operands[4]))
31630 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31631 : : STRIP_UNARY (operands[4]))
31632 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31633 : : STRIP_UNARY (operands[3]))
31634 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31635 : : STRIP_UNARY (operands[3])))) &&
31636 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31637 : : (TARGET_SSE2)) &&
31638 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31639 : : ( 1)))
31640 : : return NULL;
31641 : : return gen_split_2973 (insn, operands);
31642 : :
31643 : : default:
31644 : : return NULL;
31645 : : }
31646 : :
31647 : : case XOR:
31648 : : switch (pattern525 (x2))
31649 : : {
31650 : : case 0:
31651 : : if (!((
31652 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31653 : : ((64 == 64 || TARGET_AVX512VL
31654 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31655 : : && ix86_pre_reload_split ()
31656 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31657 : : STRIP_UNARY (operands[4]))
31658 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31659 : : STRIP_UNARY (operands[4]))
31660 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31661 : : STRIP_UNARY (operands[3]))
31662 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31663 : : STRIP_UNARY (operands[3])))) &&
31664 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31665 : : (TARGET_AVX512F)) &&
31666 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31667 : : ( 1)))
31668 : : return NULL;
31669 : : return gen_split_2679 (insn, operands);
31670 : :
31671 : : case 1:
31672 : : if (!((
31673 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31674 : : ((32 == 64 || TARGET_AVX512VL
31675 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31676 : : && ix86_pre_reload_split ()
31677 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31678 : : STRIP_UNARY (operands[4]))
31679 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31680 : : STRIP_UNARY (operands[4]))
31681 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31682 : : STRIP_UNARY (operands[3]))
31683 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31684 : : STRIP_UNARY (operands[3])))) &&
31685 : : #line 344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31686 : : (TARGET_AVX)) &&
31687 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31688 : : ( 1)))
31689 : : return NULL;
31690 : : return gen_split_2706 (insn, operands);
31691 : :
31692 : : case 2:
31693 : : if (!(
31694 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31695 : : ((16 == 64 || TARGET_AVX512VL
31696 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31697 : : && ix86_pre_reload_split ()
31698 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31699 : : STRIP_UNARY (operands[4]))
31700 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31701 : : STRIP_UNARY (operands[4]))
31702 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31703 : : STRIP_UNARY (operands[3]))
31704 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31705 : : STRIP_UNARY (operands[3])))) &&
31706 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31707 : : ( 1)))
31708 : : return NULL;
31709 : : return gen_split_2733 (insn, operands);
31710 : :
31711 : : case 3:
31712 : : if (!((
31713 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31714 : : ((64 == 64 || TARGET_AVX512VL
31715 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31716 : : && ix86_pre_reload_split ()
31717 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31718 : : STRIP_UNARY (operands[4]))
31719 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31720 : : STRIP_UNARY (operands[4]))
31721 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31722 : : STRIP_UNARY (operands[3]))
31723 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31724 : : STRIP_UNARY (operands[3])))) &&
31725 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31726 : : (TARGET_AVX512F)) &&
31727 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31728 : : ( 1)))
31729 : : return NULL;
31730 : : return gen_split_2760 (insn, operands);
31731 : :
31732 : : case 4:
31733 : : if (!((
31734 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31735 : : ((32 == 64 || TARGET_AVX512VL
31736 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31737 : : && ix86_pre_reload_split ()
31738 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31739 : : STRIP_UNARY (operands[4]))
31740 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31741 : : STRIP_UNARY (operands[4]))
31742 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31743 : : STRIP_UNARY (operands[3]))
31744 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31745 : : STRIP_UNARY (operands[3])))) &&
31746 : : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31747 : : (TARGET_AVX)) &&
31748 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31749 : : ( 1)))
31750 : : return NULL;
31751 : : return gen_split_2787 (insn, operands);
31752 : :
31753 : : case 5:
31754 : : if (!(
31755 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31756 : : ((16 == 64 || TARGET_AVX512VL
31757 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31758 : : && ix86_pre_reload_split ()
31759 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31760 : : STRIP_UNARY (operands[4]))
31761 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31762 : : STRIP_UNARY (operands[4]))
31763 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31764 : : STRIP_UNARY (operands[3]))
31765 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31766 : : STRIP_UNARY (operands[3])))) &&
31767 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31768 : : ( 1)))
31769 : : return NULL;
31770 : : return gen_split_2814 (insn, operands);
31771 : :
31772 : : case 6:
31773 : : if (!((
31774 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31775 : : ((64 == 64 || TARGET_AVX512VL
31776 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31777 : : && ix86_pre_reload_split ()
31778 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31779 : : STRIP_UNARY (operands[4]))
31780 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31781 : : STRIP_UNARY (operands[4]))
31782 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31783 : : STRIP_UNARY (operands[3]))
31784 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31785 : : STRIP_UNARY (operands[3])))) &&
31786 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31787 : : (TARGET_AVX512F)) &&
31788 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31789 : : ( 1)))
31790 : : return NULL;
31791 : : return gen_split_2841 (insn, operands);
31792 : :
31793 : : case 7:
31794 : : if (!((
31795 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31796 : : ((32 == 64 || TARGET_AVX512VL
31797 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31798 : : && ix86_pre_reload_split ()
31799 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31800 : : STRIP_UNARY (operands[4]))
31801 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31802 : : STRIP_UNARY (operands[4]))
31803 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31804 : : STRIP_UNARY (operands[3]))
31805 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31806 : : STRIP_UNARY (operands[3])))) &&
31807 : : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31808 : : (TARGET_AVX)) &&
31809 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31810 : : ( 1)))
31811 : : return NULL;
31812 : : return gen_split_2868 (insn, operands);
31813 : :
31814 : : case 8:
31815 : : if (!(
31816 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31817 : : ((16 == 64 || TARGET_AVX512VL
31818 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31819 : : && ix86_pre_reload_split ()
31820 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31821 : : STRIP_UNARY (operands[4]))
31822 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31823 : : STRIP_UNARY (operands[4]))
31824 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31825 : : STRIP_UNARY (operands[3]))
31826 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31827 : : STRIP_UNARY (operands[3])))) &&
31828 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31829 : : ( 1)))
31830 : : return NULL;
31831 : : return gen_split_2895 (insn, operands);
31832 : :
31833 : : case 9:
31834 : : if (!((
31835 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31836 : : ((64 == 64 || TARGET_AVX512VL
31837 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31838 : : && ix86_pre_reload_split ()
31839 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31840 : : STRIP_UNARY (operands[4]))
31841 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31842 : : STRIP_UNARY (operands[4]))
31843 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31844 : : STRIP_UNARY (operands[3]))
31845 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31846 : : STRIP_UNARY (operands[3])))) &&
31847 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31848 : : (TARGET_AVX512F)) &&
31849 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31850 : : ( 1)))
31851 : : return NULL;
31852 : : return gen_split_2922 (insn, operands);
31853 : :
31854 : : case 10:
31855 : : if (!((
31856 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31857 : : ((32 == 64 || TARGET_AVX512VL
31858 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31859 : : && ix86_pre_reload_split ()
31860 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31861 : : STRIP_UNARY (operands[4]))
31862 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31863 : : STRIP_UNARY (operands[4]))
31864 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31865 : : STRIP_UNARY (operands[3]))
31866 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31867 : : STRIP_UNARY (operands[3])))) &&
31868 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31869 : : (TARGET_AVX)) &&
31870 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31871 : : ( 1)))
31872 : : return NULL;
31873 : : return gen_split_2949 (insn, operands);
31874 : :
31875 : : case 11:
31876 : : if (!((
31877 : : #line 13894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31878 : : ((16 == 64 || TARGET_AVX512VL
31879 : : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31880 : : && ix86_pre_reload_split ()
31881 : : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31882 : : STRIP_UNARY (operands[4]))
31883 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31884 : : STRIP_UNARY (operands[4]))
31885 : : || rtx_equal_p (STRIP_UNARY (operands[1]),
31886 : : STRIP_UNARY (operands[3]))
31887 : : || rtx_equal_p (STRIP_UNARY (operands[2]),
31888 : : STRIP_UNARY (operands[3])))) &&
31889 : : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31890 : : (TARGET_SSE2)) &&
31891 : : #line 13906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31892 : : ( 1)))
31893 : : return NULL;
31894 : : return gen_split_2976 (insn, operands);
31895 : :
31896 : : default:
31897 : : return NULL;
31898 : : }
31899 : :
31900 : : default:
31901 : : return NULL;
31902 : : }
31903 : :
31904 : : case XOR:
31905 : : return split_74 (x1, insn);
31906 : :
31907 : : default:
31908 : : return NULL;
31909 : : }
31910 : : }
|